parse
Version:
Parse JavaScript SDK
14 lines • 405 kB
JavaScript
/**
* Parse JavaScript SDK v6.1.1
*
* Copyright 2015-present Parse Platform
* 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 license found in the LICENSE
* file in the root directory of this source tree. Additional legal
* information can be found in the NOTICE file in the same directory.
*/
!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Parse=e()}(function(){return function n(s,a,i){function o(t,e){if(!a[t]){if(!s[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=a[t]={exports:{}},s[t][0].call(r.exports,function(e){return o(s[t][1][e]||e)},r,r.exports,n,s,a,i)}return a[t].exports}for(var l="function"==typeof require&&require,e=0;e<i.length;e++)o(i[e]);return o}({1:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.track=function(e,t){if(0===(e=(e=(e=e||"").replace(/^\s*/,"")).replace(/\s*$/,"")).length)throw new TypeError("A name for the custom event must be provided");for(const r in t)if("string"!=typeof r||"string"!=typeof t[r])throw new TypeError('track() dimensions expects keys and values of type "string".');return a.default.getAnalyticsController().track(e,t)},s(e("./CoreManager")));a.default.setAnalyticsController({track(e,t){const r=a.default.getRESTController();return r.request("POST","events/"+e,{dimensions:t})}})},{"./CoreManager":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],2:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("./ParseUser"))),i=s(e("./uuid"));let o=!1;r.default={isLinked(e){const t=this._getAuthProvider();return e._isLinked(t.getAuthType())},logIn(e){const t=this._getAuthProvider();return a.default.logInWith(t.getAuthType(),t.getAuthData(),e)},link(e,t){const r=this._getAuthProvider();return e.linkWith(r.getAuthType(),r.getAuthData(),t)},isRegistered(){return o},_getAuthProvider(){var e={restoreAuthentication(){return!0},getAuthType(){return"anonymous"},getAuthData(){return{authData:{id:(0,i.default)()}}}};return o||(a.default._registerAuthenticationProvider(e),o=!0),e}}},{"./ParseUser":38,"./uuid":64,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],3:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.getJobStatus=function(e){const t=new f.default("_JobStatus");return t.get(e,{useMasterKey:!0})},r.getJobsData=function(){return o.default.getCloudController().getJobsData({useMasterKey:!0})},r.run=function(e,t,r){if("string"!=typeof e||0===e.length)throw new TypeError("Cloud function name must be a string.");r=d.default._getRequestOptions(r);return o.default.getCloudController().run(e,t,r)},r.startJob=function(e,t){if("string"==typeof e&&0!==e.length)return o.default.getCloudController().startJob(e,t,{useMasterKey:!0});throw new TypeError("Cloud job name must be a string.")},s(e("@babel/runtime-corejs3/core-js-stable/object/keys"))),i=s(e("@babel/runtime-corejs3/core-js-stable/promise")),o=s(e("./CoreManager")),l=s(e("./decode")),u=s(e("./encode")),c=s(e("./ParseError")),f=s(e("./ParseQuery")),d=s(e("./ParseObject"));o.default.setCloudController({run(e,t,r){const n=o.default.getRESTController();t=(0,u.default)(t,!0);const s=n.request("POST","functions/"+e,t,r);return s.then(e=>{if("object"==typeof e&&0<(0,a.default)(e).length&&!Object.hasOwn(e,"result"))throw new c.default(c.default.INVALID_JSON,"The server returned an invalid response.");e=(0,l.default)(e);return e&&Object.hasOwn(e,"result")?i.default.resolve(e.result):i.default.resolve(void 0)})},getJobsData(e){const t=o.default.getRESTController();return t.request("GET","cloud_code/jobs/data",null,e)},async startJob(e,t,r){const n=o.default.getRESTController();t=(0,u.default)(t,!0),r.returnStatus=!0,e=await n.request("POST","jobs/"+e,t,r);return e._headers?.["X-Parse-Job-Status-Id"]}})},{"./CoreManager":4,"./ParseError":24,"./ParseObject":30,"./ParseQuery":33,"./decode":55,"./encode":56,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/core-js-stable/object/keys":96,"@babel/runtime-corejs3/core-js-stable/promise":98,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],4:[function(i,e,o){!function(a){!function(){"use strict";var e=i("@babel/runtime-corejs3/core-js-stable/object/define-property"),t=i("@babel/runtime-corejs3/helpers/interopRequireDefault"),n=(e(o,"__esModule",{value:!0}),o.default=void 0,t(i("@babel/runtime-corejs3/core-js-stable/instance/for-each")));const r={IS_NODE:void 0!==a&&!!a.versions&&!!a.versions.node&&!a.versions.electron,REQUEST_ATTEMPT_LIMIT:5,REQUEST_BATCH_SIZE:20,REQUEST_HEADERS:{},SERVER_URL:"https://api.parse.com/1",SERVER_AUTH_TYPE:null,SERVER_AUTH_TOKEN:null,LIVEQUERY_SERVER_URL:null,ENCRYPTED_KEY:null,VERSION:"js6.1.1",APPLICATION_ID:null,JAVASCRIPT_KEY:null,MAINTENANCE_KEY:null,MASTER_KEY:null,USE_MASTER_KEY:!1,PERFORM_USER_REWRITE:!0,FORCE_REVOCABLE_SESSION:!1,ENCRYPTED_USER:!1,IDEMPOTENCY:!1,ALLOW_CUSTOM_OBJECT_ID:!1,PARSE_ERRORS:[]};function s(t,e,r){(0,n.default)(e).call(e,e=>{if("function"!=typeof r[e])throw new Error(t+` must implement ${e}()`)})}o.default={get:function(e){if(Object.hasOwn(r,e))return r[e];throw new Error("Configuration key not found: "+e)},set:function(e,t){r[e]=t},setIfNeeded:function(e,t){return Object.hasOwn(r,e)||(r[e]=t),r[e]},setAnalyticsController(e){s("AnalyticsController",["track"],e),r.AnalyticsController=e},getAnalyticsController(){return r.AnalyticsController},setCloudController(e){s("CloudController",["run","getJobsData","startJob"],e),r.CloudController=e},getCloudController(){return r.CloudController},setConfigController(e){s("ConfigController",["current","get","save"],e),r.ConfigController=e},getConfigController(){return r.ConfigController},setCryptoController(e){s("CryptoController",["encrypt","decrypt"],e),r.CryptoController=e},getCryptoController(){return r.CryptoController},setEventEmitter(e){r.EventEmitter=e},getEventEmitter(){return r.EventEmitter},setFileController(e){s("FileController",["saveFile","saveBase64"],e),r.FileController=e},setEventuallyQueue(e){s("EventuallyQueue",["poll","save","destroy"],e),r.EventuallyQueue=e},getEventuallyQueue(){return r.EventuallyQueue},getFileController(){return r.FileController},setInstallationController(e){s("InstallationController",["currentInstallationId","currentInstallation","updateInstallationOnDisk"],e),r.InstallationController=e},getInstallationController(){return r.InstallationController},setLiveQuery(e){r.LiveQuery=e},getLiveQuery(){return r.LiveQuery},setObjectController(e){s("ObjectController",["save","fetch","destroy"],e),r.ObjectController=e},getObjectController(){return r.ObjectController},setObjectStateController(e){s("ObjectStateController",["getState","initializeState","removeState","getServerData","setServerData","getPendingOps","setPendingOp","pushPendingState","popPendingState","mergeFirstPendingState","getObjectCache","estimateAttribute","estimateAttributes","commitServerChanges","enqueueTask","clearAllState"],e),r.ObjectStateController=e},getObjectStateController(){return r.ObjectStateController},setPushController(e){s("PushController",["send"],e),r.PushController=e},getPushController(){return r.PushController},setQueryController(e){s("QueryController",["find","aggregate"],e),r.QueryController=e},getQueryController(){return r.QueryController},setRESTController(e){s("RESTController",["request","ajax"],e),r.RESTController=e},getRESTController(){return r.RESTController},setSchemaController(e){s("SchemaController",["get","create","update","delete","send","purge"],e),r.SchemaController=e},getSchemaController(){return r.SchemaController},setSessionController(e){s("SessionController",["getSession"],e),r.SessionController=e},getSessionController(){return r.SessionController},setStorageController(e){e.async?s("An async StorageController",["getItemAsync","setItemAsync","removeItemAsync","getAllKeysAsync"],e):s("A synchronous StorageController",["getItem","setItem","removeItem","getAllKeys"],e),r.StorageController=e},setLocalDatastoreController(e){s("LocalDatastoreController",["pinWithName","fromPinWithName","unPinWithName","getAllContents","clear"],e),r.LocalDatastoreController=e},getLocalDatastoreController(){return r.LocalDatastoreController},setLocalDatastore(e){r.LocalDatastore=e},getLocalDatastore(){return r.LocalDatastore},getStorageController(){return r.StorageController},setAsyncStorage(e){r.AsyncStorage=e},getAsyncStorage(){return r.AsyncStorage},setWebSocketController(e){r.WebSocketController=e},getWebSocketController(){return r.WebSocketController},setUserController(e){s("UserController",["setCurrentUser","currentUser","currentUserAsync","signUp","logIn","become","logOut","me","requestPasswordReset","upgradeToRevocableSession","requestEmailVerification","verifyPassword","linkWith"],e),r.UserController=e},getUserController(){return r.UserController},setLiveQueryController(e){s("LiveQueryController",["setDefaultLiveQueryClient","getDefaultLiveQueryClient","_clearCachedDefaultClient"],e),r.LiveQueryController=e},getLiveQueryController(){return r.LiveQueryController},setHooksController(e){s("HooksController",["create","get","update","remove"],e),r.HooksController=e},getHooksController(){return r.HooksController},setParseOp(e){r.ParseOp=e},getParseOp(){return r.ParseOp},setParseObject(e){r.ParseObject=e},getParseObject(){return r.ParseObject},setParseQuery(e){r.ParseQuery=e},getParseQuery(){return r.ParseQuery},setParseRole(e){r.ParseRole=e},getParseRole(){return r.ParseRole},setParseUser(e){r.ParseUser=e},getParseUser(){return r.ParseUser}}}.call(this)}.call(this,i("_process"))},{"@babel/runtime-corejs3/core-js-stable/instance/for-each":74,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104,_process:108}],5:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/json/stringify")));let i,o;i=e("crypto-js/aes"),o=e("crypto-js/enc-utf8");r.default={encrypt(e,t){const r=i.encrypt((0,a.default)(e),t);return r.toString()},decrypt(e,t){return i.decrypt(e,t).toString(o)}}},{"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104,"crypto-js/aes":481,"crypto-js/enc-utf8":485}],6:[function(e,t,r){"use strict";e("@babel/runtime-corejs3/core-js-stable/object/define-property")(r,"__esModule",{value:!0}),r.default=void 0;let n;try{n=e("events").EventEmitter}catch(e){}r.default=n},{"@babel/runtime-corejs3/core-js-stable/object/define-property":91,events:490}],7:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/json/stringify"))),i=s(e("@babel/runtime-corejs3/core-js-stable/instance/splice")),o=s(e("@babel/runtime-corejs3/core-js-stable/instance/find-index")),l=s(e("@babel/runtime-corejs3/core-js-stable/set-interval")),u=s(e("@babel/runtime-corejs3/core-js-stable/instance/find")),c=s(e("./CoreManager")),f=s(e("./ParseError")),d=s(e("./ParseObject")),p=s(e("./ParseQuery")),b=s(e("./Storage"));const h="Parse/Eventually/Queue";let y=[],m=!0,g=void 0;const j={save(e,t){return this.enqueue("save",e,t)},destroy(e,t){return this.enqueue("destroy",e,t)},generateQueueId(e,t){t._getId();const{className:r,id:n,_localId:s}=t,a=t.get("hash")||s;return[e,r,n,a].join("_")},async enqueue(e,t,r){const n=await this.getQueue();var s=this.generateQueueId(e,t);let a=this.queueItemExists(n,s);if(-1<a)for(const i in n[a].object)void 0===t.get(i)&&t.set(i,n[a].object[i]);else a=n.length;return n[a]={queueId:s,action:e,object:t.toJSON(),serverOptions:r||{},id:t.id,className:t.className,hash:t.get("hash"),createdAt:new Date},this.setQueue(n)},store(e){return b.default.setItemAsync(h,(0,a.default)(e))},load(){return b.default.getItemAsync(h)},async getQueue(){return m&&(y=JSON.parse(await this.load()||"[]"),m=!1),y},setQueue(e){return y=e,this.store(y)},async remove(e){var t=await this.getQueue(),e=this.queueItemExists(t,e);-1<e&&((0,i.default)(t).call(t,e,1),await this.setQueue(t))},clear(){return y=[],this.store([])},queueItemExists(e,t){return(0,o.default)(e).call(e,e=>e.queueId===t)},async length(){return(await this.getQueue()).length},async sendQueue(){var t=[...await this.getQueue()];if(0===t.length)return!1;for(let e=0;e<t.length;e+=1){var r=t[e],{id:n,hash:s,className:a}=r,a=d.default.extend(a);n?await this.process.byId(a,r):s?await this.process.byHash(a,r):await this.process.create(a,r)}return!0},async sendQueueCallback(e,t){if(!e)return this.remove(t.queueId);switch(t.action){case"save":if(void 0!==e.updatedAt&&e.updatedAt>new Date(t.object.createdAt))return this.remove(t.queueId);try{await e.save(t.object,t.serverOptions),await this.remove(t.queueId)}catch(e){e.code!==f.default.CONNECTION_FAILED&&await this.remove(t.queueId)}break;case"destroy":try{await e.destroy(t.serverOptions),await this.remove(t.queueId)}catch(e){e.code!==f.default.CONNECTION_FAILED&&await this.remove(t.queueId)}}},poll(e){g=g||(0,l.default)(()=>{const e=c.default.getRESTController();e.request("GET","health").then(e=>{e=e.status;if("ok"===e)return this.stopPoll(),this.sendQueue()}).catch(e=>e)},e||2e3)},stopPoll(){clearInterval(g),g=void 0},isPolling(){return!!g},_setPolling(e){g=e},process:{create(e,t){e=new e;return j.sendQueueCallback(e,t)},async byId(e,t){var r=t.serverOptions["sessionToken"];const n=new p.default(e);n.equalTo("objectId",t.id);e=await(0,u.default)(n).call(n,{sessionToken:r});return j.sendQueueCallback(e[0],t)},async byHash(e,t){var r=t.serverOptions["sessionToken"];const n=new p.default(e);n.equalTo("hash",t.hash);r=await(0,u.default)(n).call(n,{sessionToken:r});return 0<r.length?j.sendQueueCallback(r[0],t):j.process.create(e,t)}}};r.default=j},{"./CoreManager":4,"./ParseError":24,"./ParseObject":30,"./ParseQuery":33,"./Storage":43,"@babel/runtime-corejs3/core-js-stable/instance/find":73,"@babel/runtime-corejs3/core-js-stable/instance/find-index":72,"@babel/runtime-corejs3/core-js-stable/instance/splice":83,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/core-js-stable/set-interval":99,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],8:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("./ParseUser")));let i=!1,o,l;const u={authenticate(t){"undefined"==typeof FB&&t.error(this,"Facebook SDK not found."),FB.login(e=>{e.authResponse?t.success&&t.success(this,{id:e.authResponse.userID,access_token:e.authResponse.accessToken,expiration_date:new Date(1e3*e.authResponse.expiresIn+(new Date).getTime()).toJSON()}):t.error&&t.error(this,e)},{scope:o})},restoreAuthentication(e){if(e){const r={};if(l)for(const n in l)r[n]=l[n];r.status=!1;var t=FB.getAuthResponse();t&&t.userID!==e.id&&FB.logout(),FB.init(r)}return!0},getAuthType(){return"facebook"},deauthenticate(){this.restoreAuthentication(null)}};r.default={init(e){if("undefined"==typeof FB)throw new Error("The Facebook JavaScript SDK must be loaded before calling init.");if(l={},e)for(const t in e)l[t]=e[t];if(l.status&&"undefined"!=typeof console){const 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.')}l.status=!1,FB.init(l),a.default._registerAuthenticationProvider(u),i=!0},isLinked(e){return e._isLinked("facebook")},logIn(e,t){if(e&&"string"!=typeof e)return a.default.logInWith("facebook",{authData:e},t);if(i)return o=e,a.default.logInWith("facebook",t);throw new Error("You must initialize FacebookUtils before calling logIn.")},link(e,t,r){if(t&&"string"!=typeof t)return e.linkWith("facebook",{authData:t},r);if(i)return o=t,e.linkWith("facebook",r);throw new Error("You must initialize FacebookUtils before calling link.")},unlink:function(e,t){if(i)return e._unlinkFrom("facebook",t);throw new Error("You must initialize FacebookUtils before calling unlink.")},_getAuthProvider(){return u}}},{"./ParseUser":38,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],9:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/instance/keys"),s=(e("@babel/runtime-corejs3/core-js-stable/object/define-property")(r,"__esModule",{value:!0}),r.default=void 0,e("idb-keyval"));let a;if("undefined"!=typeof window&&window.indexedDB)try{const i=(0,s.createStore)("parseDB","parseStore");a={async:1,getItemAsync(e){return(0,s.get)(e,i)},setItemAsync(e,t){return(0,s.set)(e,t,i)},removeItemAsync(e){return(0,s.del)(e,i)},getAllKeysAsync(){return n(s)(i)},clear(){return(0,s.clear)(i)}}}catch(e){a=void 0}else a=void 0;r.default=a},{"@babel/runtime-corejs3/core-js-stable/instance/keys":77,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"idb-keyval":491}],10:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/json/stringify"))),i=s(e("./CoreManager")),o=s(e("./Storage")),l=s(e("./ParseInstallation")),u=s(e("./uuid"));const c="currentInstallation";let f=null,d=null,p=!1;r.default={async updateInstallationOnDisk(e){var t=o.default.generatePath(c);await o.default.setItemAsync(t,(0,a.default)(e.toJSON())),this._setCurrentInstallationCache(e)},async currentInstallationId(){if("string"==typeof f)return f;var e=o.default.generatePath("currentInstallationId");let t=await o.default.getItemAsync(e);return t?f=t:(t=(0,u.default)(),o.default.setItemAsync(e,t).then(()=>f=t))},async currentInstallation(){if(d)return d;if(p)return null;var e=o.default.generatePath(c);let t=await o.default.getItemAsync(e);if(p=!0,t)return(t=JSON.parse(t)).className="_Installation",r=l.default.fromJSON(t),d=r;var r=await this.currentInstallationId();const n=new l.default;return n.set("deviceType",l.default.DEVICE_TYPES.WEB),n.set("installationId",r),n.set("parseVersion",i.default.get("VERSION")),d=n,await o.default.setItemAsync(e,(0,a.default)(n.toJSON())),n},_clearCache(){f=null,d=null,p=!1},_setInstallationIdCache(e){f=e},_setCurrentInstallationCache(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];d=e,p=t}}},{"./CoreManager":4,"./ParseInstallation":28,"./Storage":43,"./uuid":64,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],11:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),l=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/instance/index-of"))),u=s(e("@babel/runtime-corejs3/core-js-stable/map")),c=s(e("@babel/runtime-corejs3/core-js-stable/instance/keys")),f=s(e("@babel/runtime-corejs3/core-js-stable/json/stringify")),a=s(e("@babel/runtime-corejs3/core-js-stable/instance/for-each")),i=s(e("@babel/runtime-corejs3/core-js-stable/instance/values")),o=s(e("@babel/runtime-corejs3/core-js-stable/set-timeout")),d=s(e("@babel/runtime-corejs3/core-js-stable/instance/bind")),p=s(e("@babel/runtime-corejs3/helpers/defineProperty")),b=s(e("./CoreManager")),h=s(e("./ParseObject")),y=s(e("./LiveQuerySubscription")),m=e("./promiseUtils"),g=s(e("./ParseError"));const j={INITIALIZED:"initialized",CONNECTING:"connecting",CONNECTED:"connected",CLOSED:"closed",RECONNECTING:"reconnecting",DISCONNECTED:"disconnected"},v={CONNECT:"connect",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",ERROR:"error"},_={CONNECTED:"connected",SUBSCRIBED:"subscribed",UNSUBSCRIBED:"unsubscribed",ERROR:"error",CREATE:"create",UPDATE:"update",ENTER:"enter",LEAVE:"leave",DELETE:"delete"},w={CLOSE:"close",ERROR:"error",OPEN:"open"},E={OPEN:"open",CLOSE:"close",ERROR:"error",CREATE:"create",UPDATE:"update",ENTER:"enter",LEAVE:"leave",DELETE:"delete"};r.default=class{constructor(e){var s=this,{applicationId:e,serverURL:t,javascriptKey:r,masterKey:n,sessionToken:a,installationId:i}=e;if((0,p.default)(this,"attempts",void 0),(0,p.default)(this,"id",void 0),(0,p.default)(this,"requestId",void 0),(0,p.default)(this,"applicationId",void 0),(0,p.default)(this,"serverURL",void 0),(0,p.default)(this,"javascriptKey",void 0),(0,p.default)(this,"masterKey",void 0),(0,p.default)(this,"sessionToken",void 0),(0,p.default)(this,"installationId",void 0),(0,p.default)(this,"additionalProperties",void 0),(0,p.default)(this,"connectPromise",void 0),(0,p.default)(this,"subscriptions",void 0),(0,p.default)(this,"socket",void 0),(0,p.default)(this,"state",void 0),(0,p.default)(this,"reconnectHandle",void 0),(0,p.default)(this,"emitter",void 0),(0,p.default)(this,"on",void 0),(0,p.default)(this,"emit",void 0),!t||0!==(0,l.default)(t).call(t,"ws"))throw new Error("You need to set a proper Parse LiveQuery server url before using LiveQueryClient");this.reconnectHandle=null,this.attempts=1,this.id=0,this.requestId=1,this.serverURL=t,this.applicationId=e,this.javascriptKey=r||void 0,this.masterKey=n||void 0,this.sessionToken=a||void 0,this.installationId=i||void 0,this.additionalProperties=!0,this.connectPromise=(0,m.resolvingPromise)(),this.subscriptions=new u.default,this.state=j.INITIALIZED;const o=b.default.getEventEmitter();this.emitter=new o,this.on=(e,t)=>this.emitter.on(e,t),this.emit=function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return s.emitter.emit(e,...r)},this.on("error",()=>{})}shouldOpen(){return this.state===j.INITIALIZED||this.state===j.DISCONNECTED}subscribe(e,t){if(e){var r=e.className;const i=e.toJSON();var n=i.where,s=(0,c.default)(i)?.split(","),a=i.watch?.split(",");const o={op:v.SUBSCRIBE,requestId:this.requestId,query:{className:r,where:n,keys:s,watch:a},sessionToken:void 0},l=(t&&(o.sessionToken=t),new y.default(this.requestId,e,t));return this.subscriptions.set(this.requestId,l),this.requestId+=1,this.connectPromise.then(()=>{this.socket.send((0,f.default)(o))}).catch(e=>{l.subscribePromise.reject(e)}),l}}async unsubscribe(e){if(e){const t={op:v.UNSUBSCRIBE,requestId:e.id};return this.connectPromise.then(()=>this.socket.send((0,f.default)(t))).then(()=>e.unsubscribePromise)}}open(){const e=b.default.getWebSocketController();e?(this.state!==j.RECONNECTING&&(this.state=j.CONNECTING),this.socket=new e(this.serverURL),this.socket.closingPromise=(0,m.resolvingPromise)(),this.socket.onopen=()=>{this._handleWebSocketOpen()},this.socket.onmessage=e=>{this._handleWebSocketMessage(e)},this.socket.onclose=e=>{this.socket.closingPromise?.resolve(e),this._handleWebSocketClose()},this.socket.onerror=e=>{this._handleWebSocketError(e)}):this.emit(w.ERROR,"Can not find WebSocket implementation")}resubscribe(){var e;(0,a.default)(e=this.subscriptions).call(e,(e,t)=>{const r=e.query,n=r.toJSON();var s=n.where,a=(0,c.default)(n)?.split(","),i=n.watch?.split(","),o=r.className,e=e.sessionToken;const l={op:v.SUBSCRIBE,requestId:t,query:{className:o,where:s,keys:a,watch:i},sessionToken:void 0};e&&(l.sessionToken=e),this.connectPromise.then(()=>{this.socket.send((0,f.default)(l))})})}async close(){if(this.state!==j.INITIALIZED&&this.state!==j.DISCONNECTED){this.state=j.DISCONNECTED,this.socket?.close();for(const t of(0,i.default)(e=this.subscriptions).call(e)){var e;t.subscribed=!1,t.emit(E.CLOSE)}return this._handleReset(),this.emit(w.CLOSE),this.socket?.closingPromise}}_handleReset(){this.attempts=1,this.id=0,this.requestId=1,this.connectPromise=(0,m.resolvingPromise)(),this.subscriptions=new u.default}_handleWebSocketOpen(){const e={op:v.CONNECT,applicationId:this.applicationId,javascriptKey:this.javascriptKey,masterKey:this.masterKey,sessionToken:this.sessionToken,installationId:void 0};this.additionalProperties&&(e.installationId=this.installationId),this.socket.send((0,f.default)(e))}_handleWebSocketMessage(e){let t=e.data,r=("string"==typeof t&&(t=JSON.parse(t)),null);t.requestId&&(r=this.subscriptions.get(t.requestId)||null);const n={clientId:t.clientId,installationId:t.installationId};switch(t.op){case _.CONNECTED:this.state===j.RECONNECTING&&this.resubscribe(),this.emit(w.OPEN),this.id=t.clientId,this.connectPromise.resolve(),this.state=j.CONNECTED;break;case _.SUBSCRIBED:r&&(this.attempts=1,r.subscribed=!0,r.subscribePromise.resolve(),(0,o.default)(()=>r.emit(E.OPEN,n),200));break;case _.ERROR:var s=new g.default(t.code,t.error);this.id||(this.connectPromise.reject(s),this.state=j.DISCONNECTED),t.requestId?r&&(r.subscribePromise.reject(s),(0,o.default)(()=>r.emit(E.ERROR,t.error),200)):this.emit(w.ERROR,t.error),"Additional properties not allowed"===t.error&&(this.additionalProperties=!1),t.reconnect&&this._handleReconnect();break;case _.UNSUBSCRIBED:r&&(this.subscriptions.delete(t.requestId),r.subscribed=!1,r.unsubscribePromise.resolve());break;default:if(r){let e=!1;if(t.original){e=!0,delete t.original.__type;for(const i in t.original)i in t.object||(t.object[i]=void 0);t.original=h.default.fromJSON(t.original,!1)}delete t.object.__type;s=h.default.fromJSON(t.object,(!r.query||!r.query._select)&&e);t.original?r.emit(t.op,s,t.original,n):r.emit(t.op,s,n);const a=b.default.getLocalDatastore();e&&a.isEnabled&&a._updateObjectIfPinned(s).then(()=>{})}}}_handleWebSocketClose(){if(this.state!==j.DISCONNECTED){this.state=j.CLOSED,this.emit(w.CLOSE);for(const t of(0,i.default)(e=this.subscriptions).call(e)){var e;t.emit(E.CLOSE)}this._handleReconnect()}}_handleWebSocketError(e){this.emit(w.ERROR,e);for(const r of(0,i.default)(t=this.subscriptions).call(t)){var t;r.emit(E.ERROR,e)}this._handleReconnect()}_handleReconnect(){var e,t;this.state!==j.DISCONNECTED&&(this.state=j.RECONNECTING,t=this.attempts,t=Math.random()*Math.min(30,Math.pow(2,t)-1)*1e3,this.reconnectHandle&&clearTimeout(this.reconnectHandle),this.reconnectHandle=(0,o.default)((0,d.default)(e=()=>{this.attempts++,this.connectPromise=(0,m.resolvingPromise)(),this.open()}).call(e,this),t))}}},{"./CoreManager":4,"./LiveQuerySubscription":12,"./ParseError":24,"./ParseObject":30,"./promiseUtils":61,"@babel/runtime-corejs3/core-js-stable/instance/bind":67,"@babel/runtime-corejs3/core-js-stable/instance/for-each":74,"@babel/runtime-corejs3/core-js-stable/instance/index-of":76,"@babel/runtime-corejs3/core-js-stable/instance/keys":77,"@babel/runtime-corejs3/core-js-stable/instance/values":85,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/map":87,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/core-js-stable/set-timeout":100,"@babel/runtime-corejs3/helpers/defineProperty":103,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],12:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/helpers/defineProperty"))),i=s(e("./CoreManager")),o=e("./promiseUtils");r.default=class{constructor(e,t,r){var s=this;(0,a.default)(this,"id",void 0),(0,a.default)(this,"query",void 0),(0,a.default)(this,"sessionToken",void 0),(0,a.default)(this,"subscribePromise",void 0),(0,a.default)(this,"unsubscribePromise",void 0),(0,a.default)(this,"subscribed",void 0),(0,a.default)(this,"emitter",void 0),(0,a.default)(this,"on",void 0),(0,a.default)(this,"emit",void 0),this.id=e,this.query=t,this.sessionToken=r,this.subscribePromise=(0,o.resolvingPromise)(),this.unsubscribePromise=(0,o.resolvingPromise)(),this.subscribed=!1;const n=i.default.getEventEmitter();this.emitter=new n,this.on=(e,t)=>this.emitter.on(e,t),this.emit=function(e){for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return s.emitter.emit(e,...r)},this.on("error",()=>{})}unsubscribe(){return i.default.getLiveQueryController().getDefaultLiveQueryClient().then(e=>(this.emit("close"),e.unsubscribe(this)))}}},{"./CoreManager":4,"./promiseUtils":61,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/defineProperty":103,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],13:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),f=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/promise"))),d=s(e("@babel/runtime-corejs3/core-js-stable/set")),p=s(e("@babel/runtime-corejs3/core-js-stable/object/keys")),b=s(e("@babel/runtime-corejs3/core-js-stable/instance/filter")),h=s(e("@babel/runtime-corejs3/core-js-stable/instance/includes")),y=s(e("@babel/runtime-corejs3/core-js-stable/instance/starts-with")),a=s(e("@babel/runtime-corejs3/core-js-stable/array/is-array")),l=s(e("@babel/runtime-corejs3/core-js-stable/instance/map")),u=s(e("@babel/runtime-corejs3/core-js-stable/instance/concat")),c=s(e("@babel/runtime-corejs3/core-js-stable/array/from")),m=s(e("@babel/runtime-corejs3/core-js-stable/instance/find")),i=s(e("./CoreManager")),n=s(e("./LocalDatastoreController")),g=s(e("./ParseQuery")),j=e("./LocalDatastoreUtils"),s={isEnabled:!1,isSyncing:!1,fromPinWithName(e){const t=i.default.getLocalDatastoreController();return t.fromPinWithName(e)},async pinWithName(e,t){const r=i.default.getLocalDatastoreController();return r.pinWithName(e,t)},async unPinWithName(e){const t=i.default.getLocalDatastoreController();return t.unPinWithName(e)},_getAllContents(){const e=i.default.getLocalDatastoreController();return e.getAllContents()},async _getRawStorage(){const e=i.default.getLocalDatastoreController();return e.getRawStorage()},async _clear(){const e=i.default.getLocalDatastoreController();return e.clear()},async _handlePinAllWithName(e,t){e=this.getPinName(e);const r=[],n=[];for(const a of t){const i=this._getChildren(a);var s=this.getKeyForObject(a);const o=a._toFullJSON(void 0,!0);a._localId&&(o._localId=a._localId),i[s]=o;for(const l in i)n.push(l),r.push(this.pinWithName(l,[i[l]]))}var t=this.fromPinWithName(e),[t]=await f.default.all([t,r]),t=[...new d.default([...t||[],...n])];return this.pinWithName(e,t)},async _handleUnPinAllWithName(e,t){const r=await this._getAllContents();e=this.getPinName(e);const n=[];let s=[];for(const l of t){var a=this._getChildren(l),i=this.getKeyForObject(l);s.push(i,...(0,p.default)(a))}s=[...new d.default(s)];t=r[e]||[];0==(t=(0,b.default)(t).call(t,e=>!(0,h.default)(s).call(s,e))).length?(n.push(this.unPinWithName(e)),delete r[e]):(n.push(this.pinWithName(e,t)),r[e]=t);for(const u of s){let e=!1;for(const c in r)if(c===j.DEFAULT_PIN||(0,y.default)(c).call(c,j.PIN_PREFIX)){var o=r[c]||[];if((0,h.default)(o).call(o,u)){e=!0;break}}e||n.push(this.unPinWithName(u))}return f.default.all(n)},_getChildren(e){var t={},r=e._toFullJSON(void 0,!0);for(const n in r)r[n]&&r[n].__type&&"Object"===r[n].__type&&this._traverse(r[n],t);return t},_traverse(t,r){if(t.objectId){var e=this.getKeyForObject(t);if(!r[e])for(const n in r[e]=t){let e=t[n];(e=t[n]?e:t).__type&&"Object"===e.__type&&this._traverse(e,r)}}},async _serializeObjectsFromPinName(e){var t,r=await this._getAllContents();const n=[];for(const s in r)(0,y.default)(s).call(s,j.OBJECT_PREFIX)&&n.push(r[s][0]);return e?(e=r[this.getPinName(e)],(0,a.default)(e)?(e=(0,l.default)(e).call(e,e=>this.fromPinWithName(e)),e=await f.default.all(e),e=(0,u.default)(t=[]).call(t,...e),(0,b.default)(e).call(e,e=>null!=e)):[]):n},async _serializeObject(e,t){let r=t;if(!(r=r||await this._getAllContents())[e]||0===r[e].length)return null;t=r[e][0];const n=[],s={};let a=0;for(s[a]=t,n.push(a);0!==n.length;){var i=n.shift();const l=s[i];for(const u in l){var o=l[u];o.__type&&"Object"===o.__type&&(o=this.getKeyForObject(o),r[o]&&0<r[o].length&&(o=r[o][0],a++,s[a]=o,l[u]=o,n.push(a)))}}return t},async _updateObjectIfPinned(e){if(this.isEnabled){var t=this.getKeyForObject(e),r=await this.fromPinWithName(t);if(r&&0!==r.length)return this.pinWithName(t,[e._toFullJSON()])}},async _destroyObjectIfPinned(e){if(this.isEnabled){const r=await this._getAllContents(),n=this.getKeyForObject(e);var t;if(r[n]){const s=[this.unPinWithName(n)];delete r[n];for(const a in r)a!==j.DEFAULT_PIN&&!(0,y.default)(a).call(a,j.PIN_PREFIX)||(t=r[a]||[],(0,h.default)(t).call(t,n)&&(0==(t=(0,b.default)(t).call(t,e=>e!==n)).length?(s.push(this.unPinWithName(a)),delete r[a]):(s.push(this.pinWithName(a,t)),r[a]=t)));return f.default.all(s)}}},async _updateLocalIdForObject(e,t){if(this.isEnabled){const n=""+j.OBJECT_PREFIX+t.className+"_"+e;var r=this.getKeyForObject(t),e=await this.fromPinWithName(n);if(e&&0!==e.length){const s=[this.unPinWithName(n),this.pinWithName(r,e)],a=await this._getAllContents();for(const i in a)if(i===j.DEFAULT_PIN||(0,y.default)(i).call(i,j.PIN_PREFIX)){let e=a[i]||[];(0,h.default)(e).call(e,n)&&((e=(0,b.default)(e).call(e,e=>e!==n)).push(r),s.push(this.pinWithName(i,e)),a[i]=e)}return f.default.all(s)}}},async updateFromServer(){if(this.checkIfEnabled()&&!this.isSyncing){const s=[];for(const a in await this._getAllContents())(0,y.default)(a).call(a,j.OBJECT_PREFIX)&&s.push(a);if(0!==s.length){this.isSyncing=!0;const i={};for(const o of s){let[,,e,t]=o.split("_");5===o.split("_").length&&"User"===o.split("_")[3]&&(e="_User",t=o.split("_")[4]),(0,y.default)(t).call(t,"local")||(e in i||(i[e]=new d.default),i[e].add(t))}var e=(0,l.default)(e=(0,p.default)(i)).call(e,e=>{var t=(0,c.default)(i[e]);const r=new g.default(e);return r.limit(t.length),1===t.length?r.equalTo("objectId",t[0]):r.containedIn("objectId",t),(0,m.default)(r).call(r)});try{var t=await f.default.all(e),r=(0,u.default)([]).apply([],t),n=(0,l.default)(r).call(r,e=>{var t=this.getKeyForObject(e);return this.pinWithName(t,e._toFullJSON())});await f.default.all(n),this.isSyncing=!1}catch(e){console.error("Error syncing LocalDatastore: ",e),this.isSyncing=!1}}}},getKeyForObject(e){var t=e.objectId||e._getId();return""+j.OBJECT_PREFIX+e.className+"_"+t},getPinName(e){return e&&e!==j.DEFAULT_PIN?j.PIN_PREFIX+e:j.DEFAULT_PIN},checkIfEnabled(){return this.isEnabled||console.error("Parse.enableLocalDatastore() must be called first"),this.isEnabled}};r.default=s;i.default.setLocalDatastoreController(n.default),i.default.setLocalDatastore(s)},{"./CoreManager":4,"./LocalDatastoreController":15,"./LocalDatastoreUtils":17,"./ParseQuery":33,"@babel/runtime-corejs3/core-js-stable/array/from":65,"@babel/runtime-corejs3/core-js-stable/array/is-array":66,"@babel/runtime-corejs3/core-js-stable/instance/concat":68,"@babel/runtime-corejs3/core-js-stable/instance/filter":71,"@babel/runtime-corejs3/core-js-stable/instance/find":73,"@babel/runtime-corejs3/core-js-stable/instance/includes":75,"@babel/runtime-corejs3/core-js-stable/instance/map":78,"@babel/runtime-corejs3/core-js-stable/instance/starts-with":84,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/core-js-stable/object/keys":96,"@babel/runtime-corejs3/core-js-stable/promise":98,"@babel/runtime-corejs3/core-js-stable/set":101,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],14:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/json/stringify"))),i=s(e("@babel/runtime-corejs3/core-js-stable/instance/reduce")),o=s(e("@babel/runtime-corejs3/core-js-stable/promise")),l=s(e("@babel/runtime-corejs3/core-js-stable/instance/map")),u=e("./LocalDatastoreUtils"),c=s(e("./Storage"));r.default={async fromPinWithName(e){e=await c.default.getItemAsync(e);return e?JSON.parse(e):[]},pinWithName(e,t){t=(0,a.default)(t);return c.default.setItemAsync(e,t)},unPinWithName(e){return c.default.removeItemAsync(e)},async getAllContents(){var e=await c.default.getAllKeysAsync();return(0,i.default)(e).call(e,async(e,t)=>{const r=await e;if((0,u.isLocalDatastoreKey)(t)){e=await c.default.getItemAsync(t);try{r[t]=JSON.parse(e)}catch(e){console.error("Error getAllContents: ",e)}}return r},o.default.resolve({}))},async getRawStorage(){var e=await c.default.getAllKeysAsync();return(0,i.default)(e).call(e,async(e,t)=>{const r=await e;e=await c.default.getItemAsync(t);return r[t]=e,r},o.default.resolve({}))},async clear(){const e=[];for(const r of await c.default.getAllKeysAsync())(0,u.isLocalDatastoreKey)(r)&&e.push(r);var t=(0,l.default)(e).call(e,this.unPinWithName);return o.default.all(t)}}},{"./LocalDatastoreUtils":17,"./Storage":43,"@babel/runtime-corejs3/core-js-stable/instance/map":78,"@babel/runtime-corejs3/core-js-stable/instance/reduce":79,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/core-js-stable/promise":98,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],15:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),n=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("./LocalDatastoreController.react-native")),s(e("./LocalDatastoreController.default")).default);r.default=n},{"./LocalDatastoreController.default":14,"./LocalDatastoreController.react-native":16,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],16:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/json/stringify"))),i=s(e("@babel/runtime-corejs3/core-js-stable/instance/for-each")),o=s(e("@babel/runtime-corejs3/core-js-stable/instance/map")),l=e("./LocalDatastoreUtils"),u=s(e("./StorageController.react-native"));r.default={async fromPinWithName(e){e=await u.default.getItemAsync(e);return e?JSON.parse(e):[]},async pinWithName(e,t){try{var r=(0,a.default)(t);await u.default.setItemAsync(e,r)}catch(e){console.error(e.message)}},unPinWithName(e){return u.default.removeItemAsync(e)},async getAllContents(){var t=await u.default.getAllKeysAsync();const r=[];for(let e=0;e<t.length;e+=1){var n=t[e];(0,l.isLocalDatastoreKey)(n)&&r.push(n)}const s={};let e=[];try{e=await u.default.multiGet(r)}catch(e){return console.error("Error getAllContents: ",e),{}}return(0,i.default)(e).call(e,t=>{var[t,e]=t;try{s[t]=JSON.parse(e)}catch(e){s[t]=null}}),s},async getRawStorage(){var e=await u.default.getAllKeysAsync();const r={};var e=await u.default.multiGet(e);return(0,o.default)(e=e).call(e,e=>{var[e,t]=e;r[e]=t}),r},async clear(){var t=await u.default.getAllKeysAsync();const r=[];for(let e=0;e<t.length;e+=1){var n=t[e];(0,l.isLocalDatastoreKey)(n)&&r.push(n)}await u.default.multiRemove(r).catch(e=>console.error("Error clearing local datastore: ",e))}}},{"./LocalDatastoreUtils":17,"./StorageController.react-native":47,"@babel/runtime-corejs3/core-js-stable/instance/for-each":74,"@babel/runtime-corejs3/core-js-stable/instance/map":78,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],17:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),a=(n(r,"__esModule",{value:!0}),r.PIN_PREFIX=r.OBJECT_PREFIX=r.DEFAULT_PIN=void 0,r.isLocalDatastoreKey=function(e){return!(!e||e!==i&&!(0,a.default)(e).call(e,o)&&!(0,a.default)(e).call(e,l))},s(e("@babel/runtime-corejs3/core-js-stable/instance/starts-with")));const i=r.DEFAULT_PIN="_default",o=r.PIN_PREFIX="parsePin_",l=r.OBJECT_PREFIX="Parse_LDS_"},{"@babel/runtime-corejs3/core-js-stable/instance/starts-with":84,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],18:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),u=(n(r,"__esModule",{value:!0}),r.commitServerChanges=function(e,t,r){var n=l.default.getParseObject();for(const a in r){var s=r[a];!function(t,e,r){var n=e.split(".");for(let e=0;e<n.length-1;e++){var s,a=n[e];a in t||(s=n[e+1],isNaN(s)?t[a]={}:t[a]=[]),t=t[a]}void 0===r?delete t[n[n.length-1]]:t[n[n.length-1]]=r}(e,a,s),!s||"object"!=typeof s||s instanceof n||s instanceof f.default||s instanceof d.default||(s=(0,o.default)(s,!1,!0),t[a]=(0,i.default)(s))}},r.defaultState=function(){return{serverData:{},pendingOps:[{}],objectCache:{},tasks:new a.default,existed:!1}},r.estimateAttribute=function(e,t,r,n){let s=e[n];for(let e=0;e<t.length;e++)t[e][n]&&(t[e][n]instanceof p.RelationOp?r.id&&(s=t[e][n].applyTo(s,r,n)):s=t[e][n].applyTo(s));return s},r.estimateAttributes=function(e,r,t){const n={};for(var s in e)n[s]=e[s];for(let e=0;e<r.length;e++)for(s in r[e])if(r[e][s]instanceof p.RelationOp)t.id&&(n[s]=r[e][s].applyTo(n[s],t,s));else if((0,u.default)(s).call(s,".")){var a=s.split("."),i=a[a.length-1];let t=n;for(let e=0;e<a.length-1;e++){var o,l=a[e];l in t?(0,c.default)(t[l])?t[l]=[...t[l]]:t[l]={...t[l]}:(o=a[e+1],isNaN(o)?t[l]={}:t[l]=[]),t=t[l]}t[i]=r[e][s].applyTo(t[i])}else n[s]=r[e][s].applyTo(n[s]);return n},r.mergeFirstPendingState=function(e){const t=b(e),r=e[0];for(const s in t){var n;r[s]&&t[s]?(n=r[s].mergeWith(t[s]))&&(r[s]=n):r[s]=t[s]}},r.popPendingState=b,r.pushPendingState=function(e){e.push({})},r.setPendingOp=function(e,t,r){var n=e.length-1;r?e[n][t]=r:delete e[n][t]},r.setServerData=function(e,t){for(const r in t)void 0!==t[r]?e[r]=t[r]:delete e[r]},s(e("@babel/runtime-corejs3/core-js-stable/instance/includes"))),c=s(e("@babel/runtime-corejs3/core-js-stable/array/is-array")),i=s(e("@babel/runtime-corejs3/core-js-stable/json/stringify")),o=s(e("./encode")),l=s(e("./CoreManager")),f=s(e("./ParseFile")),d=s(e("./ParseRelation")),a=s(e("./TaskQueue")),p=e("./ParseOp");function b(e){var t=e.shift();return e.length||(e[0]={}),t}},{"./CoreManager":4,"./ParseFile":25,"./ParseOp":31,"./ParseRelation":34,"./TaskQueue":49,"./encode":56,"@babel/runtime-corejs3/core-js-stable/array/is-array":66,"@babel/runtime-corejs3/core-js-stable/instance/includes":75,"@babel/runtime-corejs3/core-js-stable/json/stringify":86,"@babel/runtime-corejs3/core-js-stable/object/define-property":91,"@babel/runtime-corejs3/helpers/interopRequireDefault":104}],19:[function(e,t,r){"use strict";var n=e("@babel/runtime-corejs3/core-js-stable/object/define-property"),s=e("@babel/runtime-corejs3/helpers/interopRequireDefault"),B=(n(r,"__esModule",{value:!0}),r.default=void 0,s(e("@babel/runtime-corejs3/core-js-stable/array/is-array"))),W=s(e("@babel/runtime-corejs3/core-js-stable/instance/index-of")),K=s(e("@babel/runtime-corejs3/core-js-stable/instance/filter")),J=s(e("@babel/runtime-corejs3/core-js-stable/instance/slice")),c=s(e("@babel/runtime-corejs3/core-js-stable/number/is-integer")),z=s(e("@babel/runtime-corejs3/core-js-stable/instance/map")),a=s(e("@babel/runtime-corejs3/core-js-stable/instance/for-each")),i=s(e("@babel/runtime-corejs3/core-js-stable/object/keys")),Q=s(e("./equals")),V=s(e("./decode")),H=s(e("./ParseError")),$=s(e("./ParsePolygon")),G=s(e("./ParseGeoPoint"));function Y(e,t){if(!t||!t.__type||"Pointer"!==t.__type&&"Object"!==t.__type){if((0,B.default)(t))for(const n of t)if(Y(e,n))return 1;return-1<(0,W.default)(e).call(e,t)}for(const s in e){var r=e[s];if("string"==typeof r&&r===t.objectId)return 1;if(r.className===t.className&&r.objectId===t.objectId)return 1}}function X(e){return e._toFullJSON?e._toFullJSON():e}function Z(e,t,r,n){if(t.className!==e)return!1;let s=t,a=n;t.toJSON&&(s=t.toJSON()),n.toJSON&&(a=n.toJSON().where),s.className=e;for(const i in a)if(!function M(e,s,t,a,i){if(null===i)return!1;if(0<=(0,W.default)(a).call(a,".")){const c=a.split("."),f=c[0],d=(0,J.default)(c).call(c,1).join(".");return M(e,s[f]||{},t,d,i)}let r;if("$or"===a){for(r=0;r<i.length;r++)if(Z(e,s,t,i[r]))return!0;return!1}if("$and"===a){for(r=0;r<i.length;r++)if(!Z(e,s,t,i[r]))return!1;return!0}if("$nor"===a){for(r=0;r<i.length;r++)if(Z(e,s,t,i[r]))return!1;return!0}if("$relatedTo"===a)return!1;if(!/^[A-Za-z][0-9A-Za-z_]*$/.test(a))throw new H.default(H.default.INVALID_KEY_NAME,"Invalid Key: "+a);{var n;if("object"!=typeof i)return(0,B.default)(s[a])?-1<(0,W.default)(n=s[a]).call(n,i):s[a]===i}let o;if(i.__type)return"Pointer"===i.__type?ee(s[a],i,function(e,t){return void 0!==e&&t.className===e.className&&t.objectId===e.objectId}):ee((0,V.default)(s[a]),(0,V.default)(i),Q.default);for(const p in i){if((o=(o=i[p])?.__type?(0,V.default)(o):o)?.$relativeTime){const b=te(o.$relativeTime);if("success"!==b.status)throw new H.default(H.default.INVALID_JSON,`bad $relativeTime (${a}) value. `+b.info);o=b.result}switch(("[object Date]"===toString.call(o)||"string"==typeof o&&"Invalid Date"!==new Date(o).toString())&&(s[a]=new Date(s[a].iso||s[a])),p){case"$lt":if(s[a]>=o)return!1;break;case"$lte":if(s[a]>o)return!1;break;case"$gt":if(s[a]<=o)return!1;break;case"$gte":if(s[a]<o)return!1;break;case"$ne":if((0,Q.default)(s[a],o))return!1;break;case"$in":if(Y(o,s[a]))break;return!1;case"$nin":if(Y(o,s[a]))return!1;break;case"$all":for(r=0;r<o.length;r++){var l;if((0,W.default)(l=s[a]).call(l,o[r])<0)return!1}break;case"$exists":{const h=void 0!==s[a],y=i.$exists;if("boolean"!=typeof i.$exists)break;if(!h&&y||h&&!y)return!1;break}case"$regex":{if("object"==typeof o)return o.test(s[a]);let e="",t=-2,r=(0,W.default)(o).call(o,"\\Q");for(;-1<r;)e+=o.substring(t+2,r),-1<(t=(0,W.default)(o).call(o,"\\E",r))&&(e+=o.substring(r+2,t).replace(/\\\\\\\\E/g,"\\E").replace(/\W/g,"\\$&")),r=(0,W.default)(o).call(o,"\\Q",t);e+=o.substring(Math.max(r,t+2));let n=i.$options||"";n=n.replace("x","").replace("s","");const m=new RegExp(e,n);if(m.test(s[a]))break;return!1}case"$nearSphere":{if(!o||!s[a])return!1;const g=o.radiansTo(s[a]),j=i.$maxDistance||1/0;return g<=j}case"$within":{if(!o||!s[a])return!1;const v=o.$box[0],_=o.$box[1];return v.latitude>_.latitude||v.longitude>_.longitude?!1:s[a].latitude>v.latitude&&s[a].latitude<_.latitude&&s[a].longitude>v.longitude&&s[a].longitude<_.longitude}case"$options":case"$maxDistance":break;case"$select":{const w=(0,K.default)(t).call(t,(e,t,r)=>Z(o.query.className,e,r,o.query.where));for(let e=0;e<w.length;e+=1){const E=X(w[e]);return(0,Q.default)(s[a],E[o.key])}return!1}case"$dontSelect":{const S=(0,K.default)(t).call(t,(e,t,r)=>Z(o.query.className,e,r,o.query.where));for(let e=0;e<S.length;e+=1){const O=X(S[e]);return!(0,Q.default)(s[a],O[o.key])}return!1}case"$inQuery":{const C=(0,K.default)(t).call(t,(e,t,r)=>Z(o.className,e,r,o.where));for(let e=0;e<C.length;e+=1){const x=X(C[e]);if(s[a].className===x.className&&s[a].objectId===x.objectId)return!0}return!1}case"$notInQuery":{const P=(0,K.default)(t).call(t,(e,t,r)=>Z(o.className,e,r,o.where));for(let e=0;e<P.length;e+=1){const A=X(P[e]);if(s[a].className===A.className&&s[a].objectId===A.objectId)return!1}return!0}case"$containedBy":for(const R of s[a])if(!Y(o,R))return!1;return!0;case"$geoWithin":if(o.$polygon){var u;const I=(0,z.default)(u=o.$polygon).call(u,e=>[e.latitude,e.longitude]),N=new $.default(I);return N.containsPoint(s[a])}if(o.$centerSphere){const[T,k]=o.$centerSphere,D=new G.default({latitude:T[1],longitude:T[0]}),L=new G.default(s[a]),q=L.radiansTo(D);return q<=k}return!1;case"$geoIntersects":{const U=new $.default(s[a].coordinates),F=new G.default(o.$point);return U.containsPoint(F)}default:return!1}}return!0}(e,s,r,i,a[i]))return!1;return!0}function ee(t,r,n){if((0,B.default)(t)){for(let e=0;e<t.length;e++)if(n(t[e],r))return!0;return!1}return n(t,r)}function te(e,t){let r=1<arguments.length&&void 0!==t?t:new Date,n=(e=e.toLowerCase()).split(" ");var s,a,t="in"===(n=(0,K.default)(n).call(n,e=>""!==e))[0],i="ago"===n[n.length-1];if(!t&&!i&&"now"!==e)return{status:"error",info:"Time should either start with 'in' or end with 'ago'"};if(t&&i)return{status:"error",info:"Time cannot have both 'in' and 'ago'"};if((n=t?(0,J.default)(n).call(n,1):(0,J.default)(n).call(n,0,n.length-1)).length%2!=0&&"