dexie-cloud-addon 4.0.1-beta.48 → 4.0.1-beta.49
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/dist/modern/dexie-cloud-addon.js +2 -2
- package/dist/modern/dexie-cloud-addon.js.map +1 -1
- package/dist/modern/dexie-cloud-addon.min.js +1 -1
- package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
- package/dist/modern/dexie-cloud-client.d.ts +10 -1
- package/dist/modern/service-worker.js +1 -1
- package/dist/modern/service-worker.js.map +1 -1
- package/dist/modern/service-worker.min.js.map +1 -1
- package/dist/umd/dexie-cloud-addon.js +2 -1
- package/dist/umd/dexie-cloud-addon.js.map +1 -1
- package/dist/umd/dexie-cloud-client.d.ts +10 -1
- package/dist/umd/service-worker.js +1 -1
- package/dist/umd/service-worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexie-cloud-addon.js","sources":["../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.5_rollup@4.1.4_tslib@2.4.0_typescript@4.9.4/node_modules/tslib/tslib.es6.js","../../../../libs/dexie-cloud-common/dist/utils.js","../../../../libs/dexie-cloud-common/dist/validation/isValidSyncableID.js","../../../../libs/dexie-cloud-common/dist/change-processing/applyOperation.js","../../../../libs/dexie-cloud-common/dist/change-processing/applyOperations.js","../../../../libs/dexie-cloud-common/dist/change-processing/subtractChanges.js","../../../../libs/dexie-cloud-common/dist/change-processing/toDBOperationSet.js","../../../../libs/dexie-cloud-common/dist/getDbNameFromDbUrl.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/config.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isDate.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/timer.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/args.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/catchError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/from.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/concat.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/take.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/ignoreElements.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mapTo.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/delayWhen.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/delay.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/skip.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/startWith.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../src/sync/registerSyncEvent.ts","../../src/sync/triggerSync.ts","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/base64.js","../../src/authentication/TokenErrorResponseError.ts","../../src/authentication/interactWithUser.ts","../../src/authentication/authenticate.ts","../../src/authentication/AuthPersistedContext.ts","../../src/authentication/UNAUTHORIZED_USER.ts","../../src/authentication/waitUntil.ts","../../src/authentication/logout.ts","../../src/errors/HttpError.ts","../../src/authentication/otpFetchTokenCallback.ts","../../src/prodLog.ts","../../src/authentication/setCurrentUser.ts","../../src/authentication/login.ts","../../src/helpers/SWBroadcastChannel.ts","../../src/helpers/BroadcastedAndLocalEvent.ts","../../src/helpers/computeRealmSetHash.ts","../../src/helpers/getSyncableTables.ts","../../src/helpers/getMutationTable.ts","../../src/helpers/getTableFromMutationTable.ts","../../src/helpers/flatten.ts","../../src/sync/listClientChanges.ts","../../src/helpers/randomString.ts","../../src/sync/listSyncifiedChanges.ts","../../src/sync/getTablesToSyncify.ts","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/TypesonSimplified.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/BisonBinaryTypes.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/number.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/bigint.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Date.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Set.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Map.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/_global.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/TypedArray.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/b64lex.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/ArrayBuffer.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/FakeBlob.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/readBlobSync.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/string2arraybuffer.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Blob.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/presets/builtin.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/Bison.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/undefined.js","../../src/TSON.ts","../../src/sync/encodeIdsForServer.ts","../../src/sync/ratelimit.ts","../../src/sync/syncWithServer.ts","../../src/sync/modifyLocalObjectsWithNewUserId.ts","../../src/helpers/CancelToken.ts","../../src/sync/isOnline.ts","../../src/sync/updateBaseRevs.ts","../../src/sync/getLatestRevisionsPerTable.ts","../../src/helpers/bulkUpdate.ts","../../src/sync/applyServerChanges.ts","../../src/sync/sync.ts","../../src/sync/messagesFromServerQueue.ts","../../src/db/DexieCloudDB.ts","../../src/isFirefox.ts","../../src/isSafari.ts","../../src/DISABLE_SERVICEWORKER_STRATEGY.ts","../../src/helpers/dbOnClosed.ts","../../src/helpers/IS_SERVICE_WORKER.ts","../../src/helpers/throwVersionIncrementNeeded.ts","../../src/middleware-helpers/idGenerationHelpers.ts","../../src/middlewares/createIdGenerationMiddleware.ts","../../src/middlewares/createImplicitPropSetterMiddleware.ts","../../src/helpers/allSettled.ts","../../src/middleware-helpers/guardedTable.ts","../../src/middlewares/outstandingTransaction.ts","../../src/isEagerSyncDisabled.ts","../../src/middlewares/createMutationTrackingMiddleware.ts","../../src/overrideParseStoresSpec.ts","../../src/performInitialSync.ts","../../src/userIsActive.ts","../../src/authentication/TokenExpiredError.ts","../../src/WSObservable.ts","../../src/InvalidLicenseError.ts","../../src/sync/connectWebSocket.ts","../../src/sync/isSyncNeeded.ts","../../src/sync/performGuardedJob.ts","../../src/sync/syncIfPossible.ts","../../src/helpers/date-constants.ts","../../src/sync/LocalSyncWorker.ts","../../src/updateSchemaFromOptions.ts","../../src/verifySchema.ts","../../../../node_modules/.pnpm/preact@10.10.6/node_modules/preact/dist/preact.module.js","../../src/default-ui/Styles.ts","../../src/default-ui/Dialog.tsx","../../../../node_modules/.pnpm/preact@10.10.6/node_modules/preact/hooks/dist/hooks.module.js","../../src/helpers/resolveText.ts","../../src/default-ui/LoginDialog.tsx","../../src/default-ui/index.tsx","../../src/associate.ts","../../src/currentUserEmitter.ts","../../src/computeSyncState.ts","../../src/createSharedValueObservable.ts","../../src/getGlobalRolesObservable.ts","../../src/getInternalAccessControlObservable.ts","../../src/mapValueObservable.ts","../../src/mergePermissions.ts","../../src/getPermissionsLookupObservable.ts","../../src/PermissionChecker.ts","../../src/permissions.ts","../../src/getInvitesObservable.ts","../../src/getTiedRealmId.ts","../../src/dexie-cloud-client.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function assert(b) {\n if (!b)\n throw new Error('Assertion Failed');\n}\nconst _hasOwn = {}.hasOwnProperty;\nexport function hasOwn(obj, prop) {\n return _hasOwn.call(obj, prop);\n}\nexport function setByKeyPath(obj, keyPath, value) {\n if (!obj || keyPath === undefined)\n return;\n if ('isFrozen' in Object && Object.isFrozen(obj))\n return;\n if (typeof keyPath !== 'string' && 'length' in keyPath) {\n assert(typeof value !== 'string' && 'length' in value);\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n setByKeyPath(obj, keyPath[i], value[i]);\n }\n }\n else {\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var currentKeyPath = keyPath.substr(0, period);\n var remainingKeyPath = keyPath.substr(period + 1);\n if (remainingKeyPath === '')\n if (value === undefined) {\n if (Array.isArray(obj)) {\n if (!isNaN(parseInt(currentKeyPath)))\n obj.splice(parseInt(currentKeyPath), 1);\n }\n else\n delete obj[currentKeyPath];\n // @ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n }\n else\n obj[currentKeyPath] = value;\n else {\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n var innerObj = obj[currentKeyPath];\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n if (!innerObj || !hasOwn(obj, currentKeyPath))\n innerObj = (obj[currentKeyPath] = {});\n setByKeyPath(innerObj, remainingKeyPath, value);\n }\n }\n else {\n if (value === undefined) {\n if (Array.isArray(obj) && !isNaN(parseInt(keyPath)))\n // @ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n obj.splice(keyPath, 1);\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n else\n delete obj[keyPath];\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n }\n else\n obj[keyPath] = value;\n }\n }\n}\nexport const randomString = typeof self !== 'undefined' && typeof crypto !== 'undefined' ? (bytes, randomFill = crypto.getRandomValues.bind(crypto)) => {\n // Web\n const buf = new Uint8Array(bytes);\n randomFill(buf);\n return self.btoa(String.fromCharCode.apply(null, buf));\n} : typeof Buffer !== 'undefined' ? (bytes, randomFill = simpleRandomFill) => {\n // Node\n const buf = Buffer.alloc(bytes);\n randomFill(buf);\n return buf.toString(\"base64\");\n} : () => { throw new Error(\"No implementation of randomString was found\"); };\nfunction simpleRandomFill(buf) {\n for (let i = 0; i < buf.length; ++i) {\n buf[i] = Math.floor(Math.random() * 256);\n }\n}\n","const validIDTypes = {\n Uint8Array,\n};\n/** Verifies that given primary key is valid.\n * The reason we narrow validity for valid keys are twofold:\n * 1: Make sure to only support types that can be used as an object index in DBKeyMutationSet.\n * For example, ArrayBuffer cannot be used (gives \"object ArrayBuffer\") but Uint8Array can be\n * used (gives comma-delimited list of included bytes).\n * 2: Avoid using plain numbers and Dates as keys when they are synced, as they are not globally unique.\n * 3: Since we store the key as a VARCHAR server side in current version, try not promote types that stringifies to become very long server side.\n *\n * @param id\n * @returns\n */\nexport function isValidSyncableID(id) {\n if (typeof id === \"string\")\n return true;\n //if (validIDTypes[toStringTag(id)]) return true;\n //if (Array.isArray(id)) return id.every((part) => isValidSyncableID(part));\n if (Array.isArray(id) && id.some(key => isValidSyncableID(key)) && id.every(isValidSyncableIDPart))\n return true;\n return false;\n}\n/** Verifies that given key part is valid.\n * 1: Make sure that arrays of this types are stringified correclty and works with DBKeyMutationSet.\n * For example, ArrayBuffer cannot be used (gives \"object ArrayBuffer\") but Uint8Array can be\n * used (gives comma-delimited list of included bytes).\n * 2: Since we store the key as a VARCHAR server side in current version, try not promote types that stringifies to become very long server side.\n*/\nfunction isValidSyncableIDPart(part) {\n return typeof part === \"string\" || typeof part === \"number\" || Array.isArray(part) && part.every(isValidSyncableIDPart);\n}\nexport function isValidAtID(id, idPrefix) {\n return !idPrefix || (typeof id === \"string\" && id.startsWith(idPrefix));\n}\n","import { setByKeyPath } from \"../utils.js\";\nexport function applyOperation(target, table, op) {\n const tbl = target[table] || (target[table] = {});\n const keys = op.keys.map(key => typeof key === 'string' ? key : JSON.stringify(key));\n switch (op.type) {\n case \"insert\":\n // TODO: Don't treat insert and upsert the same?\n case \"upsert\":\n keys.forEach((key, idx) => {\n tbl[key] = {\n type: \"ups\",\n val: op.values[idx],\n };\n });\n break;\n case \"update\":\n case \"modify\": {\n keys.forEach((key, idx) => {\n const changeSpec = op.type === \"update\"\n ? op.changeSpecs[idx]\n : op.changeSpec;\n const entry = tbl[key];\n if (!entry) {\n tbl[key] = {\n type: \"upd\",\n mod: changeSpec,\n };\n }\n else {\n switch (entry.type) {\n case \"ups\":\n // Adjust the existing upsert with additional updates\n for (const [propPath, value] of Object.entries(changeSpec)) {\n setByKeyPath(entry.val, propPath, value);\n }\n break;\n case \"del\":\n // No action.\n break;\n case \"upd\":\n // Adjust existing update with additional updates\n Object.assign(entry.mod, changeSpec); // May work for deep props as well - new keys is added later, right? Does the prop order persist along TSON and all? But it will not be 100% when combined with some server code (seach for \"address.city\": \"Stockholm\" comment)\n break;\n }\n }\n });\n break;\n }\n case \"delete\":\n keys.forEach((key) => {\n tbl[key] = {\n type: \"del\",\n };\n });\n break;\n }\n return target;\n}\n","import { applyOperation } from \"./applyOperation.js\";\nexport function applyOperations(target, ops) {\n for (const { table, muts } of ops) {\n for (const mut of muts) {\n applyOperation(target, table, mut);\n }\n }\n}\n","import { setByKeyPath } from '../utils.js';\nexport function subtractChanges(target, // Server change set\nchangesToSubtract // additional mutations on client during syncWithServer()\n) {\n var _a, _b, _c;\n for (const [table, mutationSet] of Object.entries(changesToSubtract)) {\n for (const [key, mut] of Object.entries(mutationSet)) {\n switch (mut.type) {\n case 'ups':\n {\n const targetMut = (_a = target[table]) === null || _a === void 0 ? void 0 : _a[key];\n if (targetMut) {\n switch (targetMut.type) {\n case 'ups':\n delete target[table][key];\n break;\n case 'del':\n // Leave delete operation.\n // (Don't resurrect objects unintenionally (using tx(get, put) pattern locally))\n break;\n case 'upd':\n delete target[table][key];\n break;\n }\n }\n }\n break;\n case 'del':\n (_b = target[table]) === null || _b === void 0 ? true : delete _b[key];\n break;\n case 'upd': {\n const targetMut = (_c = target[table]) === null || _c === void 0 ? void 0 : _c[key];\n if (targetMut) {\n switch (targetMut.type) {\n case 'ups':\n // Adjust the server upsert with locally updated values.\n for (const [propPath, value] of Object.entries(mut.mod)) {\n setByKeyPath(targetMut.val, propPath, value);\n }\n break;\n case 'del':\n // Leave delete.\n break;\n case 'upd':\n // Remove the local update props from the server update mutation.\n for (const propPath of Object.keys(mut.mod)) {\n delete targetMut.mod[propPath];\n }\n break;\n }\n }\n break;\n }\n }\n }\n }\n}\n","import { randomString } from \"../utils.js\";\n/** Convert a DBKeyMutationSet (which is an internal format capable of looking up changes per ID)\n * ...into a DBOperationsSet (which is more optimal for performing DB operations into DB (bulkAdd() etc))\n *\n * @param inSet\n * @returns DBOperationsSet representing inSet\n */\nexport function toDBOperationSet(inSet, txid = \"\") {\n // Fictive transaction:\n if (!txid)\n txid = randomString(16);\n // Convert data into a temporary map to collect mutations of same table and type\n const map = {};\n for (const [table, ops] of Object.entries(inSet)) {\n for (const [key, op] of Object.entries(ops)) {\n const mapEntry = map[table] || (map[table] = {});\n const ops = mapEntry[op.type] || (mapEntry[op.type] = []);\n ops.push(Object.assign({ key }, op)); // DBKeyMutation doesn't contain key, so we need to bring it in.\n }\n }\n // Start computing the resulting format:\n const result = [];\n for (const [table, ops] of Object.entries(map)) {\n const resultEntry = {\n table,\n muts: [],\n };\n for (const [optype, muts] of Object.entries(ops)) {\n switch (optype) {\n case \"ups\": {\n const op = {\n type: \"upsert\",\n keys: muts.map(mut => mut.key),\n values: muts.map(mut => mut.val),\n txid\n };\n resultEntry.muts.push(op);\n break;\n }\n case \"upd\": {\n const op = {\n type: \"update\",\n keys: muts.map(mut => mut.key),\n changeSpecs: muts.map(mut => mut.mod),\n txid\n };\n resultEntry.muts.push(op);\n break;\n }\n case \"del\": {\n const op = {\n type: \"delete\",\n keys: muts.map(mut => mut.key),\n txid,\n };\n resultEntry.muts.push(op);\n break;\n }\n }\n }\n result.push(resultEntry);\n }\n return result;\n}\n","export function getDbNameFromDbUrl(dbUrl) {\n const url = new URL(dbUrl);\n return url.pathname === \"/\"\n ? url.hostname.split('.')[0]\n : url.pathname.split('/')[1];\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n _this._scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable(function (subscriber) {\n var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate(function (source, subscriber) {\n var innerSub = null;\n var syncUnsub = false;\n var handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n//# sourceMappingURL=catchError.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n return operate(function (source, subscriber) {\n var activeTask = null;\n var lastValue = null;\n var lastTime = null;\n var emit = function () {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n var targetTime = lastTime + dueTime;\n var now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, function () {\n emit();\n subscriber.complete();\n }, undefined, function () {\n lastValue = activeTask = null;\n }));\n });\n}\n//# sourceMappingURL=debounceTime.js.map","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return concatAll()(from(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, noop));\n });\n}\n//# sourceMappingURL=ignoreElements.js.map","import { map } from './map';\nexport function mapTo(value) {\n return map(function () { return value; });\n}\n//# sourceMappingURL=mapTo.js.map","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n };\n }\n return mergeMap(function (value, index) { return delayDurationSelector(value, index).pipe(take(1), mapTo(value)); });\n}\n//# sourceMappingURL=delayWhen.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler) {\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var duration = timer(due, scheduler);\n return delayWhen(function () { return duration; });\n}\n//# sourceMappingURL=delay.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { filter } from './filter';\nexport function skip(count) {\n return filter(function (_, index) { return count <= index; });\n}\n//# sourceMappingURL=skip.js.map","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var scheduler = popScheduler(values);\n return operate(function (source, subscriber) {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=startWith.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map",null,null,"export const b64decode = typeof Buffer !== \"undefined\"\n ? (base64) => Buffer.from(base64, \"base64\")\n : (base64) => {\n const binary_string = atob(base64);\n const len = binary_string.length;\n const bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\nexport const b64encode = typeof Buffer !== \"undefined\"\n ? (b) => {\n if (ArrayBuffer.isView(b)) {\n return Buffer.from(b.buffer, b.byteOffset, b.byteLength).toString(\"base64\");\n }\n else {\n return Buffer.from(b).toString(\"base64\");\n }\n }\n : (b) => {\n const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);\n const CHUNK_SIZE = 0x1000;\n const strs = [];\n for (let i = 0, l = u8a.length; i < l; i += CHUNK_SIZE) {\n const chunk = u8a.subarray(i, i + CHUNK_SIZE);\n strs.push(String.fromCharCode.apply(null, chunk));\n }\n return btoa(strs.join(\"\"));\n };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"const { toString: toStr } = {};\nfunction getToStringTag(val) {\n return toStr.call(val).slice(8, -1);\n}\nexport function escapeDollarProps(value) {\n const keys = Object.keys(value);\n let dollarKeys = null;\n for (let i = 0, l = keys.length; i < l; ++i) {\n if (keys[i][0] === \"$\") {\n dollarKeys = dollarKeys || [];\n dollarKeys.push(keys[i]);\n }\n }\n if (!dollarKeys)\n return value;\n const clone = { ...value };\n for (const k of dollarKeys) {\n delete clone[k];\n }\n for (const k of dollarKeys) {\n clone[\"$\" + k] = value[k];\n }\n return clone;\n}\nconst ObjectDef = {\n replace: escapeDollarProps,\n};\nexport function TypesonSimplified(...typeDefsInputs) {\n const typeDefs = typeDefsInputs.reduce((p, c) => ({ ...p, ...c }), typeDefsInputs.reduce((p, c) => ({ ...c, ...p }), {}));\n const protoMap = new WeakMap();\n return {\n stringify(value, alternateChannel, space) {\n const json = JSON.stringify(value, function (key) {\n const realVal = this[key];\n const typeDef = getTypeDef(realVal);\n return typeDef\n ? typeDef.replace(realVal, alternateChannel, typeDefs)\n : realVal;\n }, space);\n return json;\n },\n parse(tson, alternateChannel) {\n const stack = [];\n return JSON.parse(tson, function (key, value) {\n //\n // Parent Part\n //\n const type = value === null || value === void 0 ? void 0 : value.$t;\n if (type) {\n const typeDef = typeDefs[type];\n value = typeDef\n ? typeDef.revive(value, alternateChannel, typeDefs)\n : value;\n }\n let top = stack[stack.length - 1];\n if (top && top[0] === value) {\n // Do what the kid told us to\n // Unescape dollar props\n value = { ...value };\n // Delete keys that children wanted us to delete\n for (const k of top[1])\n delete value[k];\n // Set keys that children wanted us to set\n for (const [k, v] of Object.entries(top[2])) {\n value[k] = v;\n }\n stack.pop();\n }\n //\n // Child part\n //\n if (value === undefined || (key[0] === \"$\" && key !== \"$t\")) {\n top = stack[stack.length - 1];\n let deletes;\n let mods;\n if (top && top[0] === this) {\n deletes = top[1];\n mods = top[2];\n }\n else {\n stack.push([this, (deletes = []), (mods = {})]);\n }\n if (key[0] === \"$\" && key !== \"$t\") {\n // Unescape props (also preserves undefined if this is a combo)\n deletes.push(key);\n mods[key.substr(1)] = value;\n }\n else {\n // Preserve undefined\n mods[key] = undefined;\n }\n }\n return value;\n });\n },\n };\n function getTypeDef(realVal) {\n const type = typeof realVal;\n switch (typeof realVal) {\n case \"object\":\n case \"function\": {\n // \"object\", \"function\", null\n if (realVal === null)\n return null;\n const proto = Object.getPrototypeOf(realVal);\n if (!proto)\n return ObjectDef;\n let typeDef = protoMap.get(proto);\n if (typeDef !== undefined)\n return typeDef; // Null counts to! So the caching of Array.prototype also counts.\n const toStringTag = getToStringTag(realVal);\n const entry = Object.entries(typeDefs).find(([typeName, typeDef]) => { var _a, _b; return (_b = (_a = typeDef === null || typeDef === void 0 ? void 0 : typeDef.test) === null || _a === void 0 ? void 0 : _a.call(typeDef, realVal, toStringTag)) !== null && _b !== void 0 ? _b : typeName === toStringTag; });\n typeDef = entry === null || entry === void 0 ? void 0 : entry[1];\n if (!typeDef) {\n typeDef = Array.isArray(realVal)\n ? null\n : typeof realVal === \"function\"\n ? typeDefs.function || null\n : ObjectDef;\n }\n protoMap.set(proto, typeDef);\n return typeDef;\n }\n default:\n return typeDefs[type];\n }\n }\n}\n","export const BisonBinaryTypes = {\n Blob: {\n test: (blob, toStringTag) => toStringTag === \"Blob\",\n replace: (blob, altChannel) => {\n const i = altChannel.length;\n altChannel.push(blob);\n return {\n $t: \"Blob\",\n mimeType: blob.type,\n i,\n };\n },\n revive: ({ i, mimeType }, altChannel) => new Blob([altChannel[i]], { type: mimeType }),\n },\n};\n","export default {\n number: {\n replace: (num) => {\n switch (true) {\n case isNaN(num):\n return { $t: \"number\", v: \"NaN\" };\n case num === Infinity:\n return { $t: \"number\", v: \"Infinity\" };\n case num === -Infinity:\n return { $t: \"number\", v: \"-Infinity\" };\n default:\n return num;\n }\n },\n revive: ({ v }) => Number(v),\n },\n};\n","const bigIntDef = {\n bigint: {\n replace: (realVal) => {\n return { $t: \"bigint\", v: \"\" + realVal };\n },\n revive: (obj) => BigInt(obj.v),\n },\n};\nexport default bigIntDef;\n","export default {\n Date: {\n replace: (date) => ({\n $t: \"Date\",\n v: isNaN(date.getTime()) ? \"NaN\" : date.toISOString(),\n }),\n revive: ({ v }) => new Date(v === \"NaN\" ? NaN : Date.parse(v)),\n },\n};\n","export default {\n Set: {\n replace: (set) => ({\n $t: \"Set\",\n v: Array.from(set.entries()),\n }),\n revive: ({ v }) => new Set(v),\n },\n};\n","export default {\n Map: {\n replace: (map) => ({\n $t: \"Map\",\n v: Array.from(map.entries()),\n }),\n revive: ({ v }) => new Map(v),\n },\n};\n","export const _global = typeof globalThis !== \"undefined\" // All modern environments (node, bun, deno, browser, workers, webview etc)\n ? globalThis\n : typeof self !== \"undefined\" // Older browsers, workers, webview, window etc\n ? self\n : typeof global !== \"undefined\" // Older versions of node\n ? global\n : undefined; // Unsupported environment. No idea to return 'this' since we are in a module or a function scope anyway.\n","import { _global } from \"../../common/_global.js\";\nexport default [\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Uint16Array\",\n \"Int32Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"DataView\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n].reduce((specs, typeName) => ({\n ...specs,\n [typeName]: {\n // Replace passes the the typed array into $t, buffer so that\n // the ArrayBuffer typedef takes care of further handling of the buffer:\n // {$t:\"Uint8Array\",buffer:{$t:\"ArrayBuffer\",idx:0}}\n // CHANGED ABOVE! Now shortcutting that for more sparse format of the typed arrays\n // to contain the b64 property directly.\n replace: (a, _, typeDefs) => {\n const result = {\n $t: typeName,\n v: typeDefs.ArrayBuffer.replace(a.byteOffset === 0 && a.byteLength === a.buffer.byteLength\n ? a.buffer\n : a.buffer.slice(a.byteOffset, a.byteOffset + a.byteLength), _, typeDefs).v,\n };\n return result;\n },\n revive: ({ v }, _, typeDefs) => {\n const TypedArray = _global[typeName];\n return (TypedArray &&\n new TypedArray(typeDefs.ArrayBuffer.revive({ v }, _, typeDefs)));\n },\n },\n}), {});\n","import { b64decode, b64encode } from \"./base64.js\";\nexport function b64LexEncode(b) {\n return b64ToLex(b64encode(b));\n}\nexport function b64LexDecode(b64Lex) {\n return b64decode(lexToB64(b64Lex));\n}\nexport function b64ToLex(base64) {\n var encoded = \"\";\n for (var i = 0, length = base64.length; i < length; i++) {\n encoded += ENCODE_TABLE[base64[i]];\n }\n return encoded;\n}\nexport function lexToB64(base64lex) {\n // only accept string input\n if (typeof base64lex !== \"string\") {\n throw new Error(\"invalid decoder input: \" + base64lex);\n }\n var base64 = \"\";\n for (var i = 0, length = base64lex.length; i < length; i++) {\n base64 += DECODE_TABLE[base64lex[i]];\n }\n return base64;\n}\nconst DECODE_TABLE = {\n \"-\": \"=\",\n \"0\": \"A\",\n \"1\": \"B\",\n \"2\": \"C\",\n \"3\": \"D\",\n \"4\": \"E\",\n \"5\": \"F\",\n \"6\": \"G\",\n \"7\": \"H\",\n \"8\": \"I\",\n \"9\": \"J\",\n A: \"K\",\n B: \"L\",\n C: \"M\",\n D: \"N\",\n E: \"O\",\n F: \"P\",\n G: \"Q\",\n H: \"R\",\n I: \"S\",\n J: \"T\",\n K: \"U\",\n L: \"V\",\n M: \"W\",\n N: \"X\",\n O: \"Y\",\n P: \"Z\",\n Q: \"a\",\n R: \"b\",\n S: \"c\",\n T: \"d\",\n U: \"e\",\n V: \"f\",\n W: \"g\",\n X: \"h\",\n Y: \"i\",\n Z: \"j\",\n _: \"k\",\n a: \"l\",\n b: \"m\",\n c: \"n\",\n d: \"o\",\n e: \"p\",\n f: \"q\",\n g: \"r\",\n h: \"s\",\n i: \"t\",\n j: \"u\",\n k: \"v\",\n l: \"w\",\n m: \"x\",\n n: \"y\",\n o: \"z\",\n p: \"0\",\n q: \"1\",\n r: \"2\",\n s: \"3\",\n t: \"4\",\n u: \"5\",\n v: \"6\",\n w: \"7\",\n x: \"8\",\n y: \"9\",\n z: \"+\",\n \"|\": \"/\",\n};\nconst ENCODE_TABLE = {};\nfor (const c of Object.keys(DECODE_TABLE)) {\n ENCODE_TABLE[DECODE_TABLE[c]] = c;\n}\n","import { b64LexDecode, b64LexEncode } from \"../../common/b64lex.js\";\nexport default {\n ArrayBuffer: {\n replace: (ab) => ({\n $t: \"ArrayBuffer\",\n v: b64LexEncode(ab),\n }),\n revive: ({ v }) => {\n const ba = b64LexDecode(v);\n return ba.buffer.byteLength === ba.byteLength\n ? ba.buffer\n : ba.buffer.slice(ba.byteOffset, ba.byteOffset + ba.byteLength);\n },\n },\n};\n","export class FakeBlob {\n constructor(buf, type) {\n this.buf = buf;\n this.type = type;\n }\n}\n","export function readBlobSync(b) {\n const req = new XMLHttpRequest();\n req.overrideMimeType(\"text/plain; charset=x-user-defined\");\n req.open(\"GET\", URL.createObjectURL(b), false); // Sync\n req.send();\n if (req.status !== 200 && req.status !== 0) {\n throw new Error(\"Bad Blob access: \" + req.status);\n }\n return req.responseText;\n}\n","export function string2ArrayBuffer(str) {\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport function arrayBuffer2String(buf) {\n // TODO: Optimize\n return new Uint8Array(buf).reduce((s, byte) => s + String.fromCharCode(byte), \"\");\n}\n","import { b64decode, b64encode } from \"../../common/base64.js\";\nimport { FakeBlob } from \"../FakeBlob.js\";\nimport { readBlobSync } from \"../readBlobSync.js\";\nimport { string2ArrayBuffer } from \"../string2arraybuffer.js\";\nexport default {\n Blob: {\n test: (blob, toStringTag) => toStringTag === \"Blob\" || blob instanceof FakeBlob,\n replace: (blob) => ({\n $t: \"Blob\",\n v: blob instanceof FakeBlob\n ? b64encode(blob.buf)\n : b64encode(string2ArrayBuffer(readBlobSync(blob))),\n type: blob.type,\n }),\n revive: ({ type, v }) => {\n const ab = b64decode(v);\n return typeof Blob !== undefined\n ? new Blob([ab])\n : new FakeBlob(ab.buffer, type);\n },\n },\n};\n","import numberDef from \"../types/number.js\";\nimport bigintDef from \"../types/bigint.js\";\nimport DateDef from \"../types/Date.js\";\nimport SetDef from \"../types/Set.js\";\nimport MapDef from \"../types/Map.js\";\nimport TypedArraysDefs from \"../types/TypedArray.js\";\nimport ArrayBufferDef from \"../types/ArrayBuffer.js\";\nimport BlobDef from \"../types/Blob.js\";\nconst builtin = {\n ...numberDef,\n ...bigintDef,\n ...DateDef,\n ...SetDef,\n ...MapDef,\n ...TypedArraysDefs,\n ...ArrayBufferDef,\n ...BlobDef, // Should be moved to another preset for DOM types (or universal? since it supports node as well with FakeBlob)\n};\nexport default builtin;\n","import { BisonBinaryTypes } from \"./BisonBinaryTypes.js\";\nimport builtin from \"./presets/builtin.js\";\nimport { TypesonSimplified } from \"./TypesonSimplified.js\";\nexport function Bison(...typeDefsInputs) {\n const tson = TypesonSimplified(builtin, BisonBinaryTypes, ...typeDefsInputs);\n return {\n toBinary(value) {\n const [blob, json] = this.stringify(value);\n const lenBuf = new ArrayBuffer(4);\n new DataView(lenBuf).setUint32(0, blob.size);\n return new Blob([lenBuf, blob, json]);\n },\n stringify(value) {\n const binaries = [];\n const json = tson.stringify(value, binaries);\n const blob = new Blob(binaries.map((b) => {\n const lenBuf = new ArrayBuffer(4);\n new DataView(lenBuf).setUint32(0, \"byteLength\" in b ? b.byteLength : b.size);\n return new Blob([lenBuf, b]);\n }));\n return [blob, json];\n },\n async parse(json, binData) {\n let pos = 0;\n const arrayBuffers = [];\n const buf = await readBlobBinary(binData);\n const view = new DataView(buf);\n while (pos < buf.byteLength) {\n const len = view.getUint32(pos);\n pos += 4;\n const ab = buf.slice(pos, pos + len);\n pos += len;\n arrayBuffers.push(ab);\n }\n return tson.parse(json, arrayBuffers);\n },\n async fromBinary(blob) {\n const len = new DataView(await readBlobBinary(blob.slice(0, 4))).getUint32(0);\n const binData = blob.slice(4, len + 4);\n const json = await readBlob(blob.slice(len + 4));\n return await this.parse(json, binData);\n },\n };\n}\nexport function readBlob(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onabort = (ev) => reject(new Error(\"file read aborted\"));\n reader.onerror = (ev) => reject(ev.target.error);\n reader.onload = (ev) => resolve(ev.target.result);\n reader.readAsText(blob);\n });\n}\nexport function readBlobBinary(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onabort = (ev) => reject(new Error(\"file read aborted\"));\n reader.onerror = (ev) => reject(ev.target.error);\n reader.onload = (ev) => resolve(ev.target.result);\n reader.readAsArrayBuffer(blob);\n });\n}\n","/** The undefined type is not part of builtin but can be manually added.\n * The reason for supporting undefined is if the following object should be revived correctly:\n *\n * {foo: undefined}\n *\n * Without including this typedef, the revived object would just be {}.\n * If including this typedef, the revived object would be {foo: undefined}.\n */\nexport default {\n undefined: {\n replace: () => ({\n $t: \"undefined\"\n }),\n revive: () => undefined,\n },\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return v(l,f,t,o,null)}function v(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function y(){return{current:null}}function p(n){return n.children}function d(n,l){this.props=n,this.context=l}function _(n,l){if(null==l)return n.__?_(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?_(n):null}function k(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return k(n)}}function b(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||setTimeout)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=s({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?_(t):o,t.__h),z(u,t),t.__e!=o&&k(t)))})}function w(n,l,u,i,t,o,r,c,s,a){var h,y,d,k,b,g,w,x=i&&i.__k||e,C=x.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(k=u.__k[h]=null==(k=l[h])||\"boolean\"==typeof k?null:\"string\"==typeof k||\"number\"==typeof k||\"bigint\"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(p,{children:k},null,null,null):k.__b>0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(d=x[h])||d&&k.key==d.key&&k.type===d.type)x[h]=void 0;else for(y=0;y<C;y++){if((d=x[y])&&k.key==d.key&&k.type===d.type){x[y]=void 0;break}d=null}j(n,k,d=d||f,t,o,r,c,s,a),b=k.__e,(y=k.ref)&&d.ref!=y&&(w||(w=[]),d.ref&&w.push(d.ref,null,k),w.push(y,k.__c||b,k)),null!=b?(null==g&&(g=b),\"function\"==typeof k.type&&k.__k===d.__k?k.__d=s=m(k,s,n):s=A(n,k,d,x,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&d.__e==s&&s.parentNode!=n&&(s=_(d))}for(u.__e=g,h=C;h--;)null!=x[h]&&(\"function\"==typeof u.type&&null!=x[h].__e&&x[h].__e==u.__d&&(u.__d=_(i,h+1)),N(x[h],x[h]));if(w)for(h=0;h<w.length;h++)M(w[h],w[++h],w[++h])}function m(n,l,u){for(var i,t=n.__k,o=0;t&&o<t.length;o++)(i=t[o])&&(i.__=n,l=\"function\"==typeof i.type?m(i,l,u):A(u,i,i,t,i.__e,l));return l}function x(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){x(n,l)}):l.push(n)),l}function A(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||c.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var a,h,v,y,_,k,b,g,m,x,A,C,$,H=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if(\"function\"==typeof H){if(g=u.props,m=(a=H.contextType)&&t[a.__c],x=a?m?m.props.value:a.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in H&&H.prototype.render?u.__c=h=new H(g,x):(u.__c=h=new d(g,x),h.constructor=H,h.render=O),m&&m.sub(h),h.props=g,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=H.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,H.getDerivedStateFromProps(g,h.__s))),y=h.props,_=h.state,v)null==H.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==H.getDerivedStateFromProps&&g!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(g,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(g,h.__s,x)||u.__v===i.__v){h.props=g,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(g,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,_,k)})}if(h.context=x,h.props=g,h.__v=u,h.__P=n,A=l.__r,C=0,\"prototype\"in H&&H.prototype.render)h.state=h.__s,h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context);else do{h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++C<25);h.state=h.__s,null!=h.getChildContext&&(t=s(s({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,_)),$=null!=a&&a.type===p&&null==a.key?a.props.children:a,w(n,Array.isArray($)?$:[$],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,e,c){var s,h,v,y=i.props,p=u.props,d=u.type,k=0;if(\"svg\"===d&&(o=!0),null!=r)for(;k<r.length;k++)if((s=r[k])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,r[k]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),h=(y=i.props||f).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},k=0;k<l.attributes.length;k++)y[l.attributes[k].name]=l.attributes[k].value;(v||h)&&(v&&(h&&v.__html==h.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(k=u.props.children,w(l,Array.isArray(k)?k:[k],u,i,t,o&&\"foreignObject\"!==d,r,e,r?r[0]:i.__k&&_(i,0),c),null!=r)for(k=r.length;k--;)null!=r[k]&&a(r[k]);c||(\"value\"in p&&void 0!==(k=p.value)&&(k!==l.value||\"progress\"===d&&!k||\"option\"===d&&k!==y.value)&&H(l,\"value\",k,y.value,!1),\"checked\"in p&&void 0!==(k=p.checked)&&k!==l.checked&&H(l,\"checked\",k,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||a(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function P(u,i,t){var o,r,e;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,e=[],j(i,u=(!o&&t||i).__k=h(p,null,[u]),r||f,f,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,e,!o&&t?t:r?r.__e:i.firstChild,o),z(e,u)}function S(n,l){P(n,l,S)}function q(l,u,i){var t,o,r,f=s({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),v(l.type,f,t||l.key,o||l.ref,null)}function B(n,l){var u={__c:l=\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=e.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),b(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),b(this))},d.prototype.render=p,t=[],g.__r=0,r=0;export{P as render,S as hydrate,h as createElement,h,p as Fragment,y as createRef,i as isValidElement,d as Component,q as cloneElement,B as createContext,x as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n",null,null,"import{options as n}from\"preact\";var t,r,u,i,o=0,c=[],f=[],e=n.__b,a=n.__r,v=n.diffed,l=n.__c,m=n.unmount;function d(t,u){n.__h&&n.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:f}),i.__[t]}function p(n){return o=1,y(z,n)}function y(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):z(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){r.u=!0;var c=r.shouldComponentUpdate;r.shouldComponentUpdate=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!!i&&(!c||c.call(this,n,t,r))}}return o.__N||o.__}function h(u,i){var o=d(t++,3);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function s(u,i){var o=d(t++,4);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,s(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return w(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){n.useDebugValue&&n.useDebugValue(r?r(t):t)}function V(n){var u=d(t++,10),i=p();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n){u.__&&u.__(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}function b(){for(var t;t=c.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(j),t.__H.__h.forEach(k),t.__H.__h=[]}catch(r){t.__H.__h=[],n.__e(r,t.__v)}}n.__b=function(n){r=null,e&&e(n)},n.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=f,n.__N=n.i=void 0})):(i.__h.forEach(j),i.__h.forEach(k),i.__h=[])),u=r},n.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==c.push(o)&&i===n.requestAnimationFrame||((i=n.requestAnimationFrame)||function(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))})(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==f&&(n.__=n.__V),n.i=void 0,n.__V=f})),u=r=null},n.__c=function(t,r){r.some(function(t){try{t.__h.forEach(j),t.__h=t.__h.filter(function(n){return!n.__||k(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],n.__e(u,t.__v)}}),l&&l(t,r)},n.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{j(n)}catch(n){r=n}}),r&&n.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function k(n){var t=r;n.__c=n.__(),r=t}function w(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function z(n,t){return\"function\"==typeof t?t(n):t}export{p as useState,y as useReducer,h as useEffect,s as useLayoutEffect,_ as useRef,A as useImperativeHandle,F as useMemo,T as useCallback,q as useContext,x as useDebugValue,V as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["randomString","Symbol_observable","Symbol_iterator","asyncScheduler","iterator","concat","wm","firstValueFrom","from","filter","Observable","bigintDef","tsonBuiltinDefs","cmp","BehaviorSubject","Subject","counter","of","fromEvent","merge","Subscription","throwError","l","u","t","o","f","e","c","s","a","v","p","d","_","k","b","g","j","z","w","m","n","useState","useRef","useLayoutEffect","Fragment","Component","preact.render","combineLatest","map","share","timer","liveQuery"],"mappings":"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IAAI,GAAG,EAAE,GAAG;IACZ,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,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","x_google_ignoreList":[0,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,162,165]}
|
|
1
|
+
{"version":3,"file":"dexie-cloud-addon.js","sources":["../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.5_rollup@4.1.4_tslib@2.4.0_typescript@4.9.4/node_modules/tslib/tslib.es6.js","../../../../libs/dexie-cloud-common/dist/utils.js","../../../../libs/dexie-cloud-common/dist/validation/isValidSyncableID.js","../../../../libs/dexie-cloud-common/dist/change-processing/applyOperation.js","../../../../libs/dexie-cloud-common/dist/change-processing/applyOperations.js","../../../../libs/dexie-cloud-common/dist/change-processing/subtractChanges.js","../../../../libs/dexie-cloud-common/dist/change-processing/toDBOperationSet.js","../../../../libs/dexie-cloud-common/dist/getDbNameFromDbUrl.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/config.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/isDate.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/timer.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/args.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/catchError.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/from.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/concat.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/take.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/ignoreElements.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/mapTo.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/delayWhen.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/delay.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/skip.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/startWith.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","../../../../node_modules/.pnpm/rxjs@7.5.6/node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../src/sync/registerSyncEvent.ts","../../src/sync/triggerSync.ts","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/base64.js","../../src/authentication/TokenErrorResponseError.ts","../../src/authentication/interactWithUser.ts","../../src/authentication/authenticate.ts","../../src/authentication/AuthPersistedContext.ts","../../src/authentication/UNAUTHORIZED_USER.ts","../../src/authentication/waitUntil.ts","../../src/authentication/logout.ts","../../src/errors/HttpError.ts","../../src/authentication/otpFetchTokenCallback.ts","../../src/prodLog.ts","../../src/authentication/setCurrentUser.ts","../../src/authentication/login.ts","../../src/helpers/SWBroadcastChannel.ts","../../src/helpers/BroadcastedAndLocalEvent.ts","../../src/helpers/computeRealmSetHash.ts","../../src/helpers/getSyncableTables.ts","../../src/helpers/getMutationTable.ts","../../src/helpers/getTableFromMutationTable.ts","../../src/helpers/flatten.ts","../../src/sync/listClientChanges.ts","../../src/helpers/randomString.ts","../../src/sync/listSyncifiedChanges.ts","../../src/sync/getTablesToSyncify.ts","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/TypesonSimplified.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/BisonBinaryTypes.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/number.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/bigint.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Date.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Set.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Map.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/_global.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/TypedArray.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/common/b64lex.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/ArrayBuffer.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/FakeBlob.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/readBlobSync.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/string2arraybuffer.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/Blob.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/presets/builtin.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/Bison.js","../../../../node_modules/.pnpm/dreambase-library@1.0.21/node_modules/dreambase-library/dist/typeson-simplified/types/undefined.js","../../src/TSON.ts","../../src/sync/encodeIdsForServer.ts","../../src/sync/ratelimit.ts","../../src/sync/syncWithServer.ts","../../src/sync/modifyLocalObjectsWithNewUserId.ts","../../src/helpers/CancelToken.ts","../../src/sync/isOnline.ts","../../src/sync/updateBaseRevs.ts","../../src/sync/getLatestRevisionsPerTable.ts","../../src/helpers/bulkUpdate.ts","../../src/sync/applyServerChanges.ts","../../src/sync/sync.ts","../../src/sync/messagesFromServerQueue.ts","../../src/db/DexieCloudDB.ts","../../src/isFirefox.ts","../../src/isSafari.ts","../../src/DISABLE_SERVICEWORKER_STRATEGY.ts","../../src/helpers/dbOnClosed.ts","../../src/helpers/IS_SERVICE_WORKER.ts","../../src/helpers/throwVersionIncrementNeeded.ts","../../src/middleware-helpers/idGenerationHelpers.ts","../../src/middlewares/createIdGenerationMiddleware.ts","../../src/middlewares/createImplicitPropSetterMiddleware.ts","../../src/helpers/allSettled.ts","../../src/middleware-helpers/guardedTable.ts","../../src/middlewares/outstandingTransaction.ts","../../src/isEagerSyncDisabled.ts","../../src/middlewares/createMutationTrackingMiddleware.ts","../../src/overrideParseStoresSpec.ts","../../src/performInitialSync.ts","../../src/userIsActive.ts","../../src/authentication/TokenExpiredError.ts","../../src/WSObservable.ts","../../src/InvalidLicenseError.ts","../../src/sync/connectWebSocket.ts","../../src/sync/isSyncNeeded.ts","../../src/sync/performGuardedJob.ts","../../src/sync/syncIfPossible.ts","../../src/helpers/date-constants.ts","../../src/sync/LocalSyncWorker.ts","../../src/updateSchemaFromOptions.ts","../../src/verifySchema.ts","../../../../node_modules/.pnpm/preact@10.10.6/node_modules/preact/dist/preact.module.js","../../src/default-ui/Styles.ts","../../src/default-ui/Dialog.tsx","../../../../node_modules/.pnpm/preact@10.10.6/node_modules/preact/hooks/dist/hooks.module.js","../../src/helpers/resolveText.ts","../../src/default-ui/LoginDialog.tsx","../../src/default-ui/index.tsx","../../src/associate.ts","../../src/currentUserEmitter.ts","../../src/computeSyncState.ts","../../src/createSharedValueObservable.ts","../../src/getGlobalRolesObservable.ts","../../src/getInternalAccessControlObservable.ts","../../src/mapValueObservable.ts","../../src/mergePermissions.ts","../../src/getPermissionsLookupObservable.ts","../../src/PermissionChecker.ts","../../src/permissions.ts","../../src/getInvitesObservable.ts","../../src/getTiedRealmId.ts","../../src/dexie-cloud-client.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function assert(b) {\n if (!b)\n throw new Error('Assertion Failed');\n}\nconst _hasOwn = {}.hasOwnProperty;\nexport function hasOwn(obj, prop) {\n return _hasOwn.call(obj, prop);\n}\nexport function setByKeyPath(obj, keyPath, value) {\n if (!obj || keyPath === undefined)\n return;\n if ('isFrozen' in Object && Object.isFrozen(obj))\n return;\n if (typeof keyPath !== 'string' && 'length' in keyPath) {\n assert(typeof value !== 'string' && 'length' in value);\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n setByKeyPath(obj, keyPath[i], value[i]);\n }\n }\n else {\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var currentKeyPath = keyPath.substr(0, period);\n var remainingKeyPath = keyPath.substr(period + 1);\n if (remainingKeyPath === '')\n if (value === undefined) {\n if (Array.isArray(obj)) {\n if (!isNaN(parseInt(currentKeyPath)))\n obj.splice(parseInt(currentKeyPath), 1);\n }\n else\n delete obj[currentKeyPath];\n // @ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n }\n else\n obj[currentKeyPath] = value;\n else {\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n var innerObj = obj[currentKeyPath];\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n if (!innerObj || !hasOwn(obj, currentKeyPath))\n innerObj = (obj[currentKeyPath] = {});\n setByKeyPath(innerObj, remainingKeyPath, value);\n }\n }\n else {\n if (value === undefined) {\n if (Array.isArray(obj) && !isNaN(parseInt(keyPath)))\n // @ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n obj.splice(keyPath, 1);\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n else\n delete obj[keyPath];\n //@ts-ignore: even if currentKeyPath would be numeric string and obj would be array - it works.\n }\n else\n obj[keyPath] = value;\n }\n }\n}\nexport const randomString = typeof self !== 'undefined' && typeof crypto !== 'undefined' ? (bytes, randomFill = crypto.getRandomValues.bind(crypto)) => {\n // Web\n const buf = new Uint8Array(bytes);\n randomFill(buf);\n return self.btoa(String.fromCharCode.apply(null, buf));\n} : typeof Buffer !== 'undefined' ? (bytes, randomFill = simpleRandomFill) => {\n // Node\n const buf = Buffer.alloc(bytes);\n randomFill(buf);\n return buf.toString(\"base64\");\n} : () => { throw new Error(\"No implementation of randomString was found\"); };\nfunction simpleRandomFill(buf) {\n for (let i = 0; i < buf.length; ++i) {\n buf[i] = Math.floor(Math.random() * 256);\n }\n}\n","const validIDTypes = {\n Uint8Array,\n};\n/** Verifies that given primary key is valid.\n * The reason we narrow validity for valid keys are twofold:\n * 1: Make sure to only support types that can be used as an object index in DBKeyMutationSet.\n * For example, ArrayBuffer cannot be used (gives \"object ArrayBuffer\") but Uint8Array can be\n * used (gives comma-delimited list of included bytes).\n * 2: Avoid using plain numbers and Dates as keys when they are synced, as they are not globally unique.\n * 3: Since we store the key as a VARCHAR server side in current version, try not promote types that stringifies to become very long server side.\n *\n * @param id\n * @returns\n */\nexport function isValidSyncableID(id) {\n if (typeof id === \"string\")\n return true;\n //if (validIDTypes[toStringTag(id)]) return true;\n //if (Array.isArray(id)) return id.every((part) => isValidSyncableID(part));\n if (Array.isArray(id) && id.some(key => isValidSyncableID(key)) && id.every(isValidSyncableIDPart))\n return true;\n return false;\n}\n/** Verifies that given key part is valid.\n * 1: Make sure that arrays of this types are stringified correclty and works with DBKeyMutationSet.\n * For example, ArrayBuffer cannot be used (gives \"object ArrayBuffer\") but Uint8Array can be\n * used (gives comma-delimited list of included bytes).\n * 2: Since we store the key as a VARCHAR server side in current version, try not promote types that stringifies to become very long server side.\n*/\nfunction isValidSyncableIDPart(part) {\n return typeof part === \"string\" || typeof part === \"number\" || Array.isArray(part) && part.every(isValidSyncableIDPart);\n}\nexport function isValidAtID(id, idPrefix) {\n return !idPrefix || (typeof id === \"string\" && id.startsWith(idPrefix));\n}\n","import { setByKeyPath } from \"../utils.js\";\nexport function applyOperation(target, table, op) {\n const tbl = target[table] || (target[table] = {});\n const keys = op.keys.map(key => typeof key === 'string' ? key : JSON.stringify(key));\n switch (op.type) {\n case \"insert\":\n // TODO: Don't treat insert and upsert the same?\n case \"upsert\":\n keys.forEach((key, idx) => {\n tbl[key] = {\n type: \"ups\",\n val: op.values[idx],\n };\n });\n break;\n case \"update\":\n case \"modify\": {\n keys.forEach((key, idx) => {\n const changeSpec = op.type === \"update\"\n ? op.changeSpecs[idx]\n : op.changeSpec;\n const entry = tbl[key];\n if (!entry) {\n tbl[key] = {\n type: \"upd\",\n mod: changeSpec,\n };\n }\n else {\n switch (entry.type) {\n case \"ups\":\n // Adjust the existing upsert with additional updates\n for (const [propPath, value] of Object.entries(changeSpec)) {\n setByKeyPath(entry.val, propPath, value);\n }\n break;\n case \"del\":\n // No action.\n break;\n case \"upd\":\n // Adjust existing update with additional updates\n Object.assign(entry.mod, changeSpec); // May work for deep props as well - new keys is added later, right? Does the prop order persist along TSON and all? But it will not be 100% when combined with some server code (seach for \"address.city\": \"Stockholm\" comment)\n break;\n }\n }\n });\n break;\n }\n case \"delete\":\n keys.forEach((key) => {\n tbl[key] = {\n type: \"del\",\n };\n });\n break;\n }\n return target;\n}\n","import { applyOperation } from \"./applyOperation.js\";\nexport function applyOperations(target, ops) {\n for (const { table, muts } of ops) {\n for (const mut of muts) {\n applyOperation(target, table, mut);\n }\n }\n}\n","import { setByKeyPath } from '../utils.js';\nexport function subtractChanges(target, // Server change set\nchangesToSubtract // additional mutations on client during syncWithServer()\n) {\n var _a, _b, _c;\n for (const [table, mutationSet] of Object.entries(changesToSubtract)) {\n for (const [key, mut] of Object.entries(mutationSet)) {\n switch (mut.type) {\n case 'ups':\n {\n const targetMut = (_a = target[table]) === null || _a === void 0 ? void 0 : _a[key];\n if (targetMut) {\n switch (targetMut.type) {\n case 'ups':\n delete target[table][key];\n break;\n case 'del':\n // Leave delete operation.\n // (Don't resurrect objects unintenionally (using tx(get, put) pattern locally))\n break;\n case 'upd':\n delete target[table][key];\n break;\n }\n }\n }\n break;\n case 'del':\n (_b = target[table]) === null || _b === void 0 ? true : delete _b[key];\n break;\n case 'upd': {\n const targetMut = (_c = target[table]) === null || _c === void 0 ? void 0 : _c[key];\n if (targetMut) {\n switch (targetMut.type) {\n case 'ups':\n // Adjust the server upsert with locally updated values.\n for (const [propPath, value] of Object.entries(mut.mod)) {\n setByKeyPath(targetMut.val, propPath, value);\n }\n break;\n case 'del':\n // Leave delete.\n break;\n case 'upd':\n // Remove the local update props from the server update mutation.\n for (const propPath of Object.keys(mut.mod)) {\n delete targetMut.mod[propPath];\n }\n break;\n }\n }\n break;\n }\n }\n }\n }\n}\n","import { randomString } from \"../utils.js\";\n/** Convert a DBKeyMutationSet (which is an internal format capable of looking up changes per ID)\n * ...into a DBOperationsSet (which is more optimal for performing DB operations into DB (bulkAdd() etc))\n *\n * @param inSet\n * @returns DBOperationsSet representing inSet\n */\nexport function toDBOperationSet(inSet, txid = \"\") {\n // Fictive transaction:\n if (!txid)\n txid = randomString(16);\n // Convert data into a temporary map to collect mutations of same table and type\n const map = {};\n for (const [table, ops] of Object.entries(inSet)) {\n for (const [key, op] of Object.entries(ops)) {\n const mapEntry = map[table] || (map[table] = {});\n const ops = mapEntry[op.type] || (mapEntry[op.type] = []);\n ops.push(Object.assign({ key }, op)); // DBKeyMutation doesn't contain key, so we need to bring it in.\n }\n }\n // Start computing the resulting format:\n const result = [];\n for (const [table, ops] of Object.entries(map)) {\n const resultEntry = {\n table,\n muts: [],\n };\n for (const [optype, muts] of Object.entries(ops)) {\n switch (optype) {\n case \"ups\": {\n const op = {\n type: \"upsert\",\n keys: muts.map(mut => mut.key),\n values: muts.map(mut => mut.val),\n txid\n };\n resultEntry.muts.push(op);\n break;\n }\n case \"upd\": {\n const op = {\n type: \"update\",\n keys: muts.map(mut => mut.key),\n changeSpecs: muts.map(mut => mut.mod),\n txid\n };\n resultEntry.muts.push(op);\n break;\n }\n case \"del\": {\n const op = {\n type: \"delete\",\n keys: muts.map(mut => mut.key),\n txid,\n };\n resultEntry.muts.push(op);\n break;\n }\n }\n }\n result.push(resultEntry);\n }\n return result;\n}\n","export function getDbNameFromDbUrl(dbUrl) {\n const url = new URL(dbUrl);\n return url.pathname === \"/\"\n ? url.hostname.split('.')[0]\n : url.pathname.split('/')[1];\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n _this._scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable(function (subscriber) {\n var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate(function (source, subscriber) {\n var innerSub = null;\n var syncUnsub = false;\n var handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n//# sourceMappingURL=catchError.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n return operate(function (source, subscriber) {\n var activeTask = null;\n var lastValue = null;\n var lastTime = null;\n var emit = function () {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n var targetTime = lastTime + dueTime;\n var now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, function () {\n emit();\n subscriber.complete();\n }, undefined, function () {\n lastValue = activeTask = null;\n }));\n });\n}\n//# sourceMappingURL=debounceTime.js.map","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return concatAll()(from(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, noop));\n });\n}\n//# sourceMappingURL=ignoreElements.js.map","import { map } from './map';\nexport function mapTo(value) {\n return map(function () { return value; });\n}\n//# sourceMappingURL=mapTo.js.map","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n };\n }\n return mergeMap(function (value, index) { return delayDurationSelector(value, index).pipe(take(1), mapTo(value)); });\n}\n//# sourceMappingURL=delayWhen.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler) {\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var duration = timer(due, scheduler);\n return delayWhen(function () { return duration; });\n}\n//# sourceMappingURL=delay.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { filter } from './filter';\nexport function skip(count) {\n return filter(function (_, index) { return count <= index; });\n}\n//# sourceMappingURL=skip.js.map","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var scheduler = popScheduler(values);\n return operate(function (source, subscriber) {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=startWith.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import { __awaiter } from \"tslib\";\n//const hasSW = 'serviceWorker' in navigator;\nlet hasComplainedAboutSyncEvent = false;\nexport function registerSyncEvent(db, purpose) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // Send sync event to SW:\n const sw = yield navigator.serviceWorker.ready;\n if (purpose === \"push\" && sw.sync) {\n yield sw.sync.register(`dexie-cloud:${db.name}`);\n }\n if (sw.active) {\n // Use postMessage for pull syncs and for browsers not supporting sync event (Firefox, Safari).\n // Also chromium based browsers with sw.sync as a fallback for sleepy sync events not taking action for a while.\n sw.active.postMessage({\n type: 'dexie-cloud-sync',\n dbName: db.name,\n purpose\n });\n }\n else {\n throw new Error(`Failed to trigger sync - there's no active service worker`);\n }\n return;\n }\n catch (e) {\n if (!hasComplainedAboutSyncEvent) {\n console.debug(`Dexie Cloud: Could not register sync event`, e);\n hasComplainedAboutSyncEvent = true;\n }\n }\n });\n}\nexport function registerPeriodicSyncEvent(db) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // Register periodicSync event to SW:\n // @ts-ignore\n const { periodicSync } = yield navigator.serviceWorker.ready;\n if (periodicSync) {\n try {\n yield periodicSync.register(`dexie-cloud:${db.name}`, (_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.periodicSync);\n console.debug(`Dexie Cloud: Successfully registered periodicsync event for ${db.name}`);\n }\n catch (e) {\n console.debug(`Dexie Cloud: Failed to register periodic sync. Your PWA must be installed to allow background sync.`, e);\n }\n }\n else {\n console.debug(`Dexie Cloud: periodicSync not supported.`);\n }\n }\n catch (e) {\n console.debug(`Dexie Cloud: Could not register periodicSync for ${db.name}`, e);\n }\n });\n}\n","import { registerSyncEvent } from \"./registerSyncEvent\";\nexport function triggerSync(db, purpose) {\n if (db.cloud.usingServiceWorker) {\n console.debug('registering sync event');\n registerSyncEvent(db, purpose);\n }\n else {\n db.localSyncEvent.next({ purpose });\n }\n}\n","export const b64decode = typeof Buffer !== \"undefined\"\n ? (base64) => Buffer.from(base64, \"base64\")\n : (base64) => {\n const binary_string = atob(base64);\n const len = binary_string.length;\n const bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\nexport const b64encode = typeof Buffer !== \"undefined\"\n ? (b) => {\n if (ArrayBuffer.isView(b)) {\n return Buffer.from(b.buffer, b.byteOffset, b.byteLength).toString(\"base64\");\n }\n else {\n return Buffer.from(b).toString(\"base64\");\n }\n }\n : (b) => {\n const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);\n const CHUNK_SIZE = 0x1000;\n const strs = [];\n for (let i = 0, l = u8a.length; i < l; i += CHUNK_SIZE) {\n const chunk = u8a.subarray(i, i + CHUNK_SIZE);\n strs.push(String.fromCharCode.apply(null, chunk));\n }\n return btoa(strs.join(\"\"));\n };\n","export class TokenErrorResponseError extends Error {\n constructor({ title, message, messageCode, messageParams, }) {\n super(message);\n this.name = 'TokenErrorResponseError';\n this.title = title;\n this.messageCode = messageCode;\n this.messageParams = messageParams;\n }\n}\n","import { __awaiter } from \"tslib\";\nimport Dexie from 'dexie';\nexport function interactWithUser(userInteraction, req) {\n let done = false;\n return new Promise((resolve, reject) => {\n const interactionProps = Object.assign(Object.assign({ submitLabel: 'Submit', cancelLabel: 'Cancel' }, req), { onSubmit: (res) => {\n userInteraction.next(undefined);\n done = true;\n resolve(res);\n }, onCancel: () => {\n userInteraction.next(undefined);\n done = true;\n reject(new Dexie.AbortError('User cancelled'));\n } });\n userInteraction.next(interactionProps);\n // Start subscribing for external updates to db.cloud.userInteraction, and if so, cancel this request.\n /*const subscription = userInteraction.subscribe((currentInteractionProps) => {\n if (currentInteractionProps !== interactionProps) {\n if (subscription) subscription.unsubscribe();\n if (!done) {\n reject(new Dexie.AbortError(\"User cancelled\"));\n }\n }\n });*/\n });\n}\nexport function alertUser(userInteraction, title, ...alerts) {\n return interactWithUser(userInteraction, {\n type: 'message-alert',\n title,\n alerts,\n fields: {},\n submitLabel: 'OK',\n cancelLabel: null,\n });\n}\nexport function promptForEmail(userInteraction, title, emailHint) {\n return __awaiter(this, void 0, void 0, function* () {\n let email = emailHint || '';\n while (!email || !/^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,10}$/.test(email)) {\n email = (yield interactWithUser(userInteraction, {\n type: 'email',\n title,\n alerts: email\n ? [\n {\n type: 'error',\n messageCode: 'INVALID_EMAIL',\n message: 'Please enter a valid email address',\n messageParams: {},\n },\n ]\n : [],\n fields: {\n email: {\n type: 'email',\n placeholder: 'you@somedomain.com',\n },\n },\n })).email;\n }\n return email;\n });\n}\nexport function promptForOTP(userInteraction, email, alert) {\n return __awaiter(this, void 0, void 0, function* () {\n const alerts = [\n {\n type: 'info',\n messageCode: 'OTP_SENT',\n message: `A One-Time password has been sent to {email}`,\n messageParams: { email },\n },\n ];\n if (alert) {\n alerts.push(alert);\n }\n const { otp } = yield interactWithUser(userInteraction, {\n type: 'otp',\n title: 'Enter OTP',\n alerts,\n fields: {\n otp: {\n type: 'otp',\n label: 'OTP',\n placeholder: 'Paste OTP here',\n },\n },\n });\n return otp;\n });\n}\nexport function confirmLogout(userInteraction, currentUserId, numUnsyncedChanges) {\n return __awaiter(this, void 0, void 0, function* () {\n const alerts = [\n {\n type: 'warning',\n messageCode: 'LOGOUT_CONFIRMATION',\n message: `{numUnsyncedChanges} unsynced changes will get lost!\n Logout anyway?`,\n messageParams: {\n currentUserId,\n numUnsyncedChanges: numUnsyncedChanges.toString(),\n }\n },\n ];\n return yield interactWithUser(userInteraction, {\n type: 'logout-confirmation',\n title: 'Confirm Logout',\n alerts,\n fields: {},\n submitLabel: 'Confirm logout',\n cancelLabel: 'Cancel'\n })\n .then(() => true)\n .catch(() => false);\n });\n}\n","import { __awaiter } from \"tslib\";\nimport Dexie from 'dexie';\nimport { b64encode } from 'dreambase-library/dist/common/base64';\nimport { TokenErrorResponseError } from './TokenErrorResponseError';\nimport { alertUser, interactWithUser } from './interactWithUser';\nexport function loadAccessToken(db) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n const currentUser = yield db.getCurrentUser();\n const { accessToken, accessTokenExpiration, refreshToken, refreshTokenExpiration, claims, } = currentUser;\n if (!accessToken)\n return null;\n const expTime = (_a = accessTokenExpiration === null || accessTokenExpiration === void 0 ? void 0 : accessTokenExpiration.getTime()) !== null && _a !== void 0 ? _a : Infinity;\n if (expTime > Date.now() && (((_b = currentUser.license) === null || _b === void 0 ? void 0 : _b.status) || 'ok') === 'ok') {\n return currentUser;\n }\n if (!refreshToken) {\n throw new Error(`Refresh token missing`);\n }\n const refreshExpTime = (_c = refreshTokenExpiration === null || refreshTokenExpiration === void 0 ? void 0 : refreshTokenExpiration.getTime()) !== null && _c !== void 0 ? _c : Infinity;\n if (refreshExpTime <= Date.now()) {\n throw new Error(`Refresh token has expired`);\n }\n const refreshedLogin = yield refreshAccessToken(db.cloud.options.databaseUrl, currentUser);\n yield db.table('$logins').update(claims.sub, {\n accessToken: refreshedLogin.accessToken,\n accessTokenExpiration: refreshedLogin.accessTokenExpiration,\n claims: refreshedLogin.claims,\n license: refreshedLogin.license,\n });\n return refreshedLogin;\n });\n}\nexport function authenticate(url, context, fetchToken, userInteraction, hints) {\n return __awaiter(this, void 0, void 0, function* () {\n if (context.accessToken &&\n context.accessTokenExpiration.getTime() > Date.now()) {\n return context;\n }\n else if (context.refreshToken &&\n (!context.refreshTokenExpiration ||\n context.refreshTokenExpiration.getTime() > Date.now())) {\n return yield refreshAccessToken(url, context);\n }\n else {\n return yield userAuthenticate(context, fetchToken, userInteraction, hints);\n }\n });\n}\nexport function refreshAccessToken(url, login) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!login.refreshToken)\n throw new Error(`Cannot refresh token - refresh token is missing.`);\n if (!login.nonExportablePrivateKey)\n throw new Error(`login.nonExportablePrivateKey is missing - cannot sign refresh token without a private key.`);\n const time_stamp = Date.now();\n const signing_algorithm = 'RSASSA-PKCS1-v1_5';\n const textEncoder = new TextEncoder();\n const data = textEncoder.encode(login.refreshToken + time_stamp);\n const binarySignature = yield crypto.subtle.sign(signing_algorithm, login.nonExportablePrivateKey, data);\n const signature = b64encode(binarySignature);\n const tokenRequest = {\n grant_type: 'refresh_token',\n refresh_token: login.refreshToken,\n scopes: ['ACCESS_DB'],\n signature,\n signing_algorithm,\n time_stamp,\n };\n const res = yield fetch(`${url}/token`, {\n body: JSON.stringify(tokenRequest),\n method: 'post',\n headers: { 'Content-Type': 'application/json' },\n mode: 'cors',\n });\n if (res.status !== 200)\n throw new Error(`RefreshToken: Status ${res.status} from ${url}/token`);\n const response = yield res.json();\n if (response.type === 'error') {\n throw new TokenErrorResponseError(response);\n }\n login.accessToken = response.accessToken;\n login.accessTokenExpiration = response.accessTokenExpiration\n ? new Date(response.accessTokenExpiration)\n : undefined;\n login.claims = response.claims;\n login.license = {\n type: response.userType,\n status: response.claims.license || 'ok',\n };\n if (response.evalDaysLeft != null) {\n login.license.evalDaysLeft = response.evalDaysLeft;\n }\n if (response.userValidUntil != null) {\n login.license.validUntil = new Date(response.userValidUntil);\n }\n return login;\n });\n}\nfunction userAuthenticate(context, fetchToken, userInteraction, hints) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!crypto.subtle) {\n if (typeof location !== 'undefined' && location.protocol === 'http:') {\n throw new Error(`Dexie Cloud Addon needs to use WebCrypto, but your browser has disabled it due to being served from an insecure location. Please serve it from https or http://localhost:<port> (See https://stackoverflow.com/questions/46670556/how-to-enable-crypto-subtle-for-unsecure-origins-in-chrome/46671627#46671627)`);\n }\n else {\n throw new Error(`This browser does not support WebCrypto.`);\n }\n }\n const { privateKey, publicKey } = yield crypto.subtle.generateKey({\n name: 'RSASSA-PKCS1-v1_5',\n modulusLength: 2048,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\n hash: { name: 'SHA-256' },\n }, false, // Non-exportable...\n ['sign', 'verify']);\n if (!privateKey || !publicKey)\n throw new Error(`Could not generate RSA keypair`); // Typings suggest these can be undefined...\n context.nonExportablePrivateKey = privateKey; //...but storable!\n const publicKeySPKI = yield crypto.subtle.exportKey('spki', publicKey);\n const publicKeyPEM = spkiToPEM(publicKeySPKI);\n context.publicKey = publicKey;\n try {\n const response2 = yield fetchToken({\n public_key: publicKeyPEM,\n hints,\n });\n if (response2.type === 'error') {\n throw new TokenErrorResponseError(response2);\n }\n if (response2.type !== 'tokens')\n throw new Error(`Unexpected response type from token endpoint: ${response2.type}`);\n /*const licenseStatus = response2.claims.license || 'ok';\n if (licenseStatus !== 'ok') {\n throw new InvalidLicenseError(licenseStatus);\n }*/\n context.accessToken = response2.accessToken;\n context.accessTokenExpiration = new Date(response2.accessTokenExpiration);\n context.refreshToken = response2.refreshToken;\n if (response2.refreshTokenExpiration) {\n context.refreshTokenExpiration = new Date(response2.refreshTokenExpiration);\n }\n context.userId = response2.claims.sub;\n context.email = response2.claims.email;\n context.name = response2.claims.name;\n context.claims = response2.claims;\n context.license = {\n type: response2.userType,\n status: response2.claims.license || 'ok',\n };\n if (response2.evalDaysLeft != null) {\n context.license.evalDaysLeft = response2.evalDaysLeft;\n }\n if (response2.userValidUntil != null) {\n context.license.validUntil = new Date(response2.userValidUntil);\n }\n if (response2.alerts && response2.alerts.length > 0) {\n yield interactWithUser(userInteraction, {\n type: 'message-alert',\n title: 'Authentication Alert',\n fields: {},\n alerts: response2.alerts,\n });\n }\n return context;\n }\n catch (error) {\n if (error instanceof TokenErrorResponseError) {\n yield alertUser(userInteraction, error.title, {\n type: 'error',\n messageCode: error.messageCode,\n message: error.message,\n messageParams: {},\n });\n throw error;\n }\n let message = `We're having a problem authenticating right now.`;\n console.error(`Error authenticating`, error);\n if (error instanceof TypeError) {\n const isOffline = typeof navigator !== undefined && !navigator.onLine;\n if (isOffline) {\n message = `You seem to be offline. Please connect to the internet and try again.`;\n }\n else if (Dexie.debug || (typeof location !== 'undefined' && (location.hostname === 'localhost' || location.hostname === '127.0.0.1'))) {\n // The audience is most likely the developer. Suggest to whitelist the localhost origin:\n message = `Could not connect to server. Please verify that your origin '${location.origin}' is whitelisted using \\`npx dexie-cloud whitelist\\``;\n }\n else {\n message = `Could not connect to server. Please verify the connection.`;\n }\n yield alertUser(userInteraction, 'Authentication Failed', {\n type: 'error',\n messageCode: 'GENERIC_ERROR',\n message,\n messageParams: {},\n }).catch(() => { });\n }\n throw error;\n }\n });\n}\nfunction spkiToPEM(keydata) {\n const keydataB64 = b64encode(keydata);\n const keydataB64Pem = formatAsPem(keydataB64);\n return keydataB64Pem;\n}\nfunction formatAsPem(str) {\n let finalString = '-----BEGIN PUBLIC KEY-----\\n';\n while (str.length > 0) {\n finalString += str.substring(0, 64) + '\\n';\n str = str.substring(64);\n }\n finalString = finalString + '-----END PUBLIC KEY-----';\n return finalString;\n}\n","import { __awaiter } from \"tslib\";\n// Emulate true-private property db. Why? So it's not stored in DB.\nconst wm = new WeakMap();\nexport class AuthPersistedContext {\n constructor(db, userLogin) {\n wm.set(this, db);\n Object.assign(this, userLogin);\n }\n static load(db, userId) {\n return db\n .table(\"$logins\")\n .get(userId)\n .then((userLogin) => new AuthPersistedContext(db, userLogin || {\n userId,\n claims: {\n sub: userId\n },\n lastLogin: new Date(0)\n }));\n }\n save() {\n return __awaiter(this, void 0, void 0, function* () {\n const db = wm.get(this);\n db.table(\"$logins\").put(this);\n });\n }\n}\n","export const UNAUTHORIZED_USER = {\n userId: \"unauthorized\",\n name: \"Unauthorized\",\n claims: {\n sub: \"unauthorized\",\n },\n lastLogin: new Date(0)\n};\ntry {\n Object.freeze(UNAUTHORIZED_USER);\n Object.freeze(UNAUTHORIZED_USER.claims);\n}\ncatch (_a) { }\n","import { filter, firstValueFrom, from } from 'rxjs';\nexport function waitUntil(o, // Works with Dexie's liveQuery observables if we'd need that\npredicate) {\n return firstValueFrom(from(o).pipe(filter(predicate)));\n}\n","import { __awaiter } from \"tslib\";\nimport { confirmLogout } from './interactWithUser';\nimport { UNAUTHORIZED_USER } from './UNAUTHORIZED_USER';\nimport { waitUntil } from './waitUntil';\nexport function logout(db) {\n return __awaiter(this, void 0, void 0, function* () {\n const numUnsyncedChanges = yield _logout(db);\n if (numUnsyncedChanges) {\n if (yield confirmLogout(db.cloud.userInteraction, db.cloud.currentUserId, numUnsyncedChanges)) {\n yield _logout(db, { deleteUnsyncedData: true });\n }\n else {\n throw new Error(`User cancelled logout due to unsynced changes`);\n }\n }\n });\n}\nexport function _logout(db, { deleteUnsyncedData = false } = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n // Clear the database without emptying configuration options.\n const [numUnsynced, loggedOut] = yield db.dx.transaction('rw', db.dx.tables, (tx) => __awaiter(this, void 0, void 0, function* () {\n // @ts-ignore\n const idbtrans = tx.idbtrans;\n idbtrans.disableChangeTracking = true;\n idbtrans.disableAccessControl = true;\n const mutationTables = tx.storeNames.filter((tableName) => tableName.endsWith('_mutations'));\n // Count unsynced changes\n const unsyncCounts = yield Promise.all(mutationTables.map((mutationTable) => tx.table(mutationTable).count()));\n const sumUnSynced = unsyncCounts.reduce((a, b) => a + b, 0);\n if (sumUnSynced > 0 && !deleteUnsyncedData) {\n // Let caller ask user if they want to delete unsynced data.\n return [sumUnSynced, false];\n }\n // Either there are no unsynched changes, or caller provided flag deleteUnsynchedData = true.\n // Clear all tables except $jobs and $syncState (except the persisted sync state which is\n // also cleared because we're going to rebuild it using a fresh sync).\n db.$syncState.delete('syncState');\n for (const table of db.dx.tables) {\n if (table.name !== '$jobs' && table.name !== '$syncState') {\n table.clear();\n }\n }\n return [sumUnSynced, true];\n }));\n if (loggedOut) {\n // Wait for currentUser observable to emit UNAUTHORIZED_USER\n yield waitUntil(db.cloud.currentUser, (user) => user.userId === UNAUTHORIZED_USER.userId);\n // Then perform an initial sync\n yield db.cloud.sync({ purpose: 'pull', wait: true });\n }\n return numUnsynced;\n });\n}\n","export class HttpError extends Error {\n constructor(res, message) {\n super(message || `${res.status} ${res.statusText}`);\n this.httpStatus = res.status;\n }\n get name() {\n return \"HttpError\";\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { HttpError } from '../errors/HttpError';\nimport { alertUser, promptForEmail, promptForOTP } from './interactWithUser';\nexport function otpFetchTokenCallback(db) {\n const { userInteraction } = db.cloud;\n return function otpAuthenticate({ public_key, hints }) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n let tokenRequest;\n const url = (_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.databaseUrl;\n if (!url)\n throw new Error(`No database URL given.`);\n if ((hints === null || hints === void 0 ? void 0 : hints.grant_type) === 'demo') {\n const demo_user = yield promptForEmail(userInteraction, 'Enter a demo user email', (hints === null || hints === void 0 ? void 0 : hints.email) || (hints === null || hints === void 0 ? void 0 : hints.userId));\n tokenRequest = {\n demo_user,\n grant_type: 'demo',\n scopes: ['ACCESS_DB'],\n public_key,\n };\n }\n else {\n const email = yield promptForEmail(userInteraction, 'Enter email address', hints === null || hints === void 0 ? void 0 : hints.email);\n tokenRequest = {\n email,\n grant_type: 'otp',\n scopes: ['ACCESS_DB'],\n public_key,\n };\n }\n const res1 = yield fetch(`${url}/token`, {\n body: JSON.stringify(tokenRequest),\n method: 'post',\n headers: { 'Content-Type': 'application/json', mode: 'cors' },\n });\n if (res1.status !== 200) {\n const errMsg = yield res1.text();\n yield alertUser(userInteraction, \"Token request failed\", {\n type: 'error',\n messageCode: 'GENERIC_ERROR',\n message: errMsg,\n messageParams: {}\n }).catch(() => { });\n throw new HttpError(res1, errMsg);\n }\n const response = yield res1.json();\n if (response.type === 'tokens' || response.type === 'error') {\n // Demo user request can get a \"tokens\" response right away\n // Error can also be returned right away.\n return response;\n }\n else if (tokenRequest.grant_type === 'otp') {\n if (response.type !== 'otp-sent')\n throw new Error(`Unexpected response from ${url}/token`);\n const otp = yield promptForOTP(userInteraction, tokenRequest.email);\n tokenRequest.otp = otp || '';\n tokenRequest.otp_id = response.otp_id;\n let res2 = yield fetch(`${url}/token`, {\n body: JSON.stringify(tokenRequest),\n method: 'post',\n headers: { 'Content-Type': 'application/json' },\n mode: 'cors',\n });\n while (res2.status === 401) {\n const errorText = yield res2.text();\n tokenRequest.otp = yield promptForOTP(userInteraction, tokenRequest.email, {\n type: 'error',\n messageCode: 'INVALID_OTP',\n message: errorText,\n messageParams: {}\n });\n res2 = yield fetch(`${url}/token`, {\n body: JSON.stringify(tokenRequest),\n method: 'post',\n headers: { 'Content-Type': 'application/json' },\n mode: 'cors',\n });\n }\n if (res2.status !== 200) {\n const errMsg = yield res2.text();\n throw new HttpError(res2, errMsg);\n }\n const response2 = yield res2.json();\n return response2;\n }\n else {\n throw new Error(`Unexpected response from ${url}/token`);\n }\n });\n };\n}\n","/** A way to log to console in production without terser stripping out\n * it from the release bundle.\n * This should be used very rarely and only in places where it's\n * absolutely necessary to log something in production.\n *\n * @param level\n * @param args\n */\nexport function prodLog(level, ...args) {\n globalThis[\"con\" + \"sole\"][level](...args);\n}\n","import { __awaiter } from \"tslib\";\nimport { prodLog } from '../prodLog';\nimport { waitUntil } from './waitUntil';\n/** This function changes or sets the current user as requested.\n *\n * Use cases:\n * * Initially on db.ready after reading the current user from db.$logins.\n * This will make sure that any unsynced operations from the previous user is synced before\n * changing the user.\n * * Upon user request\n *\n * @param db\n * @param newUser\n */\nexport function setCurrentUser(db, user) {\n return __awaiter(this, void 0, void 0, function* () {\n if (user.userId === db.cloud.currentUserId)\n return; // Already this user.\n const $logins = db.table('$logins');\n yield db.transaction('rw', $logins, (tx) => __awaiter(this, void 0, void 0, function* () {\n const existingLogins = yield $logins.toArray();\n yield Promise.all(existingLogins\n .filter((login) => login.userId !== user.userId && login.isLoggedIn)\n .map((login) => {\n login.isLoggedIn = false;\n return $logins.put(login);\n }));\n user.isLoggedIn = true;\n user.lastLogin = new Date();\n try {\n yield user.save();\n }\n catch (e) {\n try {\n if (e.name === 'DataCloneError') {\n // We've seen this buggy behavior in some browsers and in case it happens\n // again we really need to collect the details to understand what's going on.\n prodLog('debug', `Login context property names:`, Object.keys(user));\n prodLog('debug', `Login context property names:`, Object.keys(user));\n prodLog('debug', `Login context:`, user);\n prodLog('debug', `Login context JSON:`, JSON.stringify(user));\n }\n }\n catch (_a) { }\n throw e;\n }\n console.debug('Saved new user', user.email);\n }));\n yield waitUntil(db.cloud.currentUser, (currentUser) => currentUser.userId === user.userId);\n });\n}\n","import { __awaiter } from \"tslib\";\nimport { triggerSync } from '../sync/triggerSync';\nimport { authenticate, loadAccessToken } from './authenticate';\nimport { AuthPersistedContext } from './AuthPersistedContext';\nimport { logout } from './logout';\nimport { otpFetchTokenCallback } from './otpFetchTokenCallback';\nimport { setCurrentUser } from './setCurrentUser';\nimport { UNAUTHORIZED_USER } from './UNAUTHORIZED_USER';\nexport function login(db, hints) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const currentUser = yield db.getCurrentUser();\n const origUserId = currentUser.userId;\n if (currentUser.isLoggedIn && (!hints || (!hints.email && !hints.userId))) {\n const licenseStatus = ((_a = currentUser.license) === null || _a === void 0 ? void 0 : _a.status) || 'ok';\n if (licenseStatus === 'ok' && currentUser.accessToken && (!currentUser.accessTokenExpiration || currentUser.accessTokenExpiration.getTime() > Date.now())) {\n // Already authenticated according to given hints. And license is valid.\n return false;\n }\n if (currentUser.refreshToken && (!currentUser.refreshTokenExpiration || currentUser.refreshTokenExpiration.getTime() > Date.now())) {\n // Refresh the token\n yield loadAccessToken(db);\n return false;\n }\n // No refresh token - must re-authenticate:\n }\n const context = new AuthPersistedContext(db, {\n claims: {},\n lastLogin: new Date(0),\n });\n yield authenticate(db.cloud.options.databaseUrl, context, db.cloud.options.fetchTokens || otpFetchTokenCallback(db), db.cloud.userInteraction, hints);\n if (origUserId !== UNAUTHORIZED_USER.userId && context.userId !== origUserId) {\n // User was logged in before, but now logged in as another user.\n yield logout(db);\n }\n /*try {\n await context.save();\n } catch (e) {\n try {\n if (e.name === 'DataCloneError') {\n console.debug(`Login context property names:`, Object.keys(context));\n console.debug(`Login context:`, context);\n console.debug(`Login context JSON:`, JSON.stringify(context));\n }\n } catch {}\n throw e;\n }*/\n yield setCurrentUser(db, context);\n // Make sure to resync as the new login will be authorized\n // for new realms.\n triggerSync(db, \"pull\");\n return context.userId !== origUserId;\n });\n}\n","const swHolder = {};\nconst swContainer = typeof self !== 'undefined' && self.document && // self.document is to verify we're not the SW ourself\n typeof navigator !== 'undefined' && navigator.serviceWorker;\nif (swContainer)\n swContainer.ready.then((registration) => (swHolder.registration = registration));\nif (typeof self !== 'undefined' && 'clients' in self && !self.document) {\n // We are the service worker. Propagate messages to all our clients.\n addEventListener('message', (ev) => {\n var _a, _b;\n if ((_b = (_a = ev.data) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.startsWith('sw-broadcast-')) {\n [...self['clients'].matchAll({ includeUncontrolled: true })].forEach((client) => { var _a; return client.id !== ((_a = ev.source) === null || _a === void 0 ? void 0 : _a.id) && client.postMessage(ev.data); });\n }\n });\n}\n/** This class is a fallback for browsers that lacks BroadcastChannel but have\n * service workers (which is Safari versions 11.1 through 15.3).\n * Safari 15.4 with BroadcastChannel was released on 2022-03-14.\n * We might be able to remove this class in a near future as Safari < 15.4 is\n * already very low in market share as of 2023-03-10.\n */\nexport class SWBroadcastChannel {\n constructor(name) {\n this.name = name;\n }\n subscribe(listener) {\n if (!swContainer)\n return () => { };\n const forwarder = (ev) => {\n var _a;\n if (((_a = ev.data) === null || _a === void 0 ? void 0 : _a.type) === `sw-broadcast-${this.name}`) {\n listener(ev.data.message);\n }\n };\n swContainer.addEventListener('message', forwarder);\n return () => swContainer.removeEventListener('message', forwarder);\n }\n postMessage(message) {\n var _a;\n if (typeof self['clients'] === 'object') {\n // We're a service worker. Propagate to our browser clients.\n [...self['clients'].matchAll({ includeUncontrolled: true })].forEach((client) => client.postMessage({\n type: `sw-broadcast-${this.name}`,\n message,\n }));\n }\n else if (swHolder.registration) {\n // We're a client (browser window or other worker)\n // Post to SW so it can repost to all its clients and to itself\n (_a = swHolder.registration.active) === null || _a === void 0 ? void 0 : _a.postMessage({\n type: `sw-broadcast-${this.name}`,\n message,\n });\n }\n }\n}\n","import { Observable } from \"rxjs\";\nimport { SWBroadcastChannel } from \"./SWBroadcastChannel\";\nconst events = globalThis['lbc-events'] || (globalThis['lbc-events'] = new Map());\nfunction addListener(name, listener) {\n if (events.has(name)) {\n events.get(name).push(listener);\n }\n else {\n events.set(name, [listener]);\n }\n}\nfunction removeListener(name, listener) {\n const listeners = events.get(name);\n if (listeners) {\n const idx = listeners.indexOf(listener);\n if (idx !== -1) {\n listeners.splice(idx, 1);\n }\n }\n}\nfunction dispatch(ev) {\n const listeners = events.get(ev.type);\n if (listeners) {\n listeners.forEach(listener => {\n try {\n listener(ev);\n }\n catch (_a) {\n }\n });\n }\n}\nexport class BroadcastedAndLocalEvent extends Observable {\n constructor(name) {\n const bc = typeof BroadcastChannel === \"undefined\"\n ? new SWBroadcastChannel(name) : new BroadcastChannel(name);\n super(subscriber => {\n function onCustomEvent(ev) {\n subscriber.next(ev.detail);\n }\n function onMessageEvent(ev) {\n console.debug(\"BroadcastedAndLocalEvent: onMessageEvent\", ev);\n subscriber.next(ev.data);\n }\n let unsubscribe;\n //self.addEventListener(`lbc-${name}`, onCustomEvent); // Fails in service workers\n addListener(`lbc-${name}`, onCustomEvent); // Works better in service worker\n try {\n if (bc instanceof SWBroadcastChannel) {\n unsubscribe = bc.subscribe(message => subscriber.next(message));\n }\n else {\n console.debug(\"BroadcastedAndLocalEvent: bc.addEventListener()\", name, \"bc is a\", bc);\n bc.addEventListener(\"message\", onMessageEvent);\n }\n }\n catch (err) {\n // Service workers might fail to subscribe outside its initial script.\n console.warn('Failed to subscribe to broadcast channel', err);\n }\n return () => {\n //self.removeEventListener(`lbc-${name}`, onCustomEvent);\n removeListener(`lbc-${name}`, onCustomEvent);\n if (bc instanceof SWBroadcastChannel) {\n unsubscribe();\n }\n else {\n bc.removeEventListener(\"message\", onMessageEvent);\n }\n };\n });\n this.name = name;\n this.bc = bc;\n }\n next(message) {\n console.debug(\"BroadcastedAndLocalEvent: bc.postMessage()\", Object.assign({}, message), \"bc is a\", this.bc);\n this.bc.postMessage(message);\n const ev = new CustomEvent(`lbc-${this.name}`, { detail: message });\n //self.dispatchEvent(ev);\n dispatch(ev);\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { b64encode } from 'dreambase-library/dist/common/base64';\nexport function computeRealmSetHash({ realms, inviteRealms, }) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify([\n ...realms.map((realmId) => ({ realmId, accepted: true })),\n ...inviteRealms.map((realmId) => ({ realmId, accepted: false })),\n ].sort((a, b) => a.realmId < b.realmId ? -1 : a.realmId > b.realmId ? 1 : 0));\n const byteArray = new TextEncoder().encode(data);\n const digestBytes = yield crypto.subtle.digest('SHA-1', byteArray);\n const base64 = b64encode(digestBytes);\n return base64;\n });\n}\n","export function getSyncableTables(db) {\n return Object.entries(db.cloud.schema || {})\n .filter(([, { markedForSync }]) => markedForSync)\n .map(([tbl]) => db.tables.filter(({ name }) => name === tbl)[0])\n .filter(cloudTableSchema => cloudTableSchema);\n}\n","export function getMutationTable(tableName) {\n return `$${tableName}_mutations`;\n}\n","export function getTableFromMutationTable(mutationTable) {\n var _a;\n const tableName = (_a = /^\\$(.*)_mutations$/.exec(mutationTable)) === null || _a === void 0 ? void 0 : _a[1];\n if (!tableName)\n throw new Error(`Given mutationTable ${mutationTable} is not correct`);\n return tableName;\n}\n","const concat = [].concat;\nexport function flatten(a) {\n return concat.apply([], a);\n}\n","import { __awaiter } from \"tslib\";\nimport { getTableFromMutationTable } from '../helpers/getTableFromMutationTable';\nimport { flatten } from '../helpers/flatten';\nexport function listClientChanges(mutationTables, db, { since = {}, limit = Infinity } = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const allMutsOnTables = yield Promise.all(mutationTables.map((mutationTable) => __awaiter(this, void 0, void 0, function* () {\n const tableName = getTableFromMutationTable(mutationTable.name);\n const lastRevision = since[tableName];\n let query = lastRevision\n ? mutationTable.where('rev').above(lastRevision)\n : mutationTable;\n if (limit < Infinity)\n query = query.limit(limit);\n const muts = yield query.toArray();\n //const objTable = db.table(tableName);\n /*for (const mut of muts) {\n if (mut.type === \"insert\" || mut.type === \"upsert\") {\n mut.values = await objTable.bulkGet(mut.keys);\n }\n }*/\n return muts.map((mut) => ({\n table: tableName,\n mut,\n }));\n })));\n // Sort by time to get a true order of the operations (between tables)\n const sorted = flatten(allMutsOnTables).sort((a, b) => a.mut.txid === b.mut.txid\n ? a.mut.opNo - b.mut.opNo // Within same transaction, sort by opNo\n : a.mut.ts - b.mut.ts // Different transactions - sort by timestamp when mutation resolved\n );\n const result = [];\n let currentEntry = null;\n let currentTxid = null;\n for (const { table, mut } of sorted) {\n if (currentEntry &&\n currentEntry.table === table &&\n currentTxid === mut.txid) {\n currentEntry.muts.push(mut);\n }\n else {\n currentEntry = {\n table,\n muts: [mut],\n };\n currentTxid = mut.txid;\n result.push(currentEntry);\n }\n }\n // Filter out those tables that doesn't have any mutations:\n return result;\n });\n}\n","export function randomString(bytes) {\n const buf = new Uint8Array(bytes);\n if (typeof crypto !== 'undefined') {\n crypto.getRandomValues(buf);\n }\n else {\n for (let i = 0; i < bytes; i++)\n buf[i] = Math.floor(Math.random() * 256);\n }\n if (typeof Buffer !== 'undefined' && Buffer.from) {\n return Buffer.from(buf).toString('base64');\n }\n else if (typeof btoa !== 'undefined') {\n return btoa(String.fromCharCode.apply(null, buf));\n }\n else {\n throw new Error('No btoa or Buffer available');\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { randomString } from '../helpers/randomString';\nimport { isValidAtID, isValidSyncableID, } from 'dexie-cloud-common';\nexport function listSyncifiedChanges(tablesToSyncify, currentUser, schema, alreadySyncedRealms) {\n return __awaiter(this, void 0, void 0, function* () {\n const txid = `upload-${randomString(8)}`;\n if (currentUser.isLoggedIn) {\n if (tablesToSyncify.length > 0) {\n const ignoredRealms = new Set(alreadySyncedRealms || []);\n const upserts = yield Promise.all(tablesToSyncify.map((table) => __awaiter(this, void 0, void 0, function* () {\n const { extractKey } = table.core.schema.primaryKey;\n if (!extractKey)\n return { table: table.name, muts: [] }; // Outbound tables are not synced.\n const dexieCloudTableSchema = schema[table.name];\n const query = (dexieCloudTableSchema === null || dexieCloudTableSchema === void 0 ? void 0 : dexieCloudTableSchema.generatedGlobalId)\n ? table.filter((item) => {\n const id = extractKey(item);\n return (!ignoredRealms.has(item.realmId || '') &&\n //(id[0] !== '#' || !!item.$ts) && // Private obj need no sync if not changed\n isValidAtID(extractKey(item), dexieCloudTableSchema === null || dexieCloudTableSchema === void 0 ? void 0 : dexieCloudTableSchema.idPrefix));\n })\n : table.filter((item) => {\n const id = extractKey(item);\n return (!ignoredRealms.has(item.realmId || '') &&\n //(id[0] !== '#' || !!item.$ts) && // Private obj need no sync if not changed\n isValidSyncableID(id));\n });\n const unsyncedObjects = yield query.toArray();\n if (unsyncedObjects.length > 0) {\n const mut = {\n type: 'upsert',\n values: unsyncedObjects,\n keys: unsyncedObjects.map(extractKey),\n userId: currentUser.userId,\n txid,\n };\n return {\n table: table.name,\n muts: [mut],\n };\n }\n else {\n return {\n table: table.name,\n muts: [],\n };\n }\n })));\n return upserts.filter((op) => op.muts.length > 0);\n }\n }\n return [];\n });\n}\n","import { getSyncableTables } from \"../helpers/getSyncableTables\";\nexport function getTablesToSyncify(db, syncState) {\n const syncedTables = (syncState === null || syncState === void 0 ? void 0 : syncState.syncedTables) || [];\n const syncableTables = getSyncableTables(db);\n const tablesToSyncify = syncableTables.filter((tbl) => !syncedTables.includes(tbl.name));\n return tablesToSyncify;\n}\n","const { toString: toStr } = {};\nfunction getToStringTag(val) {\n return toStr.call(val).slice(8, -1);\n}\nexport function escapeDollarProps(value) {\n const keys = Object.keys(value);\n let dollarKeys = null;\n for (let i = 0, l = keys.length; i < l; ++i) {\n if (keys[i][0] === \"$\") {\n dollarKeys = dollarKeys || [];\n dollarKeys.push(keys[i]);\n }\n }\n if (!dollarKeys)\n return value;\n const clone = { ...value };\n for (const k of dollarKeys) {\n delete clone[k];\n }\n for (const k of dollarKeys) {\n clone[\"$\" + k] = value[k];\n }\n return clone;\n}\nconst ObjectDef = {\n replace: escapeDollarProps,\n};\nexport function TypesonSimplified(...typeDefsInputs) {\n const typeDefs = typeDefsInputs.reduce((p, c) => ({ ...p, ...c }), typeDefsInputs.reduce((p, c) => ({ ...c, ...p }), {}));\n const protoMap = new WeakMap();\n return {\n stringify(value, alternateChannel, space) {\n const json = JSON.stringify(value, function (key) {\n const realVal = this[key];\n const typeDef = getTypeDef(realVal);\n return typeDef\n ? typeDef.replace(realVal, alternateChannel, typeDefs)\n : realVal;\n }, space);\n return json;\n },\n parse(tson, alternateChannel) {\n const stack = [];\n return JSON.parse(tson, function (key, value) {\n //\n // Parent Part\n //\n const type = value === null || value === void 0 ? void 0 : value.$t;\n if (type) {\n const typeDef = typeDefs[type];\n value = typeDef\n ? typeDef.revive(value, alternateChannel, typeDefs)\n : value;\n }\n let top = stack[stack.length - 1];\n if (top && top[0] === value) {\n // Do what the kid told us to\n // Unescape dollar props\n value = { ...value };\n // Delete keys that children wanted us to delete\n for (const k of top[1])\n delete value[k];\n // Set keys that children wanted us to set\n for (const [k, v] of Object.entries(top[2])) {\n value[k] = v;\n }\n stack.pop();\n }\n //\n // Child part\n //\n if (value === undefined || (key[0] === \"$\" && key !== \"$t\")) {\n top = stack[stack.length - 1];\n let deletes;\n let mods;\n if (top && top[0] === this) {\n deletes = top[1];\n mods = top[2];\n }\n else {\n stack.push([this, (deletes = []), (mods = {})]);\n }\n if (key[0] === \"$\" && key !== \"$t\") {\n // Unescape props (also preserves undefined if this is a combo)\n deletes.push(key);\n mods[key.substr(1)] = value;\n }\n else {\n // Preserve undefined\n mods[key] = undefined;\n }\n }\n return value;\n });\n },\n };\n function getTypeDef(realVal) {\n const type = typeof realVal;\n switch (typeof realVal) {\n case \"object\":\n case \"function\": {\n // \"object\", \"function\", null\n if (realVal === null)\n return null;\n const proto = Object.getPrototypeOf(realVal);\n if (!proto)\n return ObjectDef;\n let typeDef = protoMap.get(proto);\n if (typeDef !== undefined)\n return typeDef; // Null counts to! So the caching of Array.prototype also counts.\n const toStringTag = getToStringTag(realVal);\n const entry = Object.entries(typeDefs).find(([typeName, typeDef]) => { var _a, _b; return (_b = (_a = typeDef === null || typeDef === void 0 ? void 0 : typeDef.test) === null || _a === void 0 ? void 0 : _a.call(typeDef, realVal, toStringTag)) !== null && _b !== void 0 ? _b : typeName === toStringTag; });\n typeDef = entry === null || entry === void 0 ? void 0 : entry[1];\n if (!typeDef) {\n typeDef = Array.isArray(realVal)\n ? null\n : typeof realVal === \"function\"\n ? typeDefs.function || null\n : ObjectDef;\n }\n protoMap.set(proto, typeDef);\n return typeDef;\n }\n default:\n return typeDefs[type];\n }\n }\n}\n","export const BisonBinaryTypes = {\n Blob: {\n test: (blob, toStringTag) => toStringTag === \"Blob\",\n replace: (blob, altChannel) => {\n const i = altChannel.length;\n altChannel.push(blob);\n return {\n $t: \"Blob\",\n mimeType: blob.type,\n i,\n };\n },\n revive: ({ i, mimeType }, altChannel) => new Blob([altChannel[i]], { type: mimeType }),\n },\n};\n","export default {\n number: {\n replace: (num) => {\n switch (true) {\n case isNaN(num):\n return { $t: \"number\", v: \"NaN\" };\n case num === Infinity:\n return { $t: \"number\", v: \"Infinity\" };\n case num === -Infinity:\n return { $t: \"number\", v: \"-Infinity\" };\n default:\n return num;\n }\n },\n revive: ({ v }) => Number(v),\n },\n};\n","const bigIntDef = {\n bigint: {\n replace: (realVal) => {\n return { $t: \"bigint\", v: \"\" + realVal };\n },\n revive: (obj) => BigInt(obj.v),\n },\n};\nexport default bigIntDef;\n","export default {\n Date: {\n replace: (date) => ({\n $t: \"Date\",\n v: isNaN(date.getTime()) ? \"NaN\" : date.toISOString(),\n }),\n revive: ({ v }) => new Date(v === \"NaN\" ? NaN : Date.parse(v)),\n },\n};\n","export default {\n Set: {\n replace: (set) => ({\n $t: \"Set\",\n v: Array.from(set.entries()),\n }),\n revive: ({ v }) => new Set(v),\n },\n};\n","export default {\n Map: {\n replace: (map) => ({\n $t: \"Map\",\n v: Array.from(map.entries()),\n }),\n revive: ({ v }) => new Map(v),\n },\n};\n","export const _global = typeof globalThis !== \"undefined\" // All modern environments (node, bun, deno, browser, workers, webview etc)\n ? globalThis\n : typeof self !== \"undefined\" // Older browsers, workers, webview, window etc\n ? self\n : typeof global !== \"undefined\" // Older versions of node\n ? global\n : undefined; // Unsupported environment. No idea to return 'this' since we are in a module or a function scope anyway.\n","import { _global } from \"../../common/_global.js\";\nexport default [\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Uint16Array\",\n \"Int32Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"DataView\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n].reduce((specs, typeName) => ({\n ...specs,\n [typeName]: {\n // Replace passes the the typed array into $t, buffer so that\n // the ArrayBuffer typedef takes care of further handling of the buffer:\n // {$t:\"Uint8Array\",buffer:{$t:\"ArrayBuffer\",idx:0}}\n // CHANGED ABOVE! Now shortcutting that for more sparse format of the typed arrays\n // to contain the b64 property directly.\n replace: (a, _, typeDefs) => {\n const result = {\n $t: typeName,\n v: typeDefs.ArrayBuffer.replace(a.byteOffset === 0 && a.byteLength === a.buffer.byteLength\n ? a.buffer\n : a.buffer.slice(a.byteOffset, a.byteOffset + a.byteLength), _, typeDefs).v,\n };\n return result;\n },\n revive: ({ v }, _, typeDefs) => {\n const TypedArray = _global[typeName];\n return (TypedArray &&\n new TypedArray(typeDefs.ArrayBuffer.revive({ v }, _, typeDefs)));\n },\n },\n}), {});\n","import { b64decode, b64encode } from \"./base64.js\";\nexport function b64LexEncode(b) {\n return b64ToLex(b64encode(b));\n}\nexport function b64LexDecode(b64Lex) {\n return b64decode(lexToB64(b64Lex));\n}\nexport function b64ToLex(base64) {\n var encoded = \"\";\n for (var i = 0, length = base64.length; i < length; i++) {\n encoded += ENCODE_TABLE[base64[i]];\n }\n return encoded;\n}\nexport function lexToB64(base64lex) {\n // only accept string input\n if (typeof base64lex !== \"string\") {\n throw new Error(\"invalid decoder input: \" + base64lex);\n }\n var base64 = \"\";\n for (var i = 0, length = base64lex.length; i < length; i++) {\n base64 += DECODE_TABLE[base64lex[i]];\n }\n return base64;\n}\nconst DECODE_TABLE = {\n \"-\": \"=\",\n \"0\": \"A\",\n \"1\": \"B\",\n \"2\": \"C\",\n \"3\": \"D\",\n \"4\": \"E\",\n \"5\": \"F\",\n \"6\": \"G\",\n \"7\": \"H\",\n \"8\": \"I\",\n \"9\": \"J\",\n A: \"K\",\n B: \"L\",\n C: \"M\",\n D: \"N\",\n E: \"O\",\n F: \"P\",\n G: \"Q\",\n H: \"R\",\n I: \"S\",\n J: \"T\",\n K: \"U\",\n L: \"V\",\n M: \"W\",\n N: \"X\",\n O: \"Y\",\n P: \"Z\",\n Q: \"a\",\n R: \"b\",\n S: \"c\",\n T: \"d\",\n U: \"e\",\n V: \"f\",\n W: \"g\",\n X: \"h\",\n Y: \"i\",\n Z: \"j\",\n _: \"k\",\n a: \"l\",\n b: \"m\",\n c: \"n\",\n d: \"o\",\n e: \"p\",\n f: \"q\",\n g: \"r\",\n h: \"s\",\n i: \"t\",\n j: \"u\",\n k: \"v\",\n l: \"w\",\n m: \"x\",\n n: \"y\",\n o: \"z\",\n p: \"0\",\n q: \"1\",\n r: \"2\",\n s: \"3\",\n t: \"4\",\n u: \"5\",\n v: \"6\",\n w: \"7\",\n x: \"8\",\n y: \"9\",\n z: \"+\",\n \"|\": \"/\",\n};\nconst ENCODE_TABLE = {};\nfor (const c of Object.keys(DECODE_TABLE)) {\n ENCODE_TABLE[DECODE_TABLE[c]] = c;\n}\n","import { b64LexDecode, b64LexEncode } from \"../../common/b64lex.js\";\nexport default {\n ArrayBuffer: {\n replace: (ab) => ({\n $t: \"ArrayBuffer\",\n v: b64LexEncode(ab),\n }),\n revive: ({ v }) => {\n const ba = b64LexDecode(v);\n return ba.buffer.byteLength === ba.byteLength\n ? ba.buffer\n : ba.buffer.slice(ba.byteOffset, ba.byteOffset + ba.byteLength);\n },\n },\n};\n","export class FakeBlob {\n constructor(buf, type) {\n this.buf = buf;\n this.type = type;\n }\n}\n","export function readBlobSync(b) {\n const req = new XMLHttpRequest();\n req.overrideMimeType(\"text/plain; charset=x-user-defined\");\n req.open(\"GET\", URL.createObjectURL(b), false); // Sync\n req.send();\n if (req.status !== 200 && req.status !== 0) {\n throw new Error(\"Bad Blob access: \" + req.status);\n }\n return req.responseText;\n}\n","export function string2ArrayBuffer(str) {\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport function arrayBuffer2String(buf) {\n // TODO: Optimize\n return new Uint8Array(buf).reduce((s, byte) => s + String.fromCharCode(byte), \"\");\n}\n","import { b64decode, b64encode } from \"../../common/base64.js\";\nimport { FakeBlob } from \"../FakeBlob.js\";\nimport { readBlobSync } from \"../readBlobSync.js\";\nimport { string2ArrayBuffer } from \"../string2arraybuffer.js\";\nexport default {\n Blob: {\n test: (blob, toStringTag) => toStringTag === \"Blob\" || blob instanceof FakeBlob,\n replace: (blob) => ({\n $t: \"Blob\",\n v: blob instanceof FakeBlob\n ? b64encode(blob.buf)\n : b64encode(string2ArrayBuffer(readBlobSync(blob))),\n type: blob.type,\n }),\n revive: ({ type, v }) => {\n const ab = b64decode(v);\n return typeof Blob !== undefined\n ? new Blob([ab])\n : new FakeBlob(ab.buffer, type);\n },\n },\n};\n","import numberDef from \"../types/number.js\";\nimport bigintDef from \"../types/bigint.js\";\nimport DateDef from \"../types/Date.js\";\nimport SetDef from \"../types/Set.js\";\nimport MapDef from \"../types/Map.js\";\nimport TypedArraysDefs from \"../types/TypedArray.js\";\nimport ArrayBufferDef from \"../types/ArrayBuffer.js\";\nimport BlobDef from \"../types/Blob.js\";\nconst builtin = {\n ...numberDef,\n ...bigintDef,\n ...DateDef,\n ...SetDef,\n ...MapDef,\n ...TypedArraysDefs,\n ...ArrayBufferDef,\n ...BlobDef, // Should be moved to another preset for DOM types (or universal? since it supports node as well with FakeBlob)\n};\nexport default builtin;\n","import { BisonBinaryTypes } from \"./BisonBinaryTypes.js\";\nimport builtin from \"./presets/builtin.js\";\nimport { TypesonSimplified } from \"./TypesonSimplified.js\";\nexport function Bison(...typeDefsInputs) {\n const tson = TypesonSimplified(builtin, BisonBinaryTypes, ...typeDefsInputs);\n return {\n toBinary(value) {\n const [blob, json] = this.stringify(value);\n const lenBuf = new ArrayBuffer(4);\n new DataView(lenBuf).setUint32(0, blob.size);\n return new Blob([lenBuf, blob, json]);\n },\n stringify(value) {\n const binaries = [];\n const json = tson.stringify(value, binaries);\n const blob = new Blob(binaries.map((b) => {\n const lenBuf = new ArrayBuffer(4);\n new DataView(lenBuf).setUint32(0, \"byteLength\" in b ? b.byteLength : b.size);\n return new Blob([lenBuf, b]);\n }));\n return [blob, json];\n },\n async parse(json, binData) {\n let pos = 0;\n const arrayBuffers = [];\n const buf = await readBlobBinary(binData);\n const view = new DataView(buf);\n while (pos < buf.byteLength) {\n const len = view.getUint32(pos);\n pos += 4;\n const ab = buf.slice(pos, pos + len);\n pos += len;\n arrayBuffers.push(ab);\n }\n return tson.parse(json, arrayBuffers);\n },\n async fromBinary(blob) {\n const len = new DataView(await readBlobBinary(blob.slice(0, 4))).getUint32(0);\n const binData = blob.slice(4, len + 4);\n const json = await readBlob(blob.slice(len + 4));\n return await this.parse(json, binData);\n },\n };\n}\nexport function readBlob(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onabort = (ev) => reject(new Error(\"file read aborted\"));\n reader.onerror = (ev) => reject(ev.target.error);\n reader.onload = (ev) => resolve(ev.target.result);\n reader.readAsText(blob);\n });\n}\nexport function readBlobBinary(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onabort = (ev) => reject(new Error(\"file read aborted\"));\n reader.onerror = (ev) => reject(ev.target.error);\n reader.onload = (ev) => resolve(ev.target.result);\n reader.readAsArrayBuffer(blob);\n });\n}\n","/** The undefined type is not part of builtin but can be manually added.\n * The reason for supporting undefined is if the following object should be revived correctly:\n *\n * {foo: undefined}\n *\n * Without including this typedef, the revived object would just be {}.\n * If including this typedef, the revived object would be {foo: undefined}.\n */\nexport default {\n undefined: {\n replace: () => ({\n $t: \"undefined\"\n }),\n revive: () => undefined,\n },\n};\n","import { TypesonSimplified } from 'dreambase-library/dist/typeson-simplified/TypesonSimplified';\nimport { Bison } from \"dreambase-library/dist/typeson-simplified/Bison\";\nimport undefinedDef from 'dreambase-library/dist/typeson-simplified/types/undefined.js';\nimport tsonBuiltinDefs from 'dreambase-library/dist/typeson-simplified/presets/builtin.js';\n// Since server revisions are stored in bigints, we need to handle clients without\n// bigint support to not fail when serverRevision is passed over to client.\n// We need to not fail when reviving it and we need to somehow store the information.\n// Since the revived version will later on be put into indexedDB we have another\n// issue: When reading it back from indexedDB we will get a poco object that we\n// cannot replace correctly when sending it to server. So we will also need\n// to do an explicit workaround in the protocol where a bigint is supported.\n// The workaround should be there regardless if browser supports BigInt or not, because\n// the serverRev might have been stored in IDB before the browser was upgraded to support bigint.\n//\n// if (typeof serverRev.rev !== \"bigint\")\n// if (hasBigIntSupport)\n// serverRev.rev = bigIntDef.bigint.revive(server.rev)\n// else\n// serverRev.rev = new FakeBigInt(server.rev)\nexport const hasBigIntSupport = typeof BigInt === 'function' && typeof BigInt(0) === 'bigint';\nfunction getValueOfBigInt(x) {\n if (typeof x === 'bigint') {\n return x;\n }\n if (hasBigIntSupport) {\n return typeof x === 'string' ? BigInt(x) : BigInt(x.v);\n }\n else {\n return typeof x === 'string' ? Number(x) : Number(x.v);\n }\n}\nexport function compareBigInts(a, b) {\n const valA = getValueOfBigInt(a);\n const valB = getValueOfBigInt(b);\n return valA < valB ? -1 : valA > valB ? 1 : 0;\n}\nexport class FakeBigInt {\n toString() {\n return this.v;\n }\n constructor(value) {\n this.v = value;\n }\n}\nconst defs = Object.assign(Object.assign({}, undefinedDef), (hasBigIntSupport\n ? {}\n : {\n bigint: {\n test: (val) => val instanceof FakeBigInt,\n replace: (fakeBigInt) => {\n return Object.assign({ $t: 'bigint' }, fakeBigInt);\n },\n revive: ({ v, }) => new FakeBigInt(v)\n }\n }));\nexport const TSON = TypesonSimplified(tsonBuiltinDefs, defs);\nexport const BISON = Bison(defs);\n","import Dexie from 'dexie';\nexport function encodeIdsForServer(schema, currentUser, changes) {\n const rv = [];\n for (let change of changes) {\n const { table, muts } = change;\n const tableSchema = schema.tables.find((t) => t.name === table);\n if (!tableSchema)\n throw new Error(`Internal error: table ${table} not found in DBCore schema`);\n const { primaryKey } = tableSchema;\n let changeClone = change;\n muts.forEach((mut, mutIndex) => {\n const rewriteValues = !primaryKey.outbound &&\n (mut.type === 'upsert' || mut.type === 'insert');\n mut.keys.forEach((key, keyIndex) => {\n if (Array.isArray(key)) {\n // Server only support string keys. Dexie Cloud client support strings or array of strings.\n if (changeClone === change)\n changeClone = cloneChange(change, rewriteValues);\n const mutClone = changeClone.muts[mutIndex];\n const rewrittenKey = JSON.stringify(key);\n mutClone.keys[keyIndex] = rewrittenKey;\n /* Bug (#1777)\n We should not rewrite values. It will fail because the key is array and the value is string.\n Only the keys should be rewritten and it's already done on the server.\n We should take another round of revieweing how key transformations are being done between\n client and server and let the server do the key transformations entirely instead now that\n we have the primary key schema on the server making it possible to do so.\n if (rewriteValues) {\n Dexie.setByKeyPath(\n (mutClone as DBInsertOperation).values[keyIndex],\n primaryKey.keyPath!,\n rewrittenKey\n );\n }*/\n }\n else if (key[0] === '#') {\n // Private ID - translate!\n if (changeClone === change)\n changeClone = cloneChange(change, rewriteValues);\n const mutClone = changeClone.muts[mutIndex];\n if (!currentUser.isLoggedIn)\n throw new Error(`Internal error: Cannot sync private IDs before authenticated`);\n const rewrittenKey = `${key}:${currentUser.userId}`;\n mutClone.keys[keyIndex] = rewrittenKey;\n if (rewriteValues) {\n Dexie.setByKeyPath(mutClone.values[keyIndex], primaryKey.keyPath, rewrittenKey);\n }\n }\n });\n });\n rv.push(changeClone);\n }\n return rv;\n}\nfunction cloneChange(change, rewriteValues) {\n // clone on demand:\n return Object.assign(Object.assign({}, change), { muts: rewriteValues\n ? change.muts.map((m) => {\n return (m.type === 'insert' || m.type === 'upsert') && m.values\n ? Object.assign(Object.assign({}, m), { keys: m.keys.slice(), values: m.values.slice() }) : Object.assign(Object.assign({}, m), { keys: m.keys.slice() });\n })\n : change.muts.map((m) => (Object.assign(Object.assign({}, m), { keys: m.keys.slice() }))) });\n}\n","import { __awaiter } from \"tslib\";\n// If we get Ratelimit-Limit and Ratelimit-Remaining where Ratelimit-Remaining is below\n// (Ratelimit-Limit / 2), we should delay the next sync by (Ratelimit-Reset / Ratelimit-Remaining)\n// seconds (given that there is a Ratelimit-Reset header).\nlet syncRatelimitDelays = new WeakMap();\nexport function checkSyncRateLimitDelay(db) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const delatMilliseconds = ((_b = (_a = syncRatelimitDelays.get(db)) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) - Date.now();\n if (delatMilliseconds > 0) {\n console.debug(`Stalling sync request ${delatMilliseconds} ms to spare ratelimits`);\n yield new Promise(resolve => setTimeout(resolve, delatMilliseconds));\n }\n });\n}\nexport function updateSyncRateLimitDelays(db, res) {\n const limit = res.headers.get('Ratelimit-Limit');\n const remaining = res.headers.get('Ratelimit-Remaining');\n const reset = res.headers.get('Ratelimit-Reset');\n if (limit && remaining && reset) {\n const limitNum = Number(limit);\n const remainingNum = Math.max(0, Number(remaining));\n const willResetInSeconds = Number(reset);\n if (remainingNum < limitNum / 2) {\n const delay = Math.ceil(willResetInSeconds / (remainingNum + 1));\n syncRatelimitDelays.set(db, new Date(Date.now() + delay * 1000));\n console.debug(`Sync ratelimit delay set to ${delay} seconds`);\n }\n else {\n syncRatelimitDelays.delete(db);\n console.debug(`Sync ratelimit delay cleared`);\n }\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { loadAccessToken } from '../authentication/authenticate';\nimport { BISON, TSON } from '../TSON';\nimport { HttpError } from '../errors/HttpError';\nimport { encodeIdsForServer } from './encodeIdsForServer';\nimport { updateSyncRateLimitDelays } from './ratelimit';\n//import {BisonWebStreamReader} from \"dreambase-library/dist/typeson-simplified/BisonWebStreamReader\";\nexport function syncWithServer(changes, syncState, baseRevs, db, databaseUrl, schema, clientIdentity, currentUser) {\n return __awaiter(this, void 0, void 0, function* () {\n //\n // Push changes to server using fetch\n //\n const headers = {\n Accept: 'application/json, application/x-bison, application/x-bison-stream',\n 'Content-Type': 'application/tson',\n };\n const updatedUser = yield loadAccessToken(db);\n /*\n if (updatedUser?.license && changes.length > 0) {\n if (updatedUser.license.status === 'expired') {\n throw new Error(`License has expired`);\n }\n if (updatedUser.license.status === 'deactivated') {\n throw new Error(`License deactivated`);\n }\n }\n */\n const accessToken = updatedUser === null || updatedUser === void 0 ? void 0 : updatedUser.accessToken;\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n const syncRequest = {\n v: 2,\n dbID: syncState === null || syncState === void 0 ? void 0 : syncState.remoteDbId,\n clientIdentity,\n schema: schema || {},\n lastPull: syncState\n ? {\n serverRevision: syncState.serverRevision,\n realms: syncState.realms,\n inviteRealms: syncState.inviteRealms,\n }\n : undefined,\n baseRevs,\n changes: encodeIdsForServer(db.dx.core.schema, currentUser, changes),\n };\n console.debug('Sync request', syncRequest);\n db.syncStateChangedEvent.next({\n phase: 'pushing',\n });\n const res = yield fetch(`${databaseUrl}/sync`, {\n method: 'post',\n headers,\n credentials: 'include',\n body: TSON.stringify(syncRequest),\n });\n //const contentLength = Number(res.headers.get('content-length'));\n db.syncStateChangedEvent.next({\n phase: 'pulling',\n });\n updateSyncRateLimitDelays(db, res);\n if (!res.ok) {\n throw new HttpError(res);\n }\n switch (res.headers.get('content-type')) {\n case 'application/x-bison':\n return BISON.fromBinary(yield res.blob());\n case 'application/x-bison-stream': //return BisonWebStreamReader(BISON, res);\n default:\n case 'application/json': {\n const text = yield res.text();\n const syncRes = TSON.parse(text);\n return syncRes;\n }\n }\n });\n}\n","import { __awaiter } from \"tslib\";\nimport { UNAUTHORIZED_USER } from \"../authentication/UNAUTHORIZED_USER\";\nexport function modifyLocalObjectsWithNewUserId(syncifiedTables, currentUser, alreadySyncedRealms) {\n return __awaiter(this, void 0, void 0, function* () {\n const ignoredRealms = new Set(alreadySyncedRealms || []);\n for (const table of syncifiedTables) {\n if (table.name === \"members\") {\n // members\n yield table.toCollection().modify((member) => {\n if (!ignoredRealms.has(member.realmId) && (!member.userId || member.userId === UNAUTHORIZED_USER.userId)) {\n member.userId = currentUser.userId;\n }\n });\n }\n else if (table.name === \"roles\") {\n // roles\n // No changes needed.\n }\n else if (table.name === \"realms\") {\n // realms\n yield table.toCollection().modify((realm) => {\n if (!ignoredRealms.has(realm.realmId) && (realm.owner === undefined || realm.owner === UNAUTHORIZED_USER.userId)) {\n realm.owner = currentUser.userId;\n }\n });\n }\n else {\n // application entities\n yield table.toCollection().modify((obj) => {\n if (!obj.realmId || !ignoredRealms.has(obj.realmId)) {\n if (!obj.owner || obj.owner === UNAUTHORIZED_USER.userId)\n obj.owner = currentUser.userId;\n if (!obj.realmId || obj.realmId === UNAUTHORIZED_USER.userId) {\n obj.realmId = currentUser.userId;\n }\n }\n });\n }\n }\n });\n}\n","import Dexie from \"dexie\";\nexport function throwIfCancelled(cancelToken) {\n if (cancelToken === null || cancelToken === void 0 ? void 0 : cancelToken.cancelled)\n throw new Dexie.AbortError(`Operation was cancelled`);\n}\n","/* Need this because navigator.onLine seems to say \"false\" when it is actually online.\n This function relies initially on navigator.onLine but then uses online and offline events\n which seem to be more reliable.\n*/\nexport let isOnline = false;\nif (typeof self !== 'undefined' && typeof navigator !== 'undefined') {\n isOnline = navigator.onLine;\n self.addEventListener('online', () => isOnline = true);\n self.addEventListener('offline', () => isOnline = false);\n}\n","import { __awaiter } from \"tslib\";\nexport function updateBaseRevs(db, schema, latestRevisions, serverRev) {\n return __awaiter(this, void 0, void 0, function* () {\n yield db.$baseRevs.bulkPut(Object.keys(schema)\n .filter((table) => schema[table].markedForSync)\n .map((tableName) => {\n const lastClientRevOnPreviousServerRev = latestRevisions[tableName] || 0;\n return {\n tableName,\n clientRev: lastClientRevOnPreviousServerRev + 1,\n serverRev,\n };\n }));\n });\n}\n","export function getLatestRevisionsPerTable(clientChangeSet, lastRevisions = {}) {\n for (const { table, muts } of clientChangeSet) {\n const lastRev = muts.length > 0 ? muts[muts.length - 1].rev : null;\n lastRevisions[table] = lastRev || lastRevisions[table] || 0;\n }\n return lastRevisions;\n}\n","import { __awaiter } from \"tslib\";\nimport Dexie, { cmp } from 'dexie';\nexport function bulkUpdate(table, keys, changeSpecs) {\n return __awaiter(this, void 0, void 0, function* () {\n const objs = yield table.bulkGet(keys);\n const resultKeys = [];\n const resultObjs = [];\n keys.forEach((key, idx) => {\n const obj = objs[idx];\n if (obj) {\n for (const [keyPath, value] of Object.entries(changeSpecs[idx])) {\n if (keyPath === table.schema.primKey.keyPath) {\n if (cmp(value, key) !== 0) {\n throw new Error(`Cannot change primary key`);\n }\n }\n else {\n Dexie.setByKeyPath(obj, keyPath, value);\n }\n }\n resultKeys.push(key);\n resultObjs.push(obj);\n }\n });\n yield (table.schema.primKey.keyPath == null\n ? table.bulkPut(resultObjs, resultKeys)\n : table.bulkPut(resultObjs));\n });\n}\n","import { __awaiter } from \"tslib\";\nimport Dexie from 'dexie';\nimport { bulkUpdate } from '../helpers/bulkUpdate';\nexport function applyServerChanges(changes, db) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug('Applying server changes', changes, Dexie.currentTransaction);\n for (const { table: tableName, muts } of changes) {\n const table = db.table(tableName);\n if (!table)\n continue; // If server sends changes on a table we don't have, ignore it.\n const { primaryKey } = table.core.schema;\n const keyDecoder = (key) => {\n switch (key[0]) {\n case '[':\n // Decode JSON array\n if (key.endsWith(']'))\n try {\n // On server, array keys are transformed to JSON string representation\n return JSON.parse(key);\n }\n catch (_a) { }\n return key;\n case '#':\n // Decode private ID (do the opposite from what's done in encodeIdsForServer())\n if (key.endsWith(':' + db.cloud.currentUserId)) {\n return key.substr(0, key.length - db.cloud.currentUserId.length - 1);\n }\n return key;\n default:\n return key;\n }\n };\n for (const mut of muts) {\n const keys = mut.keys.map(keyDecoder);\n switch (mut.type) {\n case 'insert':\n if (primaryKey.outbound) {\n yield table.bulkAdd(mut.values, keys);\n }\n else {\n keys.forEach((key, i) => {\n // Make sure inbound keys are consistent\n Dexie.setByKeyPath(mut.values[i], primaryKey.keyPath, key);\n });\n yield table.bulkAdd(mut.values);\n }\n break;\n case 'upsert':\n if (primaryKey.outbound) {\n yield table.bulkPut(mut.values, keys);\n }\n else {\n keys.forEach((key, i) => {\n // Make sure inbound keys are consistent\n Dexie.setByKeyPath(mut.values[i], primaryKey.keyPath, key);\n });\n yield table.bulkPut(mut.values);\n }\n break;\n case 'modify':\n if (keys.length === 1) {\n yield table.update(keys[0], mut.changeSpec);\n }\n else {\n yield table.where(':id').anyOf(keys).modify(mut.changeSpec);\n }\n break;\n case 'update':\n yield bulkUpdate(table, keys, mut.changeSpecs);\n break;\n case 'delete':\n yield table.bulkDelete(keys);\n break;\n }\n }\n }\n });\n}\n","import { __awaiter } from \"tslib\";\nimport { getMutationTable } from '../helpers/getMutationTable';\nimport { getSyncableTables } from '../helpers/getSyncableTables';\nimport { listSyncifiedChanges } from './listSyncifiedChanges';\nimport { getTablesToSyncify } from './getTablesToSyncify';\nimport { listClientChanges } from './listClientChanges';\nimport { syncWithServer } from './syncWithServer';\nimport { modifyLocalObjectsWithNewUserId } from './modifyLocalObjectsWithNewUserId';\nimport { throwIfCancelled } from '../helpers/CancelToken';\nimport { getTableFromMutationTable } from '../helpers/getTableFromMutationTable';\nimport { applyOperations, randomString, subtractChanges, toDBOperationSet, } from 'dexie-cloud-common';\nimport { isOnline } from './isOnline';\nimport { updateBaseRevs } from './updateBaseRevs';\nimport { getLatestRevisionsPerTable } from './getLatestRevisionsPerTable';\nimport { applyServerChanges } from './applyServerChanges';\nimport { checkSyncRateLimitDelay } from './ratelimit';\nexport const CURRENT_SYNC_WORKER = 'currentSyncWorker';\nexport function sync(db, options, schema, syncOptions) {\n return _sync\n .apply(this, arguments)\n .then((result) => {\n if (!(syncOptions === null || syncOptions === void 0 ? void 0 : syncOptions.justCheckIfNeeded)) { // && syncOptions?.purpose !== 'push') {\n db.syncStateChangedEvent.next({\n phase: 'in-sync',\n });\n }\n return result;\n })\n .catch((error) => __awaiter(this, void 0, void 0, function* () {\n if (syncOptions === null || syncOptions === void 0 ? void 0 : syncOptions.justCheckIfNeeded)\n return Promise.reject(error); // Just rethrow.\n console.debug('Error from _sync', {\n isOnline,\n syncOptions,\n error,\n });\n if (isOnline &&\n (syncOptions === null || syncOptions === void 0 ? void 0 : syncOptions.retryImmediatelyOnFetchError) &&\n (error === null || error === void 0 ? void 0 : error.name) === 'TypeError' &&\n /fetch/.test(error === null || error === void 0 ? void 0 : error.message)) {\n db.syncStateChangedEvent.next({\n phase: 'error',\n error,\n });\n // Retry again in 500 ms but if it fails again, don't retry.\n yield new Promise((resolve) => setTimeout(resolve, 500));\n return yield sync(db, options, schema, Object.assign(Object.assign({}, syncOptions), { retryImmediatelyOnFetchError: false }));\n }\n // Make sure that no matter whether sync() explodes or not,\n // always update the timestamp. Also store the error.\n yield db.$syncState.update('syncState', {\n timestamp: new Date(),\n error: '' + error,\n });\n db.syncStateChangedEvent.next({\n phase: isOnline ? 'error' : 'offline',\n error: new Error('' + (error === null || error === void 0 ? void 0 : error.message) || error),\n });\n return Promise.reject(error);\n }));\n}\nfunction _sync(db, options, schema, { isInitialSync, cancelToken, justCheckIfNeeded, purpose } = {\n isInitialSync: false,\n}) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (!justCheckIfNeeded) {\n console.debug('SYNC STARTED', { isInitialSync, purpose });\n }\n if (!((_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.databaseUrl))\n throw new Error(`Internal error: sync must not be called when no databaseUrl is configured`);\n const { databaseUrl } = options;\n const currentUser = yield db.getCurrentUser(); // Keep same value across entire sync flow:\n const tablesToSync = currentUser.isLoggedIn ? getSyncableTables(db) : [];\n const mutationTables = tablesToSync.map((tbl) => db.table(getMutationTable(tbl.name)));\n // If this is not the initial sync,\n // go through tables that were previously not synced but should now be according to\n // logged in state and the sync table whitelist in db.cloud.options.\n //\n // Prepare for syncification by modifying locally unauthorized objects:\n //\n const persistedSyncState = yield db.getPersistedSyncState();\n const readyForSyncification = !isInitialSync && currentUser.isLoggedIn;\n const tablesToSyncify = readyForSyncification\n ? getTablesToSyncify(db, persistedSyncState)\n : [];\n throwIfCancelled(cancelToken);\n const doSyncify = tablesToSyncify.length > 0;\n if (doSyncify) {\n if (justCheckIfNeeded)\n return true;\n //console.debug('sync doSyncify is true');\n yield db.transaction('rw', tablesToSyncify, (tx) => __awaiter(this, void 0, void 0, function* () {\n // @ts-ignore\n tx.idbtrans.disableChangeTracking = true;\n // @ts-ignore\n tx.idbtrans.disableAccessControl = true; // TODO: Take care of this flag in access control middleware!\n yield modifyLocalObjectsWithNewUserId(tablesToSyncify, currentUser, persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.realms);\n }));\n throwIfCancelled(cancelToken);\n }\n //\n // List changes to sync\n //\n const [clientChangeSet, syncState, baseRevs] = yield db.transaction('r', db.tables, () => __awaiter(this, void 0, void 0, function* () {\n const syncState = yield db.getPersistedSyncState();\n const baseRevs = yield db.$baseRevs.toArray();\n let clientChanges = yield listClientChanges(mutationTables, db);\n throwIfCancelled(cancelToken);\n if (doSyncify) {\n const alreadySyncedRealms = [\n ...((persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.realms) || []),\n ...((persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.inviteRealms) || []),\n ];\n const syncificationInserts = yield listSyncifiedChanges(tablesToSyncify, currentUser, schema, alreadySyncedRealms);\n throwIfCancelled(cancelToken);\n clientChanges = clientChanges.concat(syncificationInserts);\n return [clientChanges, syncState, baseRevs];\n }\n return [clientChanges, syncState, baseRevs];\n }));\n const pushSyncIsNeeded = clientChangeSet.some((set) => set.muts.some((mut) => mut.keys.length > 0));\n if (justCheckIfNeeded) {\n console.debug('Sync is needed:', pushSyncIsNeeded);\n return pushSyncIsNeeded;\n }\n if (purpose === 'push' && !pushSyncIsNeeded) {\n // The purpose of this request was to push changes\n return false;\n }\n const latestRevisions = getLatestRevisionsPerTable(clientChangeSet, syncState === null || syncState === void 0 ? void 0 : syncState.latestRevisions);\n const clientIdentity = (syncState === null || syncState === void 0 ? void 0 : syncState.clientIdentity) || randomString(16);\n //\n // Push changes to server\n //\n throwIfCancelled(cancelToken);\n const res = yield syncWithServer(clientChangeSet, syncState, baseRevs, db, databaseUrl, schema, clientIdentity, currentUser);\n console.debug('Sync response', res);\n //\n // Apply changes locally and clear old change entries:\n //\n const done = yield db.transaction('rw', db.tables, (tx) => __awaiter(this, void 0, void 0, function* () {\n // @ts-ignore\n tx.idbtrans.disableChangeTracking = true;\n // @ts-ignore\n tx.idbtrans.disableAccessControl = true; // TODO: Take care of this flag in access control middleware!\n // Update db.cloud.schema from server response.\n // Local schema MAY include a subset of tables, so do not force all tables into local schema.\n for (const tableName of Object.keys(schema)) {\n if (res.schema[tableName]) {\n // Write directly into configured schema. This code can only be executed alone.\n schema[tableName] = res.schema[tableName];\n }\n }\n yield db.$syncState.put(schema, 'schema');\n // List mutations that happened during our exchange with the server:\n const addedClientChanges = yield listClientChanges(mutationTables, db, {\n since: latestRevisions,\n });\n //\n // Delete changes now as server has return success\n // (but keep changes that haven't reached server yet)\n //\n for (const mutTable of mutationTables) {\n const tableName = getTableFromMutationTable(mutTable.name);\n if (!addedClientChanges.some((ch) => ch.table === tableName && ch.muts.length > 0)) {\n // No added mutations for this table during the time we sent changes\n // to the server.\n // It is therefore safe to clear all changes (which is faster than\n // deleting a range)\n yield Promise.all([\n mutTable.clear(),\n db.$baseRevs.where({ tableName }).delete(),\n ]);\n }\n else if (latestRevisions[tableName]) {\n const latestRev = latestRevisions[tableName] || 0;\n yield Promise.all([\n mutTable.where('rev').belowOrEqual(latestRev).delete(),\n db.$baseRevs\n .where(':id')\n .between([tableName, -Infinity], [tableName, latestRev + 1], true, true)\n .reverse()\n .offset(1) // Keep one entry (the one mapping muts that came during fetch --> previous server revision)\n .delete(),\n ]);\n }\n else {\n // In this case, the mutation table only contains added items after sending empty changeset to server.\n // We should not clear out anything now.\n }\n }\n // Update latestRevisions object according to additional changes:\n getLatestRevisionsPerTable(addedClientChanges, latestRevisions);\n // Update/add new entries into baseRevs map.\n // * On tables without mutations since last serverRevision,\n // this will update existing entry.\n // * On tables where mutations have been recorded since last\n // serverRevision, this will create a new entry.\n // The purpose of this operation is to mark a start revision (per table)\n // so that all client-mutations that come after this, will be mapped to current\n // server revision.\n yield updateBaseRevs(db, schema, latestRevisions, res.serverRevision);\n const syncState = yield db.getPersistedSyncState();\n //\n // Delete objects from removed realms\n //\n yield deleteObjectsFromRemovedRealms(db, res, syncState);\n //\n // Update syncState\n //\n const newSyncState = syncState || {\n syncedTables: [],\n latestRevisions: {},\n realms: [],\n inviteRealms: [],\n clientIdentity,\n };\n if (readyForSyncification) {\n newSyncState.syncedTables = tablesToSync\n .map((tbl) => tbl.name)\n .concat(tablesToSyncify.map((tbl) => tbl.name));\n }\n newSyncState.latestRevisions = latestRevisions;\n newSyncState.remoteDbId = res.dbId;\n newSyncState.initiallySynced = true;\n newSyncState.realms = res.realms;\n newSyncState.inviteRealms = res.inviteRealms;\n newSyncState.serverRevision = res.serverRevision;\n newSyncState.timestamp = new Date();\n delete newSyncState.error;\n const filteredChanges = filterServerChangesThroughAddedClientChanges(res.changes, addedClientChanges);\n //\n // apply server changes\n //\n yield applyServerChanges(filteredChanges, db);\n //\n // Update syncState\n //\n db.$syncState.put(newSyncState, 'syncState');\n return addedClientChanges.length === 0;\n }));\n if (!done) {\n console.debug('MORE SYNC NEEDED. Go for it again!');\n yield checkSyncRateLimitDelay(db);\n return yield _sync(db, options, schema, { isInitialSync, cancelToken });\n }\n console.debug('SYNC DONE', { isInitialSync });\n db.syncCompleteEvent.next();\n return false; // Not needed anymore\n });\n}\nfunction deleteObjectsFromRemovedRealms(db, res, prevState) {\n return __awaiter(this, void 0, void 0, function* () {\n const deletedRealms = new Set();\n const rejectedRealms = new Set();\n const previousRealmSet = prevState ? prevState.realms : [];\n const previousInviteRealmSet = prevState ? prevState.inviteRealms : [];\n const updatedRealmSet = new Set(res.realms);\n const updatedTotalRealmSet = new Set(res.realms.concat(res.inviteRealms));\n for (const realmId of previousRealmSet) {\n if (!updatedRealmSet.has(realmId)) {\n rejectedRealms.add(realmId);\n if (!updatedTotalRealmSet.has(realmId)) {\n deletedRealms.add(realmId);\n }\n }\n }\n for (const realmId of previousInviteRealmSet.concat(previousRealmSet)) {\n if (!updatedTotalRealmSet.has(realmId)) {\n deletedRealms.add(realmId);\n }\n }\n if (deletedRealms.size > 0 || rejectedRealms.size > 0) {\n const tables = getSyncableTables(db);\n for (const table of tables) {\n let realmsToDelete = ['realms', 'members', 'roles'].includes(table.name)\n ? deletedRealms // These tables should spare rejected ones.\n : rejectedRealms; // All other tables shoudl delete rejected+deleted ones\n if (realmsToDelete.size === 0)\n continue;\n if (table.schema.indexes.some((idx) => idx.keyPath === 'realmId' ||\n (Array.isArray(idx.keyPath) && idx.keyPath[0] === 'realmId'))) {\n // There's an index to use:\n //console.debug(`REMOVAL: deleting all ${table.name} where realmId anyOf `, JSON.stringify([...realmsToDelete]));\n yield table\n .where('realmId')\n .anyOf([...realmsToDelete])\n .delete();\n }\n else {\n // No index to use:\n //console.debug(`REMOVAL: deleting all ${table.name} where realmId is any of `, JSON.stringify([...realmsToDelete]), realmsToDelete.size);\n yield table\n .filter((obj) => !!(obj === null || obj === void 0 ? void 0 : obj.realmId) && realmsToDelete.has(obj.realmId))\n .delete();\n }\n }\n }\n });\n}\nexport function filterServerChangesThroughAddedClientChanges(serverChanges, addedClientChanges) {\n const changes = {};\n applyOperations(changes, serverChanges);\n const localPostChanges = {};\n applyOperations(localPostChanges, addedClientChanges);\n subtractChanges(changes, localPostChanges);\n return toDBOperationSet(changes);\n}\n","import { __awaiter } from \"tslib\";\nimport { BehaviorSubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { triggerSync } from './triggerSync';\nimport Dexie from 'dexie';\nimport { computeRealmSetHash } from '../helpers/computeRealmSetHash';\nimport { getSyncableTables } from '../helpers/getSyncableTables';\nimport { getMutationTable } from '../helpers/getMutationTable';\nimport { listClientChanges } from './listClientChanges';\nimport { filterServerChangesThroughAddedClientChanges } from './sync';\nimport { applyServerChanges } from './applyServerChanges';\nimport { updateBaseRevs } from './updateBaseRevs';\nimport { getLatestRevisionsPerTable } from './getLatestRevisionsPerTable';\nimport { refreshAccessToken } from '../authentication/authenticate';\nexport function MessagesFromServerConsumer(db) {\n const queue = [];\n const readyToServe = new BehaviorSubject(true);\n const event = new BehaviorSubject(null);\n let isWorking = false;\n let loopWarning = 0;\n let loopDetection = [0, 0, 0, 0, 0, 0, 0, 0, 0, Date.now()];\n event.subscribe(() => __awaiter(this, void 0, void 0, function* () {\n if (isWorking)\n return;\n if (queue.length > 0) {\n isWorking = true;\n loopDetection.shift();\n loopDetection.push(Date.now());\n readyToServe.next(false);\n try {\n yield consumeQueue();\n }\n finally {\n if (loopDetection[loopDetection.length - 1] - loopDetection[0] <\n 10000) {\n // Ten loops within 10 seconds. Slow down!\n if (Date.now() - loopWarning < 5000) {\n // Last time we did this, we ended up here too. Wait for a minute.\n console.warn(`Slowing down websocket loop for one minute`);\n loopWarning = Date.now() + 60000;\n yield new Promise((resolve) => setTimeout(resolve, 60000));\n }\n else {\n // This is a one-time event. Just pause 10 seconds.\n console.warn(`Slowing down websocket loop for 10 seconds`);\n loopWarning = Date.now() + 10000;\n yield new Promise((resolve) => setTimeout(resolve, 10000));\n }\n }\n isWorking = false;\n readyToServe.next(true);\n }\n }\n }));\n function enqueue(msg) {\n queue.push(msg);\n event.next(null);\n }\n function consumeQueue() {\n var _a, _b, _c, _d, _e, _f;\n return __awaiter(this, void 0, void 0, function* () {\n while (queue.length > 0) {\n const msg = queue.shift();\n try {\n // If the sync worker or service worker is syncing, wait 'til thei're done.\n // It's no need to have two channels at the same time - even though it wouldnt\n // be a problem - this is an optimization.\n yield db.cloud.syncState\n .pipe(filter(({ phase }) => phase === 'in-sync' || phase === 'error'), take(1))\n .toPromise();\n console.debug('processing msg', msg);\n const persistedSyncState = db.cloud.persistedSyncState.value;\n //syncState.\n if (!msg)\n continue;\n switch (msg.type) {\n case 'token-expired':\n console.debug('WebSocket observable: Token expired. Refreshing token...');\n const user = db.cloud.currentUser.value;\n // Refresh access token\n const refreshedLogin = yield refreshAccessToken(db.cloud.options.databaseUrl, user);\n // Persist updated access token\n yield db.table('$logins').update(user.userId, {\n accessToken: refreshedLogin.accessToken,\n accessTokenExpiration: refreshedLogin.accessTokenExpiration,\n claims: refreshedLogin.claims,\n license: refreshedLogin.license,\n });\n // Updating $logins will trigger emission of db.cloud.currentUser observable, which\n // in turn will lead to that connectWebSocket.ts will reconnect the socket with the\n // new token. So we don't need to do anything more here.\n break;\n case 'realm-added':\n if (!((_a = persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.realms) === null || _a === void 0 ? void 0 : _a.includes(msg.realm)) &&\n !((_b = persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.inviteRealms) === null || _b === void 0 ? void 0 : _b.includes(msg.realm))) {\n yield db.cloud.sync({ purpose: 'pull', wait: true });\n //triggerSync(db, 'pull');\n }\n break;\n case 'realm-accepted':\n if (!((_c = persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.realms) === null || _c === void 0 ? void 0 : _c.includes(msg.realm))) {\n yield db.cloud.sync({ purpose: 'pull', wait: true });\n //triggerSync(db, 'pull');\n }\n break;\n case 'realm-removed':\n if (((_d = persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.realms) === null || _d === void 0 ? void 0 : _d.includes(msg.realm)) ||\n ((_e = persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.inviteRealms) === null || _e === void 0 ? void 0 : _e.includes(msg.realm))) {\n yield db.cloud.sync({ purpose: 'pull', wait: true });\n //triggerSync(db, 'pull');\n }\n break;\n case 'realms-changed':\n //triggerSync(db, 'pull');\n yield db.cloud.sync({ purpose: 'pull', wait: true });\n break;\n case 'changes':\n console.debug('changes');\n if (((_f = db.cloud.syncState.value) === null || _f === void 0 ? void 0 : _f.phase) === 'error') {\n triggerSync(db, 'pull');\n break;\n }\n yield db.transaction('rw', db.dx.tables, (tx) => __awaiter(this, void 0, void 0, function* () {\n // @ts-ignore\n tx.idbtrans.disableChangeTracking = true;\n // @ts-ignore\n tx.idbtrans.disableAccessControl = true;\n const [schema, syncState, currentUser] = yield Promise.all([\n db.getSchema(),\n db.getPersistedSyncState(),\n db.getCurrentUser(),\n ]);\n console.debug('ws message queue: in transaction');\n if (!syncState || !schema || !currentUser) {\n console.debug('required vars not present', {\n syncState,\n schema,\n currentUser,\n });\n return; // Initial sync must have taken place - otherwise, ignore this.\n }\n // Verify again in ACID tx that we're on same server revision.\n if (msg.baseRev !== syncState.serverRevision) {\n console.debug(`baseRev (${msg.baseRev}) differs from our serverRevision in syncState (${syncState.serverRevision})`);\n // Should we trigger a sync now? No. This is a normal case\n // when another local peer (such as the SW or a websocket channel on other tab) has\n // updated syncState from new server information but we are not aware yet. It would\n // be unnescessary to do a sync in that case. Instead, the caller of this consumeQueue()\n // function will do readyToServe.next(true) right after this return, which will lead\n // to a \"ready\" message being sent to server with the new accurate serverRev we have,\n // so that the next message indeed will be correct.\n if (typeof msg.baseRev === 'string' && // v2 format\n (typeof syncState.serverRevision === 'bigint' || // v1 format\n typeof syncState.serverRevision === 'object') // v1 format old browser\n ) {\n // The reason for the diff seems to be that server has migrated the revision format.\n // Do a full sync to update revision format.\n // If we don't do a sync request now, we could stuck in an endless loop.\n triggerSync(db, 'pull');\n }\n return; // Ignore message\n }\n // Verify also that the message is based on the exact same set of realms\n const ourRealmSetHash = yield Dexie.waitFor(\n // Keep TX in non-IDB work\n computeRealmSetHash(syncState));\n console.debug('ourRealmSetHash', ourRealmSetHash);\n if (ourRealmSetHash !== msg.realmSetHash) {\n console.debug('not same realmSetHash', msg.realmSetHash);\n triggerSync(db, 'pull');\n // The message isn't based on the same realms.\n // Trigger a sync instead to resolve all things up.\n return;\n }\n // Get clientChanges\n let clientChanges = [];\n if (currentUser.isLoggedIn) {\n const mutationTables = getSyncableTables(db).map((tbl) => db.table(getMutationTable(tbl.name)));\n clientChanges = yield listClientChanges(mutationTables, db);\n console.debug('msg queue: client changes', clientChanges);\n }\n if (msg.changes.length > 0) {\n const filteredChanges = filterServerChangesThroughAddedClientChanges(msg.changes, clientChanges);\n //\n // apply server changes\n //\n console.debug('applying filtered server changes', filteredChanges);\n yield applyServerChanges(filteredChanges, db);\n }\n // Update latest revisions per table in case there are unsynced changes\n // This can be a real case in future when we allow non-eagery sync.\n // And it can actually be realistic now also, but very rare.\n syncState.latestRevisions = getLatestRevisionsPerTable(clientChanges, syncState.latestRevisions);\n syncState.serverRevision = msg.newRev;\n // Update base revs\n console.debug('Updating baseRefs', syncState.latestRevisions);\n yield updateBaseRevs(db, schema, syncState.latestRevisions, msg.newRev);\n //\n // Update syncState\n //\n console.debug('Updating syncState', syncState);\n yield db.$syncState.put(syncState, 'syncState');\n }));\n console.debug('msg queue: done with rw transaction');\n break;\n }\n }\n catch (error) {\n console.error(`Error in msg queue`, error);\n }\n }\n });\n }\n return {\n enqueue,\n readyToServe,\n };\n}\n","import { UNAUTHORIZED_USER } from '../authentication/UNAUTHORIZED_USER';\nimport { Subject } from 'rxjs';\nimport { BroadcastedAndLocalEvent } from '../helpers/BroadcastedAndLocalEvent';\nimport { MessagesFromServerConsumer } from '../sync/messagesFromServerQueue';\nconst wm = new WeakMap();\nexport const DEXIE_CLOUD_SCHEMA = {\n members: '@id, [userId+realmId], [email+realmId], realmId',\n roles: '[realmId+name]',\n realms: '@realmId',\n $jobs: '',\n $syncState: '',\n $baseRevs: '[tableName+clientRev]',\n $logins: 'claims.sub, lastLogin',\n};\nlet static_counter = 0;\nexport function DexieCloudDB(dx) {\n if ('vip' in dx)\n dx = dx['vip']; // Avoid race condition. Always map to a vipped dexie that don't block during db.on.ready().\n let db = wm.get(dx.cloud);\n if (!db) {\n const localSyncEvent = new Subject();\n let syncStateChangedEvent = new BroadcastedAndLocalEvent(`syncstatechanged-${dx.name}`);\n let syncCompleteEvent = new BroadcastedAndLocalEvent(`synccomplete-${dx.name}`);\n localSyncEvent['id'] = ++static_counter;\n let initiallySynced = false;\n db = {\n get name() {\n return dx.name;\n },\n close() {\n return dx.close();\n },\n transaction: dx.transaction.bind(dx),\n table: dx.table.bind(dx),\n get tables() {\n return dx.tables;\n },\n cloud: dx.cloud,\n get $jobs() {\n return dx.table('$jobs');\n },\n get $syncState() {\n return dx.table('$syncState');\n },\n get $baseRevs() {\n return dx.table('$baseRevs');\n },\n get $logins() {\n return dx.table('$logins');\n },\n get realms() {\n return dx.realms;\n },\n get members() {\n return dx.members;\n },\n get roles() {\n return dx.roles;\n },\n get initiallySynced() {\n return initiallySynced;\n },\n localSyncEvent,\n get syncStateChangedEvent() {\n return syncStateChangedEvent;\n },\n get syncCompleteEvent() {\n return syncCompleteEvent;\n },\n dx,\n };\n const helperMethods = {\n getCurrentUser() {\n return db.$logins\n .toArray()\n .then((logins) => logins.find((l) => l.isLoggedIn) || UNAUTHORIZED_USER);\n },\n getPersistedSyncState() {\n return db.$syncState.get('syncState');\n },\n getSchema() {\n return db.$syncState.get('schema').then((schema) => {\n if (schema) {\n for (const table of db.tables) {\n if (table.schema.primKey && table.schema.primKey.keyPath && schema[table.name]) {\n schema[table.name].primaryKey = nameFromKeyPath(table.schema.primKey.keyPath);\n }\n }\n }\n return schema;\n });\n },\n getOptions() {\n return db.$syncState.get('options');\n },\n setInitiallySynced(value) {\n initiallySynced = value;\n },\n reconfigure() {\n syncStateChangedEvent = new BroadcastedAndLocalEvent(`syncstatechanged-${dx.name}`);\n syncCompleteEvent = new BroadcastedAndLocalEvent(`synccomplete-${dx.name}`);\n },\n };\n Object.assign(db, helperMethods);\n db.messageConsumer = MessagesFromServerConsumer(db);\n wm.set(dx.cloud, db);\n }\n return db;\n}\nfunction nameFromKeyPath(keyPath) {\n return typeof keyPath === 'string' ?\n keyPath :\n keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : \"\";\n}\n","// @ts-ignore\nexport const isFirefox = typeof InstallTrigger !== 'undefined';\n","export const isSafari = typeof navigator !== 'undefined' &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\/|Edge\\//.test(navigator.userAgent);\nexport const safariVersion = isSafari\n ? // @ts-ignore\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1]\n : NaN;\n","import { isFirefox } from './isFirefox';\nimport { isSafari, safariVersion } from './isSafari';\n// What we know: Safari 14.1 (version 605) crashes when using dexie-cloud's service worker.\n// We don't know what exact call is causing this. Have tried safari-14-idb-fix with no luck.\n// Something we do in the service worker is triggering the crash.\n// When next Safari version (606) is out we will start enabling SW again, hoping that the bug is solved.\n// If not, we might increment 605 to 606.\nexport const DISABLE_SERVICEWORKER_STRATEGY = (isSafari && safariVersion <= 605) || // Disable for Safari for now.\n isFirefox; // Disable for Firefox for now. Seems to have a bug in reading CryptoKeys from IDB from service workers\n","/* Helper function to subscribe to database close no matter if it was unexpectedly closed or manually using db.close()\n */\nexport function dbOnClosed(db, handler) {\n db.on.close.subscribe(handler);\n // @ts-ignore\n const origClose = db._close;\n // @ts-ignore\n db._close = function () {\n origClose.call(this);\n handler();\n };\n return () => {\n db.on.close.unsubscribe(handler);\n // @ts-ignore\n db._close = origClose;\n };\n}\n","export const IS_SERVICE_WORKER = typeof self !== \"undefined\" && \"clients\" in self && !self.document;\n","import Dexie from \"dexie\";\nexport function throwVersionIncrementNeeded() {\n throw new Dexie.SchemaError(`Version increment needed to allow dexie-cloud change tracking`);\n}\n","import { b64LexEncode } from 'dreambase-library/dist/common/b64lex';\nconst { toString } = {};\nexport function toStringTag(o) {\n return toString.call(o).slice(8, -1);\n}\nexport function getEffectiveKeys(primaryKey, req) {\n var _a;\n if (req.type === 'delete')\n return req.keys;\n return ((_a = req.keys) === null || _a === void 0 ? void 0 : _a.slice()) || req.values.map(primaryKey.extractKey);\n}\nfunction applyToUpperBitFix(orig, bits) {\n return ((bits & 1 ? orig[0].toUpperCase() : orig[0].toLowerCase()) +\n (bits & 2 ? orig[1].toUpperCase() : orig[1].toLowerCase()) +\n (bits & 4 ? orig[2].toUpperCase() : orig[2].toLowerCase()));\n}\nconst consonants = /b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|x|y|z/i;\nfunction isUpperCase(ch) {\n return ch >= 'A' && ch <= 'Z';\n}\nexport function generateTablePrefix(tableName, allPrefixes) {\n let rv = tableName[0].toLocaleLowerCase(); // \"users\" = \"usr\", \"friends\" = \"frn\", \"realms\" = \"rlm\", etc.\n for (let i = 1, l = tableName.length; i < l && rv.length < 3; ++i) {\n if (consonants.test(tableName[i]) || isUpperCase(tableName[i]))\n rv += tableName[i].toLowerCase();\n }\n while (allPrefixes.has(rv)) {\n if (/\\d/g.test(rv)) {\n rv = rv.substr(0, rv.length - 1) + (rv[rv.length - 1] + 1);\n if (rv.length > 3)\n rv = rv.substr(0, 3);\n else\n continue;\n }\n else if (rv.length < 3) {\n rv = rv + '2';\n continue;\n }\n let bitFix = 1;\n let upperFixed = rv;\n while (allPrefixes.has(upperFixed) && bitFix < 8) {\n upperFixed = applyToUpperBitFix(rv, bitFix);\n ++bitFix;\n }\n if (bitFix < 8)\n rv = upperFixed;\n else {\n let nextChar = (rv.charCodeAt(2) + 1) & 127;\n rv = rv.substr(0, 2) + String.fromCharCode(nextChar);\n // Here, in theory we could get an infinite loop if having 127*8 table names with identical 3 first consonants.\n }\n }\n return rv;\n}\nlet time = 0;\n/**\n *\n * @param prefix A unique 3-letter short-name of the table.\n * @param shardKey 3 last letters from another ID if colocation is requested. Verified on server on inserts - guarantees unique IDs across shards.\n * The shardKey part of the key represent the shardId where it was first created. An object with this\n * primary key can later on be moved to another shard without being altered. The reason for having\n * the origin shardKey as part of the key, is that the server will not need to check uniqueness constraint\n * across all shards on every insert. Updates / moves across shards are already controlled by the server\n * in the sense that the objects needs to be there already - we only need this part for inserts.\n * @returns\n */\nexport function generateKey(prefix, shardKey) {\n const a = new Uint8Array(18);\n const timePart = new Uint8Array(a.buffer, 0, 6);\n const now = Date.now(); // Will fit into 6 bytes until year 10 895.\n if (time >= now) {\n // User is bulk-creating objects the same millisecond.\n // Increment the time part by one millisecond for each item.\n // If bulk-creating 1,000,000 rows client-side in 10 seconds,\n // the last time-stamp will be 990 seconds in future, which is no biggie at all.\n // The point is to create a nice order of the generated IDs instead of\n // using random ids.\n ++time;\n }\n else {\n time = now;\n }\n timePart[0] = time / 1099511627776; // Normal division (no bitwise operator) --> works with >= 32 bits.\n timePart[1] = time / 4294967296;\n timePart[2] = time / 16777216;\n timePart[3] = time / 65536;\n timePart[4] = time / 256;\n timePart[5] = time;\n const randomPart = new Uint8Array(a.buffer, 6);\n crypto.getRandomValues(randomPart);\n const id = new Uint8Array(a.buffer);\n return prefix + b64LexEncode(id) + (shardKey || '');\n}\n","import Dexie from 'dexie';\nimport { isValidSyncableID } from 'dexie-cloud-common';\nimport { getEffectiveKeys, generateKey, toStringTag, } from '../middleware-helpers/idGenerationHelpers';\nexport function createIdGenerationMiddleware(db) {\n return {\n stack: 'dbcore',\n name: 'idGenerationMiddleware',\n level: 1,\n create: (core) => {\n return Object.assign(Object.assign({}, core), { table: (tableName) => {\n const table = core.table(tableName);\n function generateOrVerifyAtKeys(req, idPrefix) {\n let valueClones = null;\n const keys = getEffectiveKeys(table.schema.primaryKey, req);\n keys.forEach((key, idx) => {\n if (key === undefined) {\n // Generate the key\n const colocatedId = req.values[idx].realmId || db.cloud.currentUserId;\n const shardKey = colocatedId.substr(colocatedId.length - 3);\n keys[idx] = generateKey(idPrefix, shardKey);\n if (!table.schema.primaryKey.outbound) {\n if (!valueClones)\n valueClones = req.values.slice();\n valueClones[idx] = Dexie.deepClone(valueClones[idx]);\n Dexie.setByKeyPath(valueClones[idx], table.schema.primaryKey.keyPath, keys[idx]);\n }\n }\n else if (typeof key !== 'string' ||\n (!key.startsWith(idPrefix) && !key.startsWith('#' + idPrefix))) {\n // Key was specified by caller. Verify it complies with id prefix.\n throw new Dexie.ConstraintError(`The ID \"${key}\" is not valid for table \"${tableName}\". ` +\n `Primary '@' keys requires the key to be prefixed with \"${idPrefix}\" (or \"#${idPrefix}).\\n` +\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.`);\n }\n });\n return table.mutate(Object.assign(Object.assign({}, req), { keys, values: valueClones || req.values }));\n }\n return Object.assign(Object.assign({}, table), { mutate: (req) => {\n var _a, _b;\n // @ts-ignore\n if (req.trans.disableChangeTracking) {\n // Disable ID policy checks and ID generation\n return table.mutate(req);\n }\n if (req.type === 'add' || req.type === 'put') {\n const cloudTableSchema = (_a = db.cloud.schema) === null || _a === void 0 ? void 0 : _a[tableName];\n if (!(cloudTableSchema === null || cloudTableSchema === void 0 ? void 0 : cloudTableSchema.generatedGlobalId)) {\n if (cloudTableSchema === null || cloudTableSchema === void 0 ? void 0 : cloudTableSchema.markedForSync) {\n // Just make sure primary key is of a supported type:\n const keys = getEffectiveKeys(table.schema.primaryKey, req);\n keys.forEach((key, idx) => {\n if (!isValidSyncableID(key)) {\n const type = Array.isArray(key)\n ? key.map(toStringTag).join(',')\n : toStringTag(key);\n throw new Dexie.ConstraintError(`Invalid primary key type ${type} for table ${tableName}. Tables marked for sync has primary keys of type string or Array of string (and optional numbers)`);\n }\n });\n }\n }\n else {\n if (((_b = db.cloud.options) === null || _b === void 0 ? void 0 : _b.databaseUrl) && !db.initiallySynced) {\n // A database URL is configured but no initial sync has been performed.\n const keys = getEffectiveKeys(table.schema.primaryKey, req);\n // Check if the operation would yield any INSERT. If so, complain! We never want wrong ID prefixes stored.\n return table\n .getMany({ keys, trans: req.trans, cache: 'immutable' })\n .then((results) => {\n if (results.length < keys.length) {\n // At least one of the given objects would be created. Complain since\n // the generated ID would be based on a locally computed ID prefix only - we wouldn't\n // know if the server would give the same ID prefix until an initial sync has been\n // performed.\n throw new Error(`Unable to create new objects without an initial sync having been performed.`);\n }\n return table.mutate(req);\n });\n }\n return generateOrVerifyAtKeys(req, cloudTableSchema.idPrefix);\n }\n }\n return table.mutate(req);\n } });\n } });\n },\n };\n}\n","export function createImplicitPropSetterMiddleware(db) {\n return {\n stack: 'dbcore',\n name: 'implicitPropSetterMiddleware',\n level: 1,\n create: (core) => {\n return Object.assign(Object.assign({}, core), { table: (tableName) => {\n const table = core.table(tableName);\n return Object.assign(Object.assign({}, table), { mutate: (req) => {\n var _a, _b, _c, _d;\n // @ts-ignore\n if (req.trans.disableChangeTracking) {\n return table.mutate(req);\n }\n const trans = req.trans;\n if ((_b = (_a = db.cloud.schema) === null || _a === void 0 ? void 0 : _a[tableName]) === null || _b === void 0 ? void 0 : _b.markedForSync) {\n if (req.type === 'add' || req.type === 'put') {\n // No matter if user is logged in or not, make sure \"owner\" and \"realmId\" props are set properly.\n // If not logged in, this will be changed upon syncification of the tables (next sync after login),\n // however, application code will work better if we can always rely on that the properties realmId\n // and owner are set. Application code may index them and query them based on db.cloud.currentUserId,\n // and expect them to be returned. That scenario must work also when db.cloud.currentUserId === 'unauthorized'.\n for (const obj of req.values) {\n if (!obj.owner) {\n obj.owner = trans.currentUser.userId;\n }\n if (!obj.realmId) {\n obj.realmId = trans.currentUser.userId;\n }\n const key = (_d = (_c = table.schema.primaryKey).extractKey) === null || _d === void 0 ? void 0 : _d.call(_c, obj);\n if (typeof key === 'string' && key[0] === '#') {\n // Add $ts prop for put operations and\n // disable update operations as well as consistent\n // modify operations. Reason: Server may not have\n // the object. Object should be created on server only\n // if is being updated. An update operation won't create it\n // so we must delete req.changeSpec to degrade operation to\n // an upsert operation with timestamp so that it will be created.\n // We must also degrade from consistent modify operations for the\n // same reason - object might be there on server. Must but put up instead.\n // FUTURE: This clumpsy behavior of private IDs could be refined later.\n // Suggestion is to in future, treat private IDs as we treat all objects \n // and sync operations normally. Only that deletions should become soft deletes\n // for them - so that server knows when a private ID has been deleted on server\n // not accept insert/upserts on them.\n if (req.type === 'put') {\n const now = Date.now();\n delete req.criteria;\n delete req.changeSpec;\n delete req.updates;\n obj.$ts = Date.now();\n }\n }\n }\n }\n }\n return table.mutate(req);\n } });\n } });\n },\n };\n}\n","export function allSettled(possiblePromises) {\n return new Promise(resolve => {\n if (possiblePromises.length === 0)\n resolve([]);\n let remaining = possiblePromises.length;\n const results = new Array(remaining);\n possiblePromises.forEach((p, i) => Promise.resolve(p).then(value => results[i] = { status: \"fulfilled\", value }, reason => results[i] = { status: \"rejected\", reason })\n .then(() => --remaining || resolve(results)));\n });\n}\n","import { allSettled } from \"../helpers/allSettled\";\nlet counter = 0;\nexport function guardedTable(table) {\n const prop = \"$lock\" + (++counter);\n return Object.assign(Object.assign({}, table), { count: readLock(table.count, prop), get: readLock(table.get, prop), getMany: readLock(table.getMany, prop), openCursor: readLock(table.openCursor, prop), query: readLock(table.query, prop), mutate: writeLock(table.mutate, prop) });\n}\nfunction readLock(fn, prop) {\n return function readLocker(req) {\n const { readers, writers, } = req.trans[prop] || (req.trans[prop] = { writers: [], readers: [] });\n const numWriters = writers.length;\n const promise = (numWriters > 0\n ? writers[numWriters - 1].then(() => fn(req), () => fn(req))\n : fn(req)).finally(() => readers.splice(readers.indexOf(promise)));\n readers.push(promise);\n return promise;\n };\n}\nfunction writeLock(fn, prop) {\n return function writeLocker(req) {\n const { readers, writers, } = req.trans[prop] || (req.trans[prop] = { writers: [], readers: [] });\n let promise = (writers.length > 0\n ? writers[writers.length - 1].then(() => fn(req), () => fn(req))\n : readers.length > 0\n ? allSettled(readers).then(() => fn(req))\n : fn(req)).finally(() => writers.shift());\n writers.push(promise);\n return promise;\n };\n}\n","import { BehaviorSubject } from 'rxjs';\nexport const outstandingTransactions = new BehaviorSubject(new Set());\n","export function isEagerSyncDisabled(db) {\n var _a, _b, _c, _d;\n return (((_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.disableEagerSync) ||\n ((_c = (_b = db.cloud.currentUser.value) === null || _b === void 0 ? void 0 : _b.license) === null || _c === void 0 ? void 0 : _c.status) !== 'ok' ||\n !((_d = db.cloud.options) === null || _d === void 0 ? void 0 : _d.databaseUrl));\n}\n","import { getMutationTable } from '../helpers/getMutationTable';\nimport { randomString } from '../helpers/randomString';\nimport { throwVersionIncrementNeeded } from '../helpers/throwVersionIncrementNeeded';\nimport { guardedTable } from '../middleware-helpers/guardedTable';\nimport { outstandingTransactions } from './outstandingTransaction';\nimport { isEagerSyncDisabled } from '../isEagerSyncDisabled';\nimport { triggerSync } from '../sync/triggerSync';\n/** Tracks all mutations in the same transaction as the mutations -\n * so it is guaranteed that no mutation goes untracked - and if transaction\n * aborts, the mutations won't be tracked.\n *\n * The sync job will use the tracked mutations as the source of truth when pushing\n * changes to server and cleanup the tracked mutations once the server has\n * ackowledged that it got them.\n */\nexport function createMutationTrackingMiddleware({ currentUserObservable, db, }) {\n return {\n stack: 'dbcore',\n name: 'MutationTrackingMiddleware',\n level: 1,\n create: (core) => {\n const ordinaryTables = core.schema.tables.filter((t) => !/^\\$/.test(t.name));\n let mutTableMap;\n try {\n mutTableMap = new Map(ordinaryTables.map((tbl) => [\n tbl.name,\n core.table(`$${tbl.name}_mutations`),\n ]));\n }\n catch (_a) {\n throwVersionIncrementNeeded();\n }\n return Object.assign(Object.assign({}, core), { transaction: (tables, mode) => {\n let tx;\n if (mode === 'readwrite') {\n const mutationTables = tables\n .filter((tbl) => { var _a, _b; return (_b = (_a = db.cloud.schema) === null || _a === void 0 ? void 0 : _a[tbl]) === null || _b === void 0 ? void 0 : _b.markedForSync; })\n .map((tbl) => getMutationTable(tbl));\n tx = core.transaction([...tables, ...mutationTables], mode);\n }\n else {\n tx = core.transaction(tables, mode);\n }\n if (mode === 'readwrite') {\n // Give each transaction a globally unique id.\n tx.txid = randomString(16);\n tx.opCount = 0;\n // Introduce the concept of current user that lasts through the entire transaction.\n // This is important because the tracked mutations must be connected to the user.\n tx.currentUser = currentUserObservable.value;\n outstandingTransactions.value.add(tx);\n outstandingTransactions.next(outstandingTransactions.value);\n const removeTransaction = () => {\n tx.removeEventListener('complete', txComplete);\n tx.removeEventListener('error', removeTransaction);\n tx.removeEventListener('abort', removeTransaction);\n outstandingTransactions.value.delete(tx);\n outstandingTransactions.next(outstandingTransactions.value);\n };\n const txComplete = () => {\n if (tx.mutationsAdded &&\n !isEagerSyncDisabled(db)) {\n triggerSync(db, 'push');\n }\n removeTransaction();\n };\n tx.addEventListener('complete', txComplete);\n tx.addEventListener('error', removeTransaction);\n tx.addEventListener('abort', removeTransaction);\n }\n return tx;\n }, table: (tableName) => {\n const table = core.table(tableName);\n if (/^\\$/.test(tableName)) {\n if (tableName.endsWith('_mutations')) {\n // In case application code adds items to ..._mutations tables,\n // make sure to set the mutationsAdded flag on transaction.\n // This is also done in mutateAndLog() as that function talks to a\n // lower level DBCore and wouldn't be catched by this code.\n return Object.assign(Object.assign({}, table), { mutate: (req) => {\n if (req.type === 'add' || req.type === 'put') {\n req.trans.mutationsAdded = true;\n }\n return table.mutate(req);\n } });\n }\n else if (tableName === '$logins') {\n return Object.assign(Object.assign({}, table), { mutate: (req) => {\n //console.debug('Mutating $logins table', req);\n return table\n .mutate(req)\n .then((res) => {\n //console.debug('Mutating $logins');\n req.trans.mutationsAdded = true;\n //console.debug('$logins mutated');\n return res;\n })\n .catch((err) => {\n console.debug('Failed mutation $logins', err);\n return Promise.reject(err);\n });\n } });\n }\n else {\n return table;\n }\n }\n const { schema } = table;\n const mutsTable = mutTableMap.get(tableName);\n return guardedTable(Object.assign(Object.assign({}, table), { mutate: (req) => {\n var _a, _b, _c;\n const trans = req.trans;\n if (!trans.txid)\n return table.mutate(req); // Upgrade transactions not guarded by us.\n if (trans.disableChangeTracking)\n return table.mutate(req);\n if (!((_b = (_a = db.cloud.schema) === null || _a === void 0 ? void 0 : _a[tableName]) === null || _b === void 0 ? void 0 : _b.markedForSync))\n return table.mutate(req);\n if (!((_c = trans.currentUser) === null || _c === void 0 ? void 0 : _c.isLoggedIn)) {\n // Unauthorized user should not log mutations.\n // Instead, after login all local data should be logged at once.\n return table.mutate(req);\n }\n return req.type === 'deleteRange'\n ? table\n // Query the actual keys (needed for server sending correct rollback to us)\n .query({\n query: { range: req.range, index: schema.primaryKey },\n trans: req.trans,\n values: false,\n })\n // Do a delete request instead, but keep the criteria info for the server to execute\n .then((res) => {\n return mutateAndLog({\n type: 'delete',\n keys: res.result,\n trans: req.trans,\n criteria: { index: null, range: req.range },\n });\n })\n : mutateAndLog(req);\n } }));\n function mutateAndLog(req) {\n const trans = req.trans;\n trans.mutationsAdded = true;\n const { txid, currentUser: { userId }, } = trans;\n const { type } = req;\n const opNo = ++trans.opCount;\n return table.mutate(req).then((res) => {\n const { numFailures: hasFailures, failures } = res;\n let keys = type === 'delete' ? req.keys : res.results;\n let values = 'values' in req ? req.values : [];\n let updates = 'updates' in req && req.updates;\n if (hasFailures) {\n keys = keys.filter((_, idx) => !failures[idx]);\n values = values.filter((_, idx) => !failures[idx]);\n }\n const ts = Date.now();\n const mut = req.type === 'delete'\n ? {\n type: 'delete',\n ts,\n opNo,\n keys,\n criteria: req.criteria,\n txid,\n userId,\n }\n : req.type === 'add'\n ? {\n type: 'insert',\n ts,\n opNo,\n keys,\n txid,\n userId,\n values,\n }\n : req.criteria && req.changeSpec\n ? {\n // Common changeSpec for all keys\n type: 'modify',\n ts,\n opNo,\n keys,\n criteria: req.criteria,\n changeSpec: req.changeSpec,\n txid,\n userId,\n }\n : updates\n ? {\n // One changeSpec per key\n type: 'update',\n ts,\n opNo,\n keys: updates.keys,\n changeSpecs: updates.changeSpecs,\n txid,\n userId,\n }\n : {\n type: 'upsert',\n ts,\n opNo,\n keys,\n values,\n txid,\n userId,\n };\n return keys.length > 0 || ('criteria' in req && req.criteria)\n ? mutsTable\n .mutate({ type: 'add', trans, values: [mut] }) // Log entry\n .then(() => res) // Return original response\n : res;\n });\n }\n } });\n },\n };\n}\n","import { DEXIE_CLOUD_SCHEMA } from './db/DexieCloudDB';\nimport { generateTablePrefix } from './middleware-helpers/idGenerationHelpers';\nexport function overrideParseStoresSpec(origFunc, dexie) {\n return function (stores, dbSchema) {\n const storesClone = Object.assign(Object.assign({}, DEXIE_CLOUD_SCHEMA), stores);\n // Merge indexes of DEXIE_CLOUD_SCHEMA with stores\n Object.keys(DEXIE_CLOUD_SCHEMA).forEach((tableName) => {\n const schemaSrc = storesClone[tableName];\n // Verify that they don't try to delete a table that is needed for access control of Dexie Cloud\n if (schemaSrc == null) {\n // They try to delete one of the built-in schema tables.\n throw new Error(`Cannot delete table ${tableName} as it is needed for access control of Dexie Cloud`);\n }\n // If not trying to override a built-in table, then we can skip this and continue to next table.\n if (!stores[tableName]) {\n // They haven't tried to declare this table. No need to merge indexes.\n return; // Continue\n }\n // They have declared this table. Merge indexes in case they didn't declare all indexes we need.\n const requestedIndexes = schemaSrc.split(',').map(spec => spec.trim());\n const builtInIndexes = DEXIE_CLOUD_SCHEMA[tableName].split(',').map(spec => spec.trim());\n const requestedIndexSet = new Set(requestedIndexes.map(index => index.replace(/([&*]|\\+\\+)/g, \"\")));\n // Verify that primary key is unchanged\n if (requestedIndexes[0] !== builtInIndexes[0]) {\n // Primary key must match exactly\n throw new Error(`Cannot override primary key of table ${tableName}. Please declare it as {${tableName}: ${JSON.stringify(DEXIE_CLOUD_SCHEMA[tableName])}`);\n }\n // Merge indexes\n for (let i = 1; i < builtInIndexes.length; ++i) {\n const builtInIndex = builtInIndexes[i];\n if (!requestedIndexSet.has(builtInIndex.replace(/([&*]|\\+\\+)/g, \"\"))) {\n // Add built-in index if not already requested\n storesClone[tableName] += `,${builtInIndex}`;\n }\n }\n });\n // Populate dexie.cloud.schema\n const cloudSchema = dexie.cloud.schema || (dexie.cloud.schema = {});\n const allPrefixes = new Set();\n Object.keys(storesClone).forEach(tableName => {\n const schemaSrc = storesClone[tableName];\n const cloudTableSchema = cloudSchema[tableName] || (cloudSchema[tableName] = {});\n if (schemaSrc != null) {\n if (/^\\@/.test(schemaSrc)) {\n storesClone[tableName] = storesClone[tableName].substr(1);\n cloudTableSchema.generatedGlobalId = true;\n cloudTableSchema.idPrefix = generateTablePrefix(tableName, allPrefixes);\n allPrefixes.add(cloudTableSchema.idPrefix);\n }\n if (!/^\\$/.test(tableName)) {\n storesClone[`$${tableName}_mutations`] = '++rev';\n cloudTableSchema.markedForSync = true;\n }\n if (cloudTableSchema.deleted) {\n cloudTableSchema.deleted = false;\n }\n }\n else {\n cloudTableSchema.deleted = true;\n cloudTableSchema.markedForSync = false;\n storesClone[`$${tableName}_mutations`] = null;\n }\n });\n const rv = origFunc.call(this, storesClone, dbSchema);\n return rv;\n };\n}\n","import { __awaiter } from \"tslib\";\nimport { sync } from './sync/sync';\nexport function performInitialSync(db, cloudOptions, cloudSchema) {\n return __awaiter(this, void 0, void 0, function* () {\n console.debug('Performing initial sync');\n yield sync(db, cloudOptions, cloudSchema, { isInitialSync: true });\n console.debug('Done initial sync');\n });\n}\n","import { BehaviorSubject, fromEvent, merge, of } from 'rxjs';\nimport { delay, distinctUntilChanged, filter, map, switchMap, tap, } from 'rxjs/operators';\nconst USER_INACTIVITY_TIMEOUT = 180000; // 3 minutes\nconst ACTIVE_WAIT_TIME = 0; // For now, it's nicer to react instantly on user activity\nconst INACTIVE_WAIT_TIME = 20000;\n// This observable will be emitted to later down....\nexport const userIsActive = new BehaviorSubject(true);\n// A refined version that waits before changing state:\n// * Wait another INACTIVE_WAIT_TIME before accepting that the user is inactive.\n// Reason 1: Spare resources - no need to setup the entire websocket flow when\n// switching tabs back and forth.\n// Reason 2: Less flickering for the end user when switching tabs back and forth.\n// * Wait another ACTIVE_WAIT_TIME before accepting that the user is active.\n// Possible reason to have a value here: Sparing resources if users often temporary click the tab\n// for just a short time.\nexport const userIsReallyActive = new BehaviorSubject(true);\nuserIsActive\n .pipe(switchMap((isActive) => {\n //console.debug('SyncStatus: DUBB: isActive changed to', isActive);\n return isActive\n ? ACTIVE_WAIT_TIME\n ? of(true).pipe(delay(ACTIVE_WAIT_TIME))\n : of(true)\n : INACTIVE_WAIT_TIME\n ? of(false).pipe(delay(INACTIVE_WAIT_TIME))\n : of(false);\n}), distinctUntilChanged())\n .subscribe(userIsReallyActive);\n//\n// First create some corner-stone observables to build the flow on\n//\n// document.onvisibilitychange:\nexport const visibilityStateIsChanged = typeof document !== 'undefined'\n ? fromEvent(document, 'visibilitychange')\n : of({});\n// document.onvisibilitychange makes document hidden:\nexport const documentBecomesHidden = visibilityStateIsChanged.pipe(filter(() => document.visibilityState === 'hidden'));\n// document.onvisibilitychange makes document visible\nexport const documentBecomesVisible = visibilityStateIsChanged.pipe(filter(() => document.visibilityState === 'visible'));\n// Any of various user-activity-related events happen:\nexport const userDoesSomething = typeof window !== 'undefined'\n ? merge(documentBecomesVisible, fromEvent(window, 'mousedown'), fromEvent(window, 'mousemove'), fromEvent(window, 'keydown'), fromEvent(window, 'wheel'), fromEvent(window, 'touchmove'))\n : of({});\nif (typeof document !== 'undefined') {\n //\n // Now, create a final observable and start subscribing to it in order\n // to make it emit values to userIsActive BehaviourSubject (which is the\n // most important global hot observable we have here)\n //\n // Live test: https://jsitor.com/LboCDHgbn\n //\n merge(of(true), // Make sure something is always emitted from start\n documentBecomesHidden, // so that we can eagerly emit false!\n userDoesSomething)\n .pipe(\n // No matter event source, compute whether user is visible using visibilityState:\n map(() => document.visibilityState === 'visible'), \n // Make sure to emit it\n tap((isActive) => {\n if (userIsActive.value !== isActive) {\n // Emit new value unless it already has that value\n userIsActive.next(isActive);\n }\n }), \n // Now, if true was emitted, make sure to set a timeout to emit false\n // unless new user activity things happen (in that case, the timeout will be cancelled!)\n switchMap((isActive) => isActive\n ? of(0).pipe(delay(USER_INACTIVITY_TIMEOUT - INACTIVE_WAIT_TIME), tap(() => userIsActive.next(false)))\n : of(0)))\n .subscribe(() => { }); // Unless we subscribe nothing will be propagated to userIsActive observable\n}\n","export class TokenExpiredError extends Error {\n constructor() {\n super(...arguments);\n this.name = \"TokenExpiredError\";\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { Observable, Subscription } from 'rxjs';\nimport { TokenExpiredError } from './authentication/TokenExpiredError';\nimport { TSON } from './TSON';\nconst SERVER_PING_TIMEOUT = 20000;\nconst CLIENT_PING_INTERVAL = 30000;\nconst FAIL_RETRY_WAIT_TIME = 60000;\nexport class WSObservable extends Observable {\n constructor(databaseUrl, rev, realmSetHash, clientIdentity, messageProducer, webSocketStatus, token, tokenExpiration) {\n super((subscriber) => new WSConnection(databaseUrl, rev, realmSetHash, clientIdentity, token, tokenExpiration, subscriber, messageProducer, webSocketStatus));\n }\n}\nlet counter = 0;\nexport class WSConnection extends Subscription {\n constructor(databaseUrl, rev, realmSetHash, clientIdentity, token, tokenExpiration, subscriber, messageProducer, webSocketStatus) {\n super(() => this.teardown());\n this.id = ++counter;\n this.reconnecting = false;\n console.debug('New WebSocket Connection', this.id, token ? 'authorized' : 'unauthorized');\n this.databaseUrl = databaseUrl;\n this.rev = rev;\n this.realmSetHash = realmSetHash;\n this.clientIdentity = clientIdentity;\n this.token = token;\n this.tokenExpiration = tokenExpiration;\n this.subscriber = subscriber;\n this.lastUserActivity = new Date();\n this.messageProducer = messageProducer;\n this.messageProducerSubscription = null;\n this.webSocketStatus = webSocketStatus;\n this.connect();\n }\n teardown() {\n console.debug('Teardown WebSocket Connection', this.id);\n this.disconnect();\n }\n disconnect() {\n this.webSocketStatus.next('disconnected');\n if (this.pinger) {\n clearInterval(this.pinger);\n this.pinger = null;\n }\n if (this.ws) {\n try {\n this.ws.close();\n }\n catch (_a) { }\n }\n this.ws = null;\n if (this.messageProducerSubscription) {\n this.messageProducerSubscription.unsubscribe();\n this.messageProducerSubscription = null;\n }\n }\n reconnect() {\n if (this.reconnecting)\n return;\n this.reconnecting = true;\n try {\n this.disconnect();\n }\n catch (_a) { }\n this.connect()\n .catch(() => { })\n .then(() => (this.reconnecting = false)); // finally()\n }\n connect() {\n return __awaiter(this, void 0, void 0, function* () {\n this.lastServerActivity = new Date();\n if (this.pauseUntil && this.pauseUntil > new Date()) {\n console.debug('WS not reconnecting just yet', {\n id: this.id,\n pauseUntil: this.pauseUntil,\n });\n return;\n }\n if (this.ws) {\n throw new Error(`Called connect() when a connection is already open`);\n }\n if (!this.databaseUrl)\n throw new Error(`Cannot connect without a database URL`);\n if (this.closed) {\n //console.debug('SyncStatus: DUBB: Ooops it was closed!');\n return;\n }\n if (this.tokenExpiration && this.tokenExpiration < new Date()) {\n this.subscriber.error(new TokenExpiredError()); // Will be handled in connectWebSocket.ts.\n return;\n }\n this.webSocketStatus.next('connecting');\n this.pinger = setInterval(() => __awaiter(this, void 0, void 0, function* () {\n if (this.closed) {\n console.debug('pinger check', this.id, 'CLOSED.');\n this.teardown();\n return;\n }\n if (this.ws) {\n try {\n this.ws.send(JSON.stringify({ type: 'ping' }));\n setTimeout(() => {\n console.debug('pinger setTimeout', this.id, this.pinger ? `alive` : 'dead');\n if (!this.pinger)\n return;\n if (this.closed) {\n console.debug('pinger setTimeout', this.id, 'subscription is closed');\n this.teardown();\n return;\n }\n if (this.lastServerActivity <\n new Date(Date.now() - SERVER_PING_TIMEOUT)) {\n // Server inactive. Reconnect if user is active.\n console.debug('pinger: server is inactive');\n console.debug('pinger reconnecting');\n this.reconnect();\n }\n else {\n console.debug('pinger: server still active');\n }\n }, SERVER_PING_TIMEOUT);\n }\n catch (_a) {\n console.debug('pinger catch error', this.id, 'reconnecting');\n this.reconnect();\n }\n }\n else {\n console.debug('pinger', this.id, 'reconnecting');\n this.reconnect();\n }\n }), CLIENT_PING_INTERVAL);\n // The following vars are needed because we must know which callback to ack when server sends it's ack to us.\n const wsUrl = new URL(this.databaseUrl);\n wsUrl.protocol = wsUrl.protocol === 'http:' ? 'ws' : 'wss';\n const searchParams = new URLSearchParams();\n if (this.subscriber.closed)\n return;\n searchParams.set('v', '2');\n searchParams.set('rev', this.rev);\n searchParams.set('realmsHash', this.realmSetHash);\n searchParams.set('clientId', this.clientIdentity);\n if (this.token) {\n searchParams.set('token', this.token);\n }\n // Connect the WebSocket to given url:\n console.debug('dexie-cloud WebSocket create');\n const ws = (this.ws = new WebSocket(`${wsUrl}/changes?${searchParams}`));\n //ws.binaryType = \"arraybuffer\"; // For future when subscribing to actual changes.\n ws.onclose = (event) => {\n if (!this.pinger)\n return;\n console.debug('dexie-cloud WebSocket onclosed', this.id);\n this.reconnect();\n };\n ws.onmessage = (event) => {\n if (!this.pinger)\n return;\n console.debug('dexie-cloud WebSocket onmessage', event.data);\n this.lastServerActivity = new Date();\n try {\n const msg = TSON.parse(event.data);\n if (msg.type === 'error') {\n throw new Error(`Error message from dexie-cloud: ${msg.error}`);\n }\n if (msg.type === 'rev') {\n this.rev = msg.rev; // No meaning but seems reasonable.\n }\n if (msg.type !== 'pong') {\n this.subscriber.next(msg);\n }\n }\n catch (e) {\n this.subscriber.error(e);\n }\n };\n try {\n let everConnected = false;\n yield new Promise((resolve, reject) => {\n ws.onopen = (event) => {\n console.debug('dexie-cloud WebSocket onopen');\n everConnected = true;\n resolve(null);\n };\n ws.onerror = (event) => {\n if (!everConnected) {\n const error = event.error || new Error('WebSocket Error');\n this.subscriber.error(error);\n this.webSocketStatus.next('error');\n reject(error);\n }\n else {\n this.reconnect();\n }\n };\n });\n this.messageProducerSubscription = this.messageProducer.subscribe((msg) => {\n var _a;\n if (!this.closed) {\n if (msg.type === 'ready' &&\n this.webSocketStatus.value !== 'connected') {\n this.webSocketStatus.next('connected');\n }\n (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(TSON.stringify(msg));\n }\n });\n }\n catch (error) {\n this.pauseUntil = new Date(Date.now() + FAIL_RETRY_WAIT_TIME);\n }\n });\n }\n}\n","export class InvalidLicenseError extends Error {\n constructor(license) {\n super(license === 'expired'\n ? `License expired`\n : license === 'deactivated'\n ? `User deactivated`\n : 'Invalid license');\n this.name = 'InvalidLicenseError';\n if (license) {\n this.license = license;\n }\n }\n}\n","import { __awaiter } from \"tslib\";\nimport { BehaviorSubject, from, of, throwError } from 'rxjs';\nimport { catchError, distinctUntilChanged, filter, map, switchMap, take, } from 'rxjs/operators';\nimport { refreshAccessToken } from '../authentication/authenticate';\nimport { computeRealmSetHash } from '../helpers/computeRealmSetHash';\nimport { userDoesSomething, userIsReallyActive, } from '../userIsActive';\nimport { WSObservable, } from '../WSObservable';\nimport { InvalidLicenseError } from '../InvalidLicenseError';\nfunction sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\nfunction waitAndReconnectWhenUserDoesSomething(error) {\n return __awaiter(this, void 0, void 0, function* () {\n console.error(`WebSocket observable: error but revive when user does some active thing...`, error);\n // Sleep some seconds...\n yield sleep(3000);\n // Wait til user does something (move mouse, tap, scroll, click etc)\n console.debug('waiting for someone to do something');\n yield userDoesSomething.pipe(take(1)).toPromise();\n console.debug('someone did something!');\n });\n}\nexport function connectWebSocket(db) {\n var _a;\n if (!((_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.databaseUrl)) {\n throw new Error(`No database URL to connect WebSocket to`);\n }\n const messageProducer = db.messageConsumer.readyToServe.pipe(filter((isReady) => isReady), // When consumer is ready for new messages, produce such a message to inform server about it\n switchMap(() => db.getPersistedSyncState()), // We need the info on which server revision we are at:\n filter((syncState) => syncState && syncState.serverRevision), // We wont send anything to server before inital sync has taken place\n switchMap((syncState) => __awaiter(this, void 0, void 0, function* () {\n return ({\n // Produce the message to trigger server to send us new messages to consume:\n type: 'ready',\n rev: syncState.serverRevision,\n realmSetHash: yield computeRealmSetHash(syncState)\n });\n })));\n function createObservable() {\n return db.cloud.persistedSyncState.pipe(filter((syncState) => syncState === null || syncState === void 0 ? void 0 : syncState.serverRevision), // Don't connect before there's no initial sync performed.\n take(1), // Don't continue waking up whenever syncState change\n switchMap((syncState) => db.cloud.currentUser.pipe(map((userLogin) => [userLogin, syncState]))), switchMap(([userLogin, syncState]) => {\n /*if (userLogin.license?.status && userLogin.license.status !== 'ok') {\n throw new InvalidLicenseError();\n }*/\n return userIsReallyActive.pipe(map((isActive) => [isActive ? userLogin : null, syncState]));\n }), switchMap(([userLogin, syncState]) => {\n if ((userLogin === null || userLogin === void 0 ? void 0 : userLogin.isLoggedIn) && !(syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId))) {\n // We're in an in-between state when user is logged in but the user's realms are not yet synced.\n // Don't make this change reconnect the websocket just yet. Wait till syncState is updated\n // to iclude the user's realm.\n return db.cloud.persistedSyncState.pipe(filter((syncState) => (syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId)) || false), take(1), map((syncState) => [userLogin, syncState]));\n }\n return new BehaviorSubject([userLogin, syncState]);\n }), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), distinctUntilChanged(([prevUser, prevHash], [currUser, currHash]) => prevUser === currUser && prevHash === currHash), switchMap(([userLogin, realmSetHash]) => {\n // Let server end query changes from last entry of same client-ID and forward.\n // If no new entries, server won't bother the client. If new entries, server sends only those\n // and the baseRev of the last from same client-ID.\n if (userLogin) {\n return new WSObservable(db.cloud.options.databaseUrl, db.cloud.persistedSyncState.value.serverRevision, realmSetHash, db.cloud.persistedSyncState.value.clientIdentity, messageProducer, db.cloud.webSocketStatus, userLogin.accessToken, userLogin.accessTokenExpiration);\n }\n else {\n return from([]);\n }\n }), catchError((error) => {\n if ((error === null || error === void 0 ? void 0 : error.name) === 'TokenExpiredError') {\n console.debug('WebSocket observable: Token expired. Refreshing token...');\n return of(true).pipe(switchMap(() => __awaiter(this, void 0, void 0, function* () {\n // Refresh access token\n const user = yield db.getCurrentUser();\n const refreshedLogin = yield refreshAccessToken(db.cloud.options.databaseUrl, user);\n // Persist updated access token\n yield db.table('$logins').update(user.userId, {\n accessToken: refreshedLogin.accessToken,\n accessTokenExpiration: refreshedLogin.accessTokenExpiration,\n claims: refreshedLogin.claims,\n license: refreshedLogin.license,\n });\n })), switchMap(() => createObservable()));\n }\n else {\n return throwError(() => error);\n }\n }), catchError((error) => {\n db.cloud.webSocketStatus.next(\"error\");\n if (error instanceof InvalidLicenseError) {\n // Don't retry. Just throw and don't try connect again.\n return throwError(() => error);\n }\n return from(waitAndReconnectWhenUserDoesSomething(error)).pipe(switchMap(() => createObservable()));\n }));\n }\n return createObservable().subscribe({\n next: (msg) => {\n if (msg) {\n console.debug('WS got message', msg);\n db.messageConsumer.enqueue(msg);\n }\n },\n error: (error) => {\n console.error('WS got error', error);\n },\n complete: () => {\n console.debug('WS observable completed');\n },\n });\n}\n","import { __awaiter } from \"tslib\";\nimport { sync } from \"./sync\";\nexport function isSyncNeeded(db) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n return ((_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.databaseUrl) && db.cloud.schema\n ? yield sync(db, db.cloud.options, db.cloud.schema, { justCheckIfNeeded: true })\n : false;\n });\n}\n","export function performGuardedJob(db, jobName, job) {\n if (typeof navigator === 'undefined' || !navigator.locks) {\n // No support for guarding jobs. IE11, node.js, etc.\n return job();\n }\n return navigator.locks.request(db.name + '|' + jobName, () => job());\n}\n","import { __awaiter } from \"tslib\";\nimport { performGuardedJob } from './performGuardedJob';\nimport { sync, CURRENT_SYNC_WORKER } from './sync';\nimport { assert } from 'dexie-cloud-common';\nimport { checkSyncRateLimitDelay } from './ratelimit';\nconst ongoingSyncs = new WeakMap();\nexport function syncIfPossible(db, cloudOptions, cloudSchema, options) {\n const ongoing = ongoingSyncs.get(db);\n if (ongoing) {\n if (ongoing.pull || (options === null || options === void 0 ? void 0 : options.purpose) === 'push') {\n console.debug('syncIfPossible(): returning the ongoing sync promise.');\n return ongoing.promise;\n }\n else {\n // Ongoing sync may never do anything in case there are no outstanding changes\n // to sync (because its purpose was \"push\" not \"pull\")\n // Now, however, we are asked to do a sync with the purpose of \"pull\"\n // We want to optimize here. We must wait for the ongoing to complete\n // and then, if the ongoing sync never resulted in a sync request,\n // we must redo the sync.\n // To inspect what is happening in the ongoing request, let's subscribe\n // to db.cloud.syncState and look for if it is doing any \"pulling\" phase:\n let hasPullTakenPlace = false;\n const subscription = db.cloud.syncState.subscribe((syncState) => {\n if (syncState.phase === 'pulling') {\n hasPullTakenPlace = true;\n }\n });\n // Ok, so now we are watching. At the same time, wait for the ongoing to complete\n // and when it has completed, check if we're all set or if we need to redo\n // the call:\n return (ongoing.promise\n // This is a finally block but we are still running tests on\n // browsers that don't support it, so need to do it like this:\n .then(() => {\n subscription.unsubscribe();\n })\n .catch((error) => {\n subscription.unsubscribe();\n return Promise.reject(error);\n })\n .then(() => {\n if (!hasPullTakenPlace) {\n // No pull took place in the ongoing sync but the caller had \"pull\" as\n // an explicit purpose of this call - so we need to redo the call!\n return syncIfPossible(db, cloudOptions, cloudSchema, options);\n }\n }));\n }\n }\n const promise = _syncIfPossible();\n ongoingSyncs.set(db, { promise, pull: (options === null || options === void 0 ? void 0 : options.purpose) !== 'push' });\n return promise;\n function _syncIfPossible() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // Check if should delay sync due to ratelimit:\n yield checkSyncRateLimitDelay(db);\n // Check if we need to lock the sync job. Not needed if we are the service worker.\n if (db.cloud.isServiceWorkerDB) {\n // We are the dedicated sync SW:\n yield sync(db, cloudOptions, cloudSchema, options);\n }\n else if (!db.cloud.usingServiceWorker) {\n // We use a flow that is better suited for the case when multiple workers want to\n // do the same thing.\n yield performGuardedJob(db, CURRENT_SYNC_WORKER, () => sync(db, cloudOptions, cloudSchema, options));\n }\n else {\n assert(false);\n throw new Error('Internal _syncIfPossible() - invalid precondition - should not have been called.');\n }\n ongoingSyncs.delete(db);\n console.debug('Done sync');\n }\n catch (error) {\n ongoingSyncs.delete(db);\n console.error(`Failed to sync client changes`, error);\n throw error; // Make sure we rethrow error so that sync event is retried.\n // I don't think we should setTimout or so here.\n // Unless server tells us to in some response.\n // Then we could follow that advice but not by waiting here but by registering\n // Something that triggers an event listened to in startPushWorker()\n }\n });\n }\n}\n","export const SECONDS = 1000;\nexport const MINUTES = 60 * SECONDS;\nexport const HOURS = 60 * MINUTES;\nexport const DAYS = 24 * HOURS;\nexport const WEEKS = 7 * DAYS;\n","import { syncIfPossible } from './syncIfPossible';\nimport { MINUTES } from '../helpers/date-constants';\nexport function LocalSyncWorker(db, cloudOptions, cloudSchema) {\n let localSyncEventSubscription = null;\n //let syncHandler: ((event: Event) => void) | null = null;\n //let periodicSyncHandler: ((event: Event) => void) | null = null;\n let cancelToken = { cancelled: false };\n let retryHandle = null;\n let retryPurpose = null; // \"pull\" is superset of \"push\"\n function syncAndRetry(purpose, retryNum = 1) {\n // Use setTimeout() to get onto a clean stack and\n // break free from possible active transaction:\n setTimeout(() => {\n if (retryHandle)\n clearTimeout(retryHandle);\n const combPurpose = retryPurpose === 'pull' ? 'pull' : purpose;\n retryHandle = null;\n retryPurpose = null;\n syncIfPossible(db, cloudOptions, cloudSchema, {\n cancelToken,\n retryImmediatelyOnFetchError: true,\n purpose: combPurpose,\n }).catch((e) => {\n console.error('error in syncIfPossible()', e);\n if (cancelToken.cancelled) {\n stop();\n }\n else if (retryNum < 3) {\n // Mimic service worker sync event: retry 3 times\n // * first retry after 5 minutes\n // * second retry 15 minutes later\n const combinedPurpose = retryPurpose && retryPurpose === 'pull' ? 'pull' : purpose;\n const handle = setTimeout(() => syncAndRetry(combinedPurpose, retryNum + 1), [0, 5, 15][retryNum] * MINUTES);\n // Cancel the previous retryHandle if it exists to avoid scheduling loads of retries.\n if (retryHandle)\n clearTimeout(retryHandle);\n retryHandle = handle;\n retryPurpose = combinedPurpose;\n }\n });\n }, 0);\n }\n const start = () => {\n // Sync eagerly whenever a change has happened (+ initially when there's no syncState yet)\n // This initial subscribe will also trigger an sync also now.\n console.debug('Starting LocalSyncWorker', db.localSyncEvent['id']);\n localSyncEventSubscription = db.localSyncEvent.subscribe(({ purpose }) => {\n try {\n syncAndRetry(purpose || 'pull');\n }\n catch (err) {\n console.error('What-the....', err);\n }\n });\n //setTimeout(()=>db.localSyncEvent.next({}), 5000);\n };\n const stop = () => {\n console.debug('Stopping LocalSyncWorker');\n cancelToken.cancelled = true;\n if (localSyncEventSubscription)\n localSyncEventSubscription.unsubscribe();\n };\n return {\n start,\n stop,\n };\n}\n","export function updateSchemaFromOptions(schema, options) {\n if (schema && options) {\n if (options.unsyncedTables) {\n for (const tableName of options.unsyncedTables) {\n if (schema[tableName]) {\n schema[tableName].markedForSync = false;\n }\n }\n }\n }\n}\n","import Dexie from \"dexie\";\nexport function verifySchema(db) {\n var _a, _b;\n for (const table of db.tables) {\n if ((_b = (_a = db.cloud.schema) === null || _a === void 0 ? void 0 : _a[table.name]) === null || _b === void 0 ? void 0 : _b.markedForSync) {\n if (table.schema.primKey.auto) {\n throw new Dexie.SchemaError(`Table ${table.name} is both autoIncremented and synced. ` +\n `Use db.cloud.configure({unsyncedTables: [${JSON.stringify(table.name)}]}) to blacklist it from sync`);\n }\n if (!table.schema.primKey.keyPath) {\n throw new Dexie.SchemaError(`Table ${table.name} cannot be both synced and outbound. ` +\n `Use db.cloud.configure({unsyncedTables: [${JSON.stringify(table.name)}]}) to blacklist it from sync`);\n }\n }\n }\n}\n","var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return v(l,f,t,o,null)}function v(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function y(){return{current:null}}function p(n){return n.children}function d(n,l){this.props=n,this.context=l}function _(n,l){if(null==l)return n.__?_(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?_(n):null}function k(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return k(n)}}function b(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||setTimeout)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=s({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?_(t):o,t.__h),z(u,t),t.__e!=o&&k(t)))})}function w(n,l,u,i,t,o,r,c,s,a){var h,y,d,k,b,g,w,x=i&&i.__k||e,C=x.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(k=u.__k[h]=null==(k=l[h])||\"boolean\"==typeof k?null:\"string\"==typeof k||\"number\"==typeof k||\"bigint\"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(p,{children:k},null,null,null):k.__b>0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(d=x[h])||d&&k.key==d.key&&k.type===d.type)x[h]=void 0;else for(y=0;y<C;y++){if((d=x[y])&&k.key==d.key&&k.type===d.type){x[y]=void 0;break}d=null}j(n,k,d=d||f,t,o,r,c,s,a),b=k.__e,(y=k.ref)&&d.ref!=y&&(w||(w=[]),d.ref&&w.push(d.ref,null,k),w.push(y,k.__c||b,k)),null!=b?(null==g&&(g=b),\"function\"==typeof k.type&&k.__k===d.__k?k.__d=s=m(k,s,n):s=A(n,k,d,x,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&d.__e==s&&s.parentNode!=n&&(s=_(d))}for(u.__e=g,h=C;h--;)null!=x[h]&&(\"function\"==typeof u.type&&null!=x[h].__e&&x[h].__e==u.__d&&(u.__d=_(i,h+1)),N(x[h],x[h]));if(w)for(h=0;h<w.length;h++)M(w[h],w[++h],w[++h])}function m(n,l,u){for(var i,t=n.__k,o=0;t&&o<t.length;o++)(i=t[o])&&(i.__=n,l=\"function\"==typeof i.type?m(i,l,u):A(u,i,i,t,i.__e,l));return l}function x(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){x(n,l)}):l.push(n)),l}function A(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||c.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var a,h,v,y,_,k,b,g,m,x,A,C,$,H=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if(\"function\"==typeof H){if(g=u.props,m=(a=H.contextType)&&t[a.__c],x=a?m?m.props.value:a.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in H&&H.prototype.render?u.__c=h=new H(g,x):(u.__c=h=new d(g,x),h.constructor=H,h.render=O),m&&m.sub(h),h.props=g,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=H.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,H.getDerivedStateFromProps(g,h.__s))),y=h.props,_=h.state,v)null==H.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==H.getDerivedStateFromProps&&g!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(g,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(g,h.__s,x)||u.__v===i.__v){h.props=g,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(g,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,_,k)})}if(h.context=x,h.props=g,h.__v=u,h.__P=n,A=l.__r,C=0,\"prototype\"in H&&H.prototype.render)h.state=h.__s,h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context);else do{h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++C<25);h.state=h.__s,null!=h.getChildContext&&(t=s(s({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,_)),$=null!=a&&a.type===p&&null==a.key?a.props.children:a,w(n,Array.isArray($)?$:[$],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,e,c){var s,h,v,y=i.props,p=u.props,d=u.type,k=0;if(\"svg\"===d&&(o=!0),null!=r)for(;k<r.length;k++)if((s=r[k])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,r[k]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),h=(y=i.props||f).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},k=0;k<l.attributes.length;k++)y[l.attributes[k].name]=l.attributes[k].value;(v||h)&&(v&&(h&&v.__html==h.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(k=u.props.children,w(l,Array.isArray(k)?k:[k],u,i,t,o&&\"foreignObject\"!==d,r,e,r?r[0]:i.__k&&_(i,0),c),null!=r)for(k=r.length;k--;)null!=r[k]&&a(r[k]);c||(\"value\"in p&&void 0!==(k=p.value)&&(k!==l.value||\"progress\"===d&&!k||\"option\"===d&&k!==y.value)&&H(l,\"value\",k,y.value,!1),\"checked\"in p&&void 0!==(k=p.checked)&&k!==l.checked&&H(l,\"checked\",k,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||a(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function P(u,i,t){var o,r,e;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,e=[],j(i,u=(!o&&t||i).__k=h(p,null,[u]),r||f,f,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,e,!o&&t?t:r?r.__e:i.firstChild,o),z(e,u)}function S(n,l){P(n,l,S)}function q(l,u,i){var t,o,r,f=s({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),v(l.type,f,t||l.key,o||l.ref,null)}function B(n,l){var u={__c:l=\"__cC\"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=e.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),\"function\"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),b(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),b(this))},d.prototype.render=p,t=[],g.__r=0,r=0;export{P as render,S as hydrate,h as createElement,h,p as Fragment,y as createRef,i as isValidElement,d as Component,q as cloneElement,B as createContext,x as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","export const Styles = {\n Error: {\n color: \"red\",\n },\n Alert: {\n error: {\n color: \"red\",\n fontWeight: \"bold\"\n },\n warning: {\n color: \"#f80\",\n fontWeight: \"bold\"\n },\n info: {\n color: \"black\"\n }\n },\n Darken: {\n position: \"fixed\",\n top: 0,\n left: 0,\n opacity: 0.5,\n backgroundColor: \"#000\",\n width: \"100vw\",\n height: \"100vh\",\n zIndex: 150,\n webkitBackdropFilter: \"blur(2px)\",\n backdropFilter: \"blur(2px)\",\n },\n DialogOuter: {\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n zIndex: 150,\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n },\n DialogInner: {\n position: \"relative\",\n color: \"#222\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n marginBottom: \"2em\",\n maxWidth: \"90%\",\n maxHeight: \"90%\",\n overflowY: \"auto\",\n border: \"3px solid #3d3d5d\",\n borderRadius: \"8px\",\n boxShadow: \"0 0 80px 10px #666\",\n width: \"auto\",\n fontFamily: \"sans-serif\",\n },\n Input: {\n height: \"35px\",\n width: \"17em\",\n borderColor: \"#ccf4\",\n outline: \"none\",\n fontSize: \"17pt\",\n padding: \"8px\"\n }\n};\n","import { Styles } from './Styles';\nimport { h } from 'preact';\nexport function Dialog({ children, className }) {\n return (h(\"div\", { className: className },\n h(\"div\", { style: Styles.Darken }),\n h(\"div\", { style: Styles.DialogOuter },\n h(\"div\", { style: Styles.DialogInner }, children))));\n}\n","import{options as n}from\"preact\";var t,r,u,i,o=0,c=[],f=[],e=n.__b,a=n.__r,v=n.diffed,l=n.__c,m=n.unmount;function d(t,u){n.__h&&n.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:f}),i.__[t]}function p(n){return o=1,y(z,n)}function y(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):z(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){r.u=!0;var c=r.shouldComponentUpdate;r.shouldComponentUpdate=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!!i&&(!c||c.call(this,n,t,r))}}return o.__N||o.__}function h(u,i){var o=d(t++,3);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function s(u,i){var o=d(t++,4);!n.__s&&w(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,s(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return w(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){n.useDebugValue&&n.useDebugValue(r?r(t):t)}function V(n){var u=d(t++,10),i=p();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n){u.__&&u.__(n),i[1](n)}),[i[0],function(){i[1](void 0)}]}function b(){for(var t;t=c.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(j),t.__H.__h.forEach(k),t.__H.__h=[]}catch(r){t.__H.__h=[],n.__e(r,t.__v)}}n.__b=function(n){r=null,e&&e(n)},n.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=f,n.__N=n.i=void 0})):(i.__h.forEach(j),i.__h.forEach(k),i.__h=[])),u=r},n.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==c.push(o)&&i===n.requestAnimationFrame||((i=n.requestAnimationFrame)||function(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))})(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==f&&(n.__=n.__V),n.i=void 0,n.__V=f})),u=r=null},n.__c=function(t,r){r.some(function(t){try{t.__h.forEach(j),t.__h=t.__h.filter(function(n){return!n.__||k(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],n.__e(u,t.__v)}}),l&&l(t,r)},n.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{j(n)}catch(n){r=n}}),r&&n.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function k(n){var t=r;n.__c=n.__(),r=t}function w(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function z(n,t){return\"function\"==typeof t?t(n):t}export{p as useState,y as useReducer,h as useEffect,s as useLayoutEffect,_ as useRef,A as useImperativeHandle,F as useMemo,T as useCallback,q as useContext,x as useDebugValue,V as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","/** Resolve a message template with parameters.\n *\n * Example:\n * resolveText({\n * message: \"Hello {name}!\",\n * messageCode: \"HELLO\",\n * messageParams: {name: \"David\"}\n * }) => \"Hello David!\"\n *\n * @param message Template message with {vars} in it.\n * @param messageCode Unique code for the message. Can be used for translation.\n * @param messageParams Parameters to be used in the message.\n * @returns A final message where parameters have been replaced with values.\n */\nexport function resolveText({ message, messageCode, messageParams }) {\n return message.replace(/\\{\\w+\\}/ig, n => messageParams[n.substring(1, n.length - 1)]);\n}\n","import { Dialog } from './Dialog';\nimport { Styles } from './Styles';\nimport { h, Fragment } from 'preact';\nimport { useLayoutEffect, useRef, useState } from 'preact/hooks';\nimport { resolveText } from '../helpers/resolveText';\nconst OTP_LENGTH = 8;\nexport function LoginDialog({ title, type, alerts, fields, submitLabel, cancelLabel, onCancel, onSubmit, }) {\n const [params, setParams] = useState({});\n const firstFieldRef = useRef(null);\n useLayoutEffect(() => { var _a; return (_a = firstFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus(); }, []);\n return (h(Dialog, { className: \"dxc-login-dlg\" },\n h(Fragment, null,\n h(\"h3\", { style: Styles.WindowHeader }, title),\n alerts.map((alert) => (h(\"p\", { style: Styles.Alert[alert.type] }, resolveText(alert)))),\n h(\"form\", { onSubmit: (ev) => {\n ev.preventDefault();\n onSubmit(params);\n } }, Object.entries(fields).map(([fieldName, { type, label, placeholder }], idx) => (h(\"label\", { style: Styles.Label, key: idx },\n label ? `${label}: ` : '',\n h(\"input\", { ref: idx === 0 ? firstFieldRef : undefined, type: type, name: fieldName, autoComplete: \"on\", style: Styles.Input, autoFocus: true, placeholder: placeholder, value: params[fieldName] || '', onInput: (ev) => {\n var _a;\n const value = valueTransformer(type, (_a = ev.target) === null || _a === void 0 ? void 0 : _a['value']);\n let updatedParams = Object.assign(Object.assign({}, params), { [fieldName]: value });\n setParams(updatedParams);\n if (type === 'otp' && (value === null || value === void 0 ? void 0 : value.trim().length) === OTP_LENGTH) {\n // Auto-submit when OTP is filled in.\n onSubmit(updatedParams);\n }\n } })))))),\n h(\"div\", { style: Styles.ButtonsDiv },\n h(Fragment, null,\n h(\"button\", { type: \"submit\", style: Styles.Button, onClick: () => onSubmit(params) }, submitLabel),\n cancelLabel && (h(\"button\", { style: Styles.Button, onClick: onCancel }, cancelLabel))))));\n}\nfunction valueTransformer(type, value) {\n switch (type) {\n case 'email':\n return value.toLowerCase();\n case 'otp':\n return value.toUpperCase();\n default:\n return value;\n }\n}\n","import \"../extend-dexie-interface\";\nimport { h, Component } from \"preact\";\nimport { from } from \"rxjs\";\nimport { LoginDialog } from './LoginDialog';\nimport * as preact from \"preact\";\nexport default class LoginGui extends Component {\n constructor(props) {\n super(props);\n this.observer = (userInteraction) => this.setState({ userInteraction });\n this.state = { userInteraction: undefined };\n }\n componentDidMount() {\n this.subscription = from(this.props.db.cloud.userInteraction).subscribe(this.observer);\n }\n componentWillUnmount() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n delete this.subscription;\n }\n }\n render(props, { userInteraction }) {\n if (!userInteraction)\n return null;\n //if (props.db.cloud.userInteraction.observers.length > 1) return null; // Someone else subscribes.\n return h(LoginDialog, Object.assign({}, userInteraction));\n }\n}\nexport function setupDefaultGUI(db) {\n let closed = false;\n const el = document.createElement('div');\n if (document.body) {\n document.body.appendChild(el);\n preact.render(h(LoginGui, { db: db.vip }), el);\n }\n else {\n addEventListener('DOMContentLoaded', () => {\n if (!closed) {\n document.body.appendChild(el);\n preact.render(h(LoginGui, { db: db.vip }), el);\n }\n });\n }\n return {\n unsubscribe() {\n try {\n el.remove();\n }\n catch (_a) { }\n closed = true;\n },\n get closed() {\n return closed;\n }\n };\n}\n","export function associate(factory) {\n const wm = new WeakMap();\n return (x) => {\n let rv = wm.get(x);\n if (!rv) {\n rv = factory(x);\n wm.set(x, rv);\n }\n return rv;\n };\n}\n","import { BehaviorSubject } from \"rxjs\";\nimport { associate } from \"./associate\";\nimport { UNAUTHORIZED_USER } from \"./authentication/UNAUTHORIZED_USER\";\nexport const getCurrentUserEmitter = associate((db) => new BehaviorSubject(UNAUTHORIZED_USER));\n","import { combineLatest, of } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\nimport { getCurrentUserEmitter } from './currentUserEmitter';\nimport { isOnline } from './sync/isOnline';\nimport { userIsActive, userIsReallyActive } from './userIsActive';\nexport function computeSyncState(db) {\n let _prevStatus = db.cloud.webSocketStatus.value;\n const lazyWebSocketStatus = db.cloud.webSocketStatus.pipe(switchMap((status) => {\n const prevStatus = _prevStatus;\n _prevStatus = status;\n const rv = of(status);\n switch (status) {\n // A normal scenario is that the WS reconnects and falls shortly in disconnected-->connection-->connected.\n // Don't distract user with this unless these things take more time than normal:\n // Only show disconnected if disconnected more than 500ms, or if we can\n // see that the user is indeed not active.\n case 'disconnected':\n return userIsActive.value ? rv.pipe(debounceTime(500)) : rv;\n // Only show connecting if previous state was 'not-started' or 'error', or if\n // the time it takes to connect goes beyond 4 seconds.\n case 'connecting':\n return prevStatus === 'not-started' || prevStatus === 'error'\n ? rv\n : rv.pipe(debounceTime(4000));\n default:\n return rv;\n }\n }));\n return combineLatest([\n lazyWebSocketStatus,\n db.syncStateChangedEvent.pipe(startWith({ phase: 'initial' })),\n getCurrentUserEmitter(db.dx._novip),\n userIsReallyActive\n ]).pipe(map(([status, syncState, user, userIsActive]) => {\n var _a;\n if (((_a = user.license) === null || _a === void 0 ? void 0 : _a.status) && user.license.status !== 'ok') {\n return {\n phase: 'offline',\n status: 'offline',\n license: user.license.status\n };\n }\n let { phase, error, progress } = syncState;\n let adjustedStatus = status;\n if (phase === 'error') {\n // Let users only rely on the status property to display an icon.\n // If there's an error in the sync phase, let it show on that\n // status icon also.\n adjustedStatus = 'error';\n }\n if (status === 'not-started') {\n // If websocket isn't yet connected becase we're doing\n // the startup sync, let the icon show the symbol for connecting.\n if (phase === 'pushing' || phase === 'pulling') {\n adjustedStatus = 'connecting';\n }\n }\n const previousPhase = db.cloud.syncState.value.phase;\n //const previousStatus = db.cloud.syncState.value.status;\n if (previousPhase === 'error' && (syncState.phase === 'pushing' || syncState.phase === 'pulling')) {\n // We were in an errored state but is now doing sync. Show \"connecting\" icon.\n adjustedStatus = 'connecting';\n }\n /*if (syncState.phase === 'in-sync' && adjustedStatus === 'connecting') {\n adjustedStatus = 'connected';\n }*/\n if (!userIsActive) {\n adjustedStatus = 'disconnected';\n }\n const retState = {\n phase,\n error,\n progress,\n status: isOnline ? adjustedStatus : 'offline',\n license: 'ok'\n };\n return retState;\n }));\n}\n","import { from, map, Observable, share, timer, } from 'rxjs';\nexport function createSharedValueObservable(o, defaultValue) {\n let currentValue = defaultValue;\n let shared = from(o).pipe(map((x) => (currentValue = x)), share({ resetOnRefCountZero: () => timer(1000) }));\n const rv = new Observable((observer) => {\n let didEmit = false;\n const subscription = shared.subscribe({\n next(value) {\n didEmit = true;\n observer.next(value);\n },\n error(error) {\n observer.error(error);\n },\n complete() {\n observer.complete();\n }\n });\n if (!didEmit && !subscription.closed) {\n observer.next(currentValue);\n }\n return subscription;\n });\n rv.getValue = () => currentValue;\n return rv;\n}\n","import { liveQuery } from 'dexie';\nimport { associate } from './associate';\nimport { createSharedValueObservable } from './createSharedValueObservable';\nexport const getGlobalRolesObservable = associate((db) => {\n return createSharedValueObservable(liveQuery(() => db.roles\n .where({ realmId: 'rlm-public' })\n .toArray()\n .then((roles) => {\n const rv = {};\n for (const role of roles\n .slice()\n .sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0))) {\n rv[role.name] = role;\n }\n return rv;\n })), {});\n});\n","import { liveQuery } from 'dexie';\nimport { switchMap } from 'rxjs/operators';\nimport { associate } from './associate';\nimport { createSharedValueObservable } from './createSharedValueObservable';\nimport { getCurrentUserEmitter } from './currentUserEmitter';\nexport const getInternalAccessControlObservable = associate((db) => {\n return createSharedValueObservable(getCurrentUserEmitter(db._novip).pipe(switchMap((currentUser) => liveQuery(() => db.transaction('r', 'realms', 'members', () => Promise.all([\n db.members.where({ userId: currentUser.userId }).toArray(),\n db.realms.toArray(),\n currentUser.userId,\n ]).then(([selfMembers, realms, userId]) => {\n //console.debug(`PERMS: Result from liveQUery():`, JSON.stringify({selfMembers, realms, userId}, null, 2))\n return { selfMembers, realms, userId };\n }))))), {\n selfMembers: [],\n realms: [],\n get userId() {\n return db.cloud.currentUserId;\n },\n });\n /* let refCount = 0;\n return new Observable(observer => {\n const subscription = o.subscribe(observer);\n console.debug ('PERMS subscribe', ++refCount);\n return {\n unsubscribe() {\n console.debug ('PERMS unsubscribe', --refCount);\n subscription.unsubscribe();\n }\n }\n })*/\n});\n","import { map } from 'rxjs';\nexport function mapValueObservable(o, mapper) {\n let currentValue;\n const rv = o.pipe(map((x) => (currentValue = mapper(x))));\n rv.getValue = () => currentValue !== undefined\n ? currentValue\n : (currentValue = mapper(o.getValue()));\n return rv;\n}\n","// TODO: Move to dexie-cloud-common\nexport function mergePermissions(...permissions) {\n if (permissions.length === 0)\n return {};\n const reduced = permissions.reduce((result, next) => {\n const ret = Object.assign({}, result);\n for (const [verb, rights] of Object.entries(next)) {\n if (verb in ret && ret[verb]) {\n if (ret[verb] === '*')\n continue;\n if (rights === '*') {\n ret[verb] = '*';\n }\n else if (Array.isArray(rights) && Array.isArray(ret[verb])) {\n // Both are arrays (verb is 'add' or 'manage')\n const r = ret;\n const retVerb = r[verb]; // \"!\" because Array.isArray(ret[verb])\n r[verb] = [...new Set([...retVerb, ...rights])];\n }\n else if (typeof rights === 'object' &&\n rights &&\n typeof ret[verb] === 'object') {\n // Both are objects (verb is 'update')\n const mergedRights = ret[verb]; // because we've checked that typeof ret[verb] === 'object' and earlier that not ret[verb] === '*'.\n for (const [tableName, tableRights] of Object.entries(rights)) {\n if (mergedRights[tableName] === '*')\n continue;\n if (tableRights === '*') {\n mergedRights[tableName] = '*';\n }\n else if (Array.isArray(mergedRights[tableName]) &&\n Array.isArray(tableRights)) {\n mergedRights[tableName] = [\n ...new Set([...mergedRights[tableName], ...tableRights]),\n ];\n }\n }\n }\n }\n else {\n /* This compiles without type assertions. Keeping the comment to\n explain why we do tsignore on the next statement.\n if (verb === \"add\") {\n ret[verb] = next[verb];\n } else if (verb === \"update\") {\n ret[verb] = next[verb];\n } else if (verb === \"manage\") {\n ret[verb] = next[verb];\n } else {\n ret[verb] = next[verb];\n }\n */\n //@ts-ignore\n ret[verb] = next[verb];\n }\n }\n return ret;\n });\n return reduced;\n}\n","import { combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { associate } from './associate';\nimport { UNAUTHORIZED_USER } from './authentication/UNAUTHORIZED_USER';\nimport { createSharedValueObservable } from './createSharedValueObservable';\nimport { getGlobalRolesObservable } from './getGlobalRolesObservable';\nimport { getInternalAccessControlObservable } from './getInternalAccessControlObservable';\nimport { flatten } from './helpers/flatten';\nimport { mapValueObservable } from './mapValueObservable';\nimport { mergePermissions } from './mergePermissions';\nexport const getPermissionsLookupObservable = associate((db) => {\n const o = createSharedValueObservable(combineLatest([\n getInternalAccessControlObservable(db._novip),\n getGlobalRolesObservable(db._novip),\n ]).pipe(map(([{ selfMembers, realms, userId }, globalRoles]) => ({\n selfMembers,\n realms,\n userId,\n globalRoles,\n }))), {\n selfMembers: [],\n realms: [],\n userId: UNAUTHORIZED_USER.userId,\n globalRoles: {},\n });\n return mapValueObservable(o, ({ selfMembers, realms, userId, globalRoles }) => {\n const rv = realms\n .map((realm) => {\n const selfRealmMembers = selfMembers.filter((m) => m.realmId === realm.realmId);\n const directPermissionSets = selfRealmMembers\n .map((m) => m.permissions)\n .filter((p) => p);\n const rolePermissionSets = flatten(selfRealmMembers.map((m) => m.roles).filter((roleName) => roleName))\n .map((role) => globalRoles[role])\n .filter((role) => role)\n .map((role) => role.permissions);\n return Object.assign(Object.assign({}, realm), { permissions: realm.owner === userId\n ? { manage: '*' }\n : mergePermissions(...directPermissionSets, ...rolePermissionSets) });\n })\n .reduce((p, c) => (Object.assign(Object.assign({}, p), { [c.realmId]: c })), {\n [userId]: {\n realmId: userId,\n owner: userId,\n name: userId,\n permissions: { manage: '*' },\n },\n });\n return rv;\n });\n});\n","export class PermissionChecker {\n constructor(permissions, tableName, isOwner) {\n this.permissions = permissions || {};\n this.tableName = tableName;\n this.isOwner = isOwner;\n }\n add(...tableNames) {\n var _a;\n // If user can manage the whole realm, return true.\n if (this.permissions.manage === '*')\n return true;\n // If user can manage given table in realm, return true\n if ((_a = this.permissions.manage) === null || _a === void 0 ? void 0 : _a.includes(this.tableName))\n return true;\n // If user can add any type, return true\n if (this.permissions.add === '*')\n return true;\n // If user can add objects into given table names in the realm, return true\n if (tableNames.every((tableName) => { var _a; return (_a = this.permissions.add) === null || _a === void 0 ? void 0 : _a.includes(tableName); })) {\n return true;\n }\n return false;\n }\n update(...props) {\n var _a, _b;\n // If user is owner of this object, or if user can manage the whole realm, return true.\n if (this.isOwner || this.permissions.manage === '*')\n return true;\n // If user can manage given table in realm, return true\n if ((_a = this.permissions.manage) === null || _a === void 0 ? void 0 : _a.includes(this.tableName))\n return true;\n // If user can update any prop in any table in this realm, return true unless\n // it regards to ownership change:\n if (this.permissions.update === '*') {\n return props.every((prop) => prop !== 'owner');\n }\n const tablePermissions = (_b = this.permissions.update) === null || _b === void 0 ? void 0 : _b[this.tableName];\n // If user can update any prop in table and realm, return true unless\n // accessing special props owner or realmId\n if (tablePermissions === '*')\n return props.every((prop) => prop !== 'owner');\n // Explicitely listed properties to allow updates on:\n return props.every((prop) => tablePermissions === null || tablePermissions === void 0 ? void 0 : tablePermissions.some((permittedProp) => permittedProp === prop || (permittedProp === '*' && prop !== 'owner')));\n }\n delete() {\n var _a;\n // If user is owner of this object, or if user can manage the whole realm, return true.\n if (this.isOwner || this.permissions.manage === '*')\n return true;\n // If user can manage given table in realm, return true\n if ((_a = this.permissions.manage) === null || _a === void 0 ? void 0 : _a.includes(this.tableName))\n return true;\n return false;\n }\n}\n","import { map } from 'rxjs/operators';\nimport { getPermissionsLookupObservable, } from './getPermissionsLookupObservable';\nimport { PermissionChecker } from './PermissionChecker';\nimport './extend-dexie-interface';\nexport function permissions(dexie, obj, tableName) {\n if (!obj)\n throw new TypeError(`Cannot check permissions of undefined or null. A Dexie Cloud object with realmId and owner expected.`);\n const { owner, realmId } = obj;\n if (!tableName) {\n if (typeof obj.table !== 'function') {\n throw new TypeError(`Missing 'table' argument to permissions and table could not be extracted from entity`);\n }\n tableName = obj.table();\n }\n const source = getPermissionsLookupObservable(dexie);\n const mapper = (permissionsLookup) => {\n // If realmId is undefined, it can be due to that the object is not yet syncified - it exists\n // locally only as the user might not yet be authenticated. This is ok and we shall treat it\n // as if the realmId is dexie.cloud.currentUserId (which is \"unauthorized\" by the way)\n const realm = permissionsLookup[realmId || dexie.cloud.currentUserId];\n if (!realm)\n return new PermissionChecker({}, tableName, !owner || owner === dexie.cloud.currentUserId);\n return new PermissionChecker(realm.permissions, tableName, realmId === dexie.cloud.currentUserId || owner === dexie.cloud.currentUserId);\n };\n const o = source.pipe(map(mapper));\n o.getValue = () => mapper(source.getValue());\n return o;\n}\n","import { __awaiter } from \"tslib\";\nimport { liveQuery } from 'dexie';\nimport { combineLatest } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { associate } from './associate';\nimport { createSharedValueObservable } from './createSharedValueObservable';\nimport { getCurrentUserEmitter } from './currentUserEmitter';\nimport { getInternalAccessControlObservable } from './getInternalAccessControlObservable';\nimport { getPermissionsLookupObservable } from './getPermissionsLookupObservable';\nexport const getInvitesObservable = associate((db) => {\n const membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap((currentUser) => liveQuery(() => db.members.where({ email: currentUser.email || '' }).toArray())));\n const permissions = getPermissionsLookupObservable(db._novip);\n const accessControl = getInternalAccessControlObservable(db._novip);\n return createSharedValueObservable(combineLatest([membersByEmail, accessControl, permissions]).pipe(map(([membersByEmail, accessControl, realmLookup]) => {\n const reducer = (result, m) => (Object.assign(Object.assign({}, result), { [m.id]: Object.assign(Object.assign({}, m), { realm: realmLookup[m.realmId] }) }));\n const emailMembersById = membersByEmail.reduce(reducer, {});\n const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);\n return Object.values(membersById)\n .filter((invite) => !invite.accepted)\n .map((invite) => (Object.assign(Object.assign({}, invite), { accept() {\n return __awaiter(this, void 0, void 0, function* () {\n yield db.members.update(invite.id, { accepted: new Date() });\n });\n },\n reject() {\n return __awaiter(this, void 0, void 0, function* () {\n yield db.members.update(invite.id, { rejected: new Date() });\n });\n } })));\n })), []);\n});\n","export function getTiedRealmId(objectId) {\n return 'rlm~' + objectId;\n}\nexport function getTiedObjectId(realmId) {\n return realmId.startsWith('rlm~') ? realmId.substr(4) : null;\n}\n","import { __awaiter } from \"tslib\";\nimport Dexie, { liveQuery } from 'dexie';\nimport { getDbNameFromDbUrl, } from 'dexie-cloud-common';\nimport { BehaviorSubject, combineLatest, from, fromEvent, Subject } from 'rxjs';\nimport { filter, skip, take } from 'rxjs/operators';\nimport { login } from './authentication/login';\nimport { UNAUTHORIZED_USER } from './authentication/UNAUTHORIZED_USER';\nimport { DexieCloudDB } from './db/DexieCloudDB';\nimport { DISABLE_SERVICEWORKER_STRATEGY } from './DISABLE_SERVICEWORKER_STRATEGY';\nimport './extend-dexie-interface';\nimport { dbOnClosed } from './helpers/dbOnClosed';\nimport { IS_SERVICE_WORKER } from './helpers/IS_SERVICE_WORKER';\nimport { throwVersionIncrementNeeded } from './helpers/throwVersionIncrementNeeded';\nimport { createIdGenerationMiddleware } from './middlewares/createIdGenerationMiddleware';\nimport { createImplicitPropSetterMiddleware } from './middlewares/createImplicitPropSetterMiddleware';\nimport { createMutationTrackingMiddleware } from './middlewares/createMutationTrackingMiddleware';\n//import { dexieCloudSyncProtocol } from \"./dexieCloudSyncProtocol\";\nimport { overrideParseStoresSpec } from './overrideParseStoresSpec';\nimport { performInitialSync } from './performInitialSync';\nimport { connectWebSocket } from './sync/connectWebSocket';\nimport { isSyncNeeded } from './sync/isSyncNeeded';\nimport { LocalSyncWorker } from './sync/LocalSyncWorker';\nimport { registerPeriodicSyncEvent, registerSyncEvent, } from './sync/registerSyncEvent';\nimport { triggerSync } from './sync/triggerSync';\nimport { updateSchemaFromOptions } from './updateSchemaFromOptions';\nimport { verifySchema } from './verifySchema';\nimport { setupDefaultGUI } from './default-ui';\nimport { computeSyncState } from './computeSyncState';\nimport { generateKey } from './middleware-helpers/idGenerationHelpers';\nimport { permissions } from './permissions';\nimport { getCurrentUserEmitter } from './currentUserEmitter';\nimport { getInvitesObservable } from './getInvitesObservable';\nimport { getGlobalRolesObservable } from './getGlobalRolesObservable';\nimport { logout, _logout } from './authentication/logout';\nimport { loadAccessToken } from './authentication/authenticate';\nimport { isEagerSyncDisabled } from './isEagerSyncDisabled';\nexport * from './getTiedRealmId';\nexport { resolveText } from './helpers/resolveText';\nexport * from './types/DXCAlert';\nexport * from './types/DXCInputField';\nexport * from './types/DXCUserInteraction';\nconst DEFAULT_OPTIONS = {\n nameSuffix: true,\n};\nexport function dexieCloud(dexie) {\n const origIdbName = dexie.name;\n //\n //\n //\n const currentUserEmitter = getCurrentUserEmitter(dexie);\n const subscriptions = [];\n let configuredProgramatically = false;\n // local sync worker - used when there's no service worker.\n let localSyncWorker = null;\n dexie.on('ready', (dexie) => __awaiter(this, void 0, void 0, function* () {\n try {\n yield onDbReady(dexie);\n }\n catch (error) {\n console.error(error);\n // Make sure to succeed with database open even if network is down.\n }\n }), true // true = sticky\n );\n /** Void starting subscribers after a close has happened. */\n let closed = false;\n function throwIfClosed() {\n if (closed)\n throw new Dexie.DatabaseClosedError();\n }\n dbOnClosed(dexie, () => {\n subscriptions.forEach((subscription) => subscription.unsubscribe());\n closed = true;\n localSyncWorker && localSyncWorker.stop();\n localSyncWorker = null;\n currentUserEmitter.next(UNAUTHORIZED_USER);\n });\n const syncComplete = new Subject();\n dexie.cloud = {\n version: '{version}',\n options: Object.assign({}, DEFAULT_OPTIONS),\n schema: null,\n get currentUserId() {\n return currentUserEmitter.value.userId || UNAUTHORIZED_USER.userId;\n },\n currentUser: currentUserEmitter,\n syncState: new BehaviorSubject({\n phase: 'initial',\n status: 'not-started',\n }),\n events: {\n syncComplete,\n },\n persistedSyncState: new BehaviorSubject(undefined),\n userInteraction: new BehaviorSubject(undefined),\n webSocketStatus: new BehaviorSubject('not-started'),\n login(hint) {\n return __awaiter(this, void 0, void 0, function* () {\n const db = DexieCloudDB(dexie);\n yield db.cloud.sync();\n yield login(db, hint);\n });\n },\n invites: getInvitesObservable(dexie),\n roles: getGlobalRolesObservable(dexie),\n configure(options) {\n options = dexie.cloud.options = Object.assign(Object.assign({}, dexie.cloud.options), options);\n configuredProgramatically = true;\n if (options.databaseUrl && options.nameSuffix) {\n // @ts-ignore\n dexie.name = `${origIdbName}-${getDbNameFromDbUrl(options.databaseUrl)}`;\n DexieCloudDB(dexie).reconfigure(); // Update observable from new dexie.name\n }\n updateSchemaFromOptions(dexie.cloud.schema, dexie.cloud.options);\n },\n logout({ force } = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n force\n ? yield _logout(DexieCloudDB(dexie), { deleteUnsyncedData: true })\n : yield logout(DexieCloudDB(dexie));\n });\n },\n sync({ wait, purpose } = { wait: true, purpose: 'push' }) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (wait === undefined)\n wait = true;\n const db = DexieCloudDB(dexie);\n const licenseStatus = ((_a = db.cloud.currentUser.value.license) === null || _a === void 0 ? void 0 : _a.status) || 'ok';\n if (licenseStatus !== 'ok') {\n // Refresh access token to check for updated license\n yield loadAccessToken(db);\n }\n if (purpose === 'pull') {\n const syncState = db.cloud.persistedSyncState.value;\n triggerSync(db, purpose);\n if (wait) {\n const newSyncState = yield db.cloud.persistedSyncState\n .pipe(filter((newSyncState) => (newSyncState === null || newSyncState === void 0 ? void 0 : newSyncState.timestamp) != null &&\n (!syncState || newSyncState.timestamp > syncState.timestamp)), take(1))\n .toPromise();\n if (newSyncState === null || newSyncState === void 0 ? void 0 : newSyncState.error) {\n throw new Error(`Sync error: ` + newSyncState.error);\n }\n }\n }\n else if (yield isSyncNeeded(db)) {\n const syncState = db.cloud.persistedSyncState.value;\n triggerSync(db, purpose);\n if (wait) {\n console.debug('db.cloud.login() is waiting for sync completion...');\n yield from(liveQuery(() => __awaiter(this, void 0, void 0, function* () {\n const syncNeeded = yield isSyncNeeded(db);\n const newSyncState = yield db.getPersistedSyncState();\n if ((newSyncState === null || newSyncState === void 0 ? void 0 : newSyncState.timestamp) !== (syncState === null || syncState === void 0 ? void 0 : syncState.timestamp) &&\n (newSyncState === null || newSyncState === void 0 ? void 0 : newSyncState.error))\n throw new Error(`Sync error: ` + newSyncState.error);\n return syncNeeded;\n })))\n .pipe(filter((isNeeded) => !isNeeded), take(1))\n .toPromise();\n console.debug('Done waiting for sync completion because we have nothing to push anymore');\n }\n }\n });\n },\n permissions(obj, tableName) {\n return permissions(dexie._novip, obj, tableName);\n },\n };\n dexie.Version.prototype['_parseStoresSpec'] = Dexie.override(dexie.Version.prototype['_parseStoresSpec'], (origFunc) => overrideParseStoresSpec(origFunc, dexie));\n dexie.Table.prototype.newId = function ({ colocateWith } = {}) {\n const shardKey = colocateWith && colocateWith.substr(colocateWith.length - 3);\n return generateKey(dexie.cloud.schema[this.name].idPrefix || '', shardKey);\n };\n dexie.Table.prototype.idPrefix = function () {\n var _a, _b;\n return ((_b = (_a = this.db.cloud.schema) === null || _a === void 0 ? void 0 : _a[this.name]) === null || _b === void 0 ? void 0 : _b.idPrefix) || '';\n };\n dexie.use(createMutationTrackingMiddleware({\n currentUserObservable: dexie.cloud.currentUser,\n db: DexieCloudDB(dexie),\n }));\n dexie.use(createImplicitPropSetterMiddleware(DexieCloudDB(dexie)));\n dexie.use(createIdGenerationMiddleware(DexieCloudDB(dexie)));\n function onDbReady(dexie) {\n var _a, _b, _c, _d, _e, _f, _g;\n return __awaiter(this, void 0, void 0, function* () {\n closed = false; // As Dexie calls us, we are not closed anymore. Maybe reopened? Remember db.ready event is registered with sticky flag!\n const db = DexieCloudDB(dexie);\n // Setup default GUI:\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n if (!((_a = db.cloud.options) === null || _a === void 0 ? void 0 : _a.customLoginGui)) {\n subscriptions.push(setupDefaultGUI(dexie));\n }\n }\n if (!db.cloud.isServiceWorkerDB) {\n subscriptions.push(computeSyncState(db).subscribe(dexie.cloud.syncState));\n }\n // Forward db.syncCompleteEvent to be publicly consumable via db.cloud.events.syncComplete:\n subscriptions.push(db.syncCompleteEvent.subscribe(syncComplete));\n //verifyConfig(db.cloud.options); Not needed (yet at least!)\n // Verify the user has allowed version increment.\n if (!db.tables.every((table) => table.core)) {\n throwVersionIncrementNeeded();\n }\n const swRegistrations = 'serviceWorker' in navigator\n ? yield navigator.serviceWorker.getRegistrations()\n : [];\n const initiallySynced = yield db.transaction('rw', db.$syncState, () => __awaiter(this, void 0, void 0, function* () {\n var _h, _j;\n const { options, schema } = db.cloud;\n const [persistedOptions, persistedSchema, persistedSyncState] = yield Promise.all([\n db.getOptions(),\n db.getSchema(),\n db.getPersistedSyncState(),\n ]);\n if (!configuredProgramatically) {\n // Options not specified programatically (use case for SW!)\n // Take persisted options:\n db.cloud.options = persistedOptions || null;\n }\n else if (!persistedOptions ||\n JSON.stringify(persistedOptions) !== JSON.stringify(options)) {\n // Update persisted options:\n if (!options)\n throw new Error(`Internal error`); // options cannot be null if configuredProgramatically is set.\n const newPersistedOptions = Object.assign({}, options);\n delete newPersistedOptions.fetchTokens;\n yield db.$syncState.put(newPersistedOptions, 'options');\n }\n if (((_h = db.cloud.options) === null || _h === void 0 ? void 0 : _h.tryUseServiceWorker) &&\n 'serviceWorker' in navigator &&\n swRegistrations.length > 0 &&\n !DISABLE_SERVICEWORKER_STRATEGY) {\n // * Configured for using service worker if available.\n // * Browser supports service workers\n // * There are at least one service worker registration\n console.debug('Dexie Cloud Addon: Using service worker');\n db.cloud.usingServiceWorker = true;\n }\n else {\n // Not configured for using service worker or no service worker\n // registration exists. Don't rely on service worker to do any job.\n // Use LocalSyncWorker instead.\n if (((_j = db.cloud.options) === null || _j === void 0 ? void 0 : _j.tryUseServiceWorker) &&\n !db.cloud.isServiceWorkerDB) {\n console.debug('dexie-cloud-addon: Not using service worker.', swRegistrations.length === 0\n ? 'No SW registrations found.'\n : 'serviceWorker' in navigator && DISABLE_SERVICEWORKER_STRATEGY\n ? 'Avoiding SW background sync and SW periodic bg sync for this browser due to browser bugs.'\n : 'navigator.serviceWorker not present');\n }\n db.cloud.usingServiceWorker = false;\n }\n updateSchemaFromOptions(schema, db.cloud.options);\n updateSchemaFromOptions(persistedSchema, db.cloud.options);\n if (!schema) {\n // Database opened dynamically (use case for SW!)\n // Take persisted schema:\n db.cloud.schema = persistedSchema || null;\n }\n else if (!persistedSchema ||\n JSON.stringify(persistedSchema) !== JSON.stringify(schema)) {\n // Update persisted schema (but don't overwrite table prefixes)\n const newPersistedSchema = persistedSchema || {};\n for (const [table, tblSchema] of Object.entries(schema)) {\n const newTblSchema = newPersistedSchema[table];\n if (!newTblSchema) {\n newPersistedSchema[table] = Object.assign({}, tblSchema);\n }\n else {\n newTblSchema.markedForSync = tblSchema.markedForSync;\n tblSchema.deleted = newTblSchema.deleted;\n newTblSchema.generatedGlobalId = tblSchema.generatedGlobalId;\n }\n }\n yield db.$syncState.put(newPersistedSchema, 'schema');\n // Make sure persisted table prefixes are being used instead of computed ones:\n // Let's assign all props as the newPersistedSchems should be what we should be working with.\n Object.assign(schema, newPersistedSchema);\n }\n return persistedSyncState === null || persistedSyncState === void 0 ? void 0 : persistedSyncState.initiallySynced;\n }));\n if (initiallySynced) {\n db.setInitiallySynced(true);\n }\n verifySchema(db);\n if (((_b = db.cloud.options) === null || _b === void 0 ? void 0 : _b.databaseUrl) && !initiallySynced) {\n yield performInitialSync(db, db.cloud.options, db.cloud.schema);\n db.setInitiallySynced(true);\n }\n // Manage CurrentUser observable:\n throwIfClosed();\n if (!db.cloud.isServiceWorkerDB) {\n subscriptions.push(liveQuery(() => db.getCurrentUser()).subscribe(currentUserEmitter));\n // Manage PersistendSyncState observable:\n subscriptions.push(liveQuery(() => db.getPersistedSyncState()).subscribe(db.cloud.persistedSyncState));\n // Wait till currentUser and persistedSyncState gets populated\n // with things from the database and not just the default values.\n // This is so that when db.open() completes, user should be safe\n // to subscribe to these observables and get actual data.\n yield combineLatest([\n currentUserEmitter.pipe(skip(1), take(1)),\n db.cloud.persistedSyncState.pipe(skip(1), take(1)),\n ]).toPromise();\n }\n // HERE: If requireAuth, do athentication now.\n let changedUser = false;\n if ((_c = db.cloud.options) === null || _c === void 0 ? void 0 : _c.requireAuth) {\n changedUser = yield login(db);\n }\n if (localSyncWorker)\n localSyncWorker.stop();\n localSyncWorker = null;\n throwIfClosed();\n if (db.cloud.usingServiceWorker && ((_d = db.cloud.options) === null || _d === void 0 ? void 0 : _d.databaseUrl)) {\n registerSyncEvent(db, changedUser ? 'pull' : 'push').catch(() => { });\n registerPeriodicSyncEvent(db).catch(() => { });\n }\n else if (((_e = db.cloud.options) === null || _e === void 0 ? void 0 : _e.databaseUrl) &&\n db.cloud.schema &&\n !db.cloud.isServiceWorkerDB) {\n // There's no SW. Start SyncWorker instead.\n localSyncWorker = LocalSyncWorker(db, db.cloud.options, db.cloud.schema);\n localSyncWorker.start();\n triggerSync(db, changedUser ? 'pull' : 'push');\n }\n // Listen to online event and do sync.\n throwIfClosed();\n if (!db.cloud.isServiceWorkerDB) {\n subscriptions.push(fromEvent(self, 'online').subscribe(() => {\n console.debug('online!');\n db.syncStateChangedEvent.next({\n phase: 'not-in-sync',\n });\n if (!isEagerSyncDisabled(db)) {\n triggerSync(db, 'push');\n }\n }), fromEvent(self, 'offline').subscribe(() => {\n console.debug('offline!');\n db.syncStateChangedEvent.next({\n phase: 'offline',\n });\n }));\n }\n // Connect WebSocket unless we\n if (((_f = db.cloud.options) === null || _f === void 0 ? void 0 : _f.databaseUrl) &&\n !((_g = db.cloud.options) === null || _g === void 0 ? void 0 : _g.disableWebSocket) &&\n !IS_SERVICE_WORKER) {\n subscriptions.push(connectWebSocket(db));\n }\n });\n }\n}\ndexieCloud.version = '{version}';\nDexie.Cloud = dexieCloud;\n//Dexie.addons.push(dexieCloud);\nexport default dexieCloud;\n"],"names":["randomString","Symbol_observable","Symbol_iterator","asyncScheduler","iterator","concat","wm","firstValueFrom","from","filter","Observable","bigintDef","tsonBuiltinDefs","cmp","BehaviorSubject","Subject","counter","of","fromEvent","merge","Subscription","throwError","l","u","t","o","f","e","c","s","a","v","p","d","_","k","b","g","j","z","w","m","n","useState","useRef","useLayoutEffect","Fragment","Component","preact.render","combineLatest","map","share","timer","liveQuery"],"mappings":"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AAI,GAAG,EAAE,GAAG;IACZ,IAAI,GAAG,EAAE,GAAG;IACZ,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,IAAI,CAAC,EAAE,GAAG;IACV,I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","x_google_ignoreList":[0,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,162,165]}
|