dexie-cloud-addon 1.0.0-alpha.6 → 1.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/copydts.sh +5 -0
- package/dist/modern/dexie-cloud-addon.js +5954 -0
- package/dist/modern/dexie-cloud-addon.js.map +1 -0
- package/dist/modern/dexie-cloud-addon.min.js +1 -0
- package/dist/modern/dexie-cloud-addon.min.js.map +1 -0
- package/dist/modern/service-worker.js +6054 -0
- package/dist/modern/service-worker.js.map +1 -0
- package/dist/modern/service-worker.min.js +1 -0
- package/dist/modern/service-worker.min.js.map +1 -0
- package/dist/module-es5/dexie-cloud-addon.js +6908 -0
- package/dist/module-es5/dexie-cloud-addon.js.map +1 -0
- package/dist/module-es5/dexie-cloud-addon.min.js +1 -0
- package/dist/module-es5/dexie-cloud-addon.min.js.map +1 -0
- package/dist/types/DISABLE_SERVICEWORKER_STRATEGY.d.ts +1 -0
- package/dist/types/DXCWebSocketStatus.d.ts +1 -0
- package/dist/types/DexieCloudOptions.d.ts +19 -0
- package/dist/types/DexieCloudServerState.d.ts +5 -0
- package/dist/types/TSON.d.ts +17 -0
- package/dist/types/WSObservable.d.ts +62 -0
- package/dist/types/WebSocketStatus.d.ts +1 -0
- package/dist/types/authentication/AuthPersistedContext.d.ts +9 -0
- package/dist/types/authentication/TokenExpiredError.d.ts +3 -0
- package/dist/types/authentication/UNAUTHORIZED_USER.d.ts +2 -0
- package/dist/types/authentication/authenticate.d.ts +20 -0
- package/dist/types/authentication/currentUserObservable.d.ts +1 -0
- package/dist/types/authentication/interactWithUser.d.ts +18 -0
- package/dist/types/authentication/login.d.ts +6 -0
- package/dist/types/authentication/otpFetchTokenCallback.d.ts +3 -0
- package/dist/types/authentication/setCurrentUser.d.ts +14 -0
- package/dist/types/computeSyncState.d.ts +4 -0
- package/dist/types/db/DexieCloudDB.d.ts +58 -0
- package/dist/types/db/entities/BaseRevisionMapEntry.d.ts +5 -0
- package/dist/types/db/entities/EntityCommon.d.ts +4 -0
- package/dist/types/db/entities/GuardedJob.d.ts +5 -0
- package/dist/types/db/entities/Member.d.ts +19 -0
- package/dist/types/db/entities/PersistedSyncState.d.ts +14 -0
- package/dist/types/db/entities/Realm.d.ts +16 -0
- package/dist/types/db/entities/Role.d.ts +11 -0
- package/dist/types/db/entities/UserLogin.d.ts +18 -0
- package/dist/types/default-ui/Dialog.d.ts +4 -0
- package/dist/types/default-ui/LoginDialog.d.ts +6 -0
- package/dist/types/default-ui/Styles.d.ts +3 -0
- package/dist/types/default-ui/index.d.ts +24 -0
- package/dist/types/dexie-cloud-client.d.ts +8 -0
- package/dist/types/errors/HttpError.d.ts +5 -0
- package/dist/types/extend-dexie-interface.d.ts +59 -0
- package/dist/types/helpers/BroadcastedAndLocalEvent.d.ts +8 -0
- package/dist/types/helpers/BroadcastedLocalEvent.d.ts +8 -0
- package/dist/types/helpers/CancelToken.d.ts +4 -0
- package/dist/types/helpers/IS_SERVICE_WORKER.d.ts +1 -0
- package/dist/types/helpers/SWBroadcastChannel.d.ts +6 -0
- package/dist/types/helpers/allSettled.d.ts +1 -0
- package/dist/types/helpers/bulkUpdate.d.ts +4 -0
- package/dist/types/helpers/computeRealmSetHash.d.ts +2 -0
- package/dist/types/helpers/date-constants.d.ts +5 -0
- package/dist/types/helpers/dbOnClosed.d.ts +2 -0
- package/dist/types/helpers/getMutationTable.d.ts +1 -0
- package/dist/types/helpers/getSyncableTables.d.ts +4 -0
- package/dist/types/helpers/getTableFromMutationTable.d.ts +1 -0
- package/dist/types/helpers/makeArray.d.ts +1 -0
- package/dist/types/helpers/randomString.d.ts +1 -0
- package/dist/types/helpers/resolveText.d.ts +2 -0
- package/dist/types/helpers/throwVersionIncrementNeeded.d.ts +1 -0
- package/dist/types/helpers/visibilityState.d.ts +1 -0
- package/dist/types/helpers/visibleState.d.ts +1 -0
- package/dist/types/isFirefox.d.ts +1 -0
- package/dist/types/isSafari.d.ts +2 -0
- package/dist/types/middleware-helpers/guardedTable.d.ts +11 -0
- package/dist/types/middlewares/createIdGenerationMiddleware.d.ts +8 -0
- package/dist/types/middlewares/createImplicitPropSetterMiddleware.d.ts +3 -0
- package/dist/types/middlewares/createMutationTrackingMiddleware.d.ts +17 -0
- package/dist/types/middlewares/outstandingTransaction.d.ts +4 -0
- package/dist/types/overrideParseStoresSpec.d.ts +4 -0
- package/dist/types/performInitialSync.d.ts +4 -0
- package/dist/types/service-worker.d.ts +1 -0
- package/dist/types/sync/LocalSyncWorker.d.ts +7 -0
- package/dist/types/sync/SyncRequiredError.d.ts +3 -0
- package/dist/types/sync/connectWebSocket.d.ts +2 -0
- package/dist/types/sync/extractRealm.d.ts +2 -0
- package/dist/types/sync/getLatestRevisionsPerTable.d.ts +6 -0
- package/dist/types/sync/getTablesToSyncify.d.ts +3 -0
- package/dist/types/sync/isOnline.d.ts +1 -0
- package/dist/types/sync/isSyncNeeded.d.ts +2 -0
- package/dist/types/sync/listClientChanges.d.ts +9 -0
- package/dist/types/sync/listSyncifiedChanges.d.ts +5 -0
- package/dist/types/sync/messageConsumerIsReady.d.ts +2 -0
- package/dist/types/sync/messagesFromServerQueue.d.ts +8 -0
- package/dist/types/sync/modifyLocalObjectsWithNewUserId.d.ts +4 -0
- package/dist/types/sync/myId.d.ts +1 -0
- package/dist/types/sync/numUnsyncedMutations.d.ts +2 -0
- package/dist/types/sync/old_startSyncingClientChanges.d.ts +39 -0
- package/dist/types/sync/performGuardedJob.d.ts +4 -0
- package/dist/types/sync/registerSyncEvent.d.ts +3 -0
- package/dist/types/sync/sync.d.ts +17 -0
- package/dist/types/sync/syncIfPossible.d.ts +5 -0
- package/dist/types/sync/syncServerToClientOnly.d.ts +3 -0
- package/dist/types/sync/syncWithServer.d.ts +5 -0
- package/dist/types/sync/triggerSync.d.ts +2 -0
- package/dist/types/sync/updateBaseRevs.d.ts +5 -0
- package/dist/types/types/CloudConnectionStatus.d.ts +0 -0
- package/dist/types/types/ConnectionStatus.d.ts +0 -0
- package/dist/types/types/DXCAlert.d.ts +25 -0
- package/dist/types/types/DXCInputField.d.ts +11 -0
- package/dist/types/types/DXCUserInteraction.d.ts +55 -0
- package/dist/types/types/LoginState.d.ts +41 -0
- package/dist/types/types/SWMessageEvent.d.ts +3 -0
- package/dist/types/types/SWSyncEvent.d.ts +4 -0
- package/dist/types/types/SyncConnectionStatus.d.ts +1 -0
- package/dist/types/types/SyncFlowStatus.d.ts +6 -0
- package/dist/types/types/SyncState.d.ts +8 -0
- package/dist/types/types/SyncStatus.d.ts +6 -0
- package/dist/types/types/TXExpandos.d.ts +10 -0
- package/dist/types/updateSchemaFromOptions.d.ts +3 -0
- package/dist/types/userIsActive.d.ts +7 -0
- package/dist/types/verifyConfig.d.ts +2 -0
- package/dist/types/verifySchema.d.ts +2 -0
- package/dist/umd/dexie-cloud-addon.js +6919 -0
- package/dist/umd/dexie-cloud-addon.js.map +1 -0
- package/dist/umd/dexie-cloud-addon.min.js +1 -0
- package/dist/umd/dexie-cloud-addon.min.js.map +1 -0
- package/dist/umd/service-worker.js +6063 -0
- package/dist/umd/service-worker.js.map +1 -0
- package/dist/umd/service-worker.min.js +1 -0
- package/dist/umd/service-worker.min.js.map +1 -0
- package/dist/umd-modern/dexie-cloud-addon.js +5965 -0
- package/dist/umd-modern/dexie-cloud-addon.js.map +1 -0
- package/package.json +71 -39
- package/dist/dexie-cloud.d.ts +0 -27
- package/dist/dexie-cloud.js +0 -285
- package/dist/dexie-cloud.js.map +0 -1
- package/dist/dexie-cloud.min.js +0 -1
- package/dist/dexie-cloud.min.js.map +0 -1
- package/dist/dexie-cloud.mjs +0 -273
- package/dist/dexie-cloud.mjs.map +0 -1
- package/esnext/dexie-cloud.js +0 -278
- package/esnext/dexie-cloud.js.map +0 -1
- package/esnext/dexie-cloud.min.js +0 -1
- package/esnext/dexie-cloud.min.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("dexie"),require("rxjs")):"function"==typeof define&&define.amd?define(["dexie","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Dexie,e.rxjs)}(this,(function(e,t){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(e);const o={userId:"unauthorized",name:"Unauthorized",claims:{sub:"unauthorized"},lastLogin:new Date(0)};try{Object.freeze(o),Object.freeze(o.claims)}catch(e){}const i={},s=self.document&&navigator.serviceWorker;s&&s.ready.then((e=>i.registration=e)),"undefined"!=typeof self&&"clients"in self&&!self.document&&addEventListener("message",(e=>{var t,n;(null===(n=null===(t=e.data)||void 0===t?void 0:t.type)||void 0===n?void 0:n.startsWith("sw-broadcast-"))&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>{var n;return t.id!==(null===(n=e.source)||void 0===n?void 0:n.id)&&t.postMessage(e.data)}))}));class a{constructor(e){this.name=e}subscribe(e){if(!s)return()=>{};const t=t=>{var n;(null===(n=t.data)||void 0===n?void 0:n.type)===`sw-broadcast-${this.name}`&&e(t.data.message)};return s.addEventListener("message",t),()=>s.removeEventListener("message",t)}postMessage(e){var t;"object"==typeof self.clients?[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:`sw-broadcast-${this.name}`,message:e}))):i.registration&&(null===(t=i.registration.active)||void 0===t||t.postMessage({type:`sw-broadcast-${this.name}`,message:e}))}}class c extends t.Observable{constructor(e){const t="undefined"==typeof BroadcastChannel?new a(e):new BroadcastChannel(e);super((n=>{function r(e){n.next(e.detail)}function o(e){console.debug("BroadcastedAndLocalEvent: onMessageEvent",e),n.next(e.data)}let i;return self.addEventListener(`lbc-${e}`,r),t instanceof a?i=t.subscribe((e=>n.next(e))):(console.debug("BroadcastedAndLocalEvent: bc.addEventListener()",e,"bc is a",t),t.addEventListener("message",o)),()=>{self.removeEventListener(`lbc-${e}`,r),t instanceof a?i():t.removeEventListener("message",o)}})),this.name=e,this.bc=t}next(e){console.debug("BroadcastedAndLocalEvent: bc.postMessage()",{...e},"bc is a",this.bc),this.bc.postMessage(e);const t=new CustomEvent(`lbc-${this.name}`,{detail:e});self.dispatchEvent(t)}}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function l(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function d(e){return"function"==typeof e}var f=!1,h={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;f=e},get useDeprecatedSynchronousErrorHandling(){return f}};function p(e){setTimeout((function(){throw e}),0)}var y={closed:!0,next:function(e){},error:function(e){if(h.useDeprecatedSynchronousErrorHandling)throw e;p(e)},complete:function(){}},b=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}();function v(e){return null!==e&&"object"==typeof e}var m=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),g=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this,r=n._parentOrParents,o=n._ctorUnsubscribe,i=n._unsubscribe,s=n._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof e)r.remove(this);else if(null!==r)for(var a=0;a<r.length;++a){r[a].remove(this)}if(d(i)){o&&(this._unsubscribe=void 0);try{i.call(this)}catch(e){t=e instanceof m?_(e.errors):[e]}}if(b(s)){a=-1;for(var c=s.length;++a<c;){var u=s[a];if(v(u))try{u.unsubscribe()}catch(e){t=t||[],e instanceof m?t=t.concat(_(e.errors)):t.push(e)}}}if(t)throw new m(t)}},e.prototype.add=function(t){var n=t;if(!t)return e.EMPTY;switch(typeof t){case"function":n=new e(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof e)){var r=n;(n=new e)._subscriptions=[r]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}var o=n._parentOrParents;if(null===o)n._parentOrParents=this;else if(o instanceof e){if(o===this)return n;n._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return n;o.push(this)}var i=this._subscriptions;return null===i?this._subscriptions=[n]:i.push(n),n},e.prototype.remove=function(e){var t=this._subscriptions;if(t){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}},e.EMPTY=function(e){return e.closed=!0,e}(new e),e}();function _(e){return e.reduce((function(e,t){return e.concat(t instanceof m?t.errors:t)}),[])}var w=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}(),S=function(e){function t(n,r,o){var i=e.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,arguments.length){case 0:i.destination=y;break;case 1:if(!n){i.destination=y;break}if("object"==typeof n){n instanceof t?(i.syncErrorThrowable=n.syncErrorThrowable,i.destination=n,n.add(i)):(i.syncErrorThrowable=!0,i.destination=new k(i,n));break}default:i.syncErrorThrowable=!0,i.destination=new k(i,n,r,o)}return i}return l(t,e),t.prototype[w]=function(){return this},t.create=function(e,n,r){var o=new t(e,n,r);return o.syncErrorThrowable=!1,o},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this},t}(g),k=function(e){function t(t,n,r,o){var i,s=e.call(this)||this;s._parentSubscriber=t;var a=s;return d(n)?i=n:n&&(i=n.next,r=n.error,o=n.complete,n!==y&&(d((a=Object.create(n)).unsubscribe)&&s.add(a.unsubscribe.bind(a)),a.unsubscribe=s.unsubscribe.bind(s))),s._context=a,s._next=i,s._error=r,s._complete=o,s}return l(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;h.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=h.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):p(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;p(e)}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};h.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(e){if(this.unsubscribe(),h.useDeprecatedSynchronousErrorHandling)throw e;p(e)}},t.prototype.__tryOrSetError=function(e,t,n){if(!h.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(t){return h.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=t,e.syncErrorThrown=!0,!0):(p(t),!0)}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(S);var x=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();function E(e){return e}function I(e){return 0===e.length?E:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var T=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this.operator,o=function(e,t,n){if(e){if(e instanceof S)return e;if(e[w])return e[w]()}return e||t||n?new S(e,t,n):new S(y)}(e,t,n);if(r?o.add(r.call(o,this.source)):o.add(this.source||h.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),h.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){h.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,r=t.destination,o=t.isStopped;if(n||o)return!1;e=r&&r instanceof S?r:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=C(t))((function(t,r){var o;o=n.subscribe((function(t){try{e(t)}catch(e){r(e),o&&o.unsubscribe()}}),r,t)}))},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[x]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?this:I(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=C(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function C(e){if(e||(e=Promise),!e)throw new Error("no Promise impl found");return e}var A=function(e){return function(t){for(var n=0,r=e.length;n<r&&!t.closed;n++)t.next(e[n]);t.complete()}};function P(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}var O=P(),U=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function D(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}var $=function(e){if(e&&"function"==typeof e[x])return r=e,function(e){var t=r[x]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if(U(e))return A(e);if(D(e))return n=e,function(e){return n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,p),e};if(e&&"function"==typeof e[O])return t=e,function(e){for(var n=t[O]();;){var r=void 0;try{r=n.next()}catch(t){return e.error(t),e}if(r.done){e.complete();break}if(e.next(r.value),e.closed)break}return"function"==typeof n.return&&e.add((function(){n.return&&n.return()})),e};var t,n,r,o=v(e)?"an invalid object":"'"+e+"'";throw new TypeError("You provided "+o+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")},N=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return l(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(S),j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(S);function R(e,t){if(!t.closed){if(e instanceof T)return e.subscribe(t);var n;try{n=$(e)(t)}catch(e){t.error(e)}return n}}var L=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return l(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(e){n=!0,r=!!e&&e||new Error(e)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(function(e){function t(t,n){return e.call(this)||this}return l(t,e),t.prototype.schedule=function(e,t){return this},t}(g)),B=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}(),W=new(function(e){function t(n,r){void 0===r&&(r=B.now);var o=e.call(this,n,(function(){return t.delegate&&t.delegate!==o?t.delegate.now():r()}))||this;return o.actions=[],o.active=!1,o.scheduled=void 0,o}return l(t,e),t.prototype.schedule=function(n,r,o){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,o):e.prototype.schedule.call(this,n,r,o)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(B))(L);function F(e){return e&&"function"==typeof e.schedule}function M(e){return function(t){var n=new H(e),r=t.lift(n);return n.caught=r}}var H=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new V(e,this.selector,this.caught))},e}(),V=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.selector=n,o.caught=r,o}return l(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(t){return void e.prototype.error.call(this,t)}this._unsubscribeAndRecycle();var r=new N(this);this.add(r);var o=R(n,r);o!==r&&this.add(o)}},t}(j);function K(e,t){return new T((function(n){var r=new g,o=0;return r.add(t.schedule((function(){o!==e.length?(n.next(e[o++]),n.closed||r.add(this.schedule())):n.complete()}))),r}))}function q(e,t){return t?K(e,t):new T(A(e))}function z(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[x]}(e))return function(e,t){return new T((function(n){var r=new g;return r.add(t.schedule((function(){var o=e[x]();r.add(o.subscribe({next:function(e){r.add(t.schedule((function(){return n.next(e)})))},error:function(e){r.add(t.schedule((function(){return n.error(e)})))},complete:function(){r.add(t.schedule((function(){return n.complete()})))}}))}))),r}))}(e,t);if(D(e))return function(e,t){return new T((function(n){var r=new g;return r.add(t.schedule((function(){return e.then((function(e){r.add(t.schedule((function(){n.next(e),r.add(t.schedule((function(){return n.complete()})))})))}),(function(e){r.add(t.schedule((function(){return n.error(e)})))}))}))),r}))}(e,t);if(U(e))return K(e,t);if(function(e){return e&&"function"==typeof e[O]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new T((function(n){var r,o=new g;return o.add((function(){r&&"function"==typeof r.return&&r.return()})),o.add(t.schedule((function(){r=e[O](),o.add(t.schedule((function(){if(!n.closed){var e,t;try{var o=r.next();e=o.value,t=o.done}catch(e){return void n.error(e)}t?n.complete():(n.next(e),this.schedule())}})))}))),o}))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function G(e,t){return t?z(e,t):e instanceof T?e:new T($(e))}function J(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[e.length-1];return F(n)?(e.pop(),K(e,n)):q(e)}function Y(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new Q(e,t))}}var Q=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new X(e,this.project,this.thisArg))},e}(),X=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.project=n,o.count=0,o.thisArg=r||o,o}return l(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}this.destination.next(t)},t}(S);function Z(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"function"==typeof t?function(r){return r.pipe(Z((function(n,r){return G(e(n,r)).pipe(Y((function(e,o){return t(n,e,r,o)})))}),n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new ee(e,n))})}var ee=function(){function e(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY),this.project=e,this.concurrent=t}return e.prototype.call=function(e,t){return t.subscribe(new te(e,this.project,this.concurrent))},e}(),te=function(e){function t(t,n,r){void 0===r&&(r=Number.POSITIVE_INFINITY);var o=e.call(this,t)||this;return o.project=n,o.concurrent=r,o.hasCompleted=!1,o.buffer=[],o.active=0,o.index=0,o}return l(t,e),t.prototype._next=function(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this.active++,this._innerSub(t)},t.prototype._innerSub=function(e){var t=new N(this),n=this.destination;n.add(t);var r=R(e,t);r!==t&&n.add(r)},t.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()},t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyComplete=function(){var e=this.buffer;this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(j);function ne(e){return void 0===e&&(e=Number.POSITIVE_INFINITY),Z(E,e)}function re(){return ne(1)}function oe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return re()(J.apply(void 0,e))}function ie(e,t){return void 0===t&&(t=W),function(n){return n.lift(new se(e,t))}}var se=function(){function e(e,t){this.dueTime=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new ae(e,this.dueTime,this.scheduler))},e}(),ae=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.dueTime=n,o.scheduler=r,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return l(t,e),t.prototype._next=function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ce,this.dueTime,this))},t.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},t.prototype.debouncedNext=function(){if(this.clearDebounce(),this.hasValue){var e=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}},t.prototype.clearDebounce=function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)},t}(S);function ce(e){e.debouncedNext()}function ue(e){return e instanceof Date&&!isNaN(+e)}var le=new T((function(e){return e.complete()}));function de(e){return e?function(e){return new T((function(t){return e.schedule((function(){return t.complete()}))}))}(e):le}function fe(e,t){return new T(t?function(n){return t.schedule(he,0,{error:e,subscriber:n})}:function(t){return t.error(e)})}function he(e){var t=e.error;e.subscriber.error(t)}var pe=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return J(this.value);case"E":return fe(this.error);case"C":return de()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();function ye(e,t){void 0===t&&(t=W);var n=ue(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new be(n,t))}}var be=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new ve(e,this.delay,this.scheduler))},e}(),ve=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.delay=n,o.scheduler=r,o.queue=[],o.active=!1,o.errored=!1,o}return l(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,o=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(o);if(n.length>0){var i=Math.max(0,n[0].time-r.now());this.schedule(e,i)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new me(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(pe.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(pe.createComplete()),this.unsubscribe()},t}(S),me=function(){return function(e,t){this.time=e,this.notification=t}}();var ge=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new _e(e,this.compare,this.keySelector))},e}(),_e=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.keySelector=r,o.hasKey=!1,"function"==typeof n&&(o.compare=n),o}return l(t,e),t.prototype.compare=function(e,t){return e===t},t.prototype._next=function(e){var t;try{var n=this.keySelector;t=n?n(e):e}catch(e){return this.destination.error(e)}var r=!1;if(this.hasKey)try{r=(0,this.compare)(this.key,t)}catch(e){return this.destination.error(e)}else this.hasKey=!0;r||(this.key=t,this.destination.next(e))},t}(S),we=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function Se(e,t){return function(n){return n.lift(new ke(e,t))}}var ke=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new xe(e,this.predicate,this.thisArg))},e}(),xe=function(e){function t(t,n,r){var o=e.call(this,t)||this;return o.predicate=n,o.thisArg=r,o.count=0,o}return l(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}t&&this.destination.next(e)},t}(S);function Ee(e){return function(t){return 0===e?de():t.lift(new Ie(e))}}var Ie=function(){function e(e){if(this.total=e,this.total<0)throw new we}return e.prototype.call=function(e,t){return t.subscribe(new Te(e,this.total))},e}(),Te=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return l(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(S);function Ce(e){return function(t){return t.lift(new Ae(e))}}var Ae=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new Pe(e,this.total))},e}(),Pe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return l(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(S);function Oe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[e.length-1];return F(n)?(e.pop(),function(t){return oe(e,t,n)}):function(t){return oe(e,t)}}function Ue(e,t){return"function"==typeof t?function(n){return n.pipe(Ue((function(n,r){return G(e(n,r)).pipe(Y((function(e,o){return t(n,e,r,o)})))})))}:function(t){return t.lift(new De(e))}}var De=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new $e(e,this.project))},e}(),$e=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.index=0,r}return l(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t)},t.prototype._innerSub=function(e){var t=this.innerSubscription;t&&t.unsubscribe();var n=new N(this),r=this.destination;r.add(n),this.innerSubscription=R(e,n),this.innerSubscription!==n&&r.add(this.innerSubscription)},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this),this.unsubscribe()},t.prototype._unsubscribe=function(){this.innerSubscription=void 0},t.prototype.notifyComplete=function(){this.innerSubscription=void 0,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e){this.destination.next(e)},t}(j);function Ne(){}function je(e,t,n){return function(r){return r.lift(new Re(e,t,n))}}var Re=function(){function e(e,t,n){this.nextOrObserver=e,this.error=t,this.complete=n}return e.prototype.call=function(e,t){return t.subscribe(new Le(e,this.nextOrObserver,this.error,this.complete))},e}(),Le=function(e){function t(t,n,r,o){var i=e.call(this,t)||this;return i._tapNext=Ne,i._tapError=Ne,i._tapComplete=Ne,i._tapError=r||Ne,i._tapComplete=o||Ne,d(n)?(i._context=i,i._tapNext=n):n&&(i._context=n,i._tapNext=n.next||Ne,i._tapError=n.error||Ne,i._tapComplete=n.complete||Ne),i}return l(t,e),t.prototype._next=function(e){try{this._tapNext.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.next(e)},t.prototype._error=function(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)},t.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()},t}(S),Be=function(){function e(){return Error.call(this),this.message="Timeout has occurred",this.name="TimeoutError",this}return e.prototype=Object.create(Error.prototype),e}();var We=function(){function e(e,t,n,r){this.waitFor=e,this.absoluteTimeout=t,this.withObservable=n,this.scheduler=r}return e.prototype.call=function(e,t){return t.subscribe(new Fe(e,this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))},e}(),Fe=function(e){function t(t,n,r,o,i){var s=e.call(this,t)||this;return s.absoluteTimeout=n,s.waitFor=r,s.withObservable=o,s.scheduler=i,s.scheduleTimeout(),s}return l(t,e),t.dispatchTimeout=function(e){var t=e.withObservable;e._unsubscribeAndRecycle(),e.add(R(t,new N(e)))},t.prototype.scheduleTimeout=function(){var e=this.action;e?this.action=e.schedule(this,this.waitFor):this.add(this.action=this.scheduler.schedule(t.dispatchTimeout,this.waitFor,this))},t.prototype._next=function(t){this.absoluteTimeout||this.scheduleTimeout(),e.prototype._next.call(this,t)},t.prototype._unsubscribe=function(){this.action=void 0,this.scheduler=null,this.withObservable=null},t}(j);function Me(e,t){return void 0===t&&(t=W),function(e,t,n){return void 0===n&&(n=W),function(r){var o=ue(e),i=o?+e-n.now():Math.abs(e);return r.lift(new We(i,o,t,n))}}(e,fe(new Be),t)}let He=!1;async function Ve(e,t){try{const n=await navigator.serviceWorker.ready;return"push"===t&&n.sync&&await n.sync.register(`dexie-cloud:${e.name}`),void(n.active?n.active.postMessage({type:"dexie-cloud-sync",dbName:e.name,purpose:t}):console.error("Dexie Cloud: There's no active service worker. Can this ever happen??"))}catch(e){He||(console.debug("Dexie Cloud: Could not register sync event",e),He=!0)}}function Ke(e,t){e.cloud.usingServiceWorker?Ve(e,t):e.localSyncEvent.next({purpose:t})}const qe="undefined"!=typeof Buffer?e=>Buffer.from(e,"base64"):e=>{const t=atob(e),n=t.length,r=new Uint8Array(n);for(var o=0;o<n;o++)r[o]=t.charCodeAt(o);return r},ze="undefined"!=typeof Buffer?e=>ArrayBuffer.isView(e)?Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64"):Buffer.from(e).toString("base64"):e=>btoa(String.fromCharCode.apply(null,e));async function Ge({realms:e,inviteRealms:t}){const n=JSON.stringify([...e.map((e=>({realmId:e,accepted:!0}))),...t.map((e=>({realmId:e,accepted:!1})))].sort(((e,t)=>e.realmId<t.realmId?-1:e.realmId>t.realmId?1:0))),r=(new TextEncoder).encode(n),o=await crypto.subtle.digest("SHA-1",r);return ze(o)}function Je(e){return Object.entries(e.cloud.schema||{}).filter((([,{markedForSync:e}])=>e)).map((([t])=>e.table(t)))}function Ye(e){return`$${e}_mutations`}function Qe(e){var t;const n=null===(t=/^\$(.*)_mutations$/.exec(e))||void 0===t?void 0:t[1];if(!n)throw new Error(`Given mutationTable ${e} is not correct`);return n}async function Xe(e,t,{since:n={},limit:r=1/0}={}){return(await Promise.all(e.map((async e=>{const t=Qe(e.name),o=n[t];let i=o?e.where("rev").above(o):e;r<1/0&&(i=i.limit(r));return{table:t,muts:await i.toArray()}})))).filter((({muts:e})=>e.length>0))}const Ze=crypto.getRandomValues;function et(e,t,n){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){!function(e){if(!e)throw new Error("Assertion Failed")}("string"!=typeof n&&"length"in n);for(var r=0,o=t.length;r<o;++r)et(e,t[r],n[r])}else{var i=t.indexOf(".");if(-1!==i){var s=t.substr(0,i),a=t.substr(i+1);if(""===a)void 0===n?Array.isArray(e)?isNaN(parseInt(s))||e.splice(parseInt(s),1):delete e[s]:e[s]=n;else{var c=e[s];c||(c=e[s]={}),et(c,a,n)}}else void 0===n?Array.isArray(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}const tt="undefined"==typeof self?e=>{const t=Buffer.alloc(e);return Ze(t),t.toString("base64")}:e=>{const t=new Uint8Array(e);return crypto.getRandomValues(t),btoa(String.fromCharCode.apply(null,t))};function nt(e){return"string"==typeof e||!!(Array.isArray(e)&&e.some((e=>nt(e)))&&e.every(rt))}function rt(e){return"string"==typeof e||"number"==typeof e||Array.isArray(e)&&e.every(rt)}function ot(e,t,n){const r=e[t]||(e[t]={});switch(n.type){case"insert":case"upsert":n.keys.forEach(((e,t)=>{r[e]={type:"ups",val:n.values[t]}}));break;case"update":case"modify":n.keys.forEach(((e,t)=>{const o="update"===n.type?n.changeSpecs[t]:n.changeSpec,i=r[e];if(i)switch(i.type){case"ups":for(const[e,t]of Object.entries(o))et(i.val,e,t);break;case"del":break;case"upd":Object.assign(i.mod,o)}else r[e]={type:"upd",mod:o}}));break;case"delete":n.keys.forEach((e=>{r[e]={type:"del"}}))}return e}function it(e,t){for(const{table:n,muts:r}of t)for(const t of r)ot(e,n,t)}function st(e,t){return new Promise(((n,o)=>{const i={...t,onSubmit:t=>{e.next(void 0),n(t)},onCancel:()=>{e.next(void 0),o(new r.default.AbortError("User cancelled"))}};e.next(i)}))}function at(e,t,...n){return st(e,{type:"message-alert",title:t,alerts:n,fields:{}})}async function ct(e,t,n){let r=n||"";for(;!r||!/^[\w-\.]+@([\w-]+\.)+[\w-]{2,10}$/.test(r);)r=(await st(e,{type:"email",title:t,alerts:r?[{type:"error",messageCode:"INVALID_EMAIL",message:"Please enter a valid email address",messageParams:{}}]:[],fields:{email:{type:"email",placeholder:"you@somedomain.com"}}})).email;return r}async function ut(e,t,n){const r=[{type:"info",messageCode:"OTP_SENT",message:"A One-Time password has been sent to {email}",messageParams:{email:t}}];n&&r.push(n);const{otp:o}=await st(e,{type:"otp",title:"Enter OTP",alerts:r,fields:{otp:{type:"otp",label:"OTP",placeholder:"Paste OTP here"}}});return o}async function lt(e,t,n,r,o){return t.accessToken&&t.accessTokenExpiration.getTime()>Date.now()?t:t.refreshToken&&(!t.refreshTokenExpiration||t.refreshTokenExpiration.getTime()>Date.now())?await dt(e,t):await async function(e,t,n,r){const{privateKey:o,publicKey:i}=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!1,["sign","verify"]);e.nonExportablePrivateKey=o;const s=function(e){const t=ze(e);return function(e){let t="-----BEGIN PUBLIC KEY-----\n";for(;e.length>0;)t+=e.substring(0,64)+"\n",e=e.substring(64);return t+="-----END PUBLIC KEY-----",t}(t)}(await crypto.subtle.exportKey("spki",i));e.publicKey=i;try{const o=await t({public_key:s,hints:r});if("tokens"!==o.type)throw new Error(`Unexpected response type from token endpoint: ${o.type}`);return e.accessToken=o.accessToken,e.accessTokenExpiration=new Date(o.accessTokenExpiration),e.refreshToken=o.refreshToken,o.refreshTokenExpiration&&(e.refreshTokenExpiration=new Date(o.refreshTokenExpiration)),e.userId=o.claims.sub,e.email=o.claims.email,e.name=o.claims.name,e.claims=o.claims,o.alerts&&o.alerts.length>0&&await st(n,{type:"message-alert",title:"Authentication Alert",fields:{},alerts:o.alerts}),e}catch(e){throw await at(n,"Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:"We're having a problem to authenticate rigth now.",messageParams:{}}).catch((()=>{})),e}}(t,n,r,o)}async function dt(e,t){if(!t.refreshToken)throw new Error("Cannot refresh token - refresh token is missing.");if(!t.nonExportablePrivateKey)throw new Error("login.nonExportablePrivateKey is missing - cannot sign refresh token without a private key.");const n=Date.now(),r="RSASSA-PKCS1-v1_5",o=(new TextEncoder).encode(t.refreshToken+n),i=await crypto.subtle.sign(r,t.nonExportablePrivateKey,o),s=ze(i),a={grant_type:"refresh_token",refresh_token:t.refreshToken,scopes:["ACCESS_DB"],signature:s,signing_algorithm:r,time_stamp:n},c=await fetch(`${e}/token`,{body:JSON.stringify(a),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"});if(200!==c.status)throw new Error(`RefreshToken: Status ${c.status} from ${e}/token`);const u=await c.json();return t.accessToken=u.accessToken,t.accessTokenExpiration=u.accessTokenExpiration?new Date(u.accessTokenExpiration):void 0,t}const{toString:ft}={};const ht={replace:function(e){const t=Object.keys(e);let n=null;for(let e=0,r=t.length;e<r;++e)"$"===t[e][0]&&(n=n||[],n.push(t[e]));if(!n)return e;const r={...e};for(const t of n)delete r[t],r["$"+t]=e[t];return r}};function pt(...e){const t=e.reduce(((e,t)=>({...e,...t})),e.reduce(((e,t)=>({...t,...e})),{})),n=new WeakMap;return{stringify:(e,r,o)=>JSON.stringify(e,(function(e){const o=this[e],i=function(e){const r=typeof e;switch(typeof e){case"object":case"function":{if(null===e)return null;const r=Object.getPrototypeOf(e);if(!r)return ht;let i=n.get(r);if(void 0!==i)return i;const s=(o=e,ft.call(o).slice(8,-1)),a=Object.entries(t).find((([t,n])=>{var r,o;return null!==(o=null===(r=null==n?void 0:n.test)||void 0===r?void 0:r.call(n,e,s))&&void 0!==o?o:t===s}));return i=null==a?void 0:a[1],i||(i=Array.isArray(e)?null:"function"==typeof e?t.function||null:ht),n.set(r,i),i}default:return t[r]}var o}(o);return i?i.replace(o,r,t):o}),o),parse(e,n){let r=null,o=[];return JSON.parse(e,(function(e,i){const s=null==i?void 0:i.$t;if(s){const e=t[s];i=e?e.revive(i,n,t):i}if(i===r){if(o.length>0){i={...i};for(const e of o)i[e.substr(1)]=i[e],delete i[e]}return o=[],i}return"$"===e[0]&&"$t"!==e&&(r=this,o.push(e)),i}))}}}const yt={Blob:{test:(e,t)=>"Blob"===t,replace:(e,t)=>{const n=t.length;return t.push(e),{$t:"Blob",mimeType:e.type,i:n}},revive:({i:e,mimeType:t},n)=>new Blob([n[e]],{type:t})}};var bt={number:{replace:e=>{switch(!0){case isNaN(e):return{$t:"number",v:"NaN"};case e===1/0:return{$t:"number",v:"Infinity"};case e===-1/0:return{$t:"number",v:"-Infinity"};default:return e}},revive:({v:e})=>Number(e)}};const vt={bigint:{replace:e=>({$t:"bigint",v:""+e}),revive:e=>BigInt(e.v)}};var mt={Date:{replace:e=>({$t:"Date",v:isNaN(e.getTime())?"NaN":e.toISOString()}),revive:({v:e})=>new Date("NaN"===e?NaN:Date.parse(e))}},gt={Set:{replace:e=>({$t:"Set",v:Array.from(e.entries())}),revive:({v:e})=>new Set(e)}},_t={Map:{replace:e=>({$t:"Map",v:Array.from(e.entries())}),revive:({v:e})=>new Map(e)}};const wt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"==typeof global?global:void 0;var St=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","DataView","BigInt64Array","BigUint64Array"].reduce(((e,t)=>({...e,[t]:{replace:(e,n,r)=>({$t:t,v:r.ArrayBuffer.replace(0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n,r).v}),revive:({v:e},n,r)=>{const o=wt[t];return o&&new o(r.ArrayBuffer.revive({v:e},n,r))}}})),{});function kt(e){return function(e){for(var t="",n=0,r=e.length;n<r;n++)t+=It[e[n]];return t}(ze(e))}function xt(e){return qe(function(e){if("string"!=typeof e)throw new Error("invalid decoder input: "+e);for(var t="",n=0,r=e.length;n<r;n++)t+=Et[e[n]];return t}(e))}const Et={"-":"=",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",A:"K",B:"L",C:"M",D:"N",E:"O",F:"P",G:"Q",H:"R",I:"S",J:"T",K:"U",L:"V",M:"W",N:"X",O:"Y",P:"Z",Q:"a",R:"b",S:"c",T:"d",U:"e",V:"f",W:"g",X:"h",Y:"i",Z:"j",_:"k",a:"l",b:"m",c:"n",d:"o",e:"p",f:"q",g:"r",h:"s",i:"t",j:"u",k:"v",l:"w",m:"x",n:"y",o:"z",p:"0",q:"1",r:"2",s:"3",t:"4",u:"5",v:"6",w:"7",x:"8",y:"9",z:"+","|":"/"},It={};for(const e of Object.keys(Et))It[Et[e]]=e;var Tt={ArrayBuffer:{replace:e=>({$t:"ArrayBuffer",v:kt(e)}),revive:({v:e})=>{const t=xt(e);return t.buffer.byteLength===t.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}}};class Ct{constructor(e,t){this.buf=e,this.type=t}}function At(e){const t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return t.responseText}function Pt(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t.buffer}const Ot={...bt,...vt,...mt,...gt,..._t,...St,...Tt,...{Blob:{test:(e,t)=>"Blob"===t||e instanceof Ct,replace:e=>({$t:"Blob",v:ze(e instanceof Ct?e.buf:Pt(At(e))),type:e.type}),revive:({type:e,v:t})=>{const n=qe(t);return void 0!==typeof Blob?new Blob([n]):new Ct(n.buffer,e)}}}};function Ut(e){return new Promise(((t,n)=>{const r=new FileReader;r.onabort=e=>n(new Error("file read aborted")),r.onerror=e=>n(e.target.error),r.onload=e=>t(e.target.result),r.readAsArrayBuffer(e)}))}var Dt={undefined:{replace:()=>{},revive:()=>{}}};const $t="bigint"==typeof BigInt(0);class Nt{constructor(e){this.v=e}toString(){return this.v}}const jt={...Dt,...$t?{}:{bigint:{test:e=>e instanceof Nt,replace:e=>({$t:"bigint",...e}),revive:({v:e})=>new Nt(e)}}},Rt=pt(Ot,jt),Lt=function(...e){const t=pt(Ot,yt,...e);return{toBinary(e){const[t,n]=this.stringify(e),r=new ArrayBuffer(4);return new DataView(r).setUint32(0,t.size),new Blob([r,t,n])},stringify(e){const n=[],r=t.stringify(e,n);return[new Blob(n.map((e=>{const t=new ArrayBuffer(4);return new DataView(t).setUint32(0,"byteLength"in e?e.byteLength:e.size),new Blob([t,e])}))),r]},async parse(e,n){let r=0;const o=[],i=await Ut(n),s=new DataView(i);for(;r<i.byteLength;){const e=s.getUint32(r);r+=4;const t=i.slice(r,r+e);r+=e,o.push(t)}return t.parse(e,o)},async fromBinary(e){const t=new DataView(await Ut(e.slice(0,4))).getUint32(0),n=e.slice(4,t+4),r=await function(e){return new Promise(((t,n)=>{const r=new FileReader;r.onabort=e=>n(new Error("file read aborted")),r.onerror=e=>n(e.target.error),r.onload=e=>t(e.target.result),r.readAsText(e)}))}(e.slice(t+4));return await this.parse(r,n)}}}(jt);class Bt extends Error{constructor(e,t){super(t||`${e.status} ${e.statusText}`),this.httpStatus=e.status}get name(){return"HttpError"}}async function Wt(e,t,n,r,o,i,s){const a={Accept:"application/json, application/x-bison, application/x-bison-stream","Content-Type":"application/tson"},c=await async function(e){var t,n;const r=await e.getCurrentUser(),{accessToken:o,accessTokenExpiration:i,refreshToken:s,refreshTokenExpiration:a,claims:c}=r;if(!o)return;if((null!==(t=null==i?void 0:i.getTime())&&void 0!==t?t:1/0)>Date.now())return o;if(!s)throw new Error("Refresh token missing");if((null!==(n=null==a?void 0:a.getTime())&&void 0!==n?n:1/0)<=Date.now())throw new Error("Refresh token has expired");const u=await dt(e.cloud.options.databaseUrl,r);return await e.table("$logins").update(c.sub,{accessToken:u.accessToken,accessTokenExpiration:u.accessTokenExpiration}),u.accessToken}(r);c&&(a.Authorization=`Bearer ${c}`);const u={v:2,dbID:null==t?void 0:t.remoteDbId,clientIdentity:s,schema:i||{},lastPull:t?{serverRevision:t.serverRevision,realms:t.realms,inviteRealms:t.inviteRealms}:void 0,baseRevs:n,changes:e};console.debug("Sync request",u),r.syncStateChangedEvent.next({phase:"pushing"});const l=await fetch(`${o}/sync`,{method:"post",headers:a,body:Rt.stringify(u)});if(r.syncStateChangedEvent.next({phase:"pulling"}),!l.ok)throw new Bt(l);switch(l.headers.get("content-type")){case"application/x-bison":return Lt.fromBinary(await l.blob());case"application/x-bison-stream":default:case"application/json":{const e=await l.text();return Rt.parse(e)}}}async function Ft(e,t,n){const o=await e.bulkGet(t),i=[],s=[];t.forEach(((t,a)=>{const c=o[a];if(c){for(const[t,o]of Object.entries(n[a])){if(t===e.schema.primKey.keyPath)throw new Error("Cannot change primary key");r.default.setByKeyPath(c,t,o)}i.push(t),s.push(c)}})),await(null==e.schema.primKey.keyPath?e.bulkPut(s,i):e.bulkPut(s))}function Mt(e){if(null==e?void 0:e.cancelled)throw new r.default.AbortError("Operation was cancelled")}let Ht=navigator.onLine;async function Vt(e,t,n,r){await e.$baseRevs.bulkPut(Object.keys(t).filter((e=>t[e].markedForSync)).map((e=>({tableName:e,clientRev:(n[e]||0)+1,serverRev:r}))))}function Kt(e,t={}){for(const{table:n,muts:r}of e){const e=r.length>0?r[r.length-1].rev:null;t[n]=e||t[n]||0}return t}self.addEventListener("online",(()=>Ht=!0)),self.addEventListener("offline",(()=>Ht=!1));function qt(e,t,n,r){return zt.apply(this,arguments).then((()=>{(null==r?void 0:r.justCheckIfNeeded)||e.syncStateChangedEvent.next({phase:"in-sync"})})).catch((async o=>(null==r?void 0:r.justCheckIfNeeded)?Promise.reject(o):(console.debug("Error from _sync",{isOnline:Ht,syncOptions:r,error:o}),Ht&&(null==r?void 0:r.retryImmediatelyOnFetchError)&&"TypeError"===(null==o?void 0:o.name)&&/fetch/.test(null==o?void 0:o.message)?(e.syncStateChangedEvent.next({phase:"error",error:o}),await new Promise((e=>setTimeout(e,500))),await qt(e,t,n,{...r,retryImmediatelyOnFetchError:!1})):(await e.$syncState.update("syncState",{timestamp:new Date,error:""+o}),e.syncStateChangedEvent.next({phase:Ht?"error":"offline",error:o}),Promise.reject(o)))))}async function zt(e,t,n,{isInitialSync:r,cancelToken:i,justCheckIfNeeded:s,purpose:a}={isInitialSync:!1}){var c;if(s||console.debug("SYNC STARTED",{isInitialSync:r,purpose:a}),!(null===(c=e.cloud.options)||void 0===c?void 0:c.databaseUrl))throw new Error("Internal error: sync must not be called when no databaseUrl is configured");const{databaseUrl:u}=t,l=await e.getCurrentUser(),d=l.isLoggedIn?Je(e):[],f=d.map((t=>e.table(Ye(t.name)))),h=await e.getPersistedSyncState(),p=!r&&l.isLoggedIn?function(e,t){const n=(null==t?void 0:t.syncedTables)||[];return Je(e).filter((e=>!n.includes(e.name)))}(e,h):[];Mt(i);const y=p.length>0;if(y){if(s)return!0;console.debug("sync doSyncify is true"),await e.transaction("rw",p,(async e=>{e.idbtrans.disableChangeTracking=!0,e.idbtrans.disableAccessControl=!0,await async function(e,t,n){const r=new Set(n||[]);for(const n of e)"members"===n.name?await n.toCollection().modify((e=>{r.has(e.realmId)||e.userId!==o.userId||(e.userId=t.userId)})):"roles"===n.name||("realms"===n.name?await n.toCollection().modify((e=>{(r.has(e.realmId)||e.owner)&&e.owner!==o.userId||(e.owner=t.userId)})):await n.toCollection().modify((e=>{e.realmId&&r.has(e.realmId)||(e.owner&&e.owner!==o.userId||(e.owner=t.userId),e.realmId&&e.realmId!==o.userId||(e.realmId=t.userId))})))}(p,l,null==h?void 0:h.realms)})),Mt(i)}const[b,v,m]=await e.transaction("r",e.tables,(async()=>{const t=await e.getPersistedSyncState(),r=await e.$baseRevs.toArray();let o=await Xe(f);if(Mt(i),y){const e=await async function(e,t,n,r){if(t.isLoggedIn&&e.length>0){const o=new Set(r||[]);return(await Promise.all(e.map((async e=>{const{extractKey:r}=e.core.schema.primaryKey;if(!r)return{table:e.name,muts:[]};const i=n[e.name],s=(null==i?void 0:i.generatedGlobalId)?e.filter((e=>!o.has(e.realmId||"")&&nt(r(e)))):e.filter((e=>{return!o.has(e.realmId||"")&&(t=r(e),!(n=null==i?void 0:i.idPrefix)||"string"==typeof t&&t.startsWith(n));var t,n})),a=await s.toArray();if(a.length>0){const n={type:"insert",values:a,keys:a.map(r),userId:t.userId};return{table:e.name,muts:[n]}}return{table:e.name,muts:[]}})))).filter((e=>e.muts.length>0))}return[]}(p,l,n,null==h?void 0:h.realms);return Mt(i),o=o.concat(e),[o,t,r]}return[o,t,r]})),g=b.some((e=>e.muts.some((e=>e.keys.length>0))));if(s)return console.debug("Sync is needed:",g),g;if("push"===a&&!g)return!1;const _=Kt(b,null==v?void 0:v.latestRevisions),w=(null==v?void 0:v.clientIdentity)||tt(16);Mt(i);const S=await Wt(b,v,m,e,u,n,w);console.debug("Sync response",S);return await e.transaction("rw",e.tables,(async t=>{t.idbtrans.disableChangeTracking=!0,t.idbtrans.disableAccessControl=!0;for(const e of Object.keys(n))S.schema[e]&&(n[e]=S.schema[e]);await e.$syncState.put(n,"schema");const r=await Xe(f,0,{since:_});for(const t of f){const n=Qe(t.name);if(r.some((e=>e.table===n&&e.muts.length>0))){if(_[t.name]){const r=_[t.name]||0;await Promise.all([t.where("rev").belowOrEqual(r).delete(),e.$baseRevs.where(":id").between([n,-1/0],[n,r+1],!0,!0).reverse().offset(1).delete()])}}else await Promise.all([t.clear(),e.$baseRevs.where({tableName:n}).delete()])}Kt(r,_),await Vt(e,n,_,S.serverRevision);const o=await e.getPersistedSyncState();await async function(e,t,n){const r=[],o=n?n.realms.concat(n.inviteRealms):[],i=new Set([...t.realms,...t.inviteRealms]);for(const e of o)i.has(e)||r.push(e);if(r.length>0){const t=new Set(r),n=Je(e);for(const e of n)e.schema.indexes.some((e=>"realmId"===e.keyPath||Array.isArray(e.keyPath)&&"realmId"===e.keyPath[0]))?await e.where("realmId").anyOf(r).delete():await e.filter((e=>!!(null==e?void 0:e.realmId)&&t.has(e.realmId))).delete()}}(e,S,o);const i=o||{syncedTables:[],latestRevisions:{},realms:[],inviteRealms:[],clientIdentity:w};i.syncedTables=d.map((e=>e.name)).concat(p.map((e=>e.name))),i.latestRevisions=_,i.remoteDbId=S.dbId,i.initiallySynced=!0,i.realms=S.realms,i.inviteRealms=S.inviteRealms,i.serverRevision=S.serverRevision,i.timestamp=new Date,delete i.error;const s=Jt(S.changes,r);return await Gt(s,e),e.$syncState.put(i,"syncState"),0===r.length}))?(console.debug("SYNC DONE",{isInitialSync:r}),!1):(console.debug("MORE SYNC NEEDED. Go for it again!"),await zt(e,t,n,{isInitialSync:r,cancelToken:i}))}async function Gt(e,t){console.debug("Applying server changes",e,r.default.currentTransaction);for(const{table:n,muts:o}of e){const e=t.table(n);if(!e)continue;const{primaryKey:i}=e.core.schema;for(const t of o)switch(t.type){case"insert":i.outbound?await e.bulkAdd(t.values,t.keys):(t.keys.forEach(((e,n)=>{r.default.setByKeyPath(t.values[n],i.keyPath,e)})),await e.bulkAdd(t.values));break;case"upsert":i.outbound?await e.bulkPut(t.values,t.keys):(t.keys.forEach(((e,n)=>{r.default.setByKeyPath(t.values[n],i.keyPath,e)})),await e.bulkPut(t.values));break;case"modify":1===t.keys.length?await e.update(t.keys[0],t.changeSpec):await e.where(":id").anyOf(t.keys).modify(t.changeSpec);break;case"update":await Ft(e,t.keys,t.changeSpecs);break;case"delete":await e.bulkDelete(t.keys)}}}function Jt(e,t){const n={};it(n,e);const r={};return it(r,t),function(e,t){var n,r,o;for(const[i,s]of Object.entries(t))for(const[t,a]of Object.entries(s))switch(a.type){case"ups":{const r=null===(n=e[i])||void 0===n?void 0:n[t];if(r)switch(r.type){case"ups":delete e[i][t];break;case"del":break;case"upd":delete e[i][t]}}break;case"del":null===(r=e[i])||void 0===r||delete r[t];break;case"upd":{const n=null===(o=e[i])||void 0===o?void 0:o[t];if(n)switch(n.type){case"ups":for(const[e,t]of Object.entries(a.mod))et(n.val,e,t);break;case"del":break;case"upd":for(const e of Object.keys(a.mod))delete n.mod[e]}break}}}(n,r),function(e){const t=tt(16),n={};for(const[t,r]of Object.entries(e))for(const[e,o]of Object.entries(r)){const r=n[t]||(n[t]={});(r[o.type]||(r[o.type]=[])).push(Object.assign({key:e},o))}const r=[];for(const[e,o]of Object.entries(n)){const n={table:e,muts:[]};for(const[e,r]of Object.entries(o))switch(e){case"ups":{const e={type:"upsert",keys:r.map((e=>e.key)),values:r.map((e=>e.val)),txid:t};n.muts.push(e);break}case"upd":{const e={type:"update",keys:r.map((e=>e.key)),changeSpecs:r.map((e=>e.mod)),txid:t};n.muts.push(e);break}case"del":{const e={type:"delete",keys:r.map((e=>e.key)),txid:t};n.muts.push(e);break}}r.push(n)}return r}(n)}function Yt(e){const n=[],o=new t.BehaviorSubject(!0),i=new t.BehaviorSubject(null);let s=!1,a=0,c=[0,0,0,0,0,0,0,0,0,Date.now()];return i.subscribe((async()=>{if(!s&&n.length>0){s=!0,c.shift(),c.push(Date.now()),o.next(!1);try{await async function(){var t,o,i;for(;n.length>0;){const s=n.shift();try{console.debug("processing msg",s),await e.cloud.syncState.pipe(Se((({phase:e})=>"in-sync"===e||"error"===e)),Ee(1)).toPromise(),console.debug("processing msg",s);const n=e.cloud.persistedSyncState.value;if(!s)continue;switch(s.type){case"token-expired":console.debug("WebSocket observable: Token expired. Refreshing token...");const a=e.cloud.currentUser.value,c=await dt(e.cloud.options.databaseUrl,a);await e.table("$logins").update(a.userId,{accessToken:c.accessToken,accessTokenExpiration:c.accessTokenExpiration});break;case"realm-added":(null===(t=null==n?void 0:n.realms)||void 0===t?void 0:t.includes(s.realm))||Ke(e,"pull");break;case"realm-removed":(null===(o=null==n?void 0:n.realms)||void 0===o?void 0:o.includes(s.realm))&&Ke(e,"pull");break;case"realms-changed":Ke(e,"pull");break;case"changes":if(console.debug("changes"),"error"===(null===(i=e.cloud.syncState.value)||void 0===i?void 0:i.phase)){Ke(e,"pull");break}await e.transaction("rw",e.dx.tables,(async t=>{t.idbtrans.disableChangeTracking=!0,t.idbtrans.disableAccessControl=!0;const[n,o,i]=await Promise.all([e.getSchema(),e.getPersistedSyncState(),e.getCurrentUser()]);if(console.debug("ws message queue: in transaction"),!o||!n||!i)return void console.debug("required vars not present",{syncState:o,schema:n,currentUser:i});if(s.baseRev!==o.serverRevision)return console.debug(`baseRev (${s.baseRev}) differs from our serverRevision in syncState (${o.serverRevision})`),void("string"!=typeof s.baseRev||"bigint"!=typeof o.serverRevision&&"object"!=typeof o.serverRevision||Ke(e,"pull"));const a=await r.default.waitFor(Ge(o));if(console.debug("ourRealmSetHash",a),a!==s.realmSetHash)return console.debug("not same realmSetHash",s.realmSetHash),void Ke(e,"pull");let c=[];if(i.isLoggedIn){const t=Je(e).map((t=>e.table(Ye(t.name))));c=await Xe(t),console.debug("msg queue: client changes",c)}if(s.changes.length>0){const t=Jt(s.changes,c);console.debug("applying filtered server changes",t),await Gt(t,e)}o.latestRevisions=Kt(c,o.latestRevisions),o.serverRevision=s.newRev,console.debug("Updating baseRefs",o.latestRevisions),await Vt(e,n,o.latestRevisions,s.newRev),console.debug("Updating syncState",o),await e.$syncState.put(o,"syncState")})),console.debug("msg queue: done with rw transaction")}}catch(e){console.error("Error in msg queue",e)}}}()}finally{c[c.length-1]-c[0]<1e4&&(Date.now()-a<5e3?(console.warn("Slowing down websocket loop for one minute"),a=Date.now()+6e4,await new Promise((e=>setTimeout(e,6e4)))):(console.warn("Slowing down websocket loop for 10 seconds"),a=Date.now()+1e4,await new Promise((e=>setTimeout(e,1e4))))),s=!1,o.next(!0)}}})),{enqueue:function(e){n.push(e),i.next(null)},readyToServe:o}}const Qt=new WeakMap,Xt={realms:"@realmId",members:"@id",roles:"[realmId+name]",$jobs:"",$syncState:"",$baseRevs:"[tableName+clientRev]",$logins:"claims.sub, lastLogin"};let Zt=0;function en(e){"vip"in e&&(e=e.vip);let n=Qt.get(e.cloud);if(!n){const r=new t.Subject;let i=new c(`syncstatechanged-${e.name}`);r.id=++Zt;let s=!1;n={get name(){return e.name},close:()=>e.close(),transaction:e.transaction.bind(e),table:e.table.bind(e),get tables(){return e.tables},cloud:e.cloud,get $jobs(){return e.table("$jobs")},get $syncState(){return e.table("$syncState")},get $baseRevs(){return e.table("$baseRevs")},get $logins(){return e.table("$logins")},get realms(){return e.realms},get members(){return e.members},get roles(){return e.roles},get initiallySynced(){return s},localSyncEvent:r,get syncStateChangedEvent(){return i},dx:e};const a={getCurrentUser:()=>n.$logins.toArray().then((e=>e.find((e=>e.isLoggedIn))||o)),getPersistedSyncState:()=>n.$syncState.get("syncState"),getSchema:()=>n.$syncState.get("schema"),getOptions:()=>n.$syncState.get("options"),setInitiallySynced(e){s=e},reconfigure(){i=new c(`syncstatechanged-${e.name}`)}};Object.assign(n,a),n.messageConsumer=Yt(n),Qt.set(e.cloud,n)}return n}const tn=new WeakMap;class nn{constructor(e,t){tn.set(this,e),Object.assign(this,t)}static load(e,t){return e.table("$logins").get(t).then((n=>new nn(e,n||{userId:t,claims:{sub:t},lastLogin:new Date(0)})))}async save(){tn.get(this).table("$logins").put(this)}}async function rn(e,t){if((await e.getCurrentUser()).isLoggedIn){if(t){if(t.email&&e.cloud.currentUser.value.email!==t.email)throw new Error("Must logout before changing user");if(t.userId&&e.cloud.currentUserId!==t.userId)throw new Error("Must logout before changing user")}return}const n=new nn(e,{claims:{},lastLogin:new Date(0)});await lt(e.cloud.options.databaseUrl,n,e.cloud.options.fetchTokens||function(e){const{userInteraction:t}=e.cloud;return async function({public_key:n,hints:r}){var o;let i;const s=null===(o=e.cloud.options)||void 0===o?void 0:o.databaseUrl;if(!s)throw new Error("No database URL given.");i="demo"===(null==r?void 0:r.grant_type)?{demo_user:await ct(t,"Enter a demo user email",(null==r?void 0:r.email)||(null==r?void 0:r.userId)),grant_type:"demo",scopes:["ACCESS_DB"],public_key:n}:{email:await ct(t,"Enter email address",null==r?void 0:r.email),grant_type:"otp",scopes:["ACCESS_DB"],public_key:n};const a=await fetch(`${s}/token`,{body:JSON.stringify(i),method:"post",headers:{"Content-Type":"application/json",mode:"cors"}});if(200!==a.status){const e=await a.text();throw await at(t,"Token request failed",{type:"error",messageCode:"GENERIC_ERROR",message:e,messageParams:{}}).catch((()=>{})),new Bt(a,e)}const c=await a.json();if("tokens"===c.type)return c;if("otp"===i.grant_type){if("otp-sent"!==c.type)throw new Error(`Unexpected response from ${s}/token`);const e=await ut(t,i.email);i.otp=e||"",i.otp_id=c.otp_id;let n=await fetch(`${s}/token`,{body:JSON.stringify(i),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"});for(;401===n.status;){const e=await n.text();i.otp=await ut(t,i.email,{type:"error",messageCode:"INVALID_OTP",message:e,messageParams:{}}),n=await fetch(`${s}/token`,{body:JSON.stringify(i),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"})}if(200!==n.status){const e=await n.text();throw await at(t,"OTP Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:e,messageParams:{}}).catch((()=>{})),new Bt(n,e)}return await n.json()}throw new Error(`Unexpected response from ${s}/token`)}}(e),e.cloud.userInteraction,t),await n.save(),await async function(e,t){if(t.userId===e.cloud.currentUserId)return;const n=e.table("$logins");await e.transaction("rw",n,(async e=>{const r=await n.toArray();await Promise.all(r.filter((e=>e.userId!==t.userId&&e.isLoggedIn)).map((e=>(e.isLoggedIn=!1,n.put(e))))),t.isLoggedIn=!0,t.lastLogin=new Date,await t.save(),console.debug("Saved new user",t.email)})),await new Promise((n=>{if(e.cloud.currentUserId===t.userId)n(null);else{const r=e.cloud.currentUser.subscribe((e=>{e.userId===t.userId&&(r.unsubscribe(),n(null))}))}}))}(e,n),Ke(e,"pull")}const on="undefined"!=typeof InstallTrigger,sn="undefined"!=typeof navigator&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\/|Edge\//.test(navigator.userAgent),an=sn?[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]:NaN,cn=sn&&an<=605||on;const un="undefined"!=typeof self&&"clients"in self&&!self.document;function ln(){throw new r.default.SchemaError("Version increment needed to allow dexie-cloud change tracking")}const{toString:dn}={};function fn(e){return dn.call(e).slice(8,-1)}function hn(e,t){var n;return"delete"===t.type?t.keys:(null===(n=t.keys)||void 0===n?void 0:n.slice())||t.values.map(e.extractKey)}const pn=/b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|x|y|z/i;let yn=0;function bn(e){return{stack:"dbcore",name:"idGenerationMiddleware",level:1,create:t=>({...t,table:n=>{const o=t.table(n);function i(t,i){let s=null;const a=hn(o.schema.primaryKey,t);return a.forEach(((c,u)=>{if(void 0===c){const n=t.values[u].realmId||e.cloud.currentUserId,c=n.substr(n.length-3);a[u]=function(e,t){const n=new Uint8Array(18),r=new Uint8Array(n.buffer,0,6),o=Date.now();yn>=o?++yn:yn=o,r[0]=yn/1099511627776,r[1]=yn/4294967296,r[2]=yn/16777216,r[3]=yn/65536,r[4]=yn/256,r[5]=yn;const i=new Uint8Array(n.buffer,6);return crypto.getRandomValues(i),e+kt(new Uint8Array(n.buffer))+(t||"")}(i,c),o.schema.primaryKey.outbound||(s||(s=t.values.slice()),s[u]=r.default.deepClone(s[u]),r.default.setByKeyPath(s[u],o.schema.primaryKey.keyPath,a[u]))}else if("string"!=typeof c||!c.startsWith(i))throw new r.default.ConstraintError(`The ID "${c}" is not valid for table "${n}". Primary '@' keys requires the key to be prefixed with "${i}.\n"If you want to generate IDs programmatically, remove '@' from the schema to get rid of this constraint. Dexie Cloud supports custom IDs as long as they are random and globally unique.`)})),o.mutate({...t,keys:a,values:s||t.values})}return{...o,mutate:t=>{var s,a;if(t.trans.disableChangeTracking)return o.mutate(t);if("add"===t.type||"put"===t.type){const c=null===(s=e.cloud.schema)||void 0===s?void 0:s[n];if(null==c?void 0:c.generatedGlobalId){if((null===(a=e.cloud.options)||void 0===a?void 0:a.databaseUrl)&&!e.initiallySynced){const e=hn(o.schema.primaryKey,t);return o.getMany({keys:e,trans:t.trans,cache:"immutable"}).then((n=>{if(n.length<e.length)throw new Error("Unable to create new objects without an initial sync having been performed.");return o.mutate(t)}))}return i(t,c.idPrefix)}if(null==c?void 0:c.markedForSync){hn(o.schema.primaryKey,t).forEach(((e,t)=>{if(!nt(e)){const t=Array.isArray(e)?e.map(fn).join(","):fn(e);throw new r.default.ConstraintError(`Invalid primary key type ${t} for table ${n}. Tables marked for sync has primary keys of type string or Array of string (and optional numbers)`)}}))}}return o.mutate(t)}}}})}}function vn(e){const t=new Uint8Array(e);return crypto.getRandomValues(t),btoa(String.fromCharCode.apply(null,t))}let mn=0;function gn(e,t){return function(n){const{readers:r,writers:o}=n.trans[t]||(n.trans[t]={writers:[],readers:[]}),i=o.length,s=(i>0?o[i-1].then((()=>e(n)),(()=>e(n))):e(n)).finally((()=>r.splice(r.indexOf(s))));return r.push(s),s}}function _n(e,t){return function(n){const{readers:r,writers:o}=n.trans[t]||(n.trans[t]={writers:[],readers:[]});let i=(o.length>0?o[o.length-1].then((()=>e(n)),(()=>e(n))):r.length>0?(s=r,new Promise((e=>{0===s.length&&e([]);let t=s.length;const n=new Array(t);s.forEach(((r,o)=>Promise.resolve(r).then((e=>n[o]={status:"fulfilled",value:e}),(e=>n[o]={status:"rejected",reason:e})).then((()=>--t||e(n)))))}))).then((()=>e(n))):e(n)).finally((()=>o.shift()));var s;return o.push(i),i}}const wn=new t.BehaviorSubject(new Set);function Sn({currentUserObservable:e,db:t}){return{stack:"dbcore",name:"MutationTrackingMiddleware",level:1,create:n=>{const r=n.schema.tables.filter((e=>!/^\$/.test(e.name)));let o;try{o=new Map(r.map((e=>[e.name,n.table(`$${e.name}_mutations`)])))}catch(e){ln()}return{...n,transaction:(r,o)=>{let i;if("readwrite"===o){const e=r.filter((e=>{var n,r;return null===(r=null===(n=t.cloud.schema)||void 0===n?void 0:n[e])||void 0===r?void 0:r.markedForSync})).map((e=>Ye(e)));i=n.transaction([...r,...e],o)}else i=n.transaction(r,o);if("readwrite"===o){i.txid=vn(16),i.currentUser=e.value,wn.value.add(i),wn.next(wn.value);const n=()=>{i.removeEventListener("complete",r),i.removeEventListener("error",n),i.removeEventListener("abort",n),wn.value.delete(i),wn.next(wn.value)},r=()=>{var e;i.mutationsAdded&&(null===(e=t.cloud.options)||void 0===e?void 0:e.databaseUrl)&&(t.cloud.usingServiceWorker?(console.debug("registering sync event"),Ve(t,"push")):t.localSyncEvent.next({purpose:"push"})),n()};i.addEventListener("complete",r),i.addEventListener("error",n),i.addEventListener("abort",n)}return i},table:e=>{const t=n.table(e);if(/^\$/.test(e))return e.endsWith("_mutations")?{...t,mutate:e=>("add"!==e.type&&"put"!==e.type||(e.trans.mutationsAdded=!0),t.mutate(e))}:"$logins"===e?{...t,mutate:e=>(console.debug("Mutating $logins table",e),t.mutate(e).then((t=>(console.debug("Mutating $logins"),e.trans.mutationsAdded=!0,console.debug("$logins mutated"),t))).catch((e=>(console.debug("Failed mutation $logins",e),Promise.reject(e)))))}:t;const{schema:r}=t,i=o.get(e);return function(e){const t="$lock"+ ++mn;return{...e,count:gn(e.count,t),get:gn(e.get,t),getMany:gn(e.getMany,t),openCursor:gn(e.openCursor,t),query:gn(e.query,t),mutate:_n(e.mutate,t)}}({...t,mutate:e=>{var n;const o=e.trans;return o.txid?o.disableChangeTracking?t.mutate(e):(null===(n=o.currentUser)||void 0===n?void 0:n.isLoggedIn)?"deleteRange"===e.type?t.query({query:{range:e.range,index:r.primaryKey},trans:e.trans,values:!1}).then((t=>s({type:"delete",keys:t.result,trans:e.trans,criteria:{index:null,range:e.range}}))):s(e):t.mutate(e):t.mutate(e)}});function s(e){const n=e.trans;n.mutationsAdded=!0;const{txid:r,currentUser:{userId:o}}=n,{type:s}=e;return t.mutate(e).then((t=>{const{numFailures:a,failures:c}=t;let u="delete"===s?e.keys:t.results,l="values"in e?e.values:[],d="changeSpecs"in e?e.changeSpecs:[];a&&(u=u.filter(((e,t)=>!c[t])),l=l.filter(((e,t)=>!c[t])),d=d.filter(((e,t)=>!c[t])));const f=Date.now(),h="delete"===e.type?{type:"delete",ts:f,keys:u,criteria:e.criteria,txid:r,userId:o}:"add"===e.type?{type:"insert",ts:f,keys:u,txid:r,userId:o,values:l}:e.criteria&&e.changeSpec?{type:"modify",ts:f,keys:u,criteria:e.criteria,changeSpec:e.changeSpec,txid:r,userId:o}:e.changeSpecs?{type:"update",ts:f,keys:u,changeSpecs:d,txid:r,userId:o}:{type:"upsert",ts:f,keys:u,values:l,txid:r,userId:o};return u.length>0||"criteria"in e&&e.criteria?i.mutate({type:"add",trans:n,values:[h]}).then((()=>t)):t}))}}}}}}function kn(e,t){return function(n,r){const o={...Xt,...n},i=t.cloud.schema||(t.cloud.schema={}),s=new Set;Object.keys(o).forEach((e=>{const t=o[e],n=i[e]||(i[e]={});null!=t?(/^\@/.test(t)&&(o[e]=o[e].substr(1),n.generatedGlobalId=!0,n.idPrefix=function(e,t){let n=e[0].toLocaleLowerCase();for(let t=1,o=e.length;t<o&&n.length<3;++t)(pn.test(e[t])||(r=e[t])>="A"&&r<="Z")&&(n+=e[t].toLowerCase());for(var r,o,i;t.has(n);){if(/\d/g.test(n)){if(n=n.substr(0,n.length-1)+(n[n.length-1]+1),!(n.length>3))continue;n=n.substr(0,3)}else if(n.length<3){n+="2";continue}let e=1,r=n;for(;t.has(r)&&e<8;)o=n,r=(1&(i=e)?o[0].toUpperCase():o[0].toLowerCase())+(2&i?o[1].toUpperCase():o[1].toLowerCase())+(4&i?o[2].toUpperCase():o[2].toLowerCase()),++e;if(e<8)n=r;else{let e=n.charCodeAt(2)+1&127;n=n.substr(0,2)+String.fromCharCode(e)}}return n}(e,s),s.add(n.idPrefix)),/^\$/.test(e)||(o[`$${e}_mutations`]="++rev",n.markedForSync=!0),n.deleted&&(n.deleted=!1)):(n.deleted=!0,n.markedForSync=!1,o[`$${e}_mutations`]=null)}));return e.call(this,o,r)}}const xn=vn(16);async function En(n,r,o,i,{awaitRemoteJob:s}={}){const a=n.table(o);if(await async function i(){if(await n.transaction("rw!",o,(async()=>{const e=await a.get(r);return e?e.heartbeat.getTime()<Date.now()-6e4&&(console.warn(`Latest ${r} worker seem to have died.\n`,"The dead job started:",e.started,"\n","Last heart beat was:",e.heartbeat,"\n","We're now taking over!"),await a.put({nodeId:xn,started:new Date,heartbeat:new Date},r),!0):(await a.add({nodeId:xn,started:new Date,heartbeat:new Date},r),!0)})))return!0;if(s)try{const n=t.from(e.liveQuery((()=>a.get(r)))).pipe(Me(6e4),Se((e=>!e)));return await n.toPromise(),!1}catch(e){if("TimeoutError"!==e.name)throw e;return await i()}return!1}()){const e=setInterval((()=>{a.update(r,(e=>e.nodeId===xn&&(e.heartbeat=new Date)))}),1e3);try{return await i()}finally{clearInterval(e),await n.transaction("rw!",o,(async()=>{const e=await a.get(r);e&&e.nodeId===xn&&a.delete(r)}))}}}const In=new t.BehaviorSubject(!0),Tn=new t.BehaviorSubject(!0);var Cn,An;In.pipe(Ue((e=>e?t.of(!0):t.of(!1).pipe(ye(2e4)))),(function(e){return e.lift(new ge(Cn,An))})).subscribe(Tn);const Pn="undefined"!=typeof document?t.fromEvent(document,"visibilitychange"):t.of({}),On=Pn.pipe(Se((()=>"hidden"===document.visibilityState))),Un=Pn.pipe(Se((()=>"visible"===document.visibilityState))),Dn="undefined"!=typeof window?t.merge(Un,t.fromEvent(window,"mousemove"),t.fromEvent(window,"keydown"),t.fromEvent(window,"wheel"),t.fromEvent(window,"touchmove")):t.of({});"undefined"!=typeof document&&t.merge(t.of(!0),On,Dn).pipe(Y((()=>"visible"===document.visibilityState)),je((e=>{In.value!==e&&In.next(e)})),Ue((e=>e?t.of(0).pipe(ye(28e4),je((()=>In.next(!1)))):t.of(0)))).subscribe((()=>{}));class $n extends Error{constructor(){super(...arguments),this.name="TokenExpiredError"}}class Nn extends t.Observable{constructor(e,t,n,r,o,i,s,a){super((c=>new Rn(e,t,n,r,s,a,c,o,i)))}}let jn=0;class Rn extends t.Subscription{constructor(e,t,n,r,o,i,s,a,c){super((()=>this.teardown())),this.id=++jn,console.debug("New WebSocket Connection",this.id,o?"authorized":"unauthorized"),this.databaseUrl=e,this.rev=t,this.realmSetHash=n,this.clientIdentity=r,this.token=o,this.tokenExpiration=i,this.subscriber=s,this.lastUserActivity=new Date,this.messageProducer=a,this.messageProducerSubscription=null,this.webSocketStatus=c,this.connect()}teardown(){console.debug("Teardown WebSocket Connection",this.id),this.disconnect()}disconnect(){if(this.webSocketStatus.next("disconnected"),this.pinger&&(clearInterval(this.pinger),this.pinger=null),this.ws)try{this.ws.close()}catch(e){}this.ws=null,this.messageProducerSubscription&&(this.messageProducerSubscription.unsubscribe(),this.messageProducerSubscription=null)}reconnect(){this.disconnect(),this.connect()}async connect(){if(this.webSocketStatus.next("connecting"),this.lastServerActivity=new Date,this.pauseUntil&&this.pauseUntil>new Date)return void console.debug("WS not reconnecting just yet",{id:this.id,pauseUntil:this.pauseUntil});if(this.ws)throw new Error("Called connect() when a connection is already open");if(!this.databaseUrl)throw new Error("Cannot connect without a database URL");if(this.closed)return;if(this.tokenExpiration&&this.tokenExpiration<new Date)return void this.subscriber.error(new $n);this.pinger=setInterval((async()=>{if(this.closed)return console.debug("pinger check",this.id,"CLOSED."),void this.teardown();if(this.ws)try{this.ws.send(JSON.stringify({type:"ping"})),setTimeout((()=>{if(console.debug("pinger setTimeout",this.id,this.pinger?"alive":"dead"),this.pinger)return this.closed?(console.debug("pinger setTimeout",this.id,"subscription is closed"),void this.teardown()):void(this.lastServerActivity<new Date(Date.now()-2e4)?(console.debug("pinger: server is inactive"),console.debug("pinger reconnecting"),this.reconnect()):console.debug("pinger: server still active"))}),2e4)}catch(e){console.debug("pinger catch error",this.id,"reconnecting"),this.reconnect()}else console.debug("pinger",this.id,"reconnecting"),this.reconnect()}),3e4);const e=new URL(this.databaseUrl);e.protocol="http:"===e.protocol?"ws":"wss";const t=new URLSearchParams;if(this.subscriber.closed)return;t.set("v","2"),t.set("rev",this.rev),t.set("realmsHash",this.realmSetHash),t.set("clientId",this.clientIdentity),this.token&&t.set("token",this.token),console.debug("dexie-cloud WebSocket create");const n=this.ws=new WebSocket(`${e}/changes?${t}`);n.onclose=e=>{this.pinger&&(console.debug("dexie-cloud WebSocket onclosed",this.id),this.reconnect())},n.onmessage=e=>{if(this.pinger){console.debug("dexie-cloud WebSocket onmessage",e.data),this.lastServerActivity=new Date;try{const t=Rt.parse(e.data);if("error"===t.type)throw new Error(`Error message from dexie-cloud: ${t.error}`);"rev"===t.type&&(this.rev=t.rev),"pong"!==t.type&&this.subscriber.next(t)}catch(e){this.subscriber.error(e)}}};try{await new Promise(((e,t)=>{n.onopen=t=>{console.debug("dexie-cloud WebSocket onopen"),e(null)},n.onerror=e=>{const n=e.error||new Error("WebSocket Error");this.disconnect(),this.subscriber.error(n),this.webSocketStatus.next("error"),t(n)}})),this.messageProducerSubscription=this.messageProducer.subscribe((e=>{var t;this.closed||("ready"===e.type&&"connected"!==this.webSocketStatus.value&&this.webSocketStatus.next("connected"),null===(t=this.ws)||void 0===t||t.send(Rt.stringify(e)))}))}catch(e){this.pauseUntil=new Date(Date.now()+6e4)}}}async function Ln(e){var t;console.error("WebSocket observable: error but revive when user does some active thing...",e),await(t=3e3,new Promise((e=>setTimeout(e,t)))),console.debug("waiting for someone to do something"),await Dn.pipe(Ee(1)).toPromise(),console.debug("someone did something!")}async function Bn(e){var t;return!(!(null===(t=e.cloud.options)||void 0===t?void 0:t.databaseUrl)||!e.cloud.schema)&&await qt(e,e.cloud.options,e.cloud.schema,{justCheckIfNeeded:!0})}const Wn=new WeakMap;function Fn(e,t,n,r){const o=Wn.get(e);if(o){if(o.pull||"push"===(null==r?void 0:r.purpose))return console.debug("syncIfPossible(): returning the ongoing sync promise."),o.promise;{let i=!1;const s=e.cloud.syncState.subscribe((e=>{"pulling"===e.phase&&(i=!0)}));return o.promise.then((()=>{s.unsubscribe()})).catch((e=>(s.unsubscribe(),Promise.reject(e)))).then((()=>{if(!i)return Fn(e,t,n,r)}))}}const i=async function(){try{e.cloud.usingServiceWorker?un&&await qt(e,t,n,r):await En(e,"currentSyncWorker","$jobs",(()=>qt(e,t,n,r))),Wn.delete(e),console.debug("Done sync")}catch(t){throw Wn.delete(e),console.error("Failed to sync client changes",t),t}}();return Wn.set(e,{promise:i,pull:"push"!==(null==r?void 0:r.purpose)}),i}function Mn(e,t,n){let r=null,o={cancelled:!1};function i(r,a=1){setTimeout((()=>{Fn(e,t,n,{cancelToken:o,retryImmediatelyOnFetchError:!0,purpose:r}).catch((e=>{console.error("error in syncIfPossible()",e),o.cancelled?s():a<3&&setTimeout((()=>i(r,a+1)),6e4*[0,5,15][a])}))}),0)}const s=()=>{console.debug("Stopping LocalSyncWorker"),o.cancelled=!0,r&&r.unsubscribe()};return{start:()=>{console.debug("Starting LocalSyncWorker",e.localSyncEvent.id),r=e.localSyncEvent.subscribe((({purpose:e})=>{try{i(e||"pull")}catch(e){console.error("What-the....",e)}}))},stop:s}}function Hn(e,t){if(e&&t&&t.unsyncedTables)for(const n of t.unsyncedTables)e[n]&&(e[n].markedForSync=!1)}var Vn,Kn,qn,zn,Gn={},Jn=[],Yn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Qn(e,t){for(var n in t)e[n]=t[n];return e}function Xn(e){var t=e.parentNode;t&&t.removeChild(e)}function Zn(e,t,n){var r,o,i,s=arguments,a={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:a[i]=t[i];if(arguments.length>3)for(n=[n],i=3;i<arguments.length;i++)n.push(s[i]);if(null!=n&&(a.children=n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===a[i]&&(a[i]=e.defaultProps[i]);return er(e,a,r,o,null)}function er(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++Vn.__v:o};return null!=Vn.vnode&&Vn.vnode(i),i}function tr(e){return e.children}function nr(e,t){this.props=e,this.context=t}function rr(e,t){if(null==t)return e.__?rr(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?rr(e):null}function or(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return or(e)}}function ir(e){(!e.__d&&(e.__d=!0)&&Kn.push(e)&&!sr.__r++||zn!==Vn.debounceRendering)&&((zn=Vn.debounceRendering)||qn)(sr)}function sr(){for(var e;sr.__r=Kn.length;)e=Kn.sort((function(e,t){return e.__v.__b-t.__v.__b})),Kn=[],e.some((function(e){var t,n,r,o,i,s;e.__d&&(i=(o=(t=e).__v).__e,(s=t.__P)&&(n=[],(r=Qn({},o)).__v=o.__v+1,pr(s,o,r,t.__n,void 0!==s.ownerSVGElement,null!=o.__h?[i]:null,n,null==i?rr(o):i,o.__h),yr(n,o),o.__e!=i&&or(o)))}))}function ar(e,t,n,r,o,i,s,a,c,u){var l,d,f,h,p,y,b,v=r&&r.__k||Jn,m=v.length;for(n.__k=[],l=0;l<t.length;l++)if(null!=(h=n.__k[l]=null==(h=t[l])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h||"bigint"==typeof h?er(null,h,null,null,h):Array.isArray(h)?er(tr,{children:h},null,null,null):h.__b>0?er(h.type,h.props,h.key,null,h.__v):h)){if(h.__=n,h.__b=n.__b+1,null===(f=v[l])||f&&h.key==f.key&&h.type===f.type)v[l]=void 0;else for(d=0;d<m;d++){if((f=v[d])&&h.key==f.key&&h.type===f.type){v[d]=void 0;break}f=null}pr(e,h,f=f||Gn,o,i,s,a,c,u),p=h.__e,(d=h.ref)&&f.ref!=d&&(b||(b=[]),f.ref&&b.push(f.ref,null,h),b.push(d,h.__c||p,h)),null!=p?(null==y&&(y=p),"function"==typeof h.type&&null!=h.__k&&h.__k===f.__k?h.__d=c=cr(h,c,e):c=ur(e,h,f,v,p,c),u||"option"!==n.type?"function"==typeof n.type&&(n.__d=c):e.value=""):c&&f.__e==c&&c.parentNode!=e&&(c=rr(f))}for(n.__e=y,l=m;l--;)null!=v[l]&&("function"==typeof n.type&&null!=v[l].__e&&v[l].__e==n.__d&&(n.__d=rr(r,l+1)),mr(v[l],v[l]));if(b)for(l=0;l<b.length;l++)vr(b[l],b[++l],b[++l])}function cr(e,t,n){var r,o;for(r=0;r<e.__k.length;r++)(o=e.__k[r])&&(o.__=e,t="function"==typeof o.type?cr(o,t,n):ur(n,o,o,e.__k,o.__e,t));return t}function ur(e,t,n,r,o,i){var s,a,c;if(void 0!==t.__d)s=t.__d,t.__d=void 0;else if(null==n||o!=i||null==o.parentNode)e:if(null==i||i.parentNode!==e)e.appendChild(o),s=null;else{for(a=i,c=0;(a=a.nextSibling)&&c<r.length;c+=2)if(a==o)break e;e.insertBefore(o,i),s=i}return void 0!==s?s:o.nextSibling}function lr(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||Yn.test(t)?n:n+"px"}function dr(e,t,n,r,o){var i;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||lr(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||lr(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])i=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?r||e.addEventListener(t,i?hr:fr,i):e.removeEventListener(t,i?hr:fr,i);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function fr(e){this.l[e.type+!1](Vn.event?Vn.event(e):e)}function hr(e){this.l[e.type+!0](Vn.event?Vn.event(e):e)}function pr(e,t,n,r,o,i,s,a,c){var u,l,d,f,h,p,y,b,v,m,g,_=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,a=t.__e=n.__e,t.__h=null,i=[a]),(u=Vn.__b)&&u(t);try{e:if("function"==typeof _){if(b=t.props,v=(u=_.contextType)&&r[u.__c],m=u?v?v.props.value:u.__:r,n.__c?y=(l=t.__c=n.__c).__=l.__E:("prototype"in _&&_.prototype.render?t.__c=l=new _(b,m):(t.__c=l=new nr(b,m),l.constructor=_,l.render=gr),v&&v.sub(l),l.props=b,l.state||(l.state={}),l.context=m,l.__n=r,d=l.__d=!0,l.__h=[]),null==l.__s&&(l.__s=l.state),null!=_.getDerivedStateFromProps&&(l.__s==l.state&&(l.__s=Qn({},l.__s)),Qn(l.__s,_.getDerivedStateFromProps(b,l.__s))),f=l.props,h=l.state,d)null==_.getDerivedStateFromProps&&null!=l.componentWillMount&&l.componentWillMount(),null!=l.componentDidMount&&l.__h.push(l.componentDidMount);else{if(null==_.getDerivedStateFromProps&&b!==f&&null!=l.componentWillReceiveProps&&l.componentWillReceiveProps(b,m),!l.__e&&null!=l.shouldComponentUpdate&&!1===l.shouldComponentUpdate(b,l.__s,m)||t.__v===n.__v){l.props=b,l.state=l.__s,t.__v!==n.__v&&(l.__d=!1),l.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),l.__h.length&&s.push(l);break e}null!=l.componentWillUpdate&&l.componentWillUpdate(b,l.__s,m),null!=l.componentDidUpdate&&l.__h.push((function(){l.componentDidUpdate(f,h,p)}))}l.context=m,l.props=b,l.state=l.__s,(u=Vn.__r)&&u(t),l.__d=!1,l.__v=t,l.__P=e,u=l.render(l.props,l.state,l.context),l.state=l.__s,null!=l.getChildContext&&(r=Qn(Qn({},r),l.getChildContext())),d||null==l.getSnapshotBeforeUpdate||(p=l.getSnapshotBeforeUpdate(f,h)),g=null!=u&&u.type===tr&&null==u.key?u.props.children:u,ar(e,Array.isArray(g)?g:[g],t,n,r,o,i,s,a,c),l.base=t.__e,t.__h=null,l.__h.length&&s.push(l),y&&(l.__E=l.__=null),l.__e=!1}else null==i&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=br(n.__e,t,n,r,o,i,s,c);(u=Vn.diffed)&&u(t)}catch(e){t.__v=null,(c||null!=i)&&(t.__e=a,t.__h=!!c,i[i.indexOf(a)]=null),Vn.__e(e,t,n)}}function yr(e,t){Vn.__c&&Vn.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){Vn.__e(e,t.__v)}}))}function br(e,t,n,r,o,i,s,a){var c,u,l,d,f=n.props,h=t.props,p=t.type,y=0;if("svg"===p&&(o=!0),null!=i)for(;y<i.length;y++)if((c=i[y])&&(c===e||(p?c.localName==p:3==c.nodeType))){e=c,i[y]=null;break}if(null==e){if(null===p)return document.createTextNode(h);e=o?document.createElementNS("http://www.w3.org/2000/svg",p):document.createElement(p,h.is&&h),i=null,a=!1}if(null===p)f===h||a&&e.data===h||(e.data=h);else{if(i=i&&Jn.slice.call(e.childNodes),u=(f=n.props||Gn).dangerouslySetInnerHTML,l=h.dangerouslySetInnerHTML,!a){if(null!=i)for(f={},d=0;d<e.attributes.length;d++)f[e.attributes[d].name]=e.attributes[d].value;(l||u)&&(l&&(u&&l.__html==u.__html||l.__html===e.innerHTML)||(e.innerHTML=l&&l.__html||""))}if(function(e,t,n,r,o){var i;for(i in n)"children"===i||"key"===i||i in t||dr(e,i,null,n[i],r);for(i in t)o&&"function"!=typeof t[i]||"children"===i||"key"===i||"value"===i||"checked"===i||n[i]===t[i]||dr(e,i,t[i],n[i],r)}(e,h,f,o,a),l)t.__k=[];else if(y=t.props.children,ar(e,Array.isArray(y)?y:[y],t,n,r,o&&"foreignObject"!==p,i,s,e.firstChild,a),null!=i)for(y=i.length;y--;)null!=i[y]&&Xn(i[y]);a||("value"in h&&void 0!==(y=h.value)&&(y!==e.value||"progress"===p&&!y)&&dr(e,"value",y,f.value,!1),"checked"in h&&void 0!==(y=h.checked)&&y!==e.checked&&dr(e,"checked",y,f.checked,!1))}return e}function vr(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){Vn.__e(e,n)}}function mr(e,t,n){var r,o,i;if(Vn.unmount&&Vn.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||vr(r,null,t)),n||"function"==typeof e.type||(n=null!=(o=e.__e)),e.__e=e.__d=void 0,null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){Vn.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&mr(r[i],t,n);null!=o&&Xn(o)}function gr(e,t,n){return this.constructor(e,n)}Vn={__e:function(e,t){for(var n,r,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),o=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),o=n.__d),o)return n.__E=n}catch(t){e=t}throw e},__v:0},nr.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=Qn({},this.state),"function"==typeof e&&(e=e(Qn({},n),this.props)),e&&Qn(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),ir(this))},nr.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ir(this))},nr.prototype.render=tr,Kn=[],qn="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,sr.__r=0;const _r={Error:{color:"red"},Alert:{error:{color:"red"},warning:{color:"yellow"},info:{color:"black"}},Darken:{position:"fixed",top:0,left:0,opacity:.5,backgroundColor:"#000",width:"100vw",height:"100vh",zIndex:150,webkitBackdropFilter:"blur(2px)",backdropFilter:"blur(2px)"},DialogOuter:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:150,alignItems:"center",display:"flex",justifyContent:"center"},DialogInner:{position:"relative",color:"#222",backgroundColor:"#fff",padding:"30px",marginBottom:"2em",maxWidth:"90%",maxHeight:"90%",overflowY:"auto",border:"3px solid #3d3d5d",borderRadius:"8px",boxShadow:"0 0 80px 10px #666",width:"auto"},Input:{height:"35px",width:"17em",borderColor:"#ccf4",outline:"none",fontSize:"17pt",padding:"8px"}};function wr({children:e}){return Zn("div",null,Zn("div",{style:_r.Darken}),Zn("div",{style:_r.DialogOuter},Zn("div",{style:_r.DialogInner},e)))}var Sr,kr,xr,Er=0,Ir=[],Tr=Vn.__b,Cr=Vn.__r,Ar=Vn.diffed,Pr=Vn.__c,Or=Vn.unmount;function Ur(e,t){Vn.__h&&Vn.__h(kr,e,Er||t),Er=0;var n=kr.__H||(kr.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Dr(e){return Er=1,function(e,t,n){var r=Ur(Sr++,2);return r.t=e,r.__c||(r.__=[n?n(t):Wr(void 0,t),function(e){var t=r.t(r.__[0],e);r.__[0]!==t&&(r.__=[t,r.__[1]],r.__c.setState({}))}],r.__c=kr),r.__}(Wr,e)}function $r(e){return Er=5,function(e,t){var n=Ur(Sr++,7);return Br(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}((function(){return{current:e}}),[])}function Nr(){Ir.forEach((function(e){if(e.__P)try{e.__H.__h.forEach(Rr),e.__H.__h.forEach(Lr),e.__H.__h=[]}catch(t){e.__H.__h=[],Vn.__e(t,e.__v)}})),Ir=[]}Vn.__b=function(e){kr=null,Tr&&Tr(e)},Vn.__r=function(e){Cr&&Cr(e),Sr=0;var t=(kr=e.__c).__H;t&&(t.__h.forEach(Rr),t.__h.forEach(Lr),t.__h=[])},Vn.diffed=function(e){Ar&&Ar(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==Ir.push(t)&&xr===Vn.requestAnimationFrame||((xr=Vn.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),jr&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);jr&&(t=requestAnimationFrame(n))})(Nr)),kr=void 0},Vn.__c=function(e,t){t.some((function(e){try{e.__h.forEach(Rr),e.__h=e.__h.filter((function(e){return!e.__||Lr(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],Vn.__e(n,e.__v)}})),Pr&&Pr(e,t)},Vn.unmount=function(e){Or&&Or(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(Rr)}catch(e){Vn.__e(e,t.__v)}};var jr="function"==typeof requestAnimationFrame;function Rr(e){var t=kr;"function"==typeof e.__c&&e.__c(),kr=t}function Lr(e){var t=kr;e.__c=e.__(),kr=t}function Br(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function Wr(e,t){return"function"==typeof t?t(e):t}function Fr({title:e,alerts:t,fields:n,onCancel:r,onSubmit:o}){const[i,s]=Dr({}),a=$r();return function(e,t){var n=Ur(Sr++,4);!Vn.__s&&Br(n.__H,t)&&(n.__=e,n.__H=t,kr.__h.push(n))}((()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.focus()}),[]),Zn(wr,null,Zn(tr,null,Zn("h3",{style:_r.WindowHeader},e),t.map((e=>Zn("p",{style:_r.Alert[e.type]},function({message:e,messageCode:t,messageParams:n}){return e.replace(/\{\w+\}/gi,(e=>n[e.substr(1,e.length-2)]))}(e)))),Zn("form",{onSubmit:e=>{e.preventDefault(),o(i)}},Object.entries(n).map((([e,{type:t,label:n,placeholder:r}],o)=>Zn("label",{style:_r.Label},n?`${n}: `:"",Zn("input",{ref:0===o?a:void 0,type:t,name:e,autoComplete:"on",style:_r.Input,autoFocus:!0,placeholder:r,value:i[e]||"",onInput:n=>{var r;return s({...i,[e]:Mr(t,null===(r=n.target)||void 0===r?void 0:r.value)})}})))))),Zn("div",{style:_r.ButtonsDiv},Zn("button",{type:"submit",style:_r.Button,onClick:()=>o(i)},"Submit"),Zn("button",{style:_r.Button,onClick:r},"Cancel")))}function Mr(e,t){switch(e){case"email":return t.toLowerCase();case"otp":return t.toUpperCase();default:return t}}class Hr extends nr{constructor(e){super(e),this.observer=e=>this.setState({userInteraction:e}),this.state={userInteraction:void 0}}componentDidMount(){this.subscription=t.from(this.props.db.cloud.userInteraction).subscribe(this.observer)}componentWillUnmount(){this.subscription&&(this.subscription.unsubscribe(),delete this.subscription)}render(e,{userInteraction:t}){return t?Zn(Fr,Object.assign({},t)):null}}function Vr(e){const t=document.createElement("div");document.body.appendChild(t),function(e,t,n){var r,o,i;Vn.__&&Vn.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,i=[],pr(t,e=(!r&&n||t).__k=Zn(tr,null,[e]),o||Gn,Gn,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?Jn.slice.call(t.childNodes):null,i,!r&&n?n:o?o.__e:t.firstChild,r),yr(i,e)}(Zn(Hr,{db:e.vip}),t);let n=!1;return{unsubscribe(){t.remove(),n=!0},get closed(){return n}}}function Kr(n){const i=n.name,s=new t.BehaviorSubject(o),a=[];let c=null;n.on("ready",(async n=>{try{await async function(n){var o,i,d,f,h,p;u=!1;const y=en(n);un||((null===(o=y.cloud.options)||void 0===o?void 0:o.customLoginGui)||a.push(Vr(n)),a.push(function(e){let n=e.cloud.webSocketStatus.value;const r=e.cloud.webSocketStatus.pipe(Ue((e=>{const r=n;n=e;const o=t.of(e);switch(e){case"disconnected":return In.value?o.pipe(ie(500)):o;case"connecting":return"not-started"===r||"error"===r?o:o.pipe(ie(4e3));default:return o}})));return t.combineLatest([r,e.syncStateChangedEvent.pipe(Oe({phase:"initial"})),Tn]).pipe(Y((([t,n,r])=>{let{phase:o,error:i,progress:s}=n,a=t;return"error"===o&&(a="error"),"not-started"===t&&("pushing"!==o&&"pulling"!==o||(a="connecting")),"error"!==e.cloud.syncState.value.phase||"pushing"!==n.phase&&"pulling"!==n.phase||(a="connecting"),r||(a="disconnected"),{phase:o,error:i,progress:s,status:Ht?a:"offline"}})))}(y).subscribe(n.cloud.syncState)));y.tables.every((e=>e.core))||ln();const b="serviceWorker"in navigator?await navigator.serviceWorker.getRegistrations():[],v=await y.transaction("rw",y.$syncState,(async()=>{var e,t;const{options:n,schema:r}=y.cloud,[o,i,s]=await Promise.all([y.getOptions(),y.getSchema(),y.getPersistedSyncState()]);if(n?o&&JSON.stringify(o)===JSON.stringify(n)||await y.$syncState.put(n,"options"):y.cloud.options=o||null,(null===(e=y.cloud.options)||void 0===e?void 0:e.tryUseServiceWorker)&&"serviceWorker"in navigator&&b.length>0&&!cn?(console.debug("Dexie Cloud Addon: Using service worker"),y.cloud.usingServiceWorker=!0):((null===(t=y.cloud.options)||void 0===t?void 0:t.tryUseServiceWorker)&&!un&&console.debug("dexie-cloud-addon: Not using service worker.",0===b.length?"No SW registrations found.":"serviceWorker"in navigator&&cn?"Avoiding SW background sync and SW periodic bg sync for this browser due to browser bugs.":"navigator.serviceWorker not present"),y.cloud.usingServiceWorker=!1),Hn(r,y.cloud.options),Hn(i,y.cloud.options),r){if(!i||JSON.stringify(i)!==JSON.stringify(r)){const e=i||{};for(const[t,n]of Object.entries(r)){const r=e[t];r?(r.markedForSync=n.markedForSync,n.deleted=r.deleted,r.generatedGlobalId=n.generatedGlobalId):e[t]={...n}}await y.$syncState.put(e,"schema"),Object.assign(r,e)}}else y.cloud.schema=i||null;return null==s?void 0:s.initiallySynced}));v&&y.setInitiallySynced(!0);(function(e){var t,n;for(const o of e.tables)if(null===(n=null===(t=e.cloud.schema)||void 0===t?void 0:t[o.name])||void 0===n?void 0:n.markedForSync){if(o.schema.primKey.auto)throw new r.default.SchemaError(`Table ${o.name} is both autoIncremented and synced. Use db.cloud.configure({unsyncedTables: [${JSON.stringify(o.name)}]}) to blacklist it from sync`);if(!o.schema.primKey.keyPath)throw new r.default.SchemaError(`Table ${o.name} cannot be both synced and outbound. Use db.cloud.configure({unsyncedTables: [${JSON.stringify(o.name)}]}) to blacklist it from sync`)}})(y),(null===(i=y.cloud.options)||void 0===i?void 0:i.databaseUrl)&&!v&&(await async function(e,t,n){console.debug("Performing initial sync"),await En(e,"initialSync","$jobs",(async()=>{const r=await e.getPersistedSyncState();(null==r?void 0:r.initiallySynced)||await qt(e,t,n,{isInitialSync:!0})}),{awaitRemoteJob:!0}),console.debug("Done initial sync")}(y,y.cloud.options,y.cloud.schema),y.setInitiallySynced(!0));l(),un||(a.push(e.liveQuery((()=>y.getCurrentUser())).subscribe(s)),a.push(e.liveQuery((()=>y.getPersistedSyncState())).subscribe(y.cloud.persistedSyncState)),await t.combineLatest([s.pipe(Ce(1),Ee(1)),y.cloud.persistedSyncState.pipe(Ce(1),Ee(1))]).toPromise());(null===(d=y.cloud.options)||void 0===d?void 0:d.requireAuth)&&await rn(y);c&&c.stop();c=null,l(),y.cloud.usingServiceWorker&&(null===(f=y.cloud.options)||void 0===f?void 0:f.databaseUrl)?(Ve(y,"push").catch((()=>{})),async function(e){var t;try{const{periodicSync:n}=await navigator.serviceWorker.ready;if(n)try{await n.register(`dexie-cloud:${e.name}`,null===(t=e.cloud.options)||void 0===t?void 0:t.periodicSync),console.debug(`Dexie Cloud: Successfully registered periodicsync event for ${e.name}`)}catch(e){console.debug("Dexie Cloud: Failed to register periodic sync. Your PWA must be installed to allow background sync.",e)}else console.debug("Dexie Cloud: periodicSync not supported.")}catch(t){console.debug(`Dexie Cloud: Could not register periodicSync for ${e.name}`,t)}}(y).catch((()=>{}))):(null===(h=y.cloud.options)||void 0===h?void 0:h.databaseUrl)&&y.cloud.schema&&!un&&(c=Mn(y,y.cloud.options,y.cloud.schema),c.start(),Ke(y,"push"));l(),un||a.push(t.fromEvent(self,"online").subscribe((()=>{console.debug("online!"),y.syncStateChangedEvent.next({phase:"not-in-sync"}),Ke(y,"push")})),t.fromEvent(self,"offline").subscribe((()=>{console.debug("offline!"),y.syncStateChangedEvent.next({phase:"offline"})})));"undefined"!=typeof window&&!un&&(null===(p=y.cloud.options)||void 0===p?void 0:p.databaseUrl)&&a.push(function(e){var n;if(!(null===(n=e.cloud.options)||void 0===n?void 0:n.databaseUrl))throw new Error("No database URL to connect WebSocket to");const r=e.messageConsumer.readyToServe.pipe(Se((e=>e)),Ue((()=>e.getPersistedSyncState())),Se((e=>e&&e.serverRevision)),Y((e=>({type:"ready",rev:e.serverRevision}))));return function n(){return e.cloud.persistedSyncState.pipe(Se((e=>null==e?void 0:e.serverRevision)),Ee(1),Ue((t=>e.cloud.currentUser.pipe(Y((e=>[e,t]))))),Ue((([e,t])=>Tn.pipe(Y((n=>[n?e:null,t]))))),Ue((async([e,t])=>[e,await Ge(t)])),Ue((([n,o])=>n?new Nn(e.cloud.options.databaseUrl,e.cloud.persistedSyncState.value.serverRevision,o,e.cloud.persistedSyncState.value.clientIdentity,r,e.cloud.webSocketStatus,n.accessToken,n.accessTokenExpiration):t.from([]))),M((r=>"TokenExpiredError"===(null==r?void 0:r.name)?(console.debug("WebSocket observable: Token expired. Refreshing token..."),t.of(!0).pipe(Ue((async()=>{const t=await e.getCurrentUser(),n=await dt(e.cloud.options.databaseUrl,t);await e.table("$logins").update(t.userId,{accessToken:n.accessToken,accessTokenExpiration:n.accessTokenExpiration})})),Ue((()=>n())))):t.throwError(r))),M((e=>t.from(Ln(e)).pipe(Ue((()=>n()))))))}().subscribe((t=>{t&&(console.debug("WS got message",t),e.messageConsumer.enqueue(t))}),(e=>{console.error("Oops! The main observable errored!",e)}),(()=>{console.error("Oops! The main observable completed!")}))}(y))}(n)}catch(e){console.error(e)}}),!0);let u=!1;function l(){if(u)throw new r.default.DatabaseClosedError}var d;!function(e,t){e.on.close.subscribe(t);const n=e.close;e.close=function(){n.call(this),t()}}(n,(()=>{a.forEach((e=>e.unsubscribe())),u=!0,c&&c.stop(),c=null,s.next(o)})),n.cloud={version:"1.0.0-beta.10",options:null,schema:null,serverState:null,get currentUserId(){return s.value.userId||o.userId},currentUser:s,syncState:new t.BehaviorSubject({phase:"initial",status:"not-started"}),persistedSyncState:new t.BehaviorSubject(void 0),userInteraction:new t.BehaviorSubject(void 0),webSocketStatus:new t.BehaviorSubject("not-started"),async login(e){const t=en(n);await t.cloud.sync(),await rn(t,e)},configure(e){n.cloud.options=e,e.databaseUrl&&(n.name=`${i}-${function(e){const t=new URL(e);return"/"===t.pathname?t.hostname.split(".")[0]:t.pathname.split("/")[1]}(e.databaseUrl)}`,en(n).reconfigure()),Hn(n.cloud.schema,n.cloud.options)},async sync({wait:r,purpose:o}={wait:!0,purpose:"push"}){void 0===r&&(r=!0);const i=en(n);if("pull"===o){const e=i.cloud.persistedSyncState.value;if(Ke(i,o),r){const t=await i.cloud.persistedSyncState.pipe(Se((t=>null!=(null==t?void 0:t.timestamp)&&(!e||t.timestamp>e.timestamp))),Ee(1)).toPromise();if(null==t?void 0:t.error)throw new Error("Sync error: "+t.error)}}else if(await Bn(i)){const n=i.cloud.persistedSyncState.value;Ke(i,o),r&&(console.debug("db.cloud.login() is waiting for sync completion..."),await t.from(e.liveQuery((async()=>{const e=await Bn(i),t=await i.getPersistedSyncState();if((null==t?void 0:t.timestamp)!==(null==n?void 0:n.timestamp)&&(null==t?void 0:t.error))throw new Error("Sync error: "+t.error);return e}))).pipe(Se((e=>!e)),Ee(1)).toPromise(),console.debug("Done waiting for sync completion because we have nothing to push anymore"))}}},n.Version.prototype._parseStoresSpec=r.default.override(n.Version.prototype._parseStoresSpec,(e=>kn(e,n))),n.use(Sn({currentUserObservable:n.cloud.currentUser,db:en(n)})),n.use((d=en(n),{stack:"dbcore",name:"implicitPropSetterMiddleware",level:1,create:e=>({...e,table:t=>{const n=e.table(t);return{...n,mutate:e=>{var r,o,i;const s=e.trans;if((null===(o=null===(r=d.cloud.schema)||void 0===r?void 0:r[t])||void 0===o?void 0:o.markedForSync)&&(null===(i=s.currentUser)||void 0===i?void 0:i.isLoggedIn)&&("add"===e.type||"put"===e.type))for(const t of e.values)"owner"in t||(t.owner=s.currentUser.userId),"realmId"in t||(t.realmId=s.currentUser.userId);return n.mutate(e)}}}})})),n.use(bn(en(n)))}Kr.version="1.0.0-beta.10",r.default.Cloud=Kr;const qr=new Map;function zr(e){return e.startsWith("dexie-cloud:")&&e.split(":")[1]}const Gr=new Map;function Jr(e,t){let n=Gr.get(e+"/"+t);return n||(n=async function(e,t){var n;let o=qr.get(e);if(!o){console.debug("Dexie Cloud SW: Creating new Dexie instance for",e);const t=new r.default(e,{addons:[Kr]});o=en(t),t.on("versionchange",i),await o.dx.open(),qr.get(e)||qr.set(e,o)}if(!(null===(n=o.cloud.options)||void 0===n?void 0:n.databaseUrl))return void console.error("Dexie Cloud: No databaseUrl configured");if(!o.cloud.schema)return void console.error("Dexie Cloud: No schema persisted");function i(){return o.dx.on.versionchange.unsubscribe(i),qr.get(o.name)===o&&qr.delete(o.name),console.debug(`Dexie Cloud SW: Closing Dexie instance for ${e}`),o.dx.close(),!1}try{console.debug("Dexie Cloud SW: Syncing"),await Fn(o,o.cloud.options,o.cloud.schema,{retryImmediatelyOnFetchError:!0,purpose:t}),console.debug("Dexie Cloud SW: Done Syncing")}catch(e){if(console.error("Dexie Cloud SW Error",e),i(),e.name!==r.default.errnames.NoSuchDatabase)throw e}}(e,t).then((()=>{Gr.delete(e+"/"+t)})).catch((n=>(Gr.delete(e+"/"+t),Promise.reject(n)))),Gr.set(e+"/"+t,n)),n}cn||(self.addEventListener("sync",(e=>{console.debug('SW "sync" Event',e.tag);const t=zr(e.tag);t&&e.waitUntil(Jr(t,"push"))})),self.addEventListener("periodicsync",(e=>{console.debug('SW "periodicsync" Event',e.tag);const t=zr(e.tag);t&&e.waitUntil(Jr(t,"pull"))})),self.addEventListener("message",(e=>{if(console.debug('SW "message" Event',e.data),"dexie-cloud-sync"===e.data.type){const{dbName:t}=e.data,n=(r=1)=>Jr(t,e.data.purpose||"pull").catch((async e=>{if(3===r)throw e;var t;await(t=6e4,new Promise((e=>setTimeout(e,t)))),n(r+1)}));"waitUntil"in e?e.waitUntil(n().catch((e=>console.error(e)))):n().catch((e=>console.error(e)))}})))}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["dist/umd/service-worker.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","Dexie","rxjs","this","_interopDefaultLegacy","e","default","Dexie__default","UNAUTHORIZED_USER","userId","name","claims","sub","lastLogin","Date","Object","freeze","_a","swHolder","swContainer","document","navigator","serviceWorker","ready","then","registration","addEventListener","ev","_b","data","type","startsWith","matchAll","includeUncontrolled","forEach","client","id","source","postMessage","SWBroadcastChannel","[object Object]","listener","forwarder","message","removeEventListener","active","BroadcastedAndLocalEvent","Observable","bc","BroadcastChannel","super","subscriber","onCustomEvent","next","detail","onMessageEvent","console","debug","unsubscribe","subscribe","CustomEvent","dispatchEvent","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","isFunction","x","_enable_super_gross_mode_that_will_cause_bad_things","config","Promise","undefined","useDeprecatedSynchronousErrorHandling","value","Error","stack","hostReportError","err","setTimeout","empty$1","closed","error","complete","isArray","length","isObject","UnsubscriptionError","UnsubscriptionErrorImpl","errors","call","map","i","toString","join","Subscription","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","remove","index","flattenUnsubscriptionErrors","len","concat","push","add","teardown","subscription","EMPTY","tmp","indexOf","subscriptions","subscriptionIndex","splice","empty","reduce","errs","rxSubscriber","Symbol","Math","random","Subscriber","_super","destinationOrNext","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","arguments","destination","SafeSubscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parentSubscriber","observerOrNext","context","bind","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","observable","identity","pipeFromArray","fns","input","prev","_isScalar","_subscribe","lift","operator","sink","nextOrObserver","toSubscriber","_trySubscribe","observer","closed_1","canReportError","warn","promiseCtor","getPromiseCtor","resolve","reject","pipe","operations","_i","toPromise","subscribeToArray","array","getSymbolIterator","iterator","isArrayLike","isPromise","subscribeTo","result","obj","obs","TypeError","promise","iterable","iterator$1","item","done","return","SimpleInnerSubscriber","notifyNext","notifyError","notifyComplete","SimpleOuterSubscriber","apply","innerValue","innerSubscribe","innerSubscriber","AsyncAction","scheduler","work","pending","schedule","state","delay","recycleAsyncId","requestAsyncId","setInterval","flush","clearInterval","execute","_execute","errored","errorValue","actions","Action","Scheduler","SchedulerAction","now","async","AsyncScheduler","delegate","scheduled","action","shift","isScheduler","catchError","selector","CatchOperator","caught","CatchSubscriber","err2","innerSubscription","scheduleArray","fromArray","isInteropObservable","observable$1","scheduleObservable","schedulePromise","isIterable","scheduleIterable","from","of","args","pop","project","thisArg","MapOperator","MapSubscriber","count","mergeMap","resultSelector","concurrent","Number","POSITIVE_INFINITY","a","ii","MergeMapOperator","MergeMapSubscriber","hasCompleted","buffer","_tryNext","_innerSub","ish","mergeAll","concatAll","observables","debounceTime","dueTime","DebounceTimeOperator","DebounceTimeSubscriber","debouncedSubscription","lastValue","hasValue","clearDebounce","dispatchNext","debouncedNext","isDate","isNaN","emptyScheduled","throwError","dispatch","Notification","kind","observe","do","accept","toObservable","createNext","undefinedValueNotification","createError","createComplete","completeNotification","delayFor","abs","DelayOperator","DelaySubscriber","queue","time","notification","delay_1","max","_schedule","scheduleNotification","DelayMessage","DistinctUntilChangedOperator","compare","keySelector","DistinctUntilChangedSubscriber","hasKey","y","key","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","filter","predicate","FilterOperator","FilterSubscriber","take","TakeOperator","total","TakeSubscriber","skip","SkipOperator","SkipSubscriber","startWith","switchMap","SwitchMapOperator","SwitchMapSubscriber","noop","tap","DoOperator","TapSubscriber","_tapNext","_tapError","_tapComplete","TimeoutError","TimeoutErrorImpl","TimeoutWithOperator","waitFor","absoluteTimeout","withObservable","TimeoutWithSubscriber","scheduleTimeout","dispatchTimeout","timeout","due","timeoutWith","hasComplainedAboutSyncEvent","registerSyncEvent","db","purpose","sw","sync","register","dbName","triggerSync","cloud","usingServiceWorker","localSyncEvent","b64decode","Buffer","base64","binary_string","atob","bytes","Uint8Array","charCodeAt","b64encode","ArrayBuffer","isView","byteOffset","byteLength","btoa","String","fromCharCode","computeRealmSetHash","realms","inviteRealms","JSON","stringify","realmId","accepted","sort","byteArray","TextEncoder","encode","digestBytes","crypto","subtle","digest","getSyncableTables","entries","schema","markedForSync","tbl","table","getMutationTable","tableName","getTableFromMutationTable","mutationTable","exec","listClientChanges","mutationTables","since","limit","Infinity","all","lastRevision","query","where","above","muts","toArray","randomFillSync","getRandomValues","setByKeyPath","keyPath","isFrozen","assert","l","period","currentKeyPath","substr","remainingKeyPath","parseInt","innerObj","randomString$1","buf","alloc","isValidSyncableID","some","every","isValidSyncableIDPart","part","applyOperation","target","op","keys","idx","val","values","changeSpec","changeSpecs","entry","propPath","assign","mod","applyOperations","ops","mut","interactWithUser","userInteraction","req","interactionProps","onSubmit","res","onCancel","AbortError","alertUser","title","alerts","fields","promptForEmail","emailHint","email","test","messageCode","messageParams","placeholder","promptForOTP","alert","otp","label","authenticate","url","fetchToken","hints","accessToken","accessTokenExpiration","getTime","refreshToken","refreshTokenExpiration","refreshAccessToken","privateKey","publicKey","generateKey","modulusLength","publicExponent","hash","nonExportablePrivateKey","publicKeyPEM","keydata","keydataB64","str","finalString","substring","formatAsPem","spkiToPEM","exportKey","response2","public_key","catch","userAuthenticate","login","time_stamp","signing_algorithm","binarySignature","sign","signature","tokenRequest","grant_type","refresh_token","scopes","fetch","body","method","headers","Content-Type","mode","status","response","json","toStr","ObjectDef","replace","dollarKeys","clone","k","TypesonSimplified","typeDefsInputs","typeDefs","c","protoMap","WeakMap","alternateChannel","space","realVal","typeDef","proto","getPrototypeOf","get","toStringTag","slice","find","typeName","function","set","getTypeDef","tson","unescapeParentKeys","parse","$t","revive","BisonBinaryTypes","Blob","blob","altChannel","mimeType","numberDef","number","num","v","bigIntDef","bigint","BigInt","DateDef","date","toISOString","NaN","SetDef","Set","MapDef","Map","_global","TypedArraysDefs","specs","_","TypedArray","b64LexEncode","encoded","ENCODE_TABLE","b64ToLex","b64LexDecode","b64Lex","base64lex","DECODE_TABLE","lexToB64","-","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","f","g","h","j","m","n","o","q","r","s","t","u","w","z","|","ArrayBufferDef","ab","ba","FakeBlob","readBlobSync","XMLHttpRequest","overrideMimeType","open","URL","createObjectURL","send","responseText","string2ArrayBuffer","builtin","readBlobBinary","reader","FileReader","onabort","onerror","onload","readAsArrayBuffer","undefinedDef","hasBigIntSupport","FakeBigInt","defs","fakeBigInt","TSON","BISON","lenBuf","DataView","setUint32","size","binaries","binData","pos","arrayBuffers","view","getUint32","readAsText","readBlob","Bison","HttpError","statusText","httpStatus","syncWithServer","changes","syncState","baseRevs","databaseUrl","clientIdentity","Accept","currentUser","getCurrentUser","refreshedLogin","options","update","loadAccessToken","Authorization","syncRequest","dbID","remoteDbId","lastPull","serverRevision","syncStateChangedEvent","phase","ok","fromBinary","text","bulkUpdate","objs","bulkGet","resultKeys","resultObjs","primKey","bulkPut","throwIfCancelled","cancelToken","cancelled","isOnline","onLine","updateBaseRevs","latestRevisions","serverRev","$baseRevs","clientRev","getLatestRevisionsPerTable","clientChangeSet","lastRevisions","lastRev","rev","syncOptions","_sync","justCheckIfNeeded","retryImmediatelyOnFetchError","$syncState","timestamp","isInitialSync","tablesToSync","isLoggedIn","persistedSyncState","getPersistedSyncState","tablesToSyncify","syncedTables","includes","getTablesToSyncify","doSyncify","transaction","tx","idbtrans","disableChangeTracking","disableAccessControl","syncifiedTables","alreadySyncedRealms","ignoredRealms","toCollection","modify","member","has","realm","owner","modifyLocalObjectsWithNewUserId","tables","clientChanges","syncificationInserts","extractKey","core","primaryKey","dexieCloudTableSchema","generatedGlobalId","idPrefix","unsyncedObjects","listSyncifiedChanges","syncIsNeeded","put","addedClientChanges","mutTable","ch","latestRev","belowOrEqual","delete","between","reverse","offset","clear","prevState","deletedRealms","previousRealmSet","updatedRealmSet","deletedRealmSet","indexes","anyOf","deleteObjectsFromRemovedRealms","newSyncState","dbId","initiallySynced","filteredChanges","filterServerChangesThroughAddedClientChanges","applyServerChanges","currentTransaction","outbound","bulkAdd","bulkDelete","serverChanges","localPostChanges","changesToSubtract","_c","mutationSet","targetMut","subtractChanges","inSet","txid","mapEntry","resultEntry","optype","toDBOperationSet","MessagesFromServerConsumer","readyToServe","BehaviorSubject","event","isWorking","loopWarning","loopDetection","msg","user","dx","getSchema","baseRev","ourRealmSetHash","realmSetHash","newRev","consumeQueue","enqueue","wm$1","DEXIE_CLOUD_SCHEMA","members","roles","$jobs","$logins","static_counter","DexieCloudDB","Subject","close","helperMethods","logins","getOptions","messageConsumer","wm","AuthPersistedContext","userLogin","currentUserId","fetchTokens","demo_user","res1","errMsg","otp_id","res2","errorText","otpFetchTokenCallback","save","existingLogins","setCurrentUser","isFirefox","InstallTrigger","isSafari","userAgent","safariVersion","match","DISABLE_SERVICEWORKER_STRATEGY","IS_SERVICE_WORKER","throwVersionIncrementNeeded","SchemaError","getEffectiveKeys","consonants","createIdGenerationMiddleware","level","generateOrVerifyAtKeys","valueClones","colocatedId","shardKey","prefix","timePart","randomPart","deepClone","ConstraintError","mutate","trans","cloudTableSchema","getMany","cache","results","randomString","counter$1","readLock","prop","readers","writers","numWriters","finally","writeLock","possiblePromises","remaining","reason","outstandingTransactions","createMutationTrackingMiddleware","currentUserObservable","ordinaryTables","mutTableMap","removeTransaction","txComplete","mutationsAdded","endsWith","mutsTable","openCursor","guardedTable","range","mutateAndLog","criteria","numFailures","hasFailures","failures","ts","overrideParseStoresSpec","origFunc","dexie","stores","dbSchema","storesClone","cloudSchema","allPrefixes","schemaSrc","rv","toLocaleLowerCase","toLowerCase","orig","bits","bitFix","upperFixed","toUpperCase","nextChar","generateTablePrefix","deleted","myId","performGuardedJob","jobName","jobsTableName","job","awaitRemoteJob","jobsTable","aquireLock","currentWork","heartbeat","started","nodeId","jobDoneObservable","liveQuery","userIsActive","userIsReallyActive","isActive","visibilityStateIsChanged","fromEvent","documentBecomesHidden","visibilityState","documentBecomesVisible","userDoesSomething","window","merge","USER_INACTIVITY_TIMEOUT","TokenExpiredError","WSObservable","messageProducer","webSocketStatus","token","tokenExpiration","WSConnection","counter","lastUserActivity","messageProducerSubscription","connect","disconnect","pinger","ws","lastServerActivity","pauseUntil","reconnect","wsUrl","protocol","searchParams","URLSearchParams","WebSocket","onclose","onmessage","onopen","waitAndReconnectWhenUserDoesSomething","ms","isSyncNeeded","ongoingSyncs","syncIfPossible","cloudOptions","ongoing","pull","hasPullTakenPlace","_syncIfPossible","LocalSyncWorker","localSyncEventSubscription","syncAndRetry","retryNum","stop","start","updateSchemaFromOptions","unsyncedTables","u$1","i$1","t$1","r$1","f$1","e$1","c$1","s$1","parentNode","removeChild","a$1","children","defaultProps","v$1","props","ref","__k","__b","__e","__d","__c","__h","__v","vnode","p$1","d$1","base","k$1","b$1","__r","debounceRendering","__P","__n","ownerSVGElement","m$1","g$1","x$1","appendChild","nextSibling","insertBefore","setProperty","style","cssText","$","setAttribute","removeAttribute","contextType","__E","render","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","j$1","diffed","localName","nodeType","createTextNode","createElementNS","createElement","is","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","firstChild","checked","current","unmount","componentWillUnmount","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Styles","color","Alert","warning","info","Darken","position","top","left","opacity","backgroundColor","width","height","zIndex","webkitBackdropFilter","backdropFilter","DialogOuter","alignItems","display","justifyContent","DialogInner","padding","marginBottom","maxWidth","maxHeight","overflowY","border","borderRadius","boxShadow","Input","borderColor","outline","fontSize","Dialog","__H","requestAnimationFrame","clearTimeout","cancelAnimationFrame","LoginDialog","params","setParams","firstFieldRef","focus","WindowHeader","resolveText","preventDefault","fieldName","Label","autoComplete","autoFocus","onInput","valueTransformer","ButtonsDiv","Button","onClick","LoginGui","setupDefaultGUI","el","vip","dexieCloud","origIdbName","currentUserEmitter","localSyncWorker","on","_d","_e","_f","customLoginGui","_prevStatus","lazyWebSocketStatus","prevStatus","combineLatest","progress","adjustedStatus","computeSyncState","swRegistrations","getRegistrations","persistedOptions","persistedSchema","tryUseServiceWorker","newPersistedSchema","tblSchema","newTblSchema","setInitiallySynced","auto","verifySchema","performInitialSync","throwIfClosed","requireAuth","periodicSync","registerPeriodicSyncEvent","isReady","createObservable","connectWebSocket","onDbReady","DatabaseClosedError","handler","origClose","dbOnClosed","version","serverState","hint","dbUrl","pathname","hostname","split","getDbNameFromDbUrl","reconfigure","wait","syncNeeded","isNeeded","Version","override","use","Cloud","managedDBs","getDbNameFromTag","tag","syncDBSemaphore","syncDB","addons","stopManagingDB","versionchange","errnames","NoSuchDatabase","_syncDB","waitUntil"],"mappings":"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"}
|