Αυτός ο κώδικας δεν πρέπει να εγκατασταθεί άμεσα. Είναι μια βιβλιοθήκη για άλλους κώδικες που περιλαμβάνεται μέσω της οδηγίας meta // @require https://update.greasyfork.org/scripts/7601/132819/Parse%20DB%20min.js
// ==UserScript==
// @name Parse DB min
// @version 1.6.14
// ==/UserScript==
/**
* Parse JavaScript SDK v1.6.14
*
* Copyright (c) 2015-present, Parse, LLC.
* All rights reserved.
*
* The source tree of this library can be found at
* https://github.com/ParsePlatform/Parse-SDK-JS
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
! function(e) {
if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
else if ("function" == typeof define && define.amd) define([], e);
else {
var t;
t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.Parse = e()
}
}(function() {
return function e(t, r, n) {
function a(o, i) {
if (!r[o]) {
if (!t[o]) {
var u = "function" == typeof require && require;
if (!i && u) return u(o, !0);
if (s) return s(o, !0);
var l = new Error("Cannot find module '" + o + "'");
throw l.code = "MODULE_NOT_FOUND", l
}
var c = r[o] = {
exports: {}
};
t[o][0].call(c.exports, function(e) {
var r = t[o][1][e];
return a(r ? r : e)
}, c, c.exports, e, t, r, n)
}
return r[o].exports
}
for (var s = "function" == typeof require && require, o = 0; o < n.length; o++) a(n[o]);
return a
}({
1: [function(e, t, r) {
"use strict";
function n(e, t, r) {
if (e = e || "", e = e.replace(/^\s*/, ""), e = e.replace(/\s*$/, ""), 0 === e.length) throw new TypeError("A name for the custom event must be provided");
for (var n in t)
if ("string" != typeof n || "string" != typeof t[n]) throw new TypeError('track() dimensions expects keys and values of type "string".');
return r = r || {}, o["default"].getAnalyticsController().track(e, t)._thenRunCallbacks(r)
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r.track = n;
var s = e("./CoreManager"),
o = a(s);
o["default"].setAnalyticsController({
track: function(e, t) {
var r = o["default"].getRESTController();
return r.request("POST", "events/" + e, {
dimensions: t
})
}
})
}, {
"./CoreManager": 3,
"babel-runtime/helpers/interop-require-default": 47
}],
2: [function(e, t, r) {
"use strict";
function n(e, t, r) {
if (r = r || {}, "string" != typeof e || 0 === e.length) throw new TypeError("Cloud function name must be a string.");
var n = {};
return r.useMasterKey && (n.useMasterKey = r.useMasterKey), r.sessionToken && (n.sessionToken = r.sessionToken), o["default"].getCloudController().run(e, t, n)._thenRunCallbacks(r)
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r.run = n;
var s = e("./CoreManager"),
o = a(s),
i = e("./decode"),
u = a(i),
l = e("./encode"),
c = a(l),
f = e("./ParseError"),
d = a(f),
h = e("./ParsePromise"),
p = a(h);
o["default"].setCloudController({
run: function(e, t, r) {
var n = o["default"].getRESTController(),
a = (0, c["default"])(t, !0),
s = {};
r.hasOwnProperty("useMasterKey") && (s.useMasterKey = r.useMasterKey), r.hasOwnProperty("sessionToken") && (s.sessionToken = r.sessionToken);
var i = n.request("POST", "functions/" + e, a, s);
return i.then(function(e) {
var t = (0, u["default"])(e);
return t && t.hasOwnProperty("result") ? p["default"].as(t.result) : p["default"].error(new d["default"](d["default"].INVALID_JSON, "The server returned an invalid response."))
})._thenRunCallbacks(r)
}
})
}, {
"./CoreManager": 3,
"./ParseError": 10,
"./ParsePromise": 16,
"./decode": 29,
"./encode": 30,
"babel-runtime/helpers/interop-require-default": 47
}],
3: [function(e, t, r) {
(function(e) {
"use strict";
var r = {
IS_NODE: "undefined" != typeof e && !!e.versions && !!e.versions.node,
REQUEST_ATTEMPT_LIMIT: 5,
SERVER_URL: "https://api.parse.com/1",
VERSION: "js1.6.14",
APPLICATION_ID: null,
JAVASCRIPT_KEY: null,
MASTER_KEY: null,
USE_MASTER_KEY: !1,
PERFORM_USER_REWRITE: !0,
FORCE_REVOCABLE_SESSION: !1
};
t.exports = {
get: function(e) {
if (r.hasOwnProperty(e)) return r[e];
throw new Error("Configuration key not found: " + e)
},
set: function(e, t) {
r[e] = t
},
setAnalyticsController: function(e) {
if ("function" != typeof e.track) throw new Error("AnalyticsController must implement track()");
r.AnalyticsController = e
},
getAnalyticsController: function() {
return r.AnalyticsController
},
setCloudController: function(e) {
if ("function" != typeof e.run) throw new Error("CloudController must implement run()");
r.CloudController = e
},
getCloudController: function() {
return r.CloudController
},
setConfigController: function(e) {
if ("function" != typeof e.current) throw new Error("ConfigController must implement current()");
if ("function" != typeof e.get) throw new Error("ConfigController must implement get()");
r.ConfigController = e
},
getConfigController: function() {
return r.ConfigController
},
setFileController: function(e) {
if ("function" != typeof e.saveFile) throw new Error("FileController must implement saveFile()");
if ("function" != typeof e.saveBase64) throw new Error("FileController must implement saveBase64()");
r.FileController = e
},
getFileController: function() {
return r.FileController
},
setInstallationController: function(e) {
if ("function" != typeof e.currentInstallationId) throw new Error("InstallationController must implement currentInstallationId()");
r.InstallationController = e
},
getInstallationController: function() {
return r.InstallationController
},
setPushController: function(e) {
if ("function" != typeof e.send) throw new Error("PushController must implement send()");
r.PushController = e
},
getPushController: function() {
return r.PushController
},
setObjectController: function(e) {
if ("function" != typeof e.save) throw new Error("ObjectController must implement save()");
if ("function" != typeof e.fetch) throw new Error("ObjectController must implement fetch()");
if ("function" != typeof e.destroy) throw new Error("ObjectController must implement destroy()");
r.ObjectController = e
},
getObjectController: function() {
return r.ObjectController
},
setQueryController: function(e) {
if ("function" != typeof e.find) throw new Error("QueryController must implement find()");
r.QueryController = e
},
getQueryController: function() {
return r.QueryController
},
setRESTController: function(e) {
if ("function" != typeof e.request) throw new Error("RESTController must implement request()");
if ("function" != typeof e.ajax) throw new Error("RESTController must implement ajax()");
r.RESTController = e
},
getRESTController: function() {
return r.RESTController
},
setSessionController: function(e) {
if ("function" != typeof e.getSession) throw new Error("A SessionController must implement getSession()");
r.SessionController = e
},
getSessionController: function() {
return r.SessionController
},
setStorageController: function(e) {
if (e.async) {
if ("function" != typeof e.getItemAsync) throw new Error("An async StorageController must implement getItemAsync()");
if ("function" != typeof e.setItemAsync) throw new Error("An async StorageController must implement setItemAsync()");
if ("function" != typeof e.removeItemAsync) throw new Error("An async StorageController must implement removeItemAsync()")
} else {
if ("function" != typeof e.getItem) throw new Error("A synchronous StorageController must implement getItem()");
if ("function" != typeof e.setItem) throw new Error("A synchronous StorageController must implement setItem()");
if ("function" != typeof e.removeItem) throw new Error("A synchonous StorageController must implement removeItem()")
}
r.StorageController = e
},
getStorageController: function() {
return r.StorageController
},
setUserController: function(e) {
if ("function" != typeof e.setCurrentUser) throw new Error("A UserController must implement setCurrentUser()");
if ("function" != typeof e.currentUser) throw new Error("A UserController must implement currentUser()");
if ("function" != typeof e.currentUserAsync) throw new Error("A UserController must implement currentUserAsync()");
if ("function" != typeof e.signUp) throw new Error("A UserController must implement signUp()");
if ("function" != typeof e.logIn) throw new Error("A UserController must implement logIn()");
if ("function" != typeof e.become) throw new Error("A UserController must implement become()");
if ("function" != typeof e.logOut) throw new Error("A UserController must implement logOut()");
if ("function" != typeof e.requestPasswordReset) throw new Error("A UserController must implement requestPasswordReset()");
if ("function" != typeof e.upgradeToRevocableSession) throw new Error("A UserController must implement upgradeToRevocableSession()");
if ("function" != typeof e.linkWith) throw new Error("A UserController must implement linkWith()");
r.UserController = e
},
getUserController: function() {
return r.UserController
}
}
}).call(this, e("_process"))
}, {
_process: 75
}],
4: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var a, s, o = e("./parseDate"),
i = n(o),
u = e("./ParseUser"),
l = n(u),
c = !1;
r["default"] = {
init: function(e) {
if ("undefined" == typeof FB) throw new Error("The Facebook JavaScript SDK must be loaded before calling init.");
if (s = {}, e)
for (var t in e) s[t] = e[t];
if (s.status && "undefined" != typeof console) {
var r = console.warn || console.log || function() {};
r.call(console, 'The "status" flag passed into FB.init, when set to true, can interfere with Parse Facebook integration, so it has been suppressed. Please call FB.getLoginStatus() explicitly if you require this behavior.')
}
s.status = !1, FB.init(s), l["default"]._registerAuthenticationProvider({
authenticate: function(e) {
var t = this;
"undefined" == typeof FB && e.error(this, "Facebook SDK not found."), FB.login(function(r) {
r.authResponse ? e.success && e.success(t, {
id: r.authResponse.userID,
access_token: r.authResponse.accessToken,
expiration_date: new Date(1e3 * r.authResponse.expiresIn + (new Date).getTime()).toJSON()
}) : e.error && e.error(t, r)
}, {
scope: a
})
},
restoreAuthentication: function(e) {
if (e) {
var t = (0, i["default"])(e.expiration_date),
r = t ? (t.getTime() - (new Date).getTime()) / 1e3 : 0,
n = {
userID: e.id,
accessToken: e.access_token,
expiresIn: r
},
a = {};
if (s)
for (var o in s) a[o] = s[o];
a.authResponse = n, a.status = !1;
var u = FB.getAuthResponse();
u && u.userID !== n.userID && FB.logout(), FB.init(a)
}
return !0
},
getAuthType: function() {
return "facebook"
},
deauthenticate: function() {
this.restoreAuthentication(null)
}
}), c = !0
},
isLinked: function(e) {
return e._isLinked("facebook")
},
logIn: function(e, t) {
if (e && "string" != typeof e) {
var r = {};
if (t)
for (var n in t) r[n] = t[n];
return r.authData = e, l["default"]._logInWith("facebook", r)
}
if (!c) throw new Error("You must initialize FacebookUtils before calling logIn.");
return a = e, l["default"]._logInWith("facebook", t)
},
link: function(e, t, r) {
if (t && "string" != typeof t) {
var n = {};
if (r)
for (var s in r) n[s] = r[s];
return n.authData = t, e._linkWith("facebook", n)
}
if (!c) throw new Error("You must initialize FacebookUtils before calling link.");
return a = t, e._linkWith("facebook", r)
},
unlink: function(e, t) {
if (!c) throw new Error("You must initialize FacebookUtils before calling unlink.");
return e._unlinkFrom("facebook", t)
}
}, t.exports = r["default"]
}, {
"./ParseUser": 21,
"./parseDate": 34,
"babel-runtime/helpers/interop-require-default": 47
}],
5: [function(e, t, r) {
"use strict";
function n() {
return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
}
function a() {
return n() + n() + "-" + n() + "-" + n() + "-" + n() + "-" + n() + n() + n()
}
var s = e("babel-runtime/helpers/interop-require-default")["default"],
o = e("./CoreManager"),
i = (s(o), e("./ParsePromise")),
u = s(i),
l = e("./Storage"),
c = s(l),
f = null;
t.exports = {
currentInstallationId: function() {
if ("string" == typeof f) return u["default"].as(f);
var e = c["default"].generatePath("installationId");
return c["default"].getItemAsync(e).then(function(t) {
return t ? (f = t, t) : (t = a(), c["default"].setItemAsync(e, t).then(function() {
return f = t, t
}))
})
},
_clearCache: function() {
f = null
},
_setInstallationIdCache: function(e) {
f = e
}
}
}, {
"./CoreManager": 3,
"./ParsePromise": 16,
"./Storage": 24,
"babel-runtime/helpers/interop-require-default": 47
}],
6: [function(e, t, r) {
"use strict";
function n(e, t) {
var r = N[e];
return r ? r[t] || null : null
}
function a(e, t, r) {
var a = n(e, t);
return a ? a : (N[e] || (N[e] = {}), r || (r = {
serverData: {},
pendingOps: [{}],
objectCache: {},
tasks: new I["default"],
existed: !1
}), a = N[e][t] = r)
}
function s(e, t) {
var r = n(e, t);
return null === r ? null : (delete N[e][t], r)
}
function o(e, t) {
var r = n(e, t);
return r ? r.serverData : {}
}
function i(e, t, r) {
var n = a(e, t).serverData;
for (var s in r) "undefined" != typeof r[s] ? n[s] = r[s] : delete n[s]
}
function u(e, t) {
var r = n(e, t);
return r ? r.pendingOps : [{}]
}
function l(e, t, r, n) {
var s = a(e, t).pendingOps,
o = s.length - 1;
n ? s[o][r] = n : delete s[o][r]
}
function c(e, t) {
var r = a(e, t).pendingOps;
r.push({})
}
function f(e, t) {
var r = a(e, t).pendingOps,
n = r.shift();
return r.length || (r[0] = {}), n
}
function d(e, t) {
var r = f(e, t),
n = u(e, t),
a = n[0];
for (var s in r)
if (a[s] && r[s]) {
var o = a[s].mergeWith(r[s]);
o && (a[s] = o)
} else a[s] = r[s]
}
function h(e, t) {
var r = n(e, t);
return r ? r.objectCache : {}
}
function p(e, t, r) {
for (var n = o(e, t), a = n[r], s = u(e, t), i = 0; i < s.length; i++) s[i][r] && (a = s[i][r] instanceof T.RelationOp ? s[i][r].applyTo(a, {
className: e,
id: t
}, r) : s[i][r].applyTo(a));
return a
}
function y(e, t) {
var r, n = {},
a = o(e, t);
for (r in a) n[r] = a[r];
for (var s = u(e, t), i = 0; i < s.length; i++)
for (r in s[i]) s[i][r] instanceof T.RelationOp ? n[r] = s[i][r].applyTo(n[r], {
className: e,
id: t
}, r) : n[r] = s[i][r].applyTo(n[r]);
return n
}
function v(e, t, r) {
var n = a(e, t);
for (var s in r) {
var o = r[s];
if (n.serverData[s] = o, o && "object" == typeof o && !(o instanceof k["default"]) && !(o instanceof C["default"]) && !(o instanceof S["default"])) {
var i = (0, w["default"])(o, !1, !0);
n.objectCache[s] = JSON.stringify(i)
}
}
}
function m(e, t, r) {
var n = a(e, t);
return n.tasks.enqueue(r)
}
function b() {
N = {}
}
var _ = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r.getState = n, r.initializeState = a, r.removeState = s, r.getServerData = o, r.setServerData = i, r.getPendingOps = u, r.setPendingOp = l, r.pushPendingState = c, r.popPendingState = f, r.mergeFirstPendingState = d, r.getObjectCache = h, r.estimateAttribute = p, r.estimateAttributes = y, r.commitServerChanges = v, r.enqueueTask = m, r._clearAllState = b;
var g = e("./encode"),
w = _(g),
O = e("./ParseFile"),
C = _(O),
P = e("./ParseObject"),
k = _(P),
A = e("./ParsePromise"),
E = (_(A), e("./ParseRelation")),
S = _(E),
j = e("./TaskQueue"),
I = _(j),
T = e("./ParseOp"),
N = {}
}, {
"./ParseFile": 11,
"./ParseObject": 14,
"./ParseOp": 15,
"./ParsePromise": 16,
"./ParseRelation": 18,
"./TaskQueue": 26,
"./encode": 30,
"babel-runtime/helpers/interop-require-default": 47
}],
7: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/interop-require-default")["default"],
a = e("babel-runtime/helpers/interop-require-wildcard")["default"],
s = e("./decode"),
o = n(s),
i = e("./encode"),
u = n(i),
l = e("./CoreManager"),
c = n(l),
f = e("./InstallationController"),
d = n(f),
h = e("./ParseOp"),
p = a(h),
y = e("./RESTController"),
v = n(y),
m = {
initialize: function(e, t) {
c["default"].get("IS_NODE") && console.log("It looks like you're using the browser version of the SDK in a node.js environment. You should require('parse/node') instead."), m._initialize(e, t)
},
_initialize: function(e, t, r) {
c["default"].set("APPLICATION_ID", e), c["default"].set("JAVASCRIPT_KEY", t), c["default"].set("MASTER_KEY", r), c["default"].set("USE_MASTER_KEY", !1)
}
};
Object.defineProperty(m, "applicationId", {
get: function() {
return c["default"].get("APPLICATION_ID")
},
set: function(e) {
c["default"].set("APPLICATION_ID", e)
}
}), Object.defineProperty(m, "javaScriptKey", {
get: function() {
return c["default"].get("JAVASCRIPT_KEY")
},
set: function(e) {
c["default"].set("JAVASCRIPT_KEY", e)
}
}), Object.defineProperty(m, "masterKey", {
get: function() {
return c["default"].get("MASTER_KEY")
},
set: function(e) {
c["default"].set("MASTER_KEY", e)
}
}), Object.defineProperty(m, "serverURL", {
get: function() {
return c["default"].get("SERVER_URL")
},
set: function(e) {
c["default"].set("SERVER_URL", e)
}
}), m.ACL = e("./ParseACL"), m.Analytics = e("./Analytics"), m.Cloud = e("./Cloud"), m.CoreManager = e("./CoreManager"), m.Config = e("./ParseConfig"), m.Error = e("./ParseError"), m.FacebookUtils = e("./FacebookUtils"), m.File = e("./ParseFile"), m.GeoPoint = e("./ParseGeoPoint"), m.Installation = e("./ParseInstallation"), m.Object = e("./ParseObject"), m.Op = {
Set: p.SetOp,
Unset: p.UnsetOp,
Increment: p.IncrementOp,
Add: p.AddOp,
Remove: p.RemoveOp,
AddUnique: p.AddUniqueOp,
Relation: p.RelationOp
}, m.Promise = e("./ParsePromise"), m.Push = e("./Push"), m.Query = e("./ParseQuery"), m.Relation = e("./ParseRelation"), m.Role = e("./ParseRole"), m.Session = e("./ParseSession"), m.Storage = e("./Storage"), m.User = e("./ParseUser"), m._request = function() {
for (var e = arguments.length, t = Array(e), r = 0; e > r; r++) t[r] = arguments[r];
return c["default"].getRESTController().request.apply(null, t)
}, m._ajax = function() {
for (var e = arguments.length, t = Array(e), r = 0; e > r; r++) t[r] = arguments[r];
return c["default"].getRESTController().ajax.apply(null, t)
}, m._decode = function(e, t) {
return (0, o["default"])(t)
}, m._encode = function(e, t, r) {
return (0, u["default"])(e, r)
}, m._getInstallationId = function() {
return c["default"].getInstallationController().currentInstallationId()
}, c["default"].setInstallationController(d["default"]), c["default"].setRESTController(v["default"]), m.Parse = m, t.exports = m
}, {
"./Analytics": 1,
"./Cloud": 2,
"./CoreManager": 3,
"./FacebookUtils": 4,
"./InstallationController": 5,
"./ParseACL": 8,
"./ParseConfig": 9,
"./ParseError": 10,
"./ParseFile": 11,
"./ParseGeoPoint": 12,
"./ParseInstallation": 13,
"./ParseObject": 14,
"./ParseOp": 15,
"./ParsePromise": 16,
"./ParseQuery": 17,
"./ParseRelation": 18,
"./ParseRole": 19,
"./ParseSession": 20,
"./ParseUser": 21,
"./Push": 22,
"./RESTController": 23,
"./Storage": 24,
"./decode": 29,
"./encode": 30,
"babel-runtime/helpers/interop-require-default": 47,
"babel-runtime/helpers/interop-require-wildcard": 48
}],
8: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/create-class")["default"],
a = e("babel-runtime/helpers/class-call-check")["default"],
s = e("babel-runtime/core-js/object/keys")["default"],
o = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var i = e("./ParseRole"),
u = o(i),
l = e("./ParseUser"),
c = o(l),
f = "*",
d = function() {
function e(t) {
if (a(this, e), this.permissionsById = {}, t && "object" == typeof t)
if (t instanceof c["default"]) this.setReadAccess(t, !0), this.setWriteAccess(t, !0);
else
for (var r in t) {
var n = t[r];
if ("string" != typeof r) throw new TypeError("Tried to create an ACL with an invalid user id.");
this.permissionsById[r] = {};
for (var s in n) {
var o = n[s];
if ("read" !== s && "write" !== s) throw new TypeError("Tried to create an ACL with an invalid permission type.");
if ("boolean" != typeof o) throw new TypeError("Tried to create an ACL with an invalid permission value.");
this.permissionsById[r][s] = o
}
} else if ("function" == typeof t) throw new TypeError("ParseACL constructed with a function. Did you forget ()?")
}
return n(e, [{
key: "toJSON",
value: function() {
var e = {};
for (var t in this.permissionsById) e[t] = this.permissionsById[t];
return e
}
}, {
key: "equals",
value: function(t) {
if (!(t instanceof e)) return !1;
var r = s(this.permissionsById),
n = s(t.permissionsById);
if (r.length !== n.length) return !1;
for (var a in this.permissionsById) {
if (!t.permissionsById[a]) return !1;
if (this.permissionsById[a].read !== t.permissionsById[a].read) return !1;
if (this.permissionsById[a].write !== t.permissionsById[a].write) return !1
}
return !0
}
}, {
key: "_setAccess",
value: function(e, t, r) {
if (t instanceof c["default"] ? t = t.id : t instanceof u["default"] && (t = "role:" + t.getName()), "string" != typeof t) throw new TypeError("userId must be a string.");
if ("boolean" != typeof r) throw new TypeError("allowed must be either true or false.");
var n = this.permissionsById[t];
if (!n) {
if (!r) return;
n = {}, this.permissionsById[t] = n
}
r ? this.permissionsById[t][e] = !0 : (delete n[e], 0 === s(n).length && delete this.permissionsById[t])
}
}, {
key: "_getAccess",
value: function(e, t) {
t instanceof c["default"] ? t = t.id : t instanceof u["default"] && (t = "role:" + t.getName());
var r = this.permissionsById[t];
return r ? !!r[e] : !1
}
}, {
key: "setReadAccess",
value: function(e, t) {
this._setAccess("read", e, t)
}
}, {
key: "getReadAccess",
value: function(e) {
return this._getAccess("read", e)
}
}, {
key: "setWriteAccess",
value: function(e, t) {
this._setAccess("write", e, t)
}
}, {
key: "getWriteAccess",
value: function(e) {
return this._getAccess("write", e)
}
}, {
key: "setPublicReadAccess",
value: function(e) {
this.setReadAccess(f, e)
}
}, {
key: "getPublicReadAccess",
value: function() {
return this.getReadAccess(f)
}
}, {
key: "setPublicWriteAccess",
value: function(e) {
this.setWriteAccess(f, e)
}
}, {
key: "getPublicWriteAccess",
value: function() {
return this.getWriteAccess(f)
}
}, {
key: "getRoleReadAccess",
value: function(e) {
if (e instanceof u["default"] && (e = e.getName()), "string" != typeof e) throw new TypeError("role must be a ParseRole or a String");
return this.getReadAccess("role:" + e)
}
}, {
key: "getRoleWriteAccess",
value: function(e) {
if (e instanceof u["default"] && (e = e.getName()), "string" != typeof e) throw new TypeError("role must be a ParseRole or a String");
return this.getWriteAccess("role:" + e)
}
}, {
key: "setRoleReadAccess",
value: function(e, t) {
if (e instanceof u["default"] && (e = e.getName()), "string" != typeof e) throw new TypeError("role must be a ParseRole or a String");
this.setReadAccess("role:" + e, t)
}
}, {
key: "setRoleWriteAccess",
value: function(e, t) {
if (e instanceof u["default"] && (e = e.getName()), "string" != typeof e) throw new TypeError("role must be a ParseRole or a String");
this.setWriteAccess("role:" + e, t)
}
}]), e
}();
r["default"] = d, t.exports = r["default"]
}, {
"./ParseRole": 19,
"./ParseUser": 21,
"babel-runtime/core-js/object/keys": 41,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
9: [function(e, t, r) {
"use strict";
function n(e) {
try {
var t = JSON.parse(e);
if (t && "object" == typeof t) return (0, c["default"])(t)
} catch (r) {
return null
}
}
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var i = e("./CoreManager"),
u = o(i),
l = e("./decode"),
c = o(l),
f = e("./encode"),
d = (o(f), e("./escape")),
h = o(d),
p = e("./ParseError"),
y = o(p),
v = e("./ParsePromise"),
m = o(v),
b = e("./Storage"),
_ = o(b),
g = function() {
function e() {
s(this, e), this.attributes = {}, this._escapedAttributes = {}
}
return a(e, [{
key: "get",
value: function(e) {
return this.attributes[e]
}
}, {
key: "escape",
value: function(e) {
var t = this._escapedAttributes[e];
if (t) return t;
var r = this.attributes[e],
n = "";
return null != r && (n = (0, h["default"])(r.toString())), this._escapedAttributes[e] = n, n
}
}], [{
key: "current",
value: function() {
var e = u["default"].getConfigController();
return e.current()
}
}, {
key: "get",
value: function(e) {
e = e || {};
var t = u["default"].getConfigController();
return t.get()._thenRunCallbacks(e)
}
}]), e
}();
r["default"] = g;
var w = null,
O = "currentConfig";
u["default"].setConfigController({
current: function() {
if (w) return w;
var e, t = new g,
r = _["default"].generatePath(O);
if (!_["default"].async()) {
if (e = _["default"].getItem(r)) {
var a = n(e);
a && (t.attributes = a, w = t)
}
return t
}
return _["default"].getItemAsync(r).then(function(e) {
if (e) {
var r = n(e);
r && (t.attributes = r, w = t)
}
return t
})
},
get: function() {
var e = u["default"].getRESTController();
return e.request("GET", "config", {}, {}).then(function(e) {
if (!e || !e.params) {
var t = new y["default"](y["default"].INVALID_JSON, "Config JSON response invalid.");
return m["default"].error(t)
}
var r = new g;
r.attributes = {};
for (var n in e.params) r.attributes[n] = (0, c["default"])(e.params[n]);
return w = r, _["default"].setItemAsync(_["default"].generatePath(O), JSON.stringify(e.params)).then(function() {
return r
})
})
}
}), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ParseError": 10,
"./ParsePromise": 16,
"./Storage": 24,
"./decode": 29,
"./encode": 30,
"./escape": 32,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
10: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/class-call-check")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var a = function s(e, t) {
n(this, s), this.code = e, this.message = t
};
r["default"] = a, a.OTHER_CAUSE = -1, a.INTERNAL_SERVER_ERROR = 1, a.CONNECTION_FAILED = 100, a.OBJECT_NOT_FOUND = 101, a.INVALID_QUERY = 102, a.INVALID_CLASS_NAME = 103, a.MISSING_OBJECT_ID = 104, a.INVALID_KEY_NAME = 105, a.INVALID_POINTER = 106, a.INVALID_JSON = 107, a.COMMAND_UNAVAILABLE = 108, a.NOT_INITIALIZED = 109, a.INCORRECT_TYPE = 111, a.INVALID_CHANNEL_NAME = 112, a.PUSH_MISCONFIGURED = 115, a.OBJECT_TOO_LARGE = 116, a.OPERATION_FORBIDDEN = 119, a.CACHE_MISS = 120, a.INVALID_NESTED_KEY = 121, a.INVALID_FILE_NAME = 122, a.INVALID_ACL = 123, a.TIMEOUT = 124, a.INVALID_EMAIL_ADDRESS = 125, a.MISSING_CONTENT_TYPE = 126, a.MISSING_CONTENT_LENGTH = 127, a.INVALID_CONTENT_LENGTH = 128, a.FILE_TOO_LARGE = 129, a.FILE_SAVE_ERROR = 130, a.DUPLICATE_VALUE = 137, a.INVALID_ROLE_NAME = 139, a.EXCEEDED_QUOTA = 140, a.SCRIPT_FAILED = 141, a.VALIDATION_ERROR = 142, a.INVALID_IMAGE_DATA = 143, a.UNSAVED_FILE_ERROR = 151, a.INVALID_PUSH_TIME_ERROR = 152, a.FILE_DELETE_ERROR = 153, a.REQUEST_LIMIT_EXCEEDED = 155, a.INVALID_EVENT_NAME = 160, a.USERNAME_MISSING = 200, a.PASSWORD_MISSING = 201, a.USERNAME_TAKEN = 202, a.EMAIL_TAKEN = 203, a.EMAIL_MISSING = 204, a.EMAIL_NOT_FOUND = 205, a.SESSION_MISSING = 206, a.MUST_CREATE_USER_THROUGH_SIGNUP = 207, a.ACCOUNT_ALREADY_LINKED = 208, a.INVALID_SESSION_TOKEN = 209, a.LINKED_ID_MISSING = 250, a.INVALID_LINKED_SESSION = 251, a.UNSUPPORTED_SERVICE = 252, a.AGGREGATE_ERROR = 600, a.FILE_READ_ERROR = 601, a.X_DOMAIN_REQUEST = 602, t.exports = r["default"]
}, {
"babel-runtime/helpers/class-call-check": 43
}],
11: [function(e, t, r) {
"use strict";
function n(e) {
if (26 > e) return String.fromCharCode(65 + e);
if (52 > e) return String.fromCharCode(97 + (e - 26));
if (62 > e) return String.fromCharCode(48 + (e - 52));
if (62 === e) return "+";
if (63 === e) return "/";
throw new TypeError("Tried to encode large digit " + e + " in base64.")
}
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var i = e("./CoreManager"),
u = o(i),
l = e("./ParsePromise"),
c = (o(l), function() {
function e(t, r, n) {
s(this, e);
var a = n || "";
if (this._name = t, Array.isArray(r)) this._source = {
format: "base64",
base64: e.encodeBase64(r),
type: a
};
else if ("undefined" != typeof File && r instanceof File) this._source = {
format: "file",
file: r,
type: a
};
else if (r && r.hasOwnProperty("base64")) {
var o = /^data:([a-zA-Z]*\/[a-zA-Z+.-]*);(charset=[a-zA-Z0-9\-\/\s]*,)?base64,(\S+)/.exec(r.base64);
o && o.length > 0 ? this._source = {
format: "base64",
base64: 4 === o.length ? o[3] : o[2],
type: o[1]
} : this._source = {
format: "base64",
base64: r.base64,
type: a
}
} else if ("undefined" != typeof r) throw new TypeError("Cannot create a Parse.File with that data.")
}
return a(e, [{
key: "name",
value: function() {
return this._name
}
}, {
key: "url",
value: function() {
return this._url
}
}, {
key: "save",
value: function(e) {
var t = this;
e = e || {};
var r = u["default"].getFileController();
return this._previousSave || ("file" === this._source.format ? this._previousSave = r.saveFile(this._name, this._source).then(function(e) {
return t._name = e.name, t._url = e.url, t
}) : this._previousSave = r.saveBase64(this._name, this._source).then(function(e) {
return t._name = e.name, t._url = e.url, t
})), this._previousSave ? this._previousSave._thenRunCallbacks(e) : void 0
}
}, {
key: "toJSON",
value: function() {
return {
__type: "File",
name: this._name,
url: this._url
}
}
}, {
key: "equals",
value: function(t) {
return this === t ? !0 : t instanceof e && this.name() === t.name() && this.url() === t.url() && "undefined" != typeof this.url()
}
}], [{
key: "fromJSON",
value: function(t) {
if ("File" !== t.__type) throw new TypeError("JSON object does not represent a ParseFile");
var r = new e(t.name);
return r._url = t.url, r
}
}, {
key: "encodeBase64",
value: function(e) {
var t = [];
t.length = Math.ceil(e.length / 3);
for (var r = 0; r < t.length; r++) {
var a = e[3 * r],
s = e[3 * r + 1] || 0,
o = e[3 * r + 2] || 0,
i = 3 * r + 1 < e.length,
u = 3 * r + 2 < e.length;
t[r] = [n(a >> 2 & 63), n(a << 4 & 48 | s >> 4 & 15), i ? n(s << 2 & 60 | o >> 6 & 3) : "=", u ? n(63 & o) : "="].join("")
}
return t.join("")
}
}]), e
}());
r["default"] = c, u["default"].setFileController({
saveFile: function(e, t) {
if ("file" !== t.format) throw new Error("saveFile can only be used with File-type sources.");
var r = {
"X-Parse-Application-ID": u["default"].get("APPLICATION_ID"),
"X-Parse-JavaScript-Key": u["default"].get("JAVASCRIPT_KEY")
},
n = u["default"].get("SERVER_URL");
return "/" !== n[n.length - 1] && (n += "/"), n += "files/" + e, u["default"].getRESTController().ajax("POST", n, t.file, r)
},
saveBase64: function(e, t) {
if ("base64" !== t.format) throw new Error("saveBase64 can only be used with Base64-type sources.");
var r = {
base64: t.base64
};
return t.type && (r._ContentType = t.type), u["default"].getRESTController().request("POST", "files/" + e, r)
}
}), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ParsePromise": 16,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
12: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/create-class")["default"],
a = e("babel-runtime/helpers/class-call-check")["default"],
s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var o = e("./ParsePromise"),
i = s(o),
u = function() {
function e(t, r) {
a(this, e), Array.isArray(t) ? (e._validate(t[0], t[1]), this._latitude = t[0], this._longitude = t[1]) : "object" == typeof t ? (e._validate(t.latitude, t.longitude), this._latitude = t.latitude, this._longitude = t.longitude) : "number" == typeof t && "number" == typeof r ? (e._validate(t, r), this._latitude = t, this._longitude = r) : (this._latitude = 0, this._longitude = 0)
}
return n(e, [{
key: "toJSON",
value: function() {
return e._validate(this._latitude, this._longitude), {
__type: "GeoPoint",
latitude: this._latitude,
longitude: this._longitude
}
}
}, {
key: "equals",
value: function(t) {
return t instanceof e && this.latitude === t.latitude && this.longitude === t.longitude
}
}, {
key: "radiansTo",
value: function(e) {
var t = Math.PI / 180,
r = this.latitude * t,
n = this.longitude * t,
a = e.latitude * t,
s = e.longitude * t,
o = Math.sin((r - a) / 2),
i = Math.sin((n - s) / 2),
u = o * o + Math.cos(r) * Math.cos(a) * i * i;
return u = Math.min(1, u), 2 * Math.asin(Math.sqrt(u))
}
}, {
key: "kilometersTo",
value: function(e) {
return 6371 * this.radiansTo(e)
}
}, {
key: "milesTo",
value: function(e) {
return 3958.8 * this.radiansTo(e)
}
}, {
key: "latitude",
get: function() {
return this._latitude
},
set: function(t) {
e._validate(t, this.longitude), this._latitude = t
}
}, {
key: "longitude",
get: function() {
return this._longitude
},
set: function(t) {
e._validate(this.latitude, t), this._longitude = t
}
}], [{
key: "_validate",
value: function(e, t) {
if (e !== e || t !== t) throw new TypeError("GeoPoint latitude and longitude must be valid numbers");
if (-90 > e) throw new TypeError("GeoPoint latitude out of bounds: " + e + " < -90.0.");
if (e > 90) throw new TypeError("GeoPoint latitude out of bounds: " + e + " > 90.0.");
if (-180 > t) throw new TypeError("GeoPoint longitude out of bounds: " + t + " < -180.0.");
if (t > 180) throw new TypeError("GeoPoint longitude out of bounds: " + t + " > 180.0.")
}
}, {
key: "current",
value: function(t) {
var r = new i["default"];
return navigator.geolocation.getCurrentPosition(function(t) {
r.resolve(new e(t.coords.latitude, t.coords.longitude))
}, function(e) {
r.reject(e)
}), r._thenRunCallbacks(t)
}
}]), e
}();
r["default"] = u, t.exports = r["default"]
}, {
"./ParsePromise": 16,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
13: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/get")["default"],
a = e("babel-runtime/helpers/inherits")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var i = e("./ParseObject"),
u = o(i),
l = function(e) {
function t(e) {
if (s(this, t), n(Object.getPrototypeOf(t.prototype), "constructor", this).call(this, "_Installation"), e && "object" == typeof e && !this.set(e || {})) throw new Error("Can't create an invalid Session")
}
return a(t, e), t
}(u["default"]);
r["default"] = l, u["default"].registerSubclass("_Installation", l), t.exports = r["default"]
}, {
"./ParseObject": 14,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/get": 45,
"babel-runtime/helpers/inherits": 46,
"babel-runtime/helpers/interop-require-default": 47
}],
14: [function(e, t, r) {
"use strict";
function n() {
var e = h["default"].get("SERVER_URL");
"/" !== e[e.length - 1] && (e += "/");
var t = e.replace(/https?:\/\//, "");
return t.substr(t.indexOf("/"))
}
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/core-js/object/keys")["default"],
i = e("babel-runtime/core-js/object/freeze")["default"],
u = e("babel-runtime/core-js/object/create")["default"],
l = e("babel-runtime/core-js/object/define-property")["default"],
c = e("babel-runtime/helpers/interop-require-default")["default"],
f = e("babel-runtime/helpers/interop-require-wildcard")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var d = e("./CoreManager"),
h = c(d),
p = e("./canBeSerialized"),
y = c(p),
v = e("./decode"),
m = c(v),
b = e("./encode"),
_ = c(b),
g = e("./equals"),
w = (c(g), e("./escape")),
O = c(w),
C = e("./ObjectState"),
P = f(C),
k = e("./ParseACL"),
A = c(k),
E = e("./parseDate"),
S = c(E),
j = e("./ParseError"),
I = c(j),
T = e("./ParseFile"),
N = c(T),
R = e("./ParseOp"),
M = e("./ParsePromise"),
x = c(M),
D = e("./ParseQuery"),
U = c(D),
q = e("./ParseRelation"),
L = c(q),
F = e("./unique"),
K = c(F),
$ = e("./unsavedChildren"),
J = c($),
W = {},
B = 0,
G = 0,
V = !h["default"].get("IS_NODE"),
z = function() {
function e(t, r, n) {
s(this, e), "function" == typeof this.initialize && this.initialize.apply(this, arguments);
var a = null;
if (this._objCount = G++, "string" == typeof t) this.className = t, r && "object" == typeof r && (a = r);
else if (t && "object" == typeof t) {
this.className = t.className, a = {};
for (var o in t) "className" !== o && (a[o] = t[o]);
r && "object" == typeof r && (n = r)
}
if (a && !this.set(a, n)) throw new Error("Can't create an invalid Parse Object")
}
return a(e, [{
key: "_getId",
value: function() {
if ("string" == typeof this.id) return this.id;
if ("string" == typeof this._localId) return this._localId;
var e = "local" + String(B++);
return this._localId = e, e
}
}, {
key: "_getStateIdentifier",
value: function() {
return "string" == typeof this.id ? V ? this.id : this.id + "_" + String(this._objCount) : this._getId()
}
}, {
key: "_getServerData",
value: function() {
return P.getServerData(this.className, this._getStateIdentifier())
}
}, {
key: "_clearServerData",
value: function() {
var e = this._getServerData(),
t = {};
for (var r in e) t[r] = void 0;
P.setServerData(this.className, this._getStateIdentifier(), t)
}
}, {
key: "_getPendingOps",
value: function() {
return P.getPendingOps(this.className, this._getStateIdentifier())
}
}, {
key: "_clearPendingOps",
value: function() {
var e = this._getPendingOps(),
t = e[e.length - 1],
r = o(t);
r.forEach(function(e) {
delete t[e]
})
}
}, {
key: "_getDirtyObjectAttributes",
value: function() {
var t = this.attributes,
r = P.getObjectCache(this.className, this._getStateIdentifier()),
n = {};
for (var a in t) {
var s = t[a];
if (s && "object" == typeof s && !(s instanceof e) && !(s instanceof N["default"]) && !(s instanceof L["default"])) try {
var o = (0, _["default"])(s, !1, !0),
i = JSON.stringify(o);
r[a] !== i && (n[a] = s)
} catch (u) {
n[a] = s
}
}
return n
}
}, {
key: "_toFullJSON",
value: function(e) {
var t = this.toJSON(e);
return t.__type = "Object", t.className = this.className, t
}
}, {
key: "_getSaveJSON",
value: function() {
var e, t = this._getPendingOps(),
r = this._getDirtyObjectAttributes(),
n = {};
for (e in r) n[e] = new R.SetOp(r[e]).toJSON();
for (e in t[0]) n[e] = t[0][e].toJSON();
return n
}
}, {
key: "_getSaveParams",
value: function() {
var e = this.id ? "PUT" : "POST",
t = this._getSaveJSON(),
r = "classes/" + this.className;
return this.id ? r += "/" + this.id : "_User" === this.className && (r = "users"), {
method: e,
body: t,
path: r
}
}
}, {
key: "_finishFetch",
value: function(e) {
!this.id && e.objectId && (this.id = e.objectId), P.initializeState(this.className, this._getStateIdentifier());
var t = {};
for (var r in e) "ACL" === r ? t[r] = new A["default"](e[r]) : "objectId" !== r && (t[r] = (0, m["default"])(e[r]), t[r] instanceof L["default"] && t[r]._ensureParentAndKey(this, r));
t.createdAt && "string" == typeof t.createdAt && (t.createdAt = (0, S["default"])(t.createdAt)), t.updatedAt && "string" == typeof t.updatedAt && (t.updatedAt = (0, S["default"])(t.updatedAt)), !t.updatedAt && t.createdAt && (t.updatedAt = t.createdAt), P.commitServerChanges(this.className, this._getStateIdentifier(), t)
}
}, {
key: "_setExisted",
value: function(e) {
var t = P.getState(this.className, this._getStateIdentifier());
t && (t.existed = e)
}
}, {
key: "_migrateId",
value: function(e) {
if (this._localId && e) {
var t = P.removeState(this.className, this._getStateIdentifier());
this.id = e, delete this._localId, t && P.initializeState(this.className, this._getStateIdentifier(), t)
}
}
}, {
key: "_handleSaveResponse",
value: function(e, t) {
var r, n = {},
a = P.popPendingState(this.className, this._getStateIdentifier());
for (r in a) a[r] instanceof R.RelationOp ? n[r] = a[r].applyTo(void 0, this, r) : r in e || (n[r] = a[r].applyTo(void 0));
for (r in e) "createdAt" !== r && "updatedAt" !== r || "string" != typeof e[r] ? "ACL" === r ? n[r] = new A["default"](e[r]) : "objectId" !== r && (n[r] = (0, m["default"])(e[r])) : n[r] = (0, S["default"])(e[r]);
n.createdAt && !n.updatedAt && (n.updatedAt = n.createdAt), this._migrateId(e.objectId), 201 !== t && this._setExisted(!0), P.commitServerChanges(this.className, this._getStateIdentifier(), n)
}
}, {
key: "_handleSaveError",
value: function() {
this._getPendingOps();
P.mergeFirstPendingState(this.className, this._getStateIdentifier())
}
}, {
key: "initialize",
value: function() {}
}, {
key: "toJSON",
value: function(e) {
var t = this.id ? this.className + ":" + this.id : this,
e = e || [t],
r = {},
n = this.attributes;
for (var a in n) "createdAt" !== a && "updatedAt" !== a || !n[a].toJSON ? r[a] = (0, _["default"])(n[a], !1, !1, e) : r[a] = n[a].toJSON();
var s = this._getPendingOps();
for (var a in s[0]) r[a] = s[0][a].toJSON();
return this.id && (r.objectId = this.id), r
}
}, {
key: "equals",
value: function(t) {
return this === t ? !0 : t instanceof e && this.className === t.className && this.id === t.id && "undefined" != typeof this.id
}
}, {
key: "dirty",
value: function(e) {
if (!this.id) return !0;
var t = this._getPendingOps(),
r = this._getDirtyObjectAttributes();
if (e) {
if (r.hasOwnProperty(e)) return !0;
for (var n = 0; n < t.length; n++)
if (t[n].hasOwnProperty(e)) return !0;
return !1
}
return 0 !== o(t[0]).length ? !0 : 0 !== o(r).length ? !0 : !1
}
}, {
key: "dirtyKeys",
value: function() {
for (var e = this._getPendingOps(), t = {}, r = 0; r < e.length; r++)
for (var n in e[r]) t[n] = !0;
var a = this._getDirtyObjectAttributes();
for (var n in a) t[n] = !0;
return o(t)
}
}, {
key: "toPointer",
value: function() {
if (!this.id) throw new Error("Cannot create a pointer to an unsaved ParseObject");
return {
__type: "Pointer",
className: this.className,
objectId: this.id
}
}
}, {
key: "get",
value: function(e) {
return this.attributes[e]
}
}, {
key: "relation",
value: function(e) {
var t = this.get(e);
if (t) {
if (!(t instanceof L["default"])) throw new Error("Called relation() on non-relation field " + e);
return t._ensureParentAndKey(this, e), t
}
return new L["default"](this, e)
}
}, {
key: "escape",
value: function(e) {
var t = this.attributes[e];
if (null == t) return "";
if ("string" != typeof t) {
if ("function" != typeof t.toString) return "";
t = t.toString()
}
return (0, O["default"])(t)
}
}, {
key: "has",
value: function(e) {
var t = this.attributes;
return t.hasOwnProperty(e) ? null != t[e] : !1
}
}, {
key: "set",
value: function(e, t, r) {
var n = {},
a = {};
if (e && "object" == typeof e) n = e, r = t;
else {
if ("string" != typeof e) return this;
n[e] = t
}
r = r || {};
var s = [];
"function" == typeof this.constructor.readOnlyAttributes && (s = s.concat(this.constructor.readOnlyAttributes()));
for (var o in n)
if ("createdAt" !== o && "updatedAt" !== o) {
if (s.indexOf(o) > -1) throw new Error("Cannot modify readonly attribute: " + o);
r.unset ? a[o] = new R.UnsetOp : n[o] instanceof R.Op ? a[o] = n[o] : n[o] && "object" == typeof n[o] && "string" == typeof n[o].__op ? a[o] = (0, R.opFromJSON)(n[o]) : "objectId" === o || "id" === o ? this.id = n[o] : "ACL" !== o || "object" != typeof n[o] || n[o] instanceof A["default"] ? a[o] = new R.SetOp(n[o]) : a[o] = new R.SetOp(new A["default"](n[o]))
}
var i = this.attributes,
u = {};
for (var l in a) a[l] instanceof R.RelationOp ? u[l] = a[l].applyTo(i[l], this, l) : a[l] instanceof R.UnsetOp || (u[l] = a[l].applyTo(i[l]));
if (!r.ignoreValidation) {
var c = this.validate(u);
if (c) return "function" == typeof r.error && r.error(this, c), !1
}
var f = this._getPendingOps(),
d = f.length - 1;
for (var l in a) {
var h = a[l].mergeWith(f[d][l]);
P.setPendingOp(this.className, this._getStateIdentifier(), l, h)
}
return this
}
}, {
key: "unset",
value: function(e, t) {
return t = t || {}, t.unset = !0, this.set(e, null, t)
}
}, {
key: "increment",
value: function(e, t) {
if ("undefined" == typeof t && (t = 1), "number" != typeof t) throw new Error("Cannot increment by a non-numeric amount.");
return this.set(e, new R.IncrementOp(t))
}
}, {
key: "add",
value: function(e, t) {
return this.set(e, new R.AddOp([t]))
}
}, {
key: "addUnique",
value: function(e, t) {
return this.set(e, new R.AddUniqueOp([t]))
}
}, {
key: "remove",
value: function(e, t) {
return this.set(e, new R.RemoveOp([t]))
}
}, {
key: "op",
value: function(e) {
for (var t = this._getPendingOps(), r = t.length; r--;)
if (t[r][e]) return t[r][e]
}
}, {
key: "clone",
value: function t() {
var t = new this.constructor;
return t.className || (t.className = this.className), t.set && t.set(this.attributes), t
}
}, {
key: "isNew",
value: function() {
return !this.id
}
}, {
key: "existed",
value: function() {
if (!this.id) return !1;
var e = P.getState(this.className, this._getStateIdentifier());
return e ? e.existed : !1
}
}, {
key: "isValid",
value: function() {
return !this.validate(this.attributes)
}
}, {
key: "validate",
value: function(e) {
if (e.hasOwnProperty("ACL") && !(e.ACL instanceof A["default"])) return new I["default"](I["default"].OTHER_CAUSE, "ACL must be a Parse ACL.");
for (var t in e)
if (!/^[A-Za-z][0-9A-Za-z_]*$/.test(t)) return new I["default"](I["default"].INVALID_KEY_NAME);
return !1
}
}, {
key: "getACL",
value: function() {
var e = this.get("ACL");
return e instanceof A["default"] ? e : null
}
}, {
key: "setACL",
value: function(e, t) {
return this.set("ACL", e, t)
}
}, {
key: "clear",
value: function() {
var e = this.attributes,
t = {},
r = ["createdAt", "updatedAt"];
"function" == typeof this.constructor.readOnlyAttributes && (r = r.concat(this.constructor.readOnlyAttributes()));
for (var n in e) r.indexOf(n) < 0 && (t[n] = !0);
return this.set(t, {
unset: !0
})
}
}, {
key: "fetch",
value: function(e) {
e = e || {};
var t = {};
e.hasOwnProperty("useMasterKey") && (t.useMasterKey = e.useMasterKey), e.hasOwnProperty("sessionToken") && (t.sessionToken = e.sessionToken);
var r = h["default"].getObjectController();
return r.fetch(this, !0, t)._thenRunCallbacks(e)
}
}, {
key: "save",
value: function(e, t, r) {
var n, a, s = this;
if ("object" == typeof e || "undefined" == typeof e ? (n = e, a = t) : (n = {}, n[e] = t, a = r), !a && n && (a = {}, "function" == typeof n.success && (a.success = n.success, delete n.success), "function" == typeof n.error && (a.error = n.error, delete n.error)), n) {
var o = this.validate(n);
if (o) return a && "function" == typeof a.error && a.error(this, o), x["default"].error(o);
this.set(n, a)
}
a = a || {};
var i = {};
a.hasOwnProperty("useMasterKey") && (i.useMasterKey = a.useMasterKey), a.hasOwnProperty("sessionToken") && (i.sessionToken = a.sessionToken);
var u = h["default"].getObjectController(),
l = (0, J["default"])(this);
return u.save(l, i).then(function() {
return u.save(s, i)
})._thenRunCallbacks(a, this)
}
}, {
key: "destroy",
value: function(e) {
e = e || {};
var t = {};
return e.hasOwnProperty("useMasterKey") && (t.useMasterKey = e.useMasterKey), e.hasOwnProperty("sessionToken") && (t.sessionToken = e.sessionToken), this.id ? h["default"].getObjectController().destroy(this, t)._thenRunCallbacks(e) : x["default"].as()._thenRunCallbacks(e)
}
}, {
key: "attributes",
get: function() {
return i(P.estimateAttributes(this.className, this._getStateIdentifier()))
}
}, {
key: "createdAt",
get: function() {
return this._getServerData().createdAt
}
}, {
key: "updatedAt",
get: function() {
return this._getServerData().updatedAt
}
}], [{
key: "_clearAllState",
value: function() {
P._clearAllState()
}
}, {
key: "fetchAll",
value: function(e, t) {
var t = t || {},
r = {};
return t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey), t.hasOwnProperty("sessionToken") && (r.sessionToken = t.sessionToken), h["default"].getObjectController().fetch(e, !0, r)._thenRunCallbacks(t)
}
}, {
key: "fetchAllIfNeeded",
value: function(e, t) {
var t = t || {},
r = {};
return t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey), t.hasOwnProperty("sessionToken") && (r.sessionToken = t.sessionToken), h["default"].getObjectController().fetch(e, !1, r)._thenRunCallbacks(t)
}
}, {
key: "destroyAll",
value: function(e, t) {
var t = t || {},
r = {};
return t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey), t.hasOwnProperty("sessionToken") && (r.sessionToken = t.sessionToken), h["default"].getObjectController().destroy(e, r)._thenRunCallbacks(t)
}
}, {
key: "saveAll",
value: function(e, t) {
var t = t || {},
r = {};
return t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey), t.hasOwnProperty("sessionToken") && (r.sessionToken = t.sessionToken), h["default"].getObjectController().save(e, r)._thenRunCallbacks(t)
}
}, {
key: "createWithoutData",
value: function(e) {
var t = new this;
return t.id = e, t
}
}, {
key: "fromJSON",
value: function(t) {
if (!t.className) throw new Error("Cannot create an object without a className");
var r = W[t.className],
n = r ? new r : new e(t.className),
a = {};
for (var s in t) "className" !== s && "__type" !== s && (a[s] = t[s]);
return n._finishFetch(a), t.objectId && n._setExisted(!0), n
}
}, {
key: "registerSubclass",
value: function(e, t) {
if ("string" != typeof e) throw new TypeError("The first argument must be a valid class name.");
if ("undefined" == typeof t) throw new TypeError("You must supply a subclass constructor.");
if ("function" != typeof t) throw new TypeError("You must register the subclass constructor. Did you attempt to register an instance of the subclass?");
W[e] = t, t.className || (t.className = e)
}
}, {
key: "extend",
value: function(t, r, n) {
if ("string" != typeof t) {
if (t && "string" == typeof t.className) return e.extend(t.className, t, r);
throw new Error("Parse.Object.extend's first argument should be the className.")
}
var a = t;
"User" === a && h["default"].get("PERFORM_USER_REWRITE") && (a = "_User");
var s = e.prototype;
this.hasOwnProperty("__super__") && this.__super__ ? s = this.prototype : W[a] && (s = W[a].prototype);
var o = function(e, t) {
if ("function" == typeof this.initialize && this.initialize.apply(this, arguments), this.className = a, this._objCount = G++, e && "object" == typeof e && !this.set(e || {}, t)) throw new Error("Can't create an invalid Parse Object")
};
if (o.className = a, o.__super__ = s, o.prototype = u(s, {
constructor: {
value: o,
enumerable: !1,
writable: !0,
configurable: !0
}
}), r)
for (var i in r) "className" !== i && l(o.prototype, i, {
value: r[i],
enumerable: !1,
writable: !0,
configurable: !0
});
if (n)
for (var i in n) "className" !== i && l(o, i, {
value: n[i],
enumerable: !1,
writable: !0,
configurable: !0
});
return o.extend = function(t, r, n) {
return "string" == typeof t ? e.extend.call(o, t, r, n) : e.extend.call(o, a, t, r)
}, o.createWithoutData = e.createWithoutData, W[a] = o, o
}
}, {
key: "enableSingleInstance",
value: function() {
V = !0
}
}, {
key: "disableSingleInstance",
value: function() {
V = !1
}
}]), e
}();
r["default"] = z, h["default"].setObjectController({
fetch: function(e, t, r) {
if (Array.isArray(e)) {
if (e.length < 1) return x["default"].as([]);
var n = [],
a = [],
s = null,
i = [],
u = null;
if (e.forEach(function(e, r) {
u || (s || (s = e.className), s !== e.className && (u = new I["default"](I["default"].INVALID_CLASS_NAME, "All objects should be of the same class")), e.id || (u = new I["default"](I["default"].MISSING_OBJECT_ID, "All objects must have an ID")), (t || 0 === o(e._getServerData()).length) && (a.push(e.id), n.push(e)), i.push(e))
}), u) return x["default"].error(u);
var l = new U["default"](s);
return l.containedIn("objectId", a), l._limit = a.length, l.find(r).then(function(e) {
var r = {};
e.forEach(function(e) {
r[e.id] = e
});
for (var a = 0; a < n.length; a++) {
var s = n[a];
if ((!s || !s.id || !r[s.id]) && t) return x["default"].error(new I["default"](I["default"].OBJECT_NOT_FOUND, "All objects must exist on the server."))
}
if (!V)
for (var a = 0; a < i.length; a++) {
var s = i[a];
if (s && s.id && r[s.id]) {
var o = s.id;
s._finishFetch(r[o].toJSON()), i[a] = r[o]
}
}
return x["default"].as(i)
})
}
var c = h["default"].getRESTController();
return c.request("GET", "classes/" + e.className + "/" + e._getId(), {}, r).then(function(t, r, n) {
return e instanceof z && (e._clearPendingOps(), e._finishFetch(t)), e
})
},
destroy: function(e, t) {
var r = h["default"].getRESTController();
if (Array.isArray(e)) {
if (e.length < 1) return x["default"].as([]);
var a = [
[]
];
e.forEach(function(e) {
e.id && (a[a.length - 1].push(e), a[a.length - 1].length >= 20 && a.push([]))
}), 0 === a[a.length - 1].length && a.pop();
var s = x["default"].as(),
o = [];
return a.forEach(function(e) {
s = s.then(function() {
return r.request("POST", "batch", {
requests: e.map(function(e) {
return {
method: "DELETE",
path: n() + "classes/" + e.className + "/" + e._getId(),
body: {}
}
})
}, t).then(function(t) {
for (var r = 0; r < t.length; r++)
if (t[r] && t[r].hasOwnProperty("error")) {
var n = new I["default"](t[r].error.code, t[r].error.error);
n.object = e[r], o.push(n)
}
})
})
}), s.then(function() {
if (o.length) {
var t = new I["default"](I["default"].AGGREGATE_ERROR);
return t.errors = o, x["default"].error(t)
}
return x["default"].as(e)
})
}
return e instanceof z ? r.request("DELETE", "classes/" + e.className + "/" + e._getId(), {}, t).then(function() {
return x["default"].as(e)
}) : x["default"].as(e)
},
save: function(e, t) {
var r = h["default"].getRESTController();
if (Array.isArray(e)) {
if (e.length < 1) return x["default"].as([]);
for (var a = e.concat(), s = 0; s < e.length; s++) e[s] instanceof z && (a = a.concat((0, J["default"])(e[s], !0)));
a = (0, K["default"])(a);
var o = x["default"].as(),
i = [];
return a.forEach(function(e) {
e instanceof N["default"] ? o = o.then(function() {
return e.save()
}) : e instanceof z && i.push(e)
}), o.then(function() {
var a = null;
return x["default"]._continueWhile(function() {
return i.length > 0
}, function() {
var e = [],
s = [];
if (i.forEach(function(t) {
e.length < 20 && (0, y["default"])(t) ? e.push(t) : s.push(t)
}), i = s, e.length < 1) return x["default"].error(new I["default"](I["default"].OTHER_CAUSE, "Tried to save a batch with a cycle."));
var o = new x["default"],
u = [],
l = [];
return e.forEach(function(e, t) {
var r = new x["default"];
u.push(r);
var n = function() {
return r.resolve(), o.then(function(r, n) {
if (r[t].hasOwnProperty("success")) e._handleSaveResponse(r[t].success, n);
else {
if (!a && r[t].hasOwnProperty("error")) {
var s = r[t].error;
a = new I["default"](s.code, s.error), i = []
}
e._handleSaveError()
}
})
};
P.pushPendingState(e.className, e._getStateIdentifier()), l.push(P.enqueueTask(e.className, e._getStateIdentifier(), n))
}), x["default"].when(u).then(function() {
return r.request("POST", "batch", {
requests: e.map(function(e) {
var t = e._getSaveParams();
return t.path = n() + t.path, t
})
}, t)
}).then(function(e, t, r) {
o.resolve(e, t)
}), x["default"].when(l)
}).then(function() {
return a ? x["default"].error(a) : x["default"].as(e)
})
})
}
if (e instanceof z) {
var u = e,
l = function() {
var e = u._getSaveParams();
return r.request(e.method, e.path, e.body, t).then(function(e, t) {
u._handleSaveResponse(e, t)
}, function(e) {
return u._handleSaveError(), x["default"].error(e)
})
};
return P.pushPendingState(e.className, e._getStateIdentifier()), P.enqueueTask(e.className, e._getStateIdentifier(), l).then(function() {
return e
}, function(e) {
return e
})
}
return x["default"].as()
}
}), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ObjectState": 6,
"./ParseACL": 8,
"./ParseError": 10,
"./ParseFile": 11,
"./ParseOp": 15,
"./ParsePromise": 16,
"./ParseQuery": 17,
"./ParseRelation": 18,
"./canBeSerialized": 28,
"./decode": 29,
"./encode": 30,
"./equals": 31,
"./escape": 32,
"./parseDate": 34,
"./unique": 35,
"./unsavedChildren": 36,
"babel-runtime/core-js/object/create": 37,
"babel-runtime/core-js/object/define-property": 38,
"babel-runtime/core-js/object/freeze": 39,
"babel-runtime/core-js/object/keys": 41,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47,
"babel-runtime/helpers/interop-require-wildcard": 48
}],
15: [function(e, t, r) {
"use strict";
function n(e) {
if (!e || !e.__op) return null;
switch (e.__op) {
case "Delete":
return new C;
case "Increment":
return new P(e.amount);
case "Add":
return new k((0, d["default"])(e.objects));
case "AddUnique":
return new A((0, d["default"])(e.objects));
case "Remove":
return new E((0, d["default"])(e.objects));
case "AddRelation":
var t = (0, d["default"])(e.objects);
return Array.isArray(t) ? new S(t, []) : new S([], []);
case "RemoveRelation":
var r = (0, d["default"])(e.objects);
return Array.isArray(r) ? new S([], r) : new S([], []);
case "Batch":
for (var t = [], r = [], n = 0; n < e.ops.length; n++) "AddRelation" === e.ops[n].__op ? t = t.concat((0, d["default"])(e.ops[n].objects)) : "RemoveRelation" === e.ops[n].__op && (r = r.concat((0, d["default"])(e.ops[n].objects)));
return new S(t, r)
}
return null
}
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/helpers/get")["default"],
i = e("babel-runtime/helpers/inherits")["default"],
u = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r.opFromJSON = n;
var l = e("./arrayContainsObject"),
c = u(l),
f = e("./decode"),
d = u(f),
h = e("./encode"),
p = u(h),
y = e("./ParseObject"),
v = u(y),
m = e("./ParseRelation"),
b = u(m),
_ = e("./unique"),
g = u(_),
w = function() {
function e() {
s(this, e)
}
return a(e, [{
key: "applyTo",
value: function(e) {}
}, {
key: "mergeWith",
value: function(e) {}
}, {
key: "toJSON",
value: function() {}
}]), e
}();
r.Op = w;
var O = function(e) {
function t(e) {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), this._value = e
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {
return this._value
}
}, {
key: "mergeWith",
value: function(e) {
return new t(this._value)
}
}, {
key: "toJSON",
value: function() {
return (0, p["default"])(this._value, !1, !0)
}
}]), t
}(w);
r.SetOp = O;
var C = function(e) {
function t() {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).apply(this, arguments)
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {}
}, {
key: "mergeWith",
value: function(e) {
return new t
}
}, {
key: "toJSON",
value: function() {
return {
__op: "Delete"
}
}
}]), t
}(w);
r.UnsetOp = C;
var P = function(e) {
function t(e) {
if (s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), "number" != typeof e) throw new TypeError("Increment Op must be initialized with a numeric amount.");
this._amount = e
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {
if ("undefined" == typeof e) return this._amount;
if ("number" != typeof e) throw new TypeError("Cannot increment a non-numeric value.");
return this._amount + e
}
}, {
key: "mergeWith",
value: function(e) {
if (!e) return this;
if (e instanceof O) return new O(this.applyTo(e._value));
if (e instanceof C) return new O(this._amount);
if (e instanceof t) return new t(this.applyTo(e._amount));
throw new Error("Cannot merge Increment Op with the previous Op")
}
}, {
key: "toJSON",
value: function() {
return {
__op: "Increment",
amount: this._amount
}
}
}]), t
}(w);
r.IncrementOp = P;
var k = function(e) {
function t(e) {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), this._value = Array.isArray(e) ? e : [e]
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {
if (null == e) return this._value;
if (Array.isArray(e)) return e.concat(this._value);
throw new Error("Cannot add elements to a non-array value")
}
}, {
key: "mergeWith",
value: function(e) {
if (!e) return this;
if (e instanceof O) return new O(this.applyTo(e._value));
if (e instanceof C) return new O(this._value);
if (e instanceof t) return new t(this.applyTo(e._value));
throw new Error("Cannot merge Add Op with the previous Op")
}
}, {
key: "toJSON",
value: function() {
return {
__op: "Add",
objects: (0, p["default"])(this._value, !1, !0)
}
}
}]), t
}(w);
r.AddOp = k;
var A = function(e) {
function t(e) {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), this._value = (0, g["default"])(Array.isArray(e) ? e : [e])
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {
if (null == e) return this._value || [];
if (Array.isArray(e)) {
var t = e,
r = [];
return this._value.forEach(function(e) {
e instanceof v["default"] ? (0, c["default"])(t, e) || r.push(e) : t.indexOf(e) < 0 && r.push(e)
}), e.concat(r)
}
throw new Error("Cannot add elements to a non-array value")
}
}, {
key: "mergeWith",
value: function(e) {
if (!e) return this;
if (e instanceof O) return new O(this.applyTo(e._value));
if (e instanceof C) return new O(this._value);
if (e instanceof t) return new t(this.applyTo(e._value));
throw new Error("Cannot merge AddUnique Op with the previous Op")
}
}, {
key: "toJSON",
value: function() {
return {
__op: "AddUnique",
objects: (0, p["default"])(this._value, !1, !0)
}
}
}]), t
}(w);
r.AddUniqueOp = A;
var E = function(e) {
function t(e) {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), this._value = (0, g["default"])(Array.isArray(e) ? e : [e])
}
return i(t, e), a(t, [{
key: "applyTo",
value: function(e) {
if (null == e) return [];
if (Array.isArray(e)) {
for (var t = e.indexOf(this._value), r = e.concat([]), t = 0; t < this._value.length; t++) {
for (var n = r.indexOf(this._value[t]); n > -1;) r.splice(n, 1), n = r.indexOf(this._value[t]);
if (this._value[t] instanceof v["default"] && this._value[t].id)
for (var a = 0; a < r.length; a++) r[a] instanceof v["default"] && this._value[t].id === r[a].id && (r.splice(a, 1), a--)
}
return r
}
throw new Error("Cannot remove elements from a non-array value")
}
}, {
key: "mergeWith",
value: function(e) {
if (!e) return this;
if (e instanceof O) return new O(this.applyTo(e._value));
if (e instanceof C) return new C;
if (e instanceof t) {
for (var r = e._value.concat([]), n = 0; n < this._value.length; n++) this._value[n] instanceof v["default"] ? (0, c["default"])(r, this._value[n]) || r.push(this._value[n]) : r.indexOf(this._value[n]) < 0 && r.push(this._value[n]);
return new t(r)
}
throw new Error("Cannot merge Remove Op with the previous Op")
}
}, {
key: "toJSON",
value: function() {
return {
__op: "Remove",
objects: (0, p["default"])(this._value, !1, !0)
}
}
}]), t
}(w);
r.RemoveOp = E;
var S = function(e) {
function t(e, r) {
s(this, t), o(Object.getPrototypeOf(t.prototype), "constructor", this).call(this), this._targetClassName = null, Array.isArray(e) && (this.relationsToAdd = (0, g["default"])(e.map(this._extractId, this))), Array.isArray(r) && (this.relationsToRemove = (0, g["default"])(r.map(this._extractId, this)))
}
return i(t, e), a(t, [{
key: "_extractId",
value: function(e) {
if ("string" == typeof e) return e;
if (!e.id) throw new Error("You cannot add or remove an unsaved Parse Object from a relation");
if (this._targetClassName || (this._targetClassName = e.className), this._targetClassName !== e.className) throw new Error("Tried to create a Relation with 2 different object types: " + this._targetClassName + " and " + e.className + ".");
return e.id
}
}, {
key: "applyTo",
value: function(e, t, r) {
if (!e) {
var n = new v["default"](t.className);
t.id && 0 === t.id.indexOf("local") ? n._localId = t.id : t.id && (n.id = t.id);
var a = new b["default"](n, r);
return a.targetClassName = this._targetClassName, a
}
if (e instanceof b["default"]) {
if (this._targetClassName)
if (e.targetClassName) {
if (this._targetClassName !== e.targetClassName) throw new Error("Related object must be a " + e.targetClassName + ", but a " + this._targetClassName + " was passed in.")
} else e.targetClassName = this._targetClassName;
return e
}
throw new Error("Relation cannot be applied to a non-relation field")
}
}, {
key: "mergeWith",
value: function(e) {
if (!e) return this;
if (e instanceof C) throw new Error("You cannot modify a relation after deleting it.");
if (e instanceof t) {
if (e._targetClassName && e._targetClassName !== this._targetClassName) throw new Error("Related object must be of class " + e._targetClassName + ", but " + (this._targetClassName || "null") + " was passed in.");
var r = e.relationsToAdd.concat([]);
this.relationsToRemove.forEach(function(e) {
var t = r.indexOf(e);
t > -1 && r.splice(t, 1)
}), this.relationsToAdd.forEach(function(e) {
var t = r.indexOf(e);
0 > t && r.push(e)
});
var n = e.relationsToRemove.concat([]);
this.relationsToAdd.forEach(function(e) {
var t = n.indexOf(e);
t > -1 && n.splice(t, 1)
}), this.relationsToRemove.forEach(function(e) {
var t = n.indexOf(e);
0 > t && n.push(e)
});
var a = new t(r, n);
return a._targetClassName = this._targetClassName, a
}
throw new Error("Cannot merge Relation Op with the previous Op")
}
}, {
key: "toJSON",
value: function() {
var e = this,
t = function(t) {
return {
__type: "Pointer",
className: e._targetClassName,
objectId: t
}
},
r = null,
n = null,
a = null;
return this.relationsToAdd.length > 0 && (a = this.relationsToAdd.map(t), r = {
__op: "AddRelation",
objects: a
}), this.relationsToRemove.length > 0 && (a = this.relationsToRemove.map(t), n = {
__op: "RemoveRelation",
objects: a
}), r && n ? {
__op: "Batch",
ops: [r, n]
} : r || n || {}
}
}]), t
}(w);
r.RelationOp = S
}, {
"./ParseObject": 14,
"./ParseRelation": 18,
"./arrayContainsObject": 27,
"./decode": 29,
"./encode": 30,
"./unique": 35,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/get": 45,
"babel-runtime/helpers/inherits": 46,
"babel-runtime/helpers/interop-require-default": 47
}],
16: [function(e, t, r) {
(function(n) {
"use strict";
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var o = !1,
i = function() {
function e() {
s(this, e), this._resolved = !1, this._rejected = !1, this._resolvedCallbacks = [], this._rejectedCallbacks = []
}
return a(e, [{
key: "resolve",
value: function() {
if (this._resolved || this._rejected) throw new Error("A promise was resolved even though it had already been " + (this._resolved ? "resolved" : "rejected") + ".");
this._resolved = !0;
for (var e = arguments.length, t = Array(e), r = 0; e > r; r++) t[r] = arguments[r];
this._result = t;
for (var n = 0; n < this._resolvedCallbacks.length; n++) this._resolvedCallbacks[n].apply(this, t);
this._resolvedCallbacks = [], this._rejectedCallbacks = []
}
}, {
key: "reject",
value: function(e) {
if (this._resolved || this._rejected) throw new Error("A promise was resolved even though it had already been " + (this._resolved ? "resolved" : "rejected") + ".");
this._rejected = !0, this._error = e;
for (var t = 0; t < this._rejectedCallbacks.length; t++) this._rejectedCallbacks[t](e);
this._resolvedCallbacks = [], this._rejectedCallbacks = []
}
}, {
key: "then",
value: function(t, r) {
var a = this,
s = new e,
i = function() {
for (var r = arguments.length, n = Array(r), a = 0; r > a; a++) n[a] = arguments[a];
if ("function" == typeof t)
if (o) try {
n = [t.apply(this, n)]
} catch (i) {
n = [e.error(i)]
} else n = [t.apply(this, n)];
1 === n.length && e.is(n[0]) ? n[0].then(function() {
s.resolve.apply(s, arguments)
}, function(e) {
s.reject(e)
}) : s.resolve.apply(s, n)
},
u = function(t) {
var n = [];
if ("function" == typeof r) {
if (o) try {
n = [r(t)]
} catch (a) {
n = [e.error(a)]
} else n = [r(t)];
1 === n.length && e.is(n[0]) ? n[0].then(function() {
s.resolve.apply(s, arguments)
}, function(e) {
s.reject(e)
}) : o ? s.resolve.apply(s, n) : s.reject(n[0])
} else s.reject(t)
},
l = function(e) {
e.call()
};
return o && ("undefined" != typeof n && "function" == typeof n.nextTick ? l = function(e) {
n.nextTick(e)
} : "function" == typeof setTimeout && (l = function(e) {
setTimeout(e, 0)
})), this._resolved ? l(function() {
i.apply(a, a._result)
}) : this._rejected ? l(function() {
u(a._error)
}) : (this._resolvedCallbacks.push(i), this._rejectedCallbacks.push(u)), s
}
}, {
key: "always",
value: function(e) {
return this.then(e, e)
}
}, {
key: "done",
value: function(e) {
return this.then(e)
}
}, {
key: "fail",
value: function(e) {
return this.then(null, e)
}
}, {
key: "_thenRunCallbacks",
value: function(t, r) {
var n = {};
return "function" == typeof t ? (n.success = function(e) {
t(e, null)
}, n.error = function(e) {
t(null, e)
}) : "object" == typeof t && ("function" == typeof t.success && (n.success = t.success), "function" == typeof t.error && (n.error = t.error)), this.then(function() {
for (var t = arguments.length, r = Array(t), a = 0; t > a; a++) r[a] = arguments[a];
return n.success && n.success.apply(this, r), e.as.apply(e, arguments)
}, function(t) {
return n.error && ("undefined" != typeof r ? n.error(r, t) : n.error(t)), e.error(t)
})
}
}, {
key: "_continueWith",
value: function(e) {
return this.then(function() {
return e(arguments, null)
}, function(t) {
return e(null, t)
})
}
}], [{
key: "is",
value: function(e) {
return null != e && "function" == typeof e.then
}
}, {
key: "as",
value: function() {
for (var t = new e, r = arguments.length, n = Array(r), a = 0; r > a; a++) n[a] = arguments[a];
return t.resolve.apply(t, n), t
}
}, {
key: "error",
value: function() {
for (var t = new e, r = arguments.length, n = Array(r), a = 0; r > a; a++) n[a] = arguments[a];
return t.reject.apply(t, n), t
}
}, {
key: "when",
value: function(t) {
var r;
r = Array.isArray(t) ? t : arguments;
var n = r.length,
a = !1,
s = [],
o = [];
if (s.length = r.length, o.length = r.length, 0 === n) return e.as.apply(this, s);
for (var i = new e, u = function() {
n--, 0 >= n && (a ? i.reject(o) : i.resolve.apply(i, s))
}, l = function(t, r) {
e.is(t) ? t.then(function(e) {
s[r] = e, u()
}, function(e) {
o[r] = e, a = !0, u()
}) : (s[c] = t, u())
}, c = 0; c < r.length; c++) l(r[c], c);
return i
}
}, {
key: "_continueWhile",
value: function(t, r) {
return t() ? r().then(function() {
return e._continueWhile(t, r)
}) : e.as()
}
}, {
key: "isPromisesAPlusCompliant",
value: function() {
return o
}
}, {
key: "enableAPlusCompliant",
value: function() {
o = !0
}
}, {
key: "disableAPlusCompliant",
value: function() {
o = !1
}
}]), e
}();
r["default"] = i, t.exports = r["default"]
}).call(this, e("_process"))
}, {
_process: 75,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44
}],
17: [function(e, t, r) {
"use strict";
function n(e) {
return "\\Q" + e.replace("\\E", "\\E\\\\E\\Q") + "\\E"
}
var a = e("babel-runtime/helpers/create-class")["default"],
s = e("babel-runtime/helpers/class-call-check")["default"],
o = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var i = e("./CoreManager"),
u = o(i),
l = e("./encode"),
c = o(l),
f = e("./ParseError"),
d = o(f),
h = e("./ParseGeoPoint"),
p = o(h),
y = e("./ParseObject"),
v = o(y),
m = e("./ParsePromise"),
b = o(m),
_ = function() {
function e(t) {
if (s(this, e), "string" == typeof t) "User" === t && u["default"].get("PERFORM_USER_REWRITE") ? this.className = "_User" : this.className = t;
else if (t instanceof v["default"]) this.className = t.className;
else {
if ("function" != typeof t) throw new TypeError("A ParseQuery must be constructed with a ParseObject or class name.");
if ("string" == typeof t.className) this.className = t.className;
else {
var r = new t;
this.className = r.className
}
}
this._where = {}, this._include = [], this._limit = -1, this._skip = 0, this._extraOptions = {}
}
return a(e, [{
key: "_orQuery",
value: function(e) {
var t = e.map(function(e) {
return e.toJSON().where
});
return this._where.$or = t, this
}
}, {
key: "_addCondition",
value: function(e, t, r) {
return this._where[e] && "string" != typeof this._where[e] || (this._where[e] = {}), this._where[e][t] = (0, c["default"])(r, !1, !0), this
}
}, {
key: "toJSON",
value: function() {
var e = {
where: this._where
};
this._include.length && (e.include = this._include.join(",")), this._select && (e.keys = this._select.join(",")), this._limit >= 0 && (e.limit = this._limit), this._skip > 0 && (e.skip = this._skip), this._order && (e.order = this._order.join(","));
for (var t in this._extraOptions) e[t] = this._extraOptions[t];
return e
}
}, {
key: "get",
value: function(e, t) {
this.equalTo("objectId", e);
var r = {};
return t && t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey), t && t.hasOwnProperty("sessionToken") && (r.sessionToken = t.sessionToken), this.first(r).then(function(e) {
if (e) return e;
var t = new d["default"](d["default"].OBJECT_NOT_FOUND, "Object not found.");
return b["default"].error(t)
})._thenRunCallbacks(t, null)
}
}, {
key: "find",
value: function(e) {
var t = this;
e = e || {};
var r = {};
e.hasOwnProperty("useMasterKey") && (r.useMasterKey = e.useMasterKey), e.hasOwnProperty("sessionToken") && (r.sessionToken = e.sessionToken);
var n = u["default"].getQueryController();
return n.find(this.className, this.toJSON(), r).then(function(e) {
return e.results.map(function(e) {
return e.className || (e.className = t.className), v["default"].fromJSON(e)
})
})._thenRunCallbacks(e)
}
}, {
key: "count",
value: function(e) {
e = e || {};
var t = {};
e.hasOwnProperty("useMasterKey") && (t.useMasterKey = e.useMasterKey), e.hasOwnProperty("sessionToken") && (t.sessionToken = e.sessionToken);
var r = u["default"].getQueryController(),
n = this.toJSON();
return n.limit = 0, n.count = 1, r.find(this.className, n, t).then(function(e) {
return e.count
})._thenRunCallbacks(e)
}
}, {
key: "first",
value: function(e) {
var t = this;
e = e || {};
var r = {};
e.hasOwnProperty("useMasterKey") && (r.useMasterKey = e.useMasterKey), e.hasOwnProperty("sessionToken") && (r.sessionToken = e.sessionToken);
var n = u["default"].getQueryController(),
a = this.toJSON();
return a.limit = 1, n.find(this.className, a, r).then(function(e) {
var r = e.results;
if (r[0]) return r[0].className || (r[0].className = t.className), v["default"].fromJSON(r[0])
})._thenRunCallbacks(e)
}
}, {
key: "each",
value: function(t, r) {
if (r = r || {}, this._order || this._skip || this._limit >= 0) return b["default"].error("Cannot iterate on a query with sort, skip, or limit.")._thenRunCallbacks(r);
var n = (new b["default"], new e(this.className));
n._limit = r.batchSize || 100, n._include = this._include.map(function(e) {
return e
}), this._select && (n._select = this._select.map(function(e) {
return e
})), n._where = {};
for (var a in this._where) {
var s = this._where[a];
if (Array.isArray(s)) n._where[a] = s.map(function(e) {
return e
});
else if (s && "object" == typeof s) {
var o = {};
n._where[a] = o;
for (var i in s) o[i] = s[i]
} else n._where[a] = s
}
n.ascending("objectId");
var u = {};
r.hasOwnProperty("useMasterKey") && (u.useMasterKey = r.useMasterKey), r.hasOwnProperty("sessionToken") && (u.sessionToken = r.sessionToken);
var l = !1;
return b["default"]._continueWhile(function() {
return !l
}, function() {
return n.find(u).then(function(e) {
var r = b["default"].as();
return e.forEach(function(e) {
r = r.then(function() {
return t(e)
})
}), r.then(function() {
e.length >= n._limit ? n.greaterThan("objectId", e[e.length - 1].id) : l = !0
})
})
})._thenRunCallbacks(r)
}
}, {
key: "equalTo",
value: function(e, t) {
return "undefined" == typeof t ? this.doesNotExist(e) : (this._where[e] = (0, c["default"])(t, !1, !0), this)
}
}, {
key: "notEqualTo",
value: function(e, t) {
return this._addCondition(e, "$ne", t)
}
}, {
key: "lessThan",
value: function(e, t) {
return this._addCondition(e, "$lt", t)
}
}, {
key: "greaterThan",
value: function(e, t) {
return this._addCondition(e, "$gt", t)
}
}, {
key: "lessThanOrEqualTo",
value: function(e, t) {
return this._addCondition(e, "$lte", t)
}
}, {
key: "greaterThanOrEqualTo",
value: function(e, t) {
return this._addCondition(e, "$gte", t)
}
}, {
key: "containedIn",
value: function(e, t) {
return this._addCondition(e, "$in", t)
}
}, {
key: "notContainedIn",
value: function(e, t) {
return this._addCondition(e, "$nin", t)
}
}, {
key: "containsAll",
value: function(e, t) {
return this._addCondition(e, "$all", t)
}
}, {
key: "exists",
value: function(e) {
return this._addCondition(e, "$exists", !0)
}
}, {
key: "doesNotExist",
value: function(e) {
return this._addCondition(e, "$exists", !1)
}
}, {
key: "matches",
value: function(e, t, r) {
return this._addCondition(e, "$regex", t), r || (r = ""), t.ignoreCase && (r += "i"), t.multiline && (r += "m"), r.length && this._addCondition(e, "$options", r), this
}
}, {
key: "matchesQuery",
value: function(e, t) {
var r = t.toJSON();
return r.className = t.className, this._addCondition(e, "$inQuery", r)
}
}, {
key: "doesNotMatchQuery",
value: function(e, t) {
var r = t.toJSON();
return r.className = t.className, this._addCondition(e, "$notInQuery", r)
}
}, {
key: "matchesKeyInQuery",
value: function(e, t, r) {
var n = r.toJSON();
return n.className = r.className, this._addCondition(e, "$select", {
key: t,
query: n
})
}
}, {
key: "doesNotMatchKeyInQuery",
value: function(e, t, r) {
var n = r.toJSON();
return n.className = r.className, this._addCondition(e, "$dontSelect", {
key: t,
query: n
})
}
}, {
key: "contains",
value: function(e, t) {
if ("string" != typeof t) throw new Error("The value being searched for must be a string.");
return this._addCondition(e, "$regex", n(t))
}
}, {
key: "startsWith",
value: function(e, t) {
if ("string" != typeof t) throw new Error("The value being searched for must be a string.");
return this._addCondition(e, "$regex", "^" + n(t))
}
}, {
key: "endsWith",
value: function(e, t) {
if ("string" != typeof t) throw new Error("The value being searched for must be a string.");
return this._addCondition(e, "$regex", n(t) + "$")
}
}, {
key: "near",
value: function(e, t) {
return t instanceof p["default"] || (t = new p["default"](t)), this._addCondition(e, "$nearSphere", t)
}
}, {
key: "withinRadians",
value: function(e, t, r) {
return this.near(e, t), this._addCondition(e, "$maxDistance", r)
}
}, {
key: "withinMiles",
value: function(e, t, r) {
return this.withinRadians(e, t, r / 3958.8)
}
}, {
key: "withinKilometers",
value: function(e, t, r) {
return this.withinRadians(e, t, r / 6371)
}
}, {
key: "withinGeoBox",
value: function(e, t, r) {
return t instanceof p["default"] || (t = new p["default"](t)), r instanceof p["default"] || (r = new p["default"](r)), this._addCondition(e, "$within", {
$box: [t, r]
}), this
}
}, {
key: "ascending",
value: function() {
this._order = [];
for (var e = arguments.length, t = Array(e), r = 0; e > r; r++) t[r] = arguments[r];
return this.addAscending.apply(this, t)
}
}, {
key: "addAscending",
value: function() {
var e = this;
this._order || (this._order = []);
for (var t = arguments.length, r = Array(t), n = 0; t > n; n++) r[n] = arguments[n];
return r.forEach(function(t) {
Array.isArray(t) && (t = t.join()), e._order = e._order.concat(t.replace(/\s/g, "").split(","))
}), this
}
}, {
key: "descending",
value: function() {
this._order = [];
for (var e = arguments.length, t = Array(e), r = 0; e > r; r++) t[r] = arguments[r];
return this.addDescending.apply(this, t)
}
}, {
key: "addDescending",
value: function() {
var e = this;
this._order || (this._order = []);
for (var t = arguments.length, r = Array(t), n = 0; t > n; n++) r[n] = arguments[n];
return r.forEach(function(t) {
Array.isArray(t) && (t = t.join()), e._order = e._order.concat(t.replace(/\s/g, "").split(",").map(function(e) {
return "-" + e
}))
}), this
}
}, {
key: "skip",
value: function(e) {
if ("number" != typeof e || 0 > e) throw new Error("You can only skip by a positive number");
return this._skip = e, this
}
}, {
key: "limit",
value: function(e) {
if ("number" != typeof e) throw new Error("You can only set the limit to a numeric value");
return this._limit = e, this
}
}, {
key: "include",
value: function() {
for (var e = this, t = arguments.length, r = Array(t), n = 0; t > n; n++) r[n] = arguments[n];
return r.forEach(function(t) {
Array.isArray(t) ? e._include = e._include.concat(t) : e._include.push(t)
}), this
}
}, {
key: "select",
value: function() {
var e = this;
this._select || (this._select = []);
for (var t = arguments.length, r = Array(t), n = 0; t > n; n++) r[n] = arguments[n];
return r.forEach(function(t) {
Array.isArray(t) ? e._select = e._select.concat(t) : e._select.push(t)
}), this
}
}], [{
key: "or",
value: function() {
for (var t = null, r = arguments.length, n = Array(r), a = 0; r > a; a++) n[a] = arguments[a];
n.forEach(function(e) {
if (t || (t = e.className), t !== e.className) throw new Error("All queries must be for the same class.")
});
var s = new e(t);
return s._orQuery(n), s
}
}]), e
}();
r["default"] = _, u["default"].setQueryController({
find: function(e, t, r) {
var n = u["default"].getRESTController();
return n.request("GET", "classes/" + e, t, r)
}
}), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ParseError": 10,
"./ParseGeoPoint": 12,
"./ParseObject": 14,
"./ParsePromise": 16,
"./encode": 30,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
18: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/create-class")["default"],
a = e("babel-runtime/helpers/class-call-check")["default"],
s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var o = e("./ParseOp"),
i = e("./ParseObject"),
u = (s(i), e("./ParseQuery")),
l = s(u),
c = function() {
function e(t, r) {
a(this, e), this.parent = t, this.key = r, this.targetClassName = null
}
return n(e, [{
key: "_ensureParentAndKey",
value: function(e, t) {
if (this.key = this.key || t, this.key !== t) throw new Error("Internal Error. Relation retrieved from two different keys.");
if (this.parent) {
if (this.parent.className !== e.className) throw new Error("Internal Error. Relation retrieved from two different Objects.");
if (this.parent.id) {
if (this.parent.id !== e.id) throw new Error("Internal Error. Relation retrieved from two different Objects.")
} else e.id && (this.parent = e)
} else this.parent = e
}
}, {
key: "add",
value: function(e) {
Array.isArray(e) || (e = [e]);
var t = new o.RelationOp(e, []);
return this.parent.set(this.key, t), this.targetClassName = t._targetClassName, this.parent
}
}, {
key: "remove",
value: function(e) {
Array.isArray(e) || (e = [e]);
var t = new o.RelationOp([], e);
this.parent.set(this.key, t), this.targetClassName = t._targetClassName
}
}, {
key: "toJSON",
value: function() {
return {
__type: "Relation",
className: this.targetClassName
}
}
}, {
key: "query",
value: function t() {
var t;
return this.targetClassName ? t = new l["default"](this.targetClassName) : (t = new l["default"](this.parent.className), t._extraOptions.redirectClassNameForKey = this.key), t._addCondition("$relatedTo", "object", {
__type: "Pointer",
className: this.parent.className,
objectId: this.parent.id
}), t._addCondition("$relatedTo", "key", this.key), t
}
}]), e
}();
r["default"] = c, t.exports = r["default"]
}, {
"./ParseObject": 14,
"./ParseOp": 15,
"./ParseQuery": 17,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
19: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/get")["default"],
a = e("babel-runtime/helpers/inherits")["default"],
s = e("babel-runtime/helpers/create-class")["default"],
o = e("babel-runtime/helpers/class-call-check")["default"],
i = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var u = e("./ParseACL"),
l = i(u),
c = e("./ParseError"),
f = i(c),
d = e("./ParseObject"),
h = i(d),
p = function(e) {
function t(e, r) {
o(this, t), n(Object.getPrototypeOf(t.prototype), "constructor", this).call(this, "_Role"), "string" == typeof e && r instanceof l["default"] && (this.setName(e), this.setACL(r))
}
return a(t, e), s(t, [{
key: "getName",
value: function() {
return this.get("name")
}
}, {
key: "setName",
value: function(e, t) {
return this.set("name", e, t)
}
}, {
key: "getUsers",
value: function() {
return this.relation("users")
}
}, {
key: "getRoles",
value: function() {
return this.relation("roles")
}
}, {
key: "validate",
value: function(e, r) {
var a = n(Object.getPrototypeOf(t.prototype), "validate", this).call(this, e, r);
if (a) return a;
if ("name" in e && e.name !== this.getName()) {
var s = e.name;
if (this.id && this.id !== e.objectId) return new f["default"](f["default"].OTHER_CAUSE, "A role's name can only be set before it has been saved.");
if ("string" != typeof s) return new f["default"](f["default"].OTHER_CAUSE, "A role's name must be a String.");
if (!/^[0-9a-zA-Z\-_ ]+$/.test(s)) return new f["default"](f["default"].OTHER_CAUSE, "A role's name can be only contain alphanumeric characters, _, -, and spaces.")
}
return !1
}
}]), t
}(h["default"]);
r["default"] = p, h["default"].registerSubclass("_Role", p), t.exports = r["default"]
}, {
"./ParseACL": 8,
"./ParseError": 10,
"./ParseObject": 14,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/get": 45,
"babel-runtime/helpers/inherits": 46,
"babel-runtime/helpers/interop-require-default": 47
}],
20: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/get")["default"],
a = e("babel-runtime/helpers/inherits")["default"],
s = e("babel-runtime/helpers/create-class")["default"],
o = e("babel-runtime/helpers/class-call-check")["default"],
i = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var u = e("./CoreManager"),
l = i(u),
c = e("./isRevocableSession"),
f = i(c),
d = e("./ParseObject"),
h = i(d),
p = e("./ParsePromise"),
y = i(p),
v = e("./ParseUser"),
m = i(v),
b = function(e) {
function t(e) {
if (o(this, t), n(Object.getPrototypeOf(t.prototype), "constructor", this).call(this, "_Session"), e && "object" == typeof e && !this.set(e || {})) throw new Error("Can't create an invalid Session")
}
return a(t, e), s(t, [{
key: "getSessionToken",
value: function() {
return this.get("sessionToken")
}
}], [{
key: "readOnlyAttributes",
value: function() {
return ["createdWith", "expiresAt", "installationId", "restricted", "sessionToken", "user"]
}
}, {
key: "current",
value: function(e) {
e = e || {};
var t = l["default"].getSessionController(),
r = {};
return e.hasOwnProperty("useMasterKey") && (r.useMasterKey = e.useMasterKey), m["default"].currentAsync().then(function(e) {
if (!e) return y["default"].error("There is no current user.");
e.getSessionToken();
return r.sessionToken = e.getSessionToken(), t.getSession(r)
})
}
}, {
key: "isCurrentSessionRevocable",
value: function() {
var e = m["default"].current();
return e ? (0, f["default"])(e.getSessionToken() || "") : !1
}
}]), t
}(h["default"]);
r["default"] = b, h["default"].registerSubclass("_Session", b), l["default"].setSessionController({
getSession: function(e) {
var t = l["default"].getRESTController(),
r = new b;
return t.request("GET", "sessions/me", {}, e).then(function(e) {
return r._finishFetch(e), r._setExisted(!0), r
})
}
}), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ParseObject": 14,
"./ParsePromise": 16,
"./ParseUser": 21,
"./isRevocableSession": 33,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/get": 45,
"babel-runtime/helpers/inherits": 46,
"babel-runtime/helpers/interop-require-default": 47
}],
21: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/get")["default"],
a = e("babel-runtime/helpers/inherits")["default"],
s = e("babel-runtime/helpers/create-class")["default"],
o = e("babel-runtime/helpers/class-call-check")["default"],
i = e("babel-runtime/core-js/object/define-property")["default"],
u = e("babel-runtime/helpers/interop-require-default")["default"],
l = e("babel-runtime/helpers/interop-require-wildcard")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var c = e("./CoreManager"),
f = u(c),
d = e("./isRevocableSession"),
h = u(d),
p = e("./ObjectState"),
y = l(p),
v = e("./ParseError"),
m = u(v),
b = e("./ParseObject"),
_ = u(b),
g = e("./ParsePromise"),
w = u(g),
O = e("./ParseSession"),
C = u(O),
P = e("./Storage"),
k = u(P),
A = "currentUser",
E = !f["default"].get("IS_NODE"),
S = !1,
j = null,
I = {},
T = function(e) {
function t(e) {
if (o(this, t), n(Object.getPrototypeOf(t.prototype), "constructor", this).call(this, "_User"), e && "object" == typeof e && !this.set(e || {})) throw new Error("Can't create an invalid Parse User")
}
return a(t, e), s(t, [{
key: "_upgradeToRevocableSession",
value: function(e) {
e = e || {};
var t = {};
e.hasOwnProperty("useMasterKey") && (t.useMasterKey = e.useMasterKey);
var r = f["default"].getUserController();
return r.upgradeToRevocableSession(this, t)._thenRunCallbacks(e)
}
}, {
key: "_linkWith",
value: function(e, t) {
var r, n = this;
if ("string" == typeof e ? (r = e, e = I[e]) : r = e.getAuthType(), t && t.hasOwnProperty("authData")) {
var a = this.get("authData") || {};
a[r] = t.authData;
var s = f["default"].getUserController();
return s.linkWith(this, a)._thenRunCallbacks(t, this)
}
var o = new w["default"];
return e.authenticate({
success: function(e, r) {
var a = {};
a.authData = r, t.success && (a.success = t.success), t.error && (a.error = t.error), n._linkWith(e, a).then(function() {
o.resolve(n)
}, function(e) {
o.reject(e)
})
},
error: function(e, r) {
t.error && t.error(n, r), o.reject(r)
}
}), o
}
}, {
key: "_synchronizeAuthData",
value: function(e) {
if (this.isCurrent() && e) {
var t;
"string" == typeof e ? (t = e, e = I[t]) : t = e.getAuthType();
var r = this.get("authData");
if (e && "object" == typeof r) {
var n = e.restoreAuthentication(r[t]);
n || this._unlinkFrom(e)
}
}
}
}, {
key: "_synchronizeAllAuthData",
value: function() {
var e = this.get("authData");
if ("object" == typeof e)
for (var t in e) this._synchronizeAuthData(t)
}
}, {
key: "_cleanupAuthData",
value: function() {
if (this.isCurrent()) {
var e = this.get("authData");
if ("object" == typeof e)
for (var t in e) e[t] || delete e[t]
}
}
}, {
key: "_unlinkFrom",
value: function(e, t) {
var r, n = this;
return "string" == typeof e ? (r = e, e = I[e]) : r = e.getAuthType(), this._linkWith(e, {
authData: null
}).then(function() {
return n._synchronizeAuthData(e), w["default"].as(n)
})._thenRunCallbacks(t)
}
}, {
key: "_isLinked",
value: function(e) {
var t;
t = "string" == typeof e ? e : e.getAuthType();
var r = this.get("authData") || {};
return !!r[t]
}
}, {
key: "_logOutWithAll",
value: function() {
var e = this.get("authData");
if ("object" == typeof e)
for (var t in e) this._logOutWith(t)
}
}, {
key: "_logOutWith",
value: function(e) {
this.isCurrent() && ("string" == typeof e && (e = I[e]), e && e.deauthenticate && e.deauthenticate())
}
}, {
key: "isCurrent",
value: function() {
var e = t.current();
return !!e && e.id === this.id
}
}, {
key: "getUsername",
value: function() {
return this.get("username")
}
}, {
key: "setUsername",
value: function(e) {
var t = this.get("authData");
t && t.hasOwnProperty("anonymous") && (t.anonymous = null), this.set("username", e)
}
}, {
key: "setPassword",
value: function(e) {
this.set("password", e)
}
}, {
key: "getEmail",
value: function() {
return this.get("email")
}
}, {
key: "setEmail",
value: function(e) {
this.set("email", e)
}
}, {
key: "getSessionToken",
value: function() {
return this.get("sessionToken")
}
}, {
key: "authenticated",
value: function() {
var e = t.current();
return !!this.get("sessionToken") && !!e && e.id === this.id
}
}, {
key: "signUp",
value: function(e, t) {
t = t || {};
var r = {};
t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey);
var n = f["default"].getUserController();
return n.signUp(this, e, r)._thenRunCallbacks(t, this)
}
}, {
key: "logIn",
value: function(e) {
e = e || {};
var t = {};
e.hasOwnProperty("useMasterKey") && (t.useMasterKey = e.useMasterKey);
var r = f["default"].getUserController();
return r.logIn(this, t)._thenRunCallbacks(e, this)
}
}, {
key: "save",
value: function() {
for (var e = this, r = arguments.length, a = Array(r), s = 0; r > s; s++) a[s] = arguments[s];
return n(Object.getPrototypeOf(t.prototype), "save", this).apply(this, a).then(function() {
return e.isCurrent() ? f["default"].getUserController().updateUserOnDisk(e) : e
})
}
}, {
key: "fetch",
value: function() {
for (var e = this, r = arguments.length, a = Array(r), s = 0; r > s; s++) a[s] = arguments[s];
return n(Object.getPrototypeOf(t.prototype), "fetch", this).apply(this, a).then(function() {
return e.isCurrent() ? f["default"].getUserController().updateUserOnDisk(e) : e
})
}
}], [{
key: "readOnlyAttributes",
value: function() {
return ["sessionToken"]
}
}, {
key: "extend",
value: function(e, r) {
if (e)
for (var n in e) "className" !== n && i(t.prototype, n, {
value: e[n],
enumerable: !1,
writable: !0,
configurable: !0
});
if (r)
for (var n in r) "className" !== n && i(t, n, {
value: r[n],
enumerable: !1,
writable: !0,
configurable: !0
});
return t
}
}, {
key: "current",
value: function() {
if (!E) return null;
var e = f["default"].getUserController();
return e.currentUser()
}
}, {
key: "currentAsync",
value: function() {
if (!E) return w["default"].as(null);
var e = f["default"].getUserController();
return e.currentUserAsync()
}
}, {
key: "signUp",
value: function(e, r, n, a) {
n = n || {}, n.username = e, n.password = r;
var s = new t(n);
return s.signUp({}, a)
}
}, {
key: "logIn",
value: function(e, r, n) {
var a = new t;
return a._finishFetch({
username: e,
password: r
}), a.logIn(n)
}
}, {
key: "become",
value: function(e, t) {
if (!E) throw new Error("It is not memory-safe to become a user in a server environment");
t = t || {};
var r = {
sessionToken: e
};
t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey);
var n = f["default"].getUserController();
return n.become(r)._thenRunCallbacks(t)
}
}, {
key: "logInWith",
value: function(e, r) {
return t._logInWith(e, r)
}
}, {
key: "logOut",
value: function() {
if (!E) throw new Error("There is no current user user on a node.js server environment.");
var e = f["default"].getUserController();
return e.logOut()
}
}, {
key: "requestPasswordReset",
value: function(e, t) {
t = t || {};
var r = {};
t.hasOwnProperty("useMasterKey") && (r.useMasterKey = t.useMasterKey);
var n = f["default"].getUserController();
return n.requestPasswordReset(e, r)._thenRunCallbacks(t)
}
}, {
key: "allowCustomUserClass",
value: function(e) {
f["default"].set("PERFORM_USER_REWRITE", !e)
}
}, {
key: "enableRevocableSession",
value: function(e) {
if (e = e || {}, f["default"].set("FORCE_REVOCABLE_SESSION", !0), E) {
var r = t.current();
if (r) return r._upgradeToRevocableSession(e)
}
return w["default"].as()._thenRunCallbacks(e)
}
}, {
key: "enableUnsafeCurrentUser",
value: function() {
E = !0
}
}, {
key: "disableUnsafeCurrentUser",
value: function() {
E = !1
}
}, {
key: "_registerAuthenticationProvider",
value: function(e) {
I[e.getAuthType()] = e, t.currentAsync().then(function(t) {
t && t._synchronizeAuthData(e.getAuthType())
})
}
}, {
key: "_logInWith",
value: function(e, r) {
var n = new t;
return n._linkWith(e, r)
}
}, {
key: "_clearCache",
value: function() {
j = null, S = !1
}
}, {
key: "_setCurrentUserCache",
value: function(e) {
j = e
}
}]), t
}(_["default"]);
r["default"] = T, _["default"].registerSubclass("_User", T);
var N = {
updateUserOnDisk: function(e) {
var t = k["default"].generatePath(A),
r = e.toJSON();
return r.className = "_User", k["default"].setItemAsync(t, JSON.stringify(r)).then(function() {
return e
})
},
setCurrentUser: function(e) {
return j = e, e._cleanupAuthData(), e._synchronizeAllAuthData(), N.updateUserOnDisk(e)
},
currentUser: function() {
if (j) return j;
if (S) return null;
if (k["default"].async()) throw new Error("Cannot call currentUser() when using a platform with an async storage system. Call currentUserAsync() instead.");
var e = k["default"].generatePath(A),
t = k["default"].getItem(e);
if (S = !0, !t) return j = null, null;
t = JSON.parse(t), t.className || (t.className = "_User"), t._id && (t.objectId !== t._id && (t.objectId = t._id), delete t._id), t._sessionToken && (t.sessionToken = t._sessionToken, delete t._sessionToken);
var r = _["default"].fromJSON(t);
return j = r, r._synchronizeAllAuthData(), r
},
currentUserAsync: function() {
if (j) return w["default"].as(j);
if (S) return w["default"].as(null);
var e = k["default"].generatePath(A);
return k["default"].getItemAsync(e).then(function(e) {
if (S = !0, !e) return j = null, w["default"].as(null);
e = JSON.parse(e), e.className || (e.className = "_User"), e._id && (e.objectId !== e._id && (e.objectId = e._id), delete e._id), e._sessionToken && (e.sessionToken = e._sessionToken, delete e._sessionToken);
var t = _["default"].fromJSON(e);
return j = t, t._synchronizeAllAuthData(), w["default"].as(t)
})
},
signUp: function(e, t, r) {
var n = t && t.username || e.get("username"),
a = t && t.password || e.get("password");
return n && n.length ? a && a.length ? e.save(t, r).then(function() {
return e._finishFetch({
password: void 0
}), E ? N.setCurrentUser(e) : e
}) : w["default"].error(new m["default"](m["default"].OTHER_CAUSE, "Cannot sign up user with an empty password.")) : w["default"].error(new m["default"](m["default"].OTHER_CAUSE, "Cannot sign up user with an empty name."))
},
logIn: function(e, t) {
var r = f["default"].getRESTController(),
n = {
username: e.get("username"),
password: e.get("password")
};
return r.request("GET", "login", n, t).then(function(t, r) {
return e._migrateId(t.objectId), e._setExisted(!0), y.setPendingOp(e.className, e._getId(), "username", void 0), y.setPendingOp(e.className, e._getId(), "password", void 0), t.password = void 0, e._finishFetch(t), E ? N.setCurrentUser(e) : w["default"].as(e)
})
},
become: function(e) {
var t = new T,
r = f["default"].getRESTController();
return r.request("GET", "users/me", {}, e).then(function(e, r) {
return t._finishFetch(e), t._setExisted(!0), N.setCurrentUser(t)
})
},
logOut: function() {
return N.currentUserAsync().then(function(e) {
var t = k["default"].generatePath(A),
r = k["default"].removeItemAsync(t),
n = f["default"].getRESTController();
if (null !== e) {
var a = e.getSessionToken();
a && (0, h["default"])(a) && (r = r.then(function() {
return n.request("POST", "logout", {}, {
sessionToken: a
})
})), e._logOutWithAll(), e._finishFetch({
sessionToken: void 0
})
}
return S = !0, j = null, r
})
},
requestPasswordReset: function(e, t) {
var r = f["default"].getRESTController();
return r.request("POST", "requestPasswordReset", {
email: e
}, t)
},
upgradeToRevocableSession: function(e, t) {
var r = e.getSessionToken();
if (!r) return w["default"].error(new m["default"](m["default"].SESSION_MISSING, "Cannot upgrade a user with no session token"));
t.sessionToken = r;
var n = f["default"].getRESTController();
return n.request("POST", "upgradeToRevocableSession", {}, t).then(function(t) {
var r = new C["default"];
return r._finishFetch(t), e._finishFetch({
sessionToken: r.getSessionToken()
}), e.isCurrent() ? N.setCurrentUser(e) : w["default"].as(e)
})
},
linkWith: function(e, t) {
return e.save({
authData: t
}).then(function() {
return E ? N.setCurrentUser(e) : e
})
}
};
f["default"].setUserController(N), t.exports = r["default"]
}, {
"./CoreManager": 3,
"./ObjectState": 6,
"./ParseError": 10,
"./ParseObject": 14,
"./ParsePromise": 16,
"./ParseSession": 20,
"./Storage": 24,
"./isRevocableSession": 33,
"babel-runtime/core-js/object/define-property": 38,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/get": 45,
"babel-runtime/helpers/inherits": 46,
"babel-runtime/helpers/interop-require-default": 47,
"babel-runtime/helpers/interop-require-wildcard": 48
}],
22: [function(e, t, r) {
"use strict";
function n(e, t) {
if (t = t || {}, e.where && e.where instanceof u["default"] && (e.where = e.where.toJSON().where), e.push_time && "object" == typeof e.push_time && (e.push_time = e.push_time.toJSON()), e.expiration_time && "object" == typeof e.expiration_time && (e.expiration_time = e.expiration_time.toJSON()), e.expiration_time && e.expiration_interval) throw new Error("expiration_time and expiration_interval cannot both be set.");
return o["default"].getPushController().send(e, {
useMasterKey: t.useMasterKey
})._thenRunCallbacks(t)
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r.send = n;
var s = e("./CoreManager"),
o = a(s),
i = e("./ParseQuery"),
u = a(i);
o["default"].setPushController({
send: function(e, t) {
var r = o["default"].getRESTController(),
n = r.request("POST", "push", e, {
useMasterKey: !!t.useMasterKey
});
return n._thenRunCallbacks(t)
}
})
}, {
"./CoreManager": 3,
"./ParseQuery": 17,
"babel-runtime/helpers/interop-require-default": 47
}],
23: [function(e, t, r) {
(function(n) {
"use strict";
function a(e, t, r) {
var n = new f["default"],
a = new XDomainRequest;
return a.onload = function() {
var e;
try {
e = JSON.parse(a.responseText)
} catch (t) {
n.reject(t)
}
e && n.resolve(e)
}, a.onerror = a.ontimeout = function() {
var e = {
responseText: JSON.stringify({
code: l["default"].X_DOMAIN_REQUEST,
error: "IE's XDomainRequest does not supply error info."
})
};
n.reject(e)
}, a.onprogress = function() {}, a.open(e, t), a.send(r), n
}
var s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var o = e("./CoreManager"),
i = s(o),
u = e("./ParseError"),
l = s(u),
c = e("./ParsePromise"),
f = s(c),
d = e("./Storage"),
h = (s(d), null);
"undefined" != typeof XMLHttpRequest && (h = XMLHttpRequest);
var p = !1;
"undefined" == typeof XDomainRequest || "withCredentials" in new XMLHttpRequest || (p = !0);
var y = {
ajax: function(e, t, r, s) {
if (p) return a(e, t, r, s);
var o = new f["default"],
u = 0,
l = function c() {
if (null == h) throw new Error("Cannot make a request: No definition of XMLHttpRequest was found.");
var a = !1,
l = new h;
l.onreadystatechange = function() {
if (4 === l.readyState && !a)
if (a = !0, l.status >= 200 && l.status < 300) {
var e;
try {
e = JSON.parse(l.responseText)
} catch (t) {
o.reject(t.toString())
}
e && o.resolve(e, l.status, l)
} else if (l.status >= 500 || 0 === l.status)
if (++u < i["default"].get("REQUEST_ATTEMPT_LIMIT")) {
var r = Math.round(125 * Math.random() * Math.pow(2, u));
setTimeout(c, r)
} else 0 === l.status ? o.reject("Unable to connect to the Parse API") : o.reject(l);
else o.reject(l)
}, s = s || {}, s["Content-Type"] = "text/plain", i["default"].get("IS_NODE") && (s["User-Agent"] = "Parse/" + i["default"].get("VERSION") + " (NodeJS " + n.versions.node + ")"), l.open(e, t, !0);
for (var f in s) l.setRequestHeader(f, s[f]);
l.send(r)
};
return l(), o
},
request: function(e, t, r, n) {
n = n || {};
var a = i["default"].get("SERVER_URL");
"/" !== a[a.length - 1] && (a += "/"), a += t;
var s = {};
if (r && "object" == typeof r)
for (var o in r) s[o] = r[o];
"POST" !== e && (s._method = e, e = "POST"), s._ApplicationId = i["default"].get("APPLICATION_ID"), s._JavaScriptKey = i["default"].get("JAVASCRIPT_KEY"), s._ClientVersion = i["default"].get("VERSION");
var u = n.useMasterKey;
if ("undefined" == typeof u && (u = i["default"].get("USE_MASTER_KEY")), u) {
if (!i["default"].get("MASTER_KEY")) throw new Error("Cannot use the Master Key, it has not been provided.");
delete s._JavaScriptKey, s._MasterKey = i["default"].get("MASTER_KEY")
}
i["default"].get("FORCE_REVOCABLE_SESSION") && (s._RevocableSession = "1");
var c = i["default"].getInstallationController();
return c.currentInstallationId().then(function(e) {
s._InstallationId = e;
var t = i["default"].getUserController();
return n && "string" == typeof n.sessionToken ? f["default"].as(n.sessionToken) : t ? t.currentUserAsync().then(function(e) {
return e ? f["default"].as(e.getSessionToken()) : f["default"].as(null)
}) : f["default"].as(null)
}).then(function(t) {
t && (s._SessionToken = t);
var r = JSON.stringify(s);
return y.ajax(e, a, r)
}).then(null, function(e) {
var t;
if (e && e.responseText) try {
var r = JSON.parse(e.responseText);
t = new l["default"](r.code, r.error)
} catch (n) {
t = new l["default"](l["default"].INVALID_JSON, "Received an error with invalid JSON from Parse: " + e.responseText)
} else t = new l["default"](l["default"].CONNECTION_FAILED, "XMLHttpRequest failed: " + JSON.stringify(e));
return f["default"].error(t)
})
},
_setXHR: function(e) {
h = e
}
};
t.exports = y
}).call(this, e("_process"))
}, {
"./CoreManager": 3,
"./ParseError": 10,
"./ParsePromise": 16,
"./Storage": 24,
_process: 75,
"babel-runtime/helpers/interop-require-default": 47
}],
24: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/interop-require-default")["default"],
a = e("./CoreManager"),
s = n(a),
o = e("./ParsePromise"),
i = n(o);
t.exports = {
async: function() {
var e = s["default"].getStorageController();
return !!e.async
},
getItem: function(e) {
var t = s["default"].getStorageController();
if (1 === t.async) throw new Error("Synchronous storage is not supported by the current storage controller");
return t.getItem(e)
},
getItemAsync: function(e) {
var t = s["default"].getStorageController();
return 1 === t.async ? t.getItemAsync(e) : i["default"].as(t.getItem(e))
},
setItem: function(e, t) {
var r = s["default"].getStorageController();
if (1 === r.async) throw new Error("Synchronous storage is not supported by the current storage controller");
return r.setItem(e, t)
},
setItemAsync: function(e, t) {
var r = s["default"].getStorageController();
return 1 === r.async ? r.setItemAsync(e, t) : i["default"].as(r.setItem(e, t))
},
removeItem: function(e) {
var t = s["default"].getStorageController();
if (1 === t.async) throw new Error("Synchronous storage is not supported by the current storage controller");
return t.removeItem(e)
},
removeItemAsync: function(e) {
var t = s["default"].getStorageController();
return 1 === t.async ? t.removeItemAsync(e) : i["default"].as(t.removeItem(e))
},
generatePath: function(e) {
if (!s["default"].get("APPLICATION_ID")) throw new Error("You need to call Parse.initialize before using Parse.");
if ("string" != typeof e) throw new Error("Tried to get a Storage path that was not a String.");
return "/" === e[0] && (e = e.substr(1)), "Parse/" + s["default"].get("APPLICATION_ID") + "/" + e
},
_clear: function() {
var e = s["default"].getStorageController();
e.hasOwnProperty("clear") && e.clear()
}
}, s["default"].setStorageController(e("./StorageController.browser"))
}, {
"./CoreManager": 3,
"./ParsePromise": 16,
"./StorageController.browser": 25,
"babel-runtime/helpers/interop-require-default": 47
}],
25: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/interop-require-default")["default"],
a = e("./ParsePromise");
n(a);
t.exports = {
async: 0,
getItem: function(e) {
return localStorage.getItem(e)
},
setItem: function(e, t) {
try {
localStorage.setItem(e, t)
} catch (r) {}
},
removeItem: function(e) {
localStorage.removeItem(e)
},
clear: function() {
localStorage.clear()
}
}
}, {
"./ParsePromise": 16,
"babel-runtime/helpers/interop-require-default": 47
}],
26: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/helpers/create-class")["default"],
a = e("babel-runtime/helpers/class-call-check")["default"],
s = e("babel-runtime/helpers/interop-require-default")["default"],
o = e("./ParsePromise"),
i = s(o);
t.exports = function() {
function e() {
a(this, e), this.queue = []
}
return n(e, [{
key: "enqueue",
value: function(e) {
var t = this,
r = new i["default"];
return this.queue.push({
task: e,
_completion: r
}), 1 === this.queue.length && e().then(function() {
t._dequeue(), r.resolve()
}, function(e) {
t._dequeue(), r.reject(e)
}), r
}
}, {
key: "_dequeue",
value: function() {
var e = this;
if (this.queue.shift(), this.queue.length) {
var t = this.queue[0];
t.task().then(function() {
e._dequeue(), t._completion.resolve()
}, function(r) {
e._dequeue(), t._completion.reject(r)
})
}
}
}]), e
}()
}, {
"./ParsePromise": 16,
"babel-runtime/helpers/class-call-check": 43,
"babel-runtime/helpers/create-class": 44,
"babel-runtime/helpers/interop-require-default": 47
}],
27: [function(e, t, r) {
"use strict";
function n(e, t) {
if (e.indexOf(t) > -1) return !0;
for (var r = 0; r < e.length; r++)
if (e[r] instanceof o["default"] && e[r].className === t.className && e[r]._getId() === t._getId()) return !0;
return !1
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var s = e("./ParseObject"),
o = a(s);
t.exports = r["default"]
}, {
"./ParseObject": 14,
"babel-runtime/helpers/interop-require-default": 47
}],
28: [function(e, t, r) {
"use strict";
function n(e) {
if (!(e instanceof l["default"])) return !0;
var t = e.attributes;
for (var r in t) {
var n = t[r];
if (!a(n)) return !1
}
return !0
}
function a(e) {
if ("object" != typeof e) return !0;
if (e instanceof f["default"]) return !0;
if (e instanceof l["default"]) return !!e.id;
if (e instanceof i["default"]) return e.url() ? !0 : !1;
if (Array.isArray(e)) {
for (var t = 0; t < e.length; t++)
if (!a(e[t])) return !1;
return !0
}
for (var r in e)
if (!a(e[r])) return !1;
return !0
}
var s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var o = e("./ParseFile"),
i = s(o),
u = e("./ParseObject"),
l = s(u),
c = e("./ParseRelation"),
f = s(c);
t.exports = r["default"]
}, {
"./ParseFile": 11,
"./ParseObject": 14,
"./ParseRelation": 18,
"babel-runtime/helpers/interop-require-default": 47
}],
29: [function(e, t, r) {
"use strict";
function n(e) {
if (null === e || "object" != typeof e) return e;
if (Array.isArray(e)) {
var t = [];
return e.forEach(function(e, r) {
t[r] = n(e)
}), t
}
if ("string" == typeof e.__op) return (0, d.opFromJSON)(e);
if ("Pointer" === e.__type && e.className) return f["default"].fromJSON(e);
if ("Object" === e.__type && e.className) return f["default"].fromJSON(e);
if ("Relation" === e.__type) {
var r = new p["default"](null, null);
return r.targetClassName = e.className, r
}
if ("Date" === e.__type) return new Date(e.iso);
if ("File" === e.__type) return i["default"].fromJSON(e);
if ("GeoPoint" === e.__type) return new l["default"]({
latitude: e.latitude,
longitude: e.longitude
});
var a = {};
for (var s in e) a[s] = n(e[s]);
return a
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var s = e("./ParseACL"),
o = (a(s), e("./ParseFile")),
i = a(o),
u = e("./ParseGeoPoint"),
l = a(u),
c = e("./ParseObject"),
f = a(c),
d = e("./ParseOp"),
h = e("./ParseRelation"),
p = a(h);
t.exports = r["default"]
}, {
"./ParseACL": 8,
"./ParseFile": 11,
"./ParseGeoPoint": 12,
"./ParseObject": 14,
"./ParseOp": 15,
"./ParseRelation": 18,
"babel-runtime/helpers/interop-require-default": 47
}],
30: [function(e, t, r) {
"use strict";
function n(e, t, r, s) {
if (e instanceof h["default"]) {
if (t) throw new Error("Parse Objects not allowed here");
var o = e.id ? e.className + ":" + e.id : e;
return r || !s || s.indexOf(o) > -1 || e.dirty() || a(e._getServerData()).length < 1 ? e.toPointer() : (s = s.concat(o), e._toFullJSON(s))
}
if (e instanceof p.Op || e instanceof i["default"] || e instanceof f["default"] || e instanceof v["default"]) return e.toJSON();
if (e instanceof l["default"]) {
if (!e.url()) throw new Error("Tried to encode an unsaved file.");
return e.toJSON()
}
if ("[object Date]" === m.call(e)) {
if (isNaN(e)) throw new Error("Tried to encode an invalid date.");
return {
__type: "Date",
iso: e.toJSON()
}
}
if ("[object RegExp]" === m.call(e) && "string" == typeof e.source) return e.source;
if (Array.isArray(e)) return e.map(function(e) {
return n(e, t, r, s)
});
if (e && "object" == typeof e) {
var u = {};
for (var c in e) u[c] = n(e[c], t, r, s);
return u
}
return e
}
var a = e("babel-runtime/core-js/object/keys")["default"],
s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
});
var o = e("./ParseACL"),
i = s(o),
u = e("./ParseFile"),
l = s(u),
c = e("./ParseGeoPoint"),
f = s(c),
d = e("./ParseObject"),
h = s(d),
p = e("./ParseOp"),
y = e("./ParseRelation"),
v = s(y),
m = Object.prototype.toString;
r["default"] = function(e, t, r, a) {
return n(e, !!t, !!r, a || [])
}, t.exports = r["default"]
}, {
"./ParseACL": 8,
"./ParseFile": 11,
"./ParseGeoPoint": 12,
"./ParseObject": 14,
"./ParseOp": 15,
"./ParseRelation": 18,
"babel-runtime/core-js/object/keys": 41,
"babel-runtime/helpers/interop-require-default": 47
}],
31: [function(e, t, r) {
"use strict";
function n(e, t) {
if (typeof e != typeof t) return !1;
if (!e || "object" != typeof e) return e === t;
if (Array.isArray(e) || Array.isArray(t)) {
if (!Array.isArray(e) || !Array.isArray(t)) return !1;
if (e.length !== t.length) return !1;
for (var r = e.length; r--;)
if (!n(e[r], t[r])) return !1;
return !0
}
if (e instanceof i["default"] || e instanceof l["default"] || e instanceof f["default"] || e instanceof h["default"]) return e.equals(t);
if (a(e).length !== a(t).length) return !1;
for (var s in e)
if (!n(e[s], t[s])) return !1;
return !0
}
var a = e("babel-runtime/core-js/object/keys")["default"],
s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var o = e("./ParseACL"),
i = s(o),
u = e("./ParseFile"),
l = s(u),
c = e("./ParseGeoPoint"),
f = s(c),
d = e("./ParseObject"),
h = s(d);
t.exports = r["default"]
}, {
"./ParseACL": 8,
"./ParseFile": 11,
"./ParseGeoPoint": 12,
"./ParseObject": 14,
"babel-runtime/core-js/object/keys": 41,
"babel-runtime/helpers/interop-require-default": 47
}],
32: [function(e, t, r) {
"use strict";
function n(e) {
return e.replace(/[&<>\/'"]/g, function(e) {
return {
"&": "&",
"<": "<",
">": ">",
"/": "/",
"'": "'",
'"': """
}[e]
})
}
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n, t.exports = r["default"]
}, {}],
33: [function(e, t, r) {
"use strict";
function n(e) {
return e.indexOf("r:") > -1
}
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n, t.exports = r["default"]
}, {}],
34: [function(e, t, r) {
"use strict";
function n(e) {
var t = new RegExp("^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2})T([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})(.([0-9]+))?Z$"),
r = t.exec(e);
if (!r) return null;
var n = r[1] || 0,
a = (r[2] || 1) - 1,
s = r[3] || 0,
o = r[4] || 0,
i = r[5] || 0,
u = r[6] || 0,
l = r[8] || 0;
return new Date(Date.UTC(n, a, s, o, i, u, l))
}
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n, t.exports = r["default"]
}, {}],
35: [function(e, t, r) {
"use strict";
function n(e) {
var t = [];
return e.forEach(function(e) {
e instanceof u["default"] ? (0, o["default"])(t, e) || t.push(e) : t.indexOf(e) < 0 && t.push(e)
}), t
}
var a = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var s = e("./arrayContainsObject"),
o = a(s),
i = e("./ParseObject"),
u = a(i);
t.exports = r["default"]
}, {
"./ParseObject": 14,
"./arrayContainsObject": 27,
"babel-runtime/helpers/interop-require-default": 47
}],
36: [function(e, t, r) {
"use strict";
function n(e, t) {
var r = {
objects: {},
files: []
},
n = e.className + ":" + e._getId();
r.objects[n] = e.dirty() ? e : !0;
var s = e.attributes;
for (var o in s) "object" == typeof s[o] && a(s[o], r, !1, !!t);
var i = [];
for (var u in r.objects) u !== n && r.objects[u] !== !0 && i.push(r.objects[u]);
return i.concat(r.files)
}
function a(e, t, r, n) {
if (e instanceof l["default"]) {
if (!e.id && r) throw new Error("Cannot create a pointer to an unsaved Object.");
var s = e.className + ":" + e._getId();
if (!t.objects[s]) {
t.objects[s] = e.dirty() ? e : !0;
var o = e.attributes;
for (var u in o) "object" == typeof o[u] && a(o[u], t, !n, n)
}
} else {
if (e instanceof i["default"]) return void(!e.url() && t.files.indexOf(e) < 0 && t.files.push(e));
if (!(e instanceof f["default"])) {
Array.isArray(e) && e.forEach(function(e) {
a(e, t, r, n)
});
for (var c in e) "object" == typeof e[c] && a(e[c], t, r, n)
}
}
}
var s = e("babel-runtime/helpers/interop-require-default")["default"];
Object.defineProperty(r, "__esModule", {
value: !0
}), r["default"] = n;
var o = e("./ParseFile"),
i = s(o),
u = e("./ParseObject"),
l = s(u),
c = e("./ParseRelation"),
f = s(c);
t.exports = r["default"]
}, {
"./ParseFile": 11,
"./ParseObject": 14,
"./ParseRelation": 18,
"babel-runtime/helpers/interop-require-default": 47
}],
37: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/create"),
__esModule: !0
}
}, {
"core-js/library/fn/object/create": 49
}],
38: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/define-property"),
__esModule: !0
}
}, {
"core-js/library/fn/object/define-property": 50
}],
39: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/freeze"),
__esModule: !0
}
}, {
"core-js/library/fn/object/freeze": 51
}],
40: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/get-own-property-descriptor"),
__esModule: !0
}
}, {
"core-js/library/fn/object/get-own-property-descriptor": 52
}],
41: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/keys"),
__esModule: !0
}
}, {
"core-js/library/fn/object/keys": 53
}],
42: [function(e, t, r) {
t.exports = {
"default": e("core-js/library/fn/object/set-prototype-of"),
__esModule: !0
}
}, {
"core-js/library/fn/object/set-prototype-of": 54
}],
43: [function(e, t, r) {
"use strict";
r["default"] = function(e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
}, r.__esModule = !0
}, {}],
44: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/core-js/object/define-property")["default"];
r["default"] = function() {
function e(e, t) {
for (var r = 0; r < t.length; r++) {
var a = t[r];
a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), n(e, a.key, a)
}
}
return function(t, r, n) {
return r && e(t.prototype, r), n && e(t, n), t
}
}(), r.__esModule = !0
}, {
"babel-runtime/core-js/object/define-property": 38
}],
45: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/core-js/object/get-own-property-descriptor")["default"];
r["default"] = function(e, t, r) {
for (var a = !0; a;) {
var s = e,
o = t,
i = r;
a = !1, null === s && (s = Function.prototype);
var u = n(s, o);
if (void 0 !== u) {
if ("value" in u) return u.value;
var l = u.get;
if (void 0 === l) return;
return l.call(i)
}
var c = Object.getPrototypeOf(s);
if (null === c) return;
e = c, t = o, r = i, a = !0, u = c = void 0
}
}, r.__esModule = !0
}, {
"babel-runtime/core-js/object/get-own-property-descriptor": 40
}],
46: [function(e, t, r) {
"use strict";
var n = e("babel-runtime/core-js/object/create")["default"],
a = e("babel-runtime/core-js/object/set-prototype-of")["default"];
r["default"] = function(e, t) {
if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
e.prototype = n(t && t.prototype, {
constructor: {
value: e,
enumerable: !1,
writable: !0,
configurable: !0
}
}), t && (a ? a(e, t) : e.__proto__ = t)
}, r.__esModule = !0
}, {
"babel-runtime/core-js/object/create": 37,
"babel-runtime/core-js/object/set-prototype-of": 42
}],
47: [function(e, t, r) {
"use strict";
r["default"] = function(e) {
return e && e.__esModule ? e : {
"default": e
}
}, r.__esModule = !0
}, {}],
48: [function(e, t, r) {
"use strict";
r["default"] = function(e) {
if (e && e.__esModule) return e;
var t = {};
if (null != e)
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
return t["default"] = e, t
}, r.__esModule = !0
}, {}],
49: [function(e, t, r) {
var n = e("../../modules/$");
t.exports = function(e, t) {
return n.create(e, t)
}
}, {
"../../modules/$": 66
}],
50: [function(e, t, r) {
var n = e("../../modules/$");
t.exports = function(e, t, r) {
return n.setDesc(e, t, r)
}
}, {
"../../modules/$": 66
}],
51: [function(e, t, r) {
e("../../modules/es6.object.freeze"), t.exports = e("../../modules/$.core").Object.freeze
}, {
"../../modules/$.core": 58,
"../../modules/es6.object.freeze": 71
}],
52: [function(e, t, r) {
var n = e("../../modules/$");
e("../../modules/es6.object.get-own-property-descriptor"), t.exports = function(e, t) {
return n.getDesc(e, t)
}
}, {
"../../modules/$": 66,
"../../modules/es6.object.get-own-property-descriptor": 72
}],
53: [function(e, t, r) {
e("../../modules/es6.object.keys"), t.exports = e("../../modules/$.core").Object.keys
}, {
"../../modules/$.core": 58,
"../../modules/es6.object.keys": 73
}],
54: [function(e, t, r) {
e("../../modules/es6.object.set-prototype-of"), t.exports = e("../../modules/$.core").Object.setPrototypeOf
}, {
"../../modules/$.core": 58,
"../../modules/es6.object.set-prototype-of": 74
}],
55: [function(e, t, r) {
t.exports = function(e) {
if ("function" != typeof e) throw TypeError(e + " is not a function!");
return e
}
}, {}],
56: [function(e, t, r) {
var n = e("./$.is-object");
t.exports = function(e) {
if (!n(e)) throw TypeError(e + " is not an object!");
return e
}
}, {
"./$.is-object": 65
}],
57: [function(e, t, r) {
var n = {}.toString;
t.exports = function(e) {
return n.call(e).slice(8, -1)
}
}, {}],
58: [function(e, t, r) {
var n = t.exports = {
version: "1.2.6"
};
"number" == typeof __e && (__e = n)
}, {}],
59: [function(e, t, r) {
var n = e("./$.a-function");
t.exports = function(e, t, r) {
if (n(e), void 0 === t) return e;
switch (r) {
case 1:
return function(r) {
return e.call(t, r)
};
case 2:
return function(r, n) {
return e.call(t, r, n)
};
case 3:
return function(r, n, a) {
return e.call(t, r, n, a)
}
}
return function() {
return e.apply(t, arguments)
}
}
}, {
"./$.a-function": 55
}],
60: [function(e, t, r) {
t.exports = function(e) {
if (void 0 == e) throw TypeError("Can't call method on " + e);
return e
}
}, {}],
61: [function(e, t, r) {
var n = e("./$.global"),
a = e("./$.core"),
s = e("./$.ctx"),
o = "prototype",
i = function(e, t, r) {
var u, l, c, f = e & i.F,
d = e & i.G,
h = e & i.S,
p = e & i.P,
y = e & i.B,
v = e & i.W,
m = d ? a : a[t] || (a[t] = {}),
b = d ? n : h ? n[t] : (n[t] || {})[o];
d && (r = t);
for (u in r) l = !f && b && u in b, l && u in m || (c = l ? b[u] : r[u], m[u] = d && "function" != typeof b[u] ? r[u] : y && l ? s(c, n) : v && b[u] == c ? function(e) {
var t = function(t) {
return this instanceof e ? new e(t) : e(t)
};
return t[o] = e[o], t
}(c) : p && "function" == typeof c ? s(Function.call, c) : c, p && ((m[o] || (m[o] = {}))[u] = c))
};
i.F = 1, i.G = 2, i.S = 4, i.P = 8, i.B = 16, i.W = 32, t.exports = i
}, {
"./$.core": 58,
"./$.ctx": 59,
"./$.global": 63
}],
62: [function(e, t, r) {
t.exports = function(e) {
try {
return !!e()
} catch (t) {
return !0
}
}
}, {}],
63: [function(e, t, r) {
var n = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
"number" == typeof __g && (__g = n)
}, {}],
64: [function(e, t, r) {
var n = e("./$.cof");
t.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
return "String" == n(e) ? e.split("") : Object(e)
}
}, {
"./$.cof": 57
}],
65: [function(e, t, r) {
t.exports = function(e) {
return "object" == typeof e ? null !== e : "function" == typeof e
}
}, {}],
66: [function(e, t, r) {
var n = Object;
t.exports = {
create: n.create,
getProto: n.getPrototypeOf,
isEnum: {}.propertyIsEnumerable,
getDesc: n.getOwnPropertyDescriptor,
setDesc: n.defineProperty,
setDescs: n.defineProperties,
getKeys: n.keys,
getNames: n.getOwnPropertyNames,
getSymbols: n.getOwnPropertySymbols,
each: [].forEach
}
}, {}],
67: [function(e, t, r) {
var n = e("./$.export"),
a = e("./$.core"),
s = e("./$.fails");
t.exports = function(e, t) {
var r = (a.Object || {})[e] || Object[e],
o = {};
o[e] = t(r), n(n.S + n.F * s(function() {
r(1)
}), "Object", o)
}
}, {
"./$.core": 58,
"./$.export": 61,
"./$.fails": 62
}],
68: [function(e, t, r) {
var n = e("./$").getDesc,
a = e("./$.is-object"),
s = e("./$.an-object"),
o = function(e, t) {
if (s(e), !a(t) && null !== t) throw TypeError(t + ": can't set as prototype!")
};
t.exports = {
set: Object.setPrototypeOf || ("__proto__" in {} ? function(t, r, a) {
try {
a = e("./$.ctx")(Function.call, n(Object.prototype, "__proto__").set, 2), a(t, []), r = !(t instanceof Array)
} catch (s) {
r = !0
}
return function(e, t) {
return o(e, t), r ? e.__proto__ = t : a(e, t), e
}
}({}, !1) : void 0),
check: o
}
}, {
"./$": 66,
"./$.an-object": 56,
"./$.ctx": 59,
"./$.is-object": 65
}],
69: [function(e, t, r) {
var n = e("./$.iobject"),
a = e("./$.defined");
t.exports = function(e) {
return n(a(e))
}
}, {
"./$.defined": 60,
"./$.iobject": 64
}],
70: [function(e, t, r) {
var n = e("./$.defined");
t.exports = function(e) {
return Object(n(e))
}
}, {
"./$.defined": 60
}],
71: [function(e, t, r) {
var n = e("./$.is-object");
e("./$.object-sap")("freeze", function(e) {
return function(t) {
return e && n(t) ? e(t) : t
}
})
}, {
"./$.is-object": 65,
"./$.object-sap": 67
}],
72: [function(e, t, r) {
var n = e("./$.to-iobject");
e("./$.object-sap")("getOwnPropertyDescriptor", function(e) {
return function(t, r) {
return e(n(t), r)
}
})
}, {
"./$.object-sap": 67,
"./$.to-iobject": 69
}],
73: [function(e, t, r) {
var n = e("./$.to-object");
e("./$.object-sap")("keys", function(e) {
return function(t) {
return e(n(t))
}
})
}, {
"./$.object-sap": 67,
"./$.to-object": 70
}],
74: [function(e, t, r) {
var n = e("./$.export");
n(n.S, "Object", {
setPrototypeOf: e("./$.set-proto").set
})
}, {
"./$.export": 61,
"./$.set-proto": 68
}],
75: [function(e, t, r) {}, {}]
}, {}, [7])(7)
});