@ekyc_qoobiss/qbs-ect-cmp 4.4.2 → 4.6.0
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/cjs/{TranslationUtils-ff21cb33.js → TranslationUtils-fe06fc2a.js} +3 -2
- package/dist/cjs/{TranslationUtils-ff21cb33.js.map → TranslationUtils-fe06fc2a.js.map} +1 -1
- package/dist/cjs/agreement-check.cjs.entry.js +1 -1
- package/dist/cjs/agreement-info_23.cjs.entry.js +2 -2
- package/dist/cjs/random-actions.cjs.entry.js +1 -1
- package/dist/collection/helpers/ApiCall.js +2 -1
- package/dist/collection/helpers/ApiCall.js.map +1 -1
- package/dist/esm/{TranslationUtils-d4bb5067.js → TranslationUtils-1a5714cc.js} +3 -2
- package/dist/esm/{TranslationUtils-d4bb5067.js.map → TranslationUtils-1a5714cc.js.map} +1 -1
- package/dist/esm/agreement-check.entry.js +1 -1
- package/dist/esm/agreement-info_23.entry.js +2 -2
- package/dist/esm/random-actions.entry.js +1 -1
- package/dist/qbs-ect-cmp/{p-717973c8.js → p-686bbe12.js} +2 -2
- package/dist/qbs-ect-cmp/p-686bbe12.js.map +1 -0
- package/dist/qbs-ect-cmp/{p-5f0bbc66.entry.js → p-7cd895a8.entry.js} +3 -3
- package/dist/qbs-ect-cmp/{p-62312620.entry.js → p-9785a999.entry.js} +2 -2
- package/dist/qbs-ect-cmp/{p-b1d50e64.entry.js → p-e6656d7a.entry.js} +2 -2
- package/dist/qbs-ect-cmp/qbs-ect-cmp.esm.js +1 -1
- package/package.json +1 -1
- package/dist/qbs-ect-cmp/p-717973c8.js.map +0 -1
- /package/dist/qbs-ect-cmp/{p-5f0bbc66.entry.js.map → p-7cd895a8.entry.js.map} +0 -0
- /package/dist/qbs-ect-cmp/{p-62312620.entry.js.map → p-9785a999.entry.js.map} +0 -0
- /package/dist/qbs-ect-cmp/{p-b1d50e64.entry.js.map → p-e6656d7a.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"TranslationUtils-ff21cb33.js","mappings":"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","names":["getRenderingRef","forceUpdate","FlowStatus","Dexie","store","FlowSteps","FlowMoments"],"sources":["node_modules/@stencil/store/dist/index.mjs","src/models/FlowStatus.ts","node_modules/dexie/dist/dexie.mjs","src/helpers/EctDb.ts","src/helpers/db.ts","src/helpers/store.ts","src/models/FlowSteps.ts","src/models/OrderStatuses.ts","src/helpers/textValues.ts","src/helpers/ApiCall.ts","src/helpers/TranslationUtils.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","export enum FlowStatus {\r\n CITIZENSHIP,\r\n LANDING,\r\n MOBILE,\r\n AGREEMENT,\r\n PHONE,\r\n CODE,\r\n CODEERROR,\r\n IDTYPE,\r\n IDFRONTHOWTO,\r\n IDFRONT,\r\n IDBACKHOWTO,\r\n IDBACK,\r\n IDTILTHOWTO,\r\n IDTILT,\r\n LIVENESSHOWTO,\r\n LIVENESS,\r\n LIVENESSGESTUREHOWTO,\r\n LIVENESSGESTURE,\r\n COMPLETE,\r\n ERROREND,\r\n CAMERAERROR,\r\n ABORTED,\r\n NONE,\r\n RANDOM\r\n}\r\n\r\nexport interface FlowResult {\r\n state: string;\r\n}\r\n","/*\n * Dexie.js - a minimalistic wrapper for IndexedDB\n * ===============================================\n *\n * By David Fahlander, david.fahlander@gmail.com\n *\n * Version 4.0.10, Fri Nov 15 2024\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n */\n \n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nvar _global = typeof globalThis !== 'undefined' ? globalThis :\n typeof self !== 'undefined' ? self :\n typeof window !== 'undefined' ? window :\n global;\n\nvar keys = Object.keys;\nvar isArray = Array.isArray;\nif (typeof Promise !== 'undefined' && !_global.Promise) {\n _global.Promise = Promise;\n}\nfunction extend(obj, extension) {\n if (typeof extension !== 'object')\n return obj;\n keys(extension).forEach(function (key) {\n obj[key] = extension[key];\n });\n return obj;\n}\nvar getProto = Object.getPrototypeOf;\nvar _hasOwn = {}.hasOwnProperty;\nfunction hasOwn(obj, prop) {\n return _hasOwn.call(obj, prop);\n}\nfunction props(proto, extension) {\n if (typeof extension === 'function')\n extension = extension(getProto(proto));\n (typeof Reflect === \"undefined\" ? keys : Reflect.ownKeys)(extension).forEach(function (key) {\n setProp(proto, key, extension[key]);\n });\n}\nvar defineProperty = Object.defineProperty;\nfunction setProp(obj, prop, functionOrGetSet, options) {\n defineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, \"get\") && typeof functionOrGetSet.get === 'function' ?\n { get: functionOrGetSet.get, set: functionOrGetSet.set, configurable: true } :\n { value: functionOrGetSet, configurable: true, writable: true }, options));\n}\nfunction derive(Child) {\n return {\n from: function (Parent) {\n Child.prototype = Object.create(Parent.prototype);\n setProp(Child.prototype, \"constructor\", Child);\n return {\n extend: props.bind(null, Child.prototype)\n };\n }\n };\n}\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nfunction getPropertyDescriptor(obj, prop) {\n var pd = getOwnPropertyDescriptor(obj, prop);\n var proto;\n return pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop);\n}\nvar _slice = [].slice;\nfunction slice(args, start, end) {\n return _slice.call(args, start, end);\n}\nfunction override(origFunc, overridedFactory) {\n return overridedFactory(origFunc);\n}\nfunction assert(b) {\n if (!b)\n throw new Error(\"Assertion Failed\");\n}\nfunction asap$1(fn) {\n if (_global.setImmediate)\n setImmediate(fn);\n else\n setTimeout(fn, 0);\n}\nfunction arrayToObject(array, extractor) {\n return array.reduce(function (result, item, i) {\n var nameAndValue = extractor(item, i);\n if (nameAndValue)\n result[nameAndValue[0]] = nameAndValue[1];\n return result;\n }, {});\n}\nfunction getByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string' && hasOwn(obj, keyPath))\n return obj[keyPath];\n if (!keyPath)\n return obj;\n if (typeof keyPath !== 'string') {\n var rv = [];\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n var val = getByKeyPath(obj, keyPath[i]);\n rv.push(val);\n }\n return rv;\n }\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var innerObj = obj[keyPath.substr(0, period)];\n return innerObj == null ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1));\n }\n return undefined;\n}\nfunction 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 (isArray(obj) && !isNaN(parseInt(currentKeyPath)))\n obj.splice(currentKeyPath, 1);\n else\n delete obj[currentKeyPath];\n }\n else\n obj[currentKeyPath] = value;\n else {\n var innerObj = obj[currentKeyPath];\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 (isArray(obj) && !isNaN(parseInt(keyPath)))\n obj.splice(keyPath, 1);\n else\n delete obj[keyPath];\n }\n else\n obj[keyPath] = value;\n }\n }\n}\nfunction delByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string')\n setByKeyPath(obj, keyPath, undefined);\n else if ('length' in keyPath)\n [].map.call(keyPath, function (kp) {\n setByKeyPath(obj, kp, undefined);\n });\n}\nfunction shallowClone(obj) {\n var rv = {};\n for (var m in obj) {\n if (hasOwn(obj, m))\n rv[m] = obj[m];\n }\n return rv;\n}\nvar concat = [].concat;\nfunction flatten(a) {\n return concat.apply([], a);\n}\nvar intrinsicTypeNames = \"BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey\"\n .split(',').concat(flatten([8, 16, 32, 64].map(function (num) { return [\"Int\", \"Uint\", \"Float\"].map(function (t) { return t + num + \"Array\"; }); }))).filter(function (t) { return _global[t]; });\nvar intrinsicTypes = new Set(intrinsicTypeNames.map(function (t) { return _global[t]; }));\nfunction cloneSimpleObjectTree(o) {\n var rv = {};\n for (var k in o)\n if (hasOwn(o, k)) {\n var v = o[k];\n rv[k] = !v || typeof v !== 'object' || intrinsicTypes.has(v.constructor) ? v : cloneSimpleObjectTree(v);\n }\n return rv;\n}\nfunction objectIsEmpty(o) {\n for (var k in o)\n if (hasOwn(o, k))\n return false;\n return true;\n}\nvar circularRefs = null;\nfunction deepClone(any) {\n circularRefs = new WeakMap();\n var rv = innerDeepClone(any);\n circularRefs = null;\n return rv;\n}\nfunction innerDeepClone(x) {\n if (!x || typeof x !== 'object')\n return x;\n var rv = circularRefs.get(x);\n if (rv)\n return rv;\n if (isArray(x)) {\n rv = [];\n circularRefs.set(x, rv);\n for (var i = 0, l = x.length; i < l; ++i) {\n rv.push(innerDeepClone(x[i]));\n }\n }\n else if (intrinsicTypes.has(x.constructor)) {\n rv = x;\n }\n else {\n var proto = getProto(x);\n rv = proto === Object.prototype ? {} : Object.create(proto);\n circularRefs.set(x, rv);\n for (var prop in x) {\n if (hasOwn(x, prop)) {\n rv[prop] = innerDeepClone(x[prop]);\n }\n }\n }\n return rv;\n}\nvar toString = {}.toString;\nfunction toStringTag(o) {\n return toString.call(o).slice(8, -1);\n}\nvar iteratorSymbol = typeof Symbol !== 'undefined' ?\n Symbol.iterator :\n '@@iterator';\nvar getIteratorOf = typeof iteratorSymbol === \"symbol\" ? function (x) {\n var i;\n return x != null && (i = x[iteratorSymbol]) && i.apply(x);\n} : function () { return null; };\nfunction delArrayItem(a, x) {\n var i = a.indexOf(x);\n if (i >= 0)\n a.splice(i, 1);\n return i >= 0;\n}\nvar NO_CHAR_ARRAY = {};\nfunction getArrayOf(arrayLike) {\n var i, a, x, it;\n if (arguments.length === 1) {\n if (isArray(arrayLike))\n return arrayLike.slice();\n if (this === NO_CHAR_ARRAY && typeof arrayLike === 'string')\n return [arrayLike];\n if ((it = getIteratorOf(arrayLike))) {\n a = [];\n while ((x = it.next()), !x.done)\n a.push(x.value);\n return a;\n }\n if (arrayLike == null)\n return [arrayLike];\n i = arrayLike.length;\n if (typeof i === 'number') {\n a = new Array(i);\n while (i--)\n a[i] = arrayLike[i];\n return a;\n }\n return [arrayLike];\n }\n i = arguments.length;\n a = new Array(i);\n while (i--)\n a[i] = arguments[i];\n return a;\n}\nvar isAsyncFunction = typeof Symbol !== 'undefined'\n ? function (fn) { return fn[Symbol.toStringTag] === 'AsyncFunction'; }\n : function () { return false; };\n\nvar dexieErrorNames = [\n 'Modify',\n 'Bulk',\n 'OpenFailed',\n 'VersionChange',\n 'Schema',\n 'Upgrade',\n 'InvalidTable',\n 'MissingAPI',\n 'NoSuchDatabase',\n 'InvalidArgument',\n 'SubTransaction',\n 'Unsupported',\n 'Internal',\n 'DatabaseClosed',\n 'PrematureCommit',\n 'ForeignAwait'\n];\nvar idbDomErrorNames = [\n 'Unknown',\n 'Constraint',\n 'Data',\n 'TransactionInactive',\n 'ReadOnly',\n 'Version',\n 'NotFound',\n 'InvalidState',\n 'InvalidAccess',\n 'Abort',\n 'Timeout',\n 'QuotaExceeded',\n 'Syntax',\n 'DataClone'\n];\nvar errorList = dexieErrorNames.concat(idbDomErrorNames);\nvar defaultTexts = {\n VersionChanged: \"Database version changed by other database connection\",\n DatabaseClosed: \"Database has been closed\",\n Abort: \"Transaction aborted\",\n TransactionInactive: \"Transaction has already completed or failed\",\n MissingAPI: \"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb\"\n};\nfunction DexieError(name, msg) {\n this.name = name;\n this.message = msg;\n}\nderive(DexieError).from(Error).extend({\n toString: function () { return this.name + \": \" + this.message; }\n});\nfunction getMultiErrorMessage(msg, failures) {\n return msg + \". Errors: \" + Object.keys(failures)\n .map(function (key) { return failures[key].toString(); })\n .filter(function (v, i, s) { return s.indexOf(v) === i; })\n .join('\\n');\n}\nfunction ModifyError(msg, failures, successCount, failedKeys) {\n this.failures = failures;\n this.failedKeys = failedKeys;\n this.successCount = successCount;\n this.message = getMultiErrorMessage(msg, failures);\n}\nderive(ModifyError).from(DexieError);\nfunction BulkError(msg, failures) {\n this.name = \"BulkError\";\n this.failures = Object.keys(failures).map(function (pos) { return failures[pos]; });\n this.failuresByPos = failures;\n this.message = getMultiErrorMessage(msg, this.failures);\n}\nderive(BulkError).from(DexieError);\nvar errnames = errorList.reduce(function (obj, name) { return (obj[name] = name + \"Error\", obj); }, {});\nvar BaseException = DexieError;\nvar exceptions = errorList.reduce(function (obj, name) {\n var fullName = name + \"Error\";\n function DexieError(msgOrInner, inner) {\n this.name = fullName;\n if (!msgOrInner) {\n this.message = defaultTexts[name] || fullName;\n this.inner = null;\n }\n else if (typeof msgOrInner === 'string') {\n this.message = \"\".concat(msgOrInner).concat(!inner ? '' : '\\n ' + inner);\n this.inner = inner || null;\n }\n else if (typeof msgOrInner === 'object') {\n this.message = \"\".concat(msgOrInner.name, \" \").concat(msgOrInner.message);\n this.inner = msgOrInner;\n }\n }\n derive(DexieError).from(BaseException);\n obj[name] = DexieError;\n return obj;\n}, {});\nexceptions.Syntax = SyntaxError;\nexceptions.Type = TypeError;\nexceptions.Range = RangeError;\nvar exceptionMap = idbDomErrorNames.reduce(function (obj, name) {\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n}, {});\nfunction mapError(domError, message) {\n if (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name])\n return domError;\n var rv = new exceptionMap[domError.name](message || domError.message, domError);\n if (\"stack\" in domError) {\n setProp(rv, \"stack\", { get: function () {\n return this.inner.stack;\n } });\n }\n return rv;\n}\nvar fullNameExceptions = errorList.reduce(function (obj, name) {\n if ([\"Syntax\", \"Type\", \"Range\"].indexOf(name) === -1)\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n}, {});\nfullNameExceptions.ModifyError = ModifyError;\nfullNameExceptions.DexieError = DexieError;\nfullNameExceptions.BulkError = BulkError;\n\nfunction nop() { }\nfunction mirror(val) { return val; }\nfunction pureFunctionChain(f1, f2) {\n if (f1 == null || f1 === mirror)\n return f2;\n return function (val) {\n return f2(f1(val));\n };\n}\nfunction callBoth(on1, on2) {\n return function () {\n on1.apply(this, arguments);\n on2.apply(this, arguments);\n };\n}\nfunction hookCreatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res !== undefined)\n arguments[0] = res;\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res2 !== undefined ? res2 : res;\n };\n}\nfunction hookDeletingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n f1.apply(this, arguments);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = this.onerror = null;\n f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n };\n}\nfunction hookUpdatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function (modifications) {\n var res = f1.apply(this, arguments);\n extend(modifications, res);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res === undefined ?\n (res2 === undefined ? undefined : res2) :\n (extend(res, res2));\n };\n}\nfunction reverseStoppableEventChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n if (f2.apply(this, arguments) === false)\n return false;\n return f1.apply(this, arguments);\n };\n}\nfunction promisableChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res && typeof res.then === 'function') {\n var thiz = this, i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n return res.then(function () {\n return f2.apply(thiz, args);\n });\n }\n return f2.apply(this, arguments);\n };\n}\n\nvar debug = typeof location !== 'undefined' &&\n /^(http|https):\\/\\/(localhost|127\\.0\\.0\\.1)/.test(location.href);\nfunction setDebug(value, filter) {\n debug = value;\n}\n\nvar INTERNAL = {};\nvar ZONE_ECHO_LIMIT = 100, _a$1 = typeof Promise === 'undefined' ?\n [] :\n (function () {\n var globalP = Promise.resolve();\n if (typeof crypto === 'undefined' || !crypto.subtle)\n return [globalP, getProto(globalP), globalP];\n var nativeP = crypto.subtle.digest(\"SHA-512\", new Uint8Array([0]));\n return [\n nativeP,\n getProto(nativeP),\n globalP\n ];\n })(), resolvedNativePromise = _a$1[0], nativePromiseProto = _a$1[1], resolvedGlobalPromise = _a$1[2], nativePromiseThen = nativePromiseProto && nativePromiseProto.then;\nvar NativePromise = resolvedNativePromise && resolvedNativePromise.constructor;\nvar patchGlobalPromise = !!resolvedGlobalPromise;\nfunction schedulePhysicalTick() {\n queueMicrotask(physicalTick);\n}\nvar asap = function (callback, args) {\n microtickQueue.push([callback, args]);\n if (needsNewPhysicalTick) {\n schedulePhysicalTick();\n needsNewPhysicalTick = false;\n }\n};\nvar isOutsideMicroTick = true,\nneedsNewPhysicalTick = true,\nunhandledErrors = [],\nrejectingErrors = [],\nrejectionMapper = mirror;\nvar globalPSD = {\n id: 'global',\n global: true,\n ref: 0,\n unhandleds: [],\n onunhandled: nop,\n pgp: false,\n env: {},\n finalize: nop\n};\nvar PSD = globalPSD;\nvar microtickQueue = [];\nvar numScheduledCalls = 0;\nvar tickFinalizers = [];\nfunction DexiePromise(fn) {\n if (typeof this !== 'object')\n throw new TypeError('Promises must be constructed via new');\n this._listeners = [];\n this._lib = false;\n var psd = (this._PSD = PSD);\n if (typeof fn !== 'function') {\n if (fn !== INTERNAL)\n throw new TypeError('Not a function');\n this._state = arguments[1];\n this._value = arguments[2];\n if (this._state === false)\n handleRejection(this, this._value);\n return;\n }\n this._state = null;\n this._value = null;\n ++psd.ref;\n executePromiseTask(this, fn);\n}\nvar thenProp = {\n get: function () {\n var psd = PSD, microTaskId = totalEchoes;\n function then(onFulfilled, onRejected) {\n var _this = this;\n var possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes);\n var cleanup = possibleAwait && !decrementExpectedAwaits();\n var rv = new DexiePromise(function (resolve, reject) {\n propagateToListener(_this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd));\n });\n if (this._consoleTask)\n rv._consoleTask = this._consoleTask;\n return rv;\n }\n then.prototype = INTERNAL;\n return then;\n },\n set: function (value) {\n setProp(this, 'then', value && value.prototype === INTERNAL ?\n thenProp :\n {\n get: function () {\n return value;\n },\n set: thenProp.set\n });\n }\n};\nprops(DexiePromise.prototype, {\n then: thenProp,\n _then: function (onFulfilled, onRejected) {\n propagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD));\n },\n catch: function (onRejected) {\n if (arguments.length === 1)\n return this.then(null, onRejected);\n var type = arguments[0], handler = arguments[1];\n return typeof type === 'function' ? this.then(null, function (err) {\n return err instanceof type ? handler(err) : PromiseReject(err);\n })\n : this.then(null, function (err) {\n return err && err.name === type ? handler(err) : PromiseReject(err);\n });\n },\n finally: function (onFinally) {\n return this.then(function (value) {\n return DexiePromise.resolve(onFinally()).then(function () { return value; });\n }, function (err) {\n return DexiePromise.resolve(onFinally()).then(function () { return PromiseReject(err); });\n });\n },\n timeout: function (ms, msg) {\n var _this = this;\n return ms < Infinity ?\n new DexiePromise(function (resolve, reject) {\n var handle = setTimeout(function () { return reject(new exceptions.Timeout(msg)); }, ms);\n _this.then(resolve, reject).finally(clearTimeout.bind(null, handle));\n }) : this;\n }\n});\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n setProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise');\nglobalPSD.env = snapShot();\nfunction Listener(onFulfilled, onRejected, resolve, reject, zone) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.resolve = resolve;\n this.reject = reject;\n this.psd = zone;\n}\nprops(DexiePromise, {\n all: function () {\n var values = getArrayOf.apply(null, arguments)\n .map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (values.length === 0)\n resolve([]);\n var remaining = values.length;\n values.forEach(function (a, i) { return DexiePromise.resolve(a).then(function (x) {\n values[i] = x;\n if (!--remaining)\n resolve(values);\n }, reject); });\n });\n },\n resolve: function (value) {\n if (value instanceof DexiePromise)\n return value;\n if (value && typeof value.then === 'function')\n return new DexiePromise(function (resolve, reject) {\n value.then(resolve, reject);\n });\n var rv = new DexiePromise(INTERNAL, true, value);\n return rv;\n },\n reject: PromiseReject,\n race: function () {\n var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n values.map(function (value) { return DexiePromise.resolve(value).then(resolve, reject); });\n });\n },\n PSD: {\n get: function () { return PSD; },\n set: function (value) { return PSD = value; }\n },\n totalEchoes: { get: function () { return totalEchoes; } },\n newPSD: newScope,\n usePSD: usePSD,\n scheduler: {\n get: function () { return asap; },\n set: function (value) { asap = value; }\n },\n rejectionMapper: {\n get: function () { return rejectionMapper; },\n set: function (value) { rejectionMapper = value; }\n },\n follow: function (fn, zoneProps) {\n return new DexiePromise(function (resolve, reject) {\n return newScope(function (resolve, reject) {\n var psd = PSD;\n psd.unhandleds = [];\n psd.onunhandled = reject;\n psd.finalize = callBoth(function () {\n var _this = this;\n run_at_end_of_this_or_next_physical_tick(function () {\n _this.unhandleds.length === 0 ? resolve() : reject(_this.unhandleds[0]);\n });\n }, psd.finalize);\n fn();\n }, zoneProps, resolve, reject);\n });\n }\n});\nif (NativePromise) {\n if (NativePromise.allSettled)\n setProp(DexiePromise, \"allSettled\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve) {\n if (possiblePromises.length === 0)\n resolve([]);\n var remaining = possiblePromises.length;\n var results = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: \"fulfilled\", value: value }; }, function (reason) { return results[i] = { status: \"rejected\", reason: reason }; })\n .then(function () { return --remaining || resolve(results); }); });\n });\n });\n if (NativePromise.any && typeof AggregateError !== 'undefined')\n setProp(DexiePromise, \"any\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (possiblePromises.length === 0)\n reject(new AggregateError([]));\n var remaining = possiblePromises.length;\n var failures = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {\n failures[i] = failure;\n if (!--remaining)\n reject(new AggregateError(failures));\n }); });\n });\n });\n if (NativePromise.withResolvers)\n DexiePromise.withResolvers = NativePromise.withResolvers;\n}\nfunction executePromiseTask(promise, fn) {\n try {\n fn(function (value) {\n if (promise._state !== null)\n return;\n if (value === promise)\n throw new TypeError('A promise cannot be resolved with itself.');\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n if (value && typeof value.then === 'function') {\n executePromiseTask(promise, function (resolve, reject) {\n value instanceof DexiePromise ?\n value._then(resolve, reject) :\n value.then(resolve, reject);\n });\n }\n else {\n promise._state = true;\n promise._value = value;\n propagateAllListeners(promise);\n }\n if (shouldExecuteTick)\n endMicroTickScope();\n }, handleRejection.bind(null, promise));\n }\n catch (ex) {\n handleRejection(promise, ex);\n }\n}\nfunction handleRejection(promise, reason) {\n rejectingErrors.push(reason);\n if (promise._state !== null)\n return;\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n reason = rejectionMapper(reason);\n promise._state = false;\n promise._value = reason;\n addPossiblyUnhandledError(promise);\n propagateAllListeners(promise);\n if (shouldExecuteTick)\n endMicroTickScope();\n}\nfunction propagateAllListeners(promise) {\n var listeners = promise._listeners;\n promise._listeners = [];\n for (var i = 0, len = listeners.length; i < len; ++i) {\n propagateToListener(promise, listeners[i]);\n }\n var psd = promise._PSD;\n --psd.ref || psd.finalize();\n if (numScheduledCalls === 0) {\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n }\n}\nfunction propagateToListener(promise, listener) {\n if (promise._state === null) {\n promise._listeners.push(listener);\n return;\n }\n var cb = promise._state ? listener.onFulfilled : listener.onRejected;\n if (cb === null) {\n return (promise._state ? listener.resolve : listener.reject)(promise._value);\n }\n ++listener.psd.ref;\n ++numScheduledCalls;\n asap(callListener, [cb, promise, listener]);\n}\nfunction callListener(cb, promise, listener) {\n try {\n var ret, value = promise._value;\n if (!promise._state && rejectingErrors.length)\n rejectingErrors = [];\n ret = debug && promise._consoleTask ? promise._consoleTask.run(function () { return cb(value); }) : cb(value);\n if (!promise._state && rejectingErrors.indexOf(value) === -1) {\n markErrorAsHandled(promise);\n }\n listener.resolve(ret);\n }\n catch (e) {\n listener.reject(e);\n }\n finally {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n --listener.psd.ref || listener.psd.finalize();\n }\n}\nfunction physicalTick() {\n usePSD(globalPSD, function () {\n beginMicroTickScope() && endMicroTickScope();\n });\n}\nfunction beginMicroTickScope() {\n var wasRootExec = isOutsideMicroTick;\n isOutsideMicroTick = false;\n needsNewPhysicalTick = false;\n return wasRootExec;\n}\nfunction endMicroTickScope() {\n var callbacks, i, l;\n do {\n while (microtickQueue.length > 0) {\n callbacks = microtickQueue;\n microtickQueue = [];\n l = callbacks.length;\n for (i = 0; i < l; ++i) {\n var item = callbacks[i];\n item[0].apply(null, item[1]);\n }\n }\n } while (microtickQueue.length > 0);\n isOutsideMicroTick = true;\n needsNewPhysicalTick = true;\n}\nfunction finalizePhysicalTick() {\n var unhandledErrs = unhandledErrors;\n unhandledErrors = [];\n unhandledErrs.forEach(function (p) {\n p._PSD.onunhandled.call(null, p._value, p);\n });\n var finalizers = tickFinalizers.slice(0);\n var i = finalizers.length;\n while (i)\n finalizers[--i]();\n}\nfunction run_at_end_of_this_or_next_physical_tick(fn) {\n function finalizer() {\n fn();\n tickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1);\n }\n tickFinalizers.push(finalizer);\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n}\nfunction addPossiblyUnhandledError(promise) {\n if (!unhandledErrors.some(function (p) { return p._value === promise._value; }))\n unhandledErrors.push(promise);\n}\nfunction markErrorAsHandled(promise) {\n var i = unhandledErrors.length;\n while (i)\n if (unhandledErrors[--i]._value === promise._value) {\n unhandledErrors.splice(i, 1);\n return;\n }\n}\nfunction PromiseReject(reason) {\n return new DexiePromise(INTERNAL, false, reason);\n}\nfunction wrap(fn, errorCatcher) {\n var psd = PSD;\n return function () {\n var wasRootExec = beginMicroTickScope(), outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn.apply(this, arguments);\n }\n catch (e) {\n errorCatcher && errorCatcher(e);\n }\n finally {\n switchToZone(outerScope, false);\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n}\nvar task = { awaits: 0, echoes: 0, id: 0 };\nvar taskCounter = 0;\nvar zoneStack = [];\nvar zoneEchoes = 0;\nvar totalEchoes = 0;\nvar zone_id_counter = 0;\nfunction newScope(fn, props, a1, a2) {\n var parent = PSD, psd = Object.create(parent);\n psd.parent = parent;\n psd.ref = 0;\n psd.global = false;\n psd.id = ++zone_id_counter;\n globalPSD.env;\n psd.env = patchGlobalPromise ? {\n Promise: DexiePromise,\n PromiseProp: { value: DexiePromise, configurable: true, writable: true },\n all: DexiePromise.all,\n race: DexiePromise.race,\n allSettled: DexiePromise.allSettled,\n any: DexiePromise.any,\n resolve: DexiePromise.resolve,\n reject: DexiePromise.reject,\n } : {};\n if (props)\n extend(psd, props);\n ++parent.ref;\n psd.finalize = function () {\n --this.parent.ref || this.parent.finalize();\n };\n var rv = usePSD(psd, fn, a1, a2);\n if (psd.ref === 0)\n psd.finalize();\n return rv;\n}\nfunction incrementExpectedAwaits() {\n if (!task.id)\n task.id = ++taskCounter;\n ++task.awaits;\n task.echoes += ZONE_ECHO_LIMIT;\n return task.id;\n}\nfunction decrementExpectedAwaits() {\n if (!task.awaits)\n return false;\n if (--task.awaits === 0)\n task.id = 0;\n task.echoes = task.awaits * ZONE_ECHO_LIMIT;\n return true;\n}\nif (('' + nativePromiseThen).indexOf('[native code]') === -1) {\n incrementExpectedAwaits = decrementExpectedAwaits = nop;\n}\nfunction onPossibleParallellAsync(possiblePromise) {\n if (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) {\n incrementExpectedAwaits();\n return possiblePromise.then(function (x) {\n decrementExpectedAwaits();\n return x;\n }, function (e) {\n decrementExpectedAwaits();\n return rejection(e);\n });\n }\n return possiblePromise;\n}\nfunction zoneEnterEcho(targetZone) {\n ++totalEchoes;\n if (!task.echoes || --task.echoes === 0) {\n task.echoes = task.awaits = task.id = 0;\n }\n zoneStack.push(PSD);\n switchToZone(targetZone, true);\n}\nfunction zoneLeaveEcho() {\n var zone = zoneStack[zoneStack.length - 1];\n zoneStack.pop();\n switchToZone(zone, false);\n}\nfunction switchToZone(targetZone, bEnteringZone) {\n var currentZone = PSD;\n if (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) {\n queueMicrotask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho);\n }\n if (targetZone === PSD)\n return;\n PSD = targetZone;\n if (currentZone === globalPSD)\n globalPSD.env = snapShot();\n if (patchGlobalPromise) {\n var GlobalPromise = globalPSD.env.Promise;\n var targetEnv = targetZone.env;\n if (currentZone.global || targetZone.global) {\n Object.defineProperty(_global, 'Promise', targetEnv.PromiseProp);\n GlobalPromise.all = targetEnv.all;\n GlobalPromise.race = targetEnv.race;\n GlobalPromise.resolve = targetEnv.resolve;\n GlobalPromise.reject = targetEnv.reject;\n if (targetEnv.allSettled)\n GlobalPromise.allSettled = targetEnv.allSettled;\n if (targetEnv.any)\n GlobalPromise.any = targetEnv.any;\n }\n }\n}\nfunction snapShot() {\n var GlobalPromise = _global.Promise;\n return patchGlobalPromise ? {\n Promise: GlobalPromise,\n PromiseProp: Object.getOwnPropertyDescriptor(_global, \"Promise\"),\n all: GlobalPromise.all,\n race: GlobalPromise.race,\n allSettled: GlobalPromise.allSettled,\n any: GlobalPromise.any,\n resolve: GlobalPromise.resolve,\n reject: GlobalPromise.reject,\n } : {};\n}\nfunction usePSD(psd, fn, a1, a2, a3) {\n var outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn(a1, a2, a3);\n }\n finally {\n switchToZone(outerScope, false);\n }\n}\nfunction nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {\n return typeof fn !== 'function' ? fn : function () {\n var outerZone = PSD;\n if (possibleAwait)\n incrementExpectedAwaits();\n switchToZone(zone, true);\n try {\n return fn.apply(this, arguments);\n }\n finally {\n switchToZone(outerZone, false);\n if (cleanup)\n queueMicrotask(decrementExpectedAwaits);\n }\n };\n}\nfunction execInGlobalContext(cb) {\n if (Promise === NativePromise && task.echoes === 0) {\n if (zoneEchoes === 0) {\n cb();\n }\n else {\n enqueueNativeMicroTask(cb);\n }\n }\n else {\n setTimeout(cb, 0);\n }\n}\nvar rejection = DexiePromise.reject;\n\nfunction tempTransaction(db, mode, storeNames, fn) {\n if (!db.idbdb || (!db._state.openComplete && (!PSD.letThrough && !db._vip))) {\n if (db._state.openComplete) {\n return rejection(new exceptions.DatabaseClosed(db._state.dbOpenError));\n }\n if (!db._state.isBeingOpened) {\n if (!db._state.autoOpen)\n return rejection(new exceptions.DatabaseClosed());\n db.open().catch(nop);\n }\n return db._state.dbReadyPromise.then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n else {\n var trans = db._createTransaction(mode, storeNames, db._dbSchema);\n try {\n trans.create();\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n return rejection(ex);\n }\n return trans._promise(mode, function (resolve, reject) {\n return newScope(function () {\n PSD.trans = trans;\n return fn(resolve, reject, trans);\n });\n }).then(function (result) {\n if (mode === 'readwrite')\n try {\n trans.idbtrans.commit();\n }\n catch (_a) { }\n return mode === 'readonly' ? result : trans._completion.then(function () { return result; });\n });\n }\n}\n\nvar DEXIE_VERSION = '4.0.10';\nvar maxString = String.fromCharCode(65535);\nvar minKey = -Infinity;\nvar INVALID_KEY_ARGUMENT = \"Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.\";\nvar STRING_EXPECTED = \"String expected.\";\nvar connections = [];\nvar DBNAMES_DB = '__dbnames';\nvar READONLY = 'readonly';\nvar READWRITE = 'readwrite';\n\nfunction combine(filter1, filter2) {\n return filter1 ?\n filter2 ?\n function () { return filter1.apply(this, arguments) && filter2.apply(this, arguments); } :\n filter1 :\n filter2;\n}\n\nvar AnyRange = {\n type: 3 ,\n lower: -Infinity,\n lowerOpen: false,\n upper: [[]],\n upperOpen: false\n};\n\nfunction workaroundForUndefinedPrimKey(keyPath) {\n return typeof keyPath === \"string\" && !/\\./.test(keyPath)\n ? function (obj) {\n if (obj[keyPath] === undefined && (keyPath in obj)) {\n obj = deepClone(obj);\n delete obj[keyPath];\n }\n return obj;\n }\n : function (obj) { return obj; };\n}\n\nfunction Entity() {\n throw exceptions.Type();\n}\n\nfunction cmp(a, b) {\n try {\n var ta = type(a);\n var tb = type(b);\n if (ta !== tb) {\n if (ta === 'Array')\n return 1;\n if (tb === 'Array')\n return -1;\n if (ta === 'binary')\n return 1;\n if (tb === 'binary')\n return -1;\n if (ta === 'string')\n return 1;\n if (tb === 'string')\n return -1;\n if (ta === 'Date')\n return 1;\n if (tb !== 'Date')\n return NaN;\n return -1;\n }\n switch (ta) {\n case 'number':\n case 'Date':\n case 'string':\n return a > b ? 1 : a < b ? -1 : 0;\n case 'binary': {\n return compareUint8Arrays(getUint8Array(a), getUint8Array(b));\n }\n case 'Array':\n return compareArrays(a, b);\n }\n }\n catch (_a) { }\n return NaN;\n}\nfunction compareArrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n var res = cmp(a[i], b[i]);\n if (res !== 0)\n return res;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction compareUint8Arrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n if (a[i] !== b[i])\n return a[i] < b[i] ? -1 : 1;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction type(x) {\n var t = typeof x;\n if (t !== 'object')\n return t;\n if (ArrayBuffer.isView(x))\n return 'binary';\n var tsTag = toStringTag(x);\n return tsTag === 'ArrayBuffer' ? 'binary' : tsTag;\n}\nfunction getUint8Array(a) {\n if (a instanceof Uint8Array)\n return a;\n if (ArrayBuffer.isView(a))\n return new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n return new Uint8Array(a);\n}\n\nvar Table = (function () {\n function Table() {\n }\n Table.prototype._trans = function (mode, fn, writeLocked) {\n var trans = this._tx || PSD.trans;\n var tableName = this.name;\n var task = debug && typeof console !== 'undefined' && console.createTask && console.createTask(\"Dexie: \".concat(mode === 'readonly' ? 'read' : 'write', \" \").concat(this.name));\n function checkTableInTransaction(resolve, reject, trans) {\n if (!trans.schema[tableName])\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n return fn(trans.idbtrans, trans);\n }\n var wasRootExec = beginMicroTickScope();\n try {\n var p = trans && trans.db._novip === this.db._novip ?\n trans === PSD.trans ?\n trans._promise(mode, checkTableInTransaction, writeLocked) :\n newScope(function () { return trans._promise(mode, checkTableInTransaction, writeLocked); }, { trans: trans, transless: PSD.transless || PSD }) :\n tempTransaction(this.db, mode, [this.name], checkTableInTransaction);\n if (task) {\n p._consoleTask = task;\n p = p.catch(function (err) {\n console.trace(err);\n return rejection(err);\n });\n }\n return p;\n }\n finally {\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n Table.prototype.get = function (keyOrCrit, cb) {\n var _this = this;\n if (keyOrCrit && keyOrCrit.constructor === Object)\n return this.where(keyOrCrit).first(cb);\n if (keyOrCrit == null)\n return rejection(new exceptions.Type(\"Invalid argument to Table.get()\"));\n return this._trans('readonly', function (trans) {\n return _this.core.get({ trans: trans, key: keyOrCrit })\n .then(function (res) { return _this.hook.reading.fire(res); });\n }).then(cb);\n };\n Table.prototype.where = function (indexOrCrit) {\n if (typeof indexOrCrit === 'string')\n return new this.db.WhereClause(this, indexOrCrit);\n if (isArray(indexOrCrit))\n return new this.db.WhereClause(this, \"[\".concat(indexOrCrit.join('+'), \"]\"));\n var keyPaths = keys(indexOrCrit);\n if (keyPaths.length === 1)\n return this\n .where(keyPaths[0])\n .equals(indexOrCrit[keyPaths[0]]);\n var compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(function (ix) {\n if (ix.compound &&\n keyPaths.every(function (keyPath) { return ix.keyPath.indexOf(keyPath) >= 0; })) {\n for (var i = 0; i < keyPaths.length; ++i) {\n if (keyPaths.indexOf(ix.keyPath[i]) === -1)\n return false;\n }\n return true;\n }\n return false;\n }).sort(function (a, b) { return a.keyPath.length - b.keyPath.length; })[0];\n if (compoundIndex && this.db._maxKey !== maxString) {\n var keyPathsInValidOrder = compoundIndex.keyPath.slice(0, keyPaths.length);\n return this\n .where(keyPathsInValidOrder)\n .equals(keyPathsInValidOrder.map(function (kp) { return indexOrCrit[kp]; }));\n }\n if (!compoundIndex && debug)\n console.warn(\"The query \".concat(JSON.stringify(indexOrCrit), \" on \").concat(this.name, \" would benefit from a \") +\n \"compound index [\".concat(keyPaths.join('+'), \"]\"));\n var idxByName = this.schema.idxByName;\n function equals(a, b) {\n return cmp(a, b) === 0;\n }\n var _a = keyPaths.reduce(function (_a, keyPath) {\n var prevIndex = _a[0], prevFilterFn = _a[1];\n var index = idxByName[keyPath];\n var value = indexOrCrit[keyPath];\n return [\n prevIndex || index,\n prevIndex || !index ?\n combine(prevFilterFn, index && index.multi ?\n function (x) {\n var prop = getByKeyPath(x, keyPath);\n return isArray(prop) && prop.some(function (item) { return equals(value, item); });\n } : function (x) { return equals(value, getByKeyPath(x, keyPath)); })\n : prevFilterFn\n ];\n }, [null, null]), idx = _a[0], filterFunction = _a[1];\n return idx ?\n this.where(idx.name).equals(indexOrCrit[idx.keyPath])\n .filter(filterFunction) :\n compoundIndex ?\n this.filter(filterFunction) :\n this.where(keyPaths).equals('');\n };\n Table.prototype.filter = function (filterFunction) {\n return this.toCollection().and(filterFunction);\n };\n Table.prototype.count = function (thenShortcut) {\n return this.toCollection().count(thenShortcut);\n };\n Table.prototype.offset = function (offset) {\n return this.toCollection().offset(offset);\n };\n Table.prototype.limit = function (numRows) {\n return this.toCollection().limit(numRows);\n };\n Table.prototype.each = function (callback) {\n return this.toCollection().each(callback);\n };\n Table.prototype.toArray = function (thenShortcut) {\n return this.toCollection().toArray(thenShortcut);\n };\n Table.prototype.toCollection = function () {\n return new this.db.Collection(new this.db.WhereClause(this));\n };\n Table.prototype.orderBy = function (index) {\n return new this.db.Collection(new this.db.WhereClause(this, isArray(index) ?\n \"[\".concat(index.join('+'), \"]\") :\n index));\n };\n Table.prototype.reverse = function () {\n return this.toCollection().reverse();\n };\n Table.prototype.mapToClass = function (constructor) {\n var _a = this, db = _a.db, tableName = _a.name;\n this.schema.mappedClass = constructor;\n if (constructor.prototype instanceof Entity) {\n constructor = (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(class_1.prototype, \"db\", {\n get: function () { return db; },\n enumerable: false,\n configurable: true\n });\n class_1.prototype.table = function () { return tableName; };\n return class_1;\n }(constructor));\n }\n var inheritedProps = new Set();\n for (var proto = constructor.prototype; proto; proto = getProto(proto)) {\n Object.getOwnPropertyNames(proto).forEach(function (propName) { return inheritedProps.add(propName); });\n }\n var readHook = function (obj) {\n if (!obj)\n return obj;\n var res = Object.create(constructor.prototype);\n for (var m in obj)\n if (!inheritedProps.has(m))\n try {\n res[m] = obj[m];\n }\n catch (_) { }\n return res;\n };\n if (this.schema.readHook) {\n this.hook.reading.unsubscribe(this.schema.readHook);\n }\n this.schema.readHook = readHook;\n this.hook(\"reading\", readHook);\n return constructor;\n };\n Table.prototype.defineClass = function () {\n function Class(content) {\n extend(this, content);\n }\n return this.mapToClass(Class);\n };\n Table.prototype.add = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'add', keys: key != null ? [key] : null, values: [objToAdd] });\n }).then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.update = function (keyOrObject, modifications) {\n if (typeof keyOrObject === 'object' && !isArray(keyOrObject)) {\n var key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath);\n if (key === undefined)\n return rejection(new exceptions.InvalidArgument(\"Given object does not contain its primary key\"));\n return this.where(\":id\").equals(key).modify(modifications);\n }\n else {\n return this.where(\":id\").equals(keyOrObject).modify(modifications);\n }\n };\n Table.prototype.put = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'put', values: [objToAdd], keys: key != null ? [key] : null }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.delete = function (key) {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'delete', keys: [key] }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.clear = function () {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'deleteRange', range: AnyRange }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.bulkGet = function (keys) {\n var _this = this;\n return this._trans('readonly', function (trans) {\n return _this.core.getMany({\n keys: keys,\n trans: trans\n }).then(function (result) { return result.map(function (res) { return _this.hook.reading.fire(res); }); });\n });\n };\n Table.prototype.bulkAdd = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkAdd(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToAdd = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'add', keys: keys, values: objectsToAdd, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkAdd(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkPut = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkPut(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToPut = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'put', keys: keys, values: objectsToPut, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkPut(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkUpdate = function (keysAndChanges) {\n var _this = this;\n var coreTable = this.core;\n var keys = keysAndChanges.map(function (entry) { return entry.key; });\n var changeSpecs = keysAndChanges.map(function (entry) { return entry.changes; });\n var offsetMap = [];\n return this._trans('readwrite', function (trans) {\n return coreTable.getMany({ trans: trans, keys: keys, cache: 'clone' }).then(function (objs) {\n var resultKeys = [];\n var resultObjs = [];\n keysAndChanges.forEach(function (_a, idx) {\n var key = _a.key, changes = _a.changes;\n var obj = objs[idx];\n if (obj) {\n for (var _i = 0, _b = Object.keys(changes); _i < _b.length; _i++) {\n var keyPath = _b[_i];\n var value = changes[keyPath];\n if (keyPath === _this.schema.primKey.keyPath) {\n if (cmp(value, key) !== 0) {\n throw new exceptions.Constraint(\"Cannot update primary key in bulkUpdate()\");\n }\n }\n else {\n setByKeyPath(obj, keyPath, value);\n }\n }\n offsetMap.push(idx);\n resultKeys.push(key);\n resultObjs.push(obj);\n }\n });\n var numEntries = resultKeys.length;\n return coreTable\n .mutate({\n trans: trans,\n type: 'put',\n keys: resultKeys,\n values: resultObjs,\n updates: {\n keys: keys,\n changeSpecs: changeSpecs\n }\n })\n .then(function (_a) {\n var numFailures = _a.numFailures, failures = _a.failures;\n if (numFailures === 0)\n return numEntries;\n for (var _i = 0, _b = Object.keys(failures); _i < _b.length; _i++) {\n var offset = _b[_i];\n var mappedOffset = offsetMap[Number(offset)];\n if (mappedOffset != null) {\n var failure = failures[offset];\n delete failures[offset];\n failures[mappedOffset] = failure;\n }\n }\n throw new BulkError(\"\".concat(_this.name, \".bulkUpdate(): \").concat(numFailures, \" of \").concat(numEntries, \" operations failed\"), failures);\n });\n });\n });\n };\n Table.prototype.bulkDelete = function (keys) {\n var _this = this;\n var numKeys = keys.length;\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'delete', keys: keys });\n }).then(function (_a) {\n var numFailures = _a.numFailures, lastResult = _a.lastResult, failures = _a.failures;\n if (numFailures === 0)\n return lastResult;\n throw new BulkError(\"\".concat(_this.name, \".bulkDelete(): \").concat(numFailures, \" of \").concat(numKeys, \" operations failed\"), failures);\n });\n };\n return Table;\n}());\n\nfunction Events(ctx) {\n var evs = {};\n var rv = function (eventName, subscriber) {\n if (subscriber) {\n var i = arguments.length, args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n evs[eventName].subscribe.apply(null, args);\n return ctx;\n }\n else if (typeof (eventName) === 'string') {\n return evs[eventName];\n }\n };\n rv.addEventType = add;\n for (var i = 1, l = arguments.length; i < l; ++i) {\n add(arguments[i]);\n }\n return rv;\n function add(eventName, chainFunction, defaultFunction) {\n if (typeof eventName === 'object')\n return addConfiguredEvents(eventName);\n if (!chainFunction)\n chainFunction = reverseStoppableEventChain;\n if (!defaultFunction)\n defaultFunction = nop;\n var context = {\n subscribers: [],\n fire: defaultFunction,\n subscribe: function (cb) {\n if (context.subscribers.indexOf(cb) === -1) {\n context.subscribers.push(cb);\n context.fire = chainFunction(context.fire, cb);\n }\n },\n unsubscribe: function (cb) {\n context.subscribers = context.subscribers.filter(function (fn) { return fn !== cb; });\n context.fire = context.subscribers.reduce(chainFunction, defaultFunction);\n }\n };\n evs[eventName] = rv[eventName] = context;\n return context;\n }\n function addConfiguredEvents(cfg) {\n keys(cfg).forEach(function (eventName) {\n var args = cfg[eventName];\n if (isArray(args)) {\n add(eventName, cfg[eventName][0], cfg[eventName][1]);\n }\n else if (args === 'asap') {\n var context = add(eventName, mirror, function fire() {\n var i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n context.subscribers.forEach(function (fn) {\n asap$1(function fireEvent() {\n fn.apply(null, args);\n });\n });\n });\n }\n else\n throw new exceptions.InvalidArgument(\"Invalid event config\");\n });\n }\n}\n\nfunction makeClassConstructor(prototype, constructor) {\n derive(constructor).from({ prototype: prototype });\n return constructor;\n}\n\nfunction createTableConstructor(db) {\n return makeClassConstructor(Table.prototype, function Table(name, tableSchema, trans) {\n this.db = db;\n this._tx = trans;\n this.name = name;\n this.schema = tableSchema;\n this.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, {\n \"creating\": [hookCreatingChain, nop],\n \"reading\": [pureFunctionChain, mirror],\n \"updating\": [hookUpdatingChain, nop],\n \"deleting\": [hookDeletingChain, nop]\n });\n });\n}\n\nfunction isPlainKeyRange(ctx, ignoreLimitFilter) {\n return !(ctx.filter || ctx.algorithm || ctx.or) &&\n (ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter);\n}\nfunction addFilter(ctx, fn) {\n ctx.filter = combine(ctx.filter, fn);\n}\nfunction addReplayFilter(ctx, factory, isLimitFilter) {\n var curr = ctx.replayFilter;\n ctx.replayFilter = curr ? function () { return combine(curr(), factory()); } : factory;\n ctx.justLimit = isLimitFilter && !curr;\n}\nfunction addMatchFilter(ctx, fn) {\n ctx.isMatch = combine(ctx.isMatch, fn);\n}\nfunction getIndexOrStore(ctx, coreSchema) {\n if (ctx.isPrimKey)\n return coreSchema.primaryKey;\n var index = coreSchema.getIndexByKeyPath(ctx.index);\n if (!index)\n throw new exceptions.Schema(\"KeyPath \" + ctx.index + \" on object store \" + coreSchema.name + \" is not indexed\");\n return index;\n}\nfunction openCursor(ctx, coreTable, trans) {\n var index = getIndexOrStore(ctx, coreTable.schema);\n return coreTable.openCursor({\n trans: trans,\n values: !ctx.keysOnly,\n reverse: ctx.dir === 'prev',\n unique: !!ctx.unique,\n query: {\n index: index,\n range: ctx.range\n }\n });\n}\nfunction iter(ctx, fn, coreTrans, coreTable) {\n var filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter;\n if (!ctx.or) {\n return iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper);\n }\n else {\n var set_1 = {};\n var union = function (item, cursor, advance) {\n if (!filter || filter(cursor, advance, function (result) { return cursor.stop(result); }, function (err) { return cursor.fail(err); })) {\n var primaryKey = cursor.primaryKey;\n var key = '' + primaryKey;\n if (key === '[object ArrayBuffer]')\n key = '' + new Uint8Array(primaryKey);\n if (!hasOwn(set_1, key)) {\n set_1[key] = true;\n fn(item, cursor, advance);\n }\n }\n };\n return Promise.all([\n ctx.or._iterate(union, coreTrans),\n iterate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper)\n ]);\n }\n}\nfunction iterate(cursorPromise, filter, fn, valueMapper) {\n var mappedFn = valueMapper ? function (x, c, a) { return fn(valueMapper(x), c, a); } : fn;\n var wrappedFn = wrap(mappedFn);\n return cursorPromise.then(function (cursor) {\n if (cursor) {\n return cursor.start(function () {\n var c = function () { return cursor.continue(); };\n if (!filter || filter(cursor, function (advancer) { return c = advancer; }, function (val) { cursor.stop(val); c = nop; }, function (e) { cursor.fail(e); c = nop; }))\n wrappedFn(cursor.value, cursor, function (advancer) { return c = advancer; });\n c();\n });\n }\n });\n}\n\nvar PropModSymbol = Symbol();\nvar PropModification = (function () {\n function PropModification(spec) {\n Object.assign(this, spec);\n }\n PropModification.prototype.execute = function (value) {\n var _a;\n if (this.add !== undefined) {\n var term = this.add;\n if (isArray(term)) {\n return __spreadArray(__spreadArray([], (isArray(value) ? value : []), true), term, true).sort();\n }\n if (typeof term === 'number')\n return (Number(value) || 0) + term;\n if (typeof term === 'bigint') {\n try {\n return BigInt(value) + term;\n }\n catch (_b) {\n return BigInt(0) + term;\n }\n }\n throw new TypeError(\"Invalid term \".concat(term));\n }\n if (this.remove !== undefined) {\n var subtrahend_1 = this.remove;\n if (isArray(subtrahend_1)) {\n return isArray(value) ? value.filter(function (item) { return !subtrahend_1.includes(item); }).sort() : [];\n }\n if (typeof subtrahend_1 === 'number')\n return Number(value) - subtrahend_1;\n if (typeof subtrahend_1 === 'bigint') {\n try {\n return BigInt(value) - subtrahend_1;\n }\n catch (_c) {\n return BigInt(0) - subtrahend_1;\n }\n }\n throw new TypeError(\"Invalid subtrahend \".concat(subtrahend_1));\n }\n var prefixToReplace = (_a = this.replacePrefix) === null || _a === void 0 ? void 0 : _a[0];\n if (prefixToReplace && typeof value === 'string' && value.startsWith(prefixToReplace)) {\n return this.replacePrefix[1] + value.substring(prefixToReplace.length);\n }\n return value;\n };\n return PropModification;\n}());\n\nvar Collection = (function () {\n function Collection() {\n }\n Collection.prototype._read = function (fn, cb) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readonly', fn).then(cb);\n };\n Collection.prototype._write = function (fn) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readwrite', fn, \"locked\");\n };\n Collection.prototype._addAlgorithm = function (fn) {\n var ctx = this._ctx;\n ctx.algorithm = combine(ctx.algorithm, fn);\n };\n Collection.prototype._iterate = function (fn, coreTrans) {\n return iter(this._ctx, fn, coreTrans, this._ctx.table.core);\n };\n Collection.prototype.clone = function (props) {\n var rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx);\n if (props)\n extend(ctx, props);\n rv._ctx = ctx;\n return rv;\n };\n Collection.prototype.raw = function () {\n this._ctx.valueMapper = null;\n return this;\n };\n Collection.prototype.each = function (fn) {\n var ctx = this._ctx;\n return this._read(function (trans) { return iter(ctx, fn, trans, ctx.table.core); });\n };\n Collection.prototype.count = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n var coreTable = ctx.table.core;\n if (isPlainKeyRange(ctx, true)) {\n return coreTable.count({\n trans: trans,\n query: {\n index: getIndexOrStore(ctx, coreTable.schema),\n range: ctx.range\n }\n }).then(function (count) { return Math.min(count, ctx.limit); });\n }\n else {\n var count = 0;\n return iter(ctx, function () { ++count; return false; }, trans, coreTable)\n .then(function () { return count; });\n }\n }).then(cb);\n };\n Collection.prototype.sortBy = function (keyPath, cb) {\n var parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1;\n function getval(obj, i) {\n if (i)\n return getval(obj[parts[i]], i - 1);\n return obj[lastPart];\n }\n var order = this._ctx.dir === \"next\" ? 1 : -1;\n function sorter(a, b) {\n var aVal = getval(a, lastIndex), bVal = getval(b, lastIndex);\n return cmp(aVal, bVal) * order;\n }\n return this.toArray(function (a) {\n return a.sort(sorter);\n }).then(cb);\n };\n Collection.prototype.toArray = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n var valueMapper_1 = ctx.valueMapper;\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n limit: ctx.limit,\n values: true,\n query: {\n index: index,\n range: ctx.range\n }\n }).then(function (_a) {\n var result = _a.result;\n return valueMapper_1 ? result.map(valueMapper_1) : result;\n });\n }\n else {\n var a_1 = [];\n return iter(ctx, function (item) { return a_1.push(item); }, trans, ctx.table.core).then(function () { return a_1; });\n }\n }, cb);\n };\n Collection.prototype.offset = function (offset) {\n var ctx = this._ctx;\n if (offset <= 0)\n return this;\n ctx.offset += offset;\n if (isPlainKeyRange(ctx)) {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function (cursor, advance) {\n if (offsetLeft === 0)\n return true;\n if (offsetLeft === 1) {\n --offsetLeft;\n return false;\n }\n advance(function () {\n cursor.advance(offsetLeft);\n offsetLeft = 0;\n });\n return false;\n };\n });\n }\n else {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function () { return (--offsetLeft < 0); };\n });\n }\n return this;\n };\n Collection.prototype.limit = function (numRows) {\n this._ctx.limit = Math.min(this._ctx.limit, numRows);\n addReplayFilter(this._ctx, function () {\n var rowsLeft = numRows;\n return function (cursor, advance, resolve) {\n if (--rowsLeft <= 0)\n advance(resolve);\n return rowsLeft >= 0;\n };\n }, true);\n return this;\n };\n Collection.prototype.until = function (filterFunction, bIncludeStopEntry) {\n addFilter(this._ctx, function (cursor, advance, resolve) {\n if (filterFunction(cursor.value)) {\n advance(resolve);\n return bIncludeStopEntry;\n }\n else {\n return true;\n }\n });\n return this;\n };\n Collection.prototype.first = function (cb) {\n return this.limit(1).toArray(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.last = function (cb) {\n return this.reverse().first(cb);\n };\n Collection.prototype.filter = function (filterFunction) {\n addFilter(this._ctx, function (cursor) {\n return filterFunction(cursor.value);\n });\n addMatchFilter(this._ctx, filterFunction);\n return this;\n };\n Collection.prototype.and = function (filter) {\n return this.filter(filter);\n };\n Collection.prototype.or = function (indexName) {\n return new this.db.WhereClause(this._ctx.table, indexName, this);\n };\n Collection.prototype.reverse = function () {\n this._ctx.dir = (this._ctx.dir === \"prev\" ? \"next\" : \"prev\");\n if (this._ondirectionchange)\n this._ondirectionchange(this._ctx.dir);\n return this;\n };\n Collection.prototype.desc = function () {\n return this.reverse();\n };\n Collection.prototype.eachKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.key, cursor); });\n };\n Collection.prototype.eachUniqueKey = function (cb) {\n this._ctx.unique = \"unique\";\n return this.eachKey(cb);\n };\n Collection.prototype.eachPrimaryKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.primaryKey, cursor); });\n };\n Collection.prototype.keys = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.key);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.primaryKeys = function (cb) {\n var ctx = this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n return this._read(function (trans) {\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n values: false,\n limit: ctx.limit,\n query: {\n index: index,\n range: ctx.range\n }\n });\n }).then(function (_a) {\n var result = _a.result;\n return result;\n }).then(cb);\n }\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.primaryKey);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.uniqueKeys = function (cb) {\n this._ctx.unique = \"unique\";\n return this.keys(cb);\n };\n Collection.prototype.firstKey = function (cb) {\n return this.limit(1).keys(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.lastKey = function (cb) {\n return this.reverse().firstKey(cb);\n };\n Collection.prototype.distinct = function () {\n var ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index];\n if (!idx || !idx.multi)\n return this;\n var set = {};\n addFilter(this._ctx, function (cursor) {\n var strKey = cursor.primaryKey.toString();\n var found = hasOwn(set, strKey);\n set[strKey] = true;\n return !found;\n });\n return this;\n };\n Collection.prototype.modify = function (changes) {\n var _this = this;\n var ctx = this._ctx;\n return this._write(function (trans) {\n var modifyer;\n if (typeof changes === 'function') {\n modifyer = changes;\n }\n else {\n var keyPaths = keys(changes);\n var numKeys = keyPaths.length;\n modifyer = function (item) {\n var anythingModified = false;\n for (var i = 0; i < numKeys; ++i) {\n var keyPath = keyPaths[i];\n var val = changes[keyPath];\n var origVal = getByKeyPath(item, keyPath);\n if (val instanceof PropModification) {\n setByKeyPath(item, keyPath, val.execute(origVal));\n anythingModified = true;\n }\n else if (origVal !== val) {\n setByKeyPath(item, keyPath, val);\n anythingModified = true;\n }\n }\n return anythingModified;\n };\n }\n var coreTable = ctx.table.core;\n var _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;\n var limit = 200;\n var modifyChunkSize = _this.db._options.modifyChunkSize;\n if (modifyChunkSize) {\n if (typeof modifyChunkSize == 'object') {\n limit = modifyChunkSize[coreTable.name] || modifyChunkSize['*'] || 200;\n }\n else {\n limit = modifyChunkSize;\n }\n }\n var totalFailures = [];\n var successCount = 0;\n var failedKeys = [];\n var applyMutateResult = function (expectedCount, res) {\n var failures = res.failures, numFailures = res.numFailures;\n successCount += expectedCount - numFailures;\n for (var _i = 0, _a = keys(failures); _i < _a.length; _i++) {\n var pos = _a[_i];\n totalFailures.push(failures[pos]);\n }\n };\n return _this.clone().primaryKeys().then(function (keys) {\n var criteria = isPlainKeyRange(ctx) &&\n ctx.limit === Infinity &&\n (typeof changes !== 'function' || changes === deleteCallback) && {\n index: ctx.index,\n range: ctx.range\n };\n var nextChunk = function (offset) {\n var count = Math.min(limit, keys.length - offset);\n return coreTable.getMany({\n trans: trans,\n keys: keys.slice(offset, offset + count),\n cache: \"immutable\"\n }).then(function (values) {\n var addValues = [];\n var putValues = [];\n var putKeys = outbound ? [] : null;\n var deleteKeys = [];\n for (var i = 0; i < count; ++i) {\n var origValue = values[i];\n var ctx_1 = {\n value: deepClone(origValue),\n primKey: keys[offset + i]\n };\n if (modifyer.call(ctx_1, ctx_1.value, ctx_1) !== false) {\n if (ctx_1.value == null) {\n deleteKeys.push(keys[offset + i]);\n }\n else if (!outbound && cmp(extractKey(origValue), extractKey(ctx_1.value)) !== 0) {\n deleteKeys.push(keys[offset + i]);\n addValues.push(ctx_1.value);\n }\n else {\n putValues.push(ctx_1.value);\n if (outbound)\n putKeys.push(keys[offset + i]);\n }\n }\n }\n return Promise.resolve(addValues.length > 0 &&\n coreTable.mutate({ trans: trans, type: 'add', values: addValues })\n .then(function (res) {\n for (var pos in res.failures) {\n deleteKeys.splice(parseInt(pos), 1);\n }\n applyMutateResult(addValues.length, res);\n })).then(function () { return (putValues.length > 0 || (criteria && typeof changes === 'object')) &&\n coreTable.mutate({\n trans: trans,\n type: 'put',\n keys: putKeys,\n values: putValues,\n criteria: criteria,\n changeSpec: typeof changes !== 'function'\n && changes,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(putValues.length, res); }); }).then(function () { return (deleteKeys.length > 0 || (criteria && changes === deleteCallback)) &&\n coreTable.mutate({\n trans: trans,\n type: 'delete',\n keys: deleteKeys,\n criteria: criteria,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(deleteKeys.length, res); }); }).then(function () {\n return keys.length > offset + count && nextChunk(offset + limit);\n });\n });\n };\n return nextChunk(0).then(function () {\n if (totalFailures.length > 0)\n throw new ModifyError(\"Error modifying one or more objects\", totalFailures, successCount, failedKeys);\n return keys.length;\n });\n });\n });\n };\n Collection.prototype.delete = function () {\n var ctx = this._ctx, range = ctx.range;\n if (isPlainKeyRange(ctx) &&\n (ctx.isPrimKey || range.type === 3 ))\n {\n return this._write(function (trans) {\n var primaryKey = ctx.table.core.schema.primaryKey;\n var coreRange = range;\n return ctx.table.core.count({ trans: trans, query: { index: primaryKey, range: coreRange } }).then(function (count) {\n return ctx.table.core.mutate({ trans: trans, type: 'deleteRange', range: coreRange })\n .then(function (_a) {\n var failures = _a.failures; _a.lastResult; _a.results; var numFailures = _a.numFailures;\n if (numFailures)\n throw new ModifyError(\"Could not delete some values\", Object.keys(failures).map(function (pos) { return failures[pos]; }), count - numFailures);\n return count - numFailures;\n });\n });\n });\n }\n return this.modify(deleteCallback);\n };\n return Collection;\n}());\nvar deleteCallback = function (value, ctx) { return ctx.value = null; };\n\nfunction createCollectionConstructor(db) {\n return makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) {\n this.db = db;\n var keyRange = AnyRange, error = null;\n if (keyRangeGenerator)\n try {\n keyRange = keyRangeGenerator();\n }\n catch (ex) {\n error = ex;\n }\n var whereCtx = whereClause._ctx;\n var table = whereCtx.table;\n var readingHook = table.hook.reading.fire;\n this._ctx = {\n table: table,\n index: whereCtx.index,\n isPrimKey: (!whereCtx.index || (table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name)),\n range: keyRange,\n keysOnly: false,\n dir: \"next\",\n unique: \"\",\n algorithm: null,\n filter: null,\n replayFilter: null,\n justLimit: true,\n isMatch: null,\n offset: 0,\n limit: Infinity,\n error: error,\n or: whereCtx.or,\n valueMapper: readingHook !== mirror ? readingHook : null\n };\n });\n}\n\nfunction simpleCompare(a, b) {\n return a < b ? -1 : a === b ? 0 : 1;\n}\nfunction simpleCompareReverse(a, b) {\n return a > b ? -1 : a === b ? 0 : 1;\n}\n\nfunction fail(collectionOrWhereClause, err, T) {\n var collection = collectionOrWhereClause instanceof WhereClause ?\n new collectionOrWhereClause.Collection(collectionOrWhereClause) :\n collectionOrWhereClause;\n collection._ctx.error = T ? new T(err) : new TypeError(err);\n return collection;\n}\nfunction emptyCollection(whereClause) {\n return new whereClause.Collection(whereClause, function () { return rangeEqual(\"\"); }).limit(0);\n}\nfunction upperFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toUpperCase(); } :\n function (s) { return s.toLowerCase(); };\n}\nfunction lowerFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toLowerCase(); } :\n function (s) { return s.toUpperCase(); };\n}\nfunction nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) {\n var length = Math.min(key.length, lowerNeedle.length);\n var llp = -1;\n for (var i = 0; i < length; ++i) {\n var lwrKeyChar = lowerKey[i];\n if (lwrKeyChar !== lowerNeedle[i]) {\n if (cmp(key[i], upperNeedle[i]) < 0)\n return key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1);\n if (cmp(key[i], lowerNeedle[i]) < 0)\n return key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1);\n if (llp >= 0)\n return key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1);\n return null;\n }\n if (cmp(key[i], lwrKeyChar) < 0)\n llp = i;\n }\n if (length < lowerNeedle.length && dir === \"next\")\n return key + upperNeedle.substr(key.length);\n if (length < key.length && dir === \"prev\")\n return key.substr(0, upperNeedle.length);\n return (llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1));\n}\nfunction addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) {\n var upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length;\n if (!needles.every(function (s) { return typeof s === 'string'; })) {\n return fail(whereClause, STRING_EXPECTED);\n }\n function initDirection(dir) {\n upper = upperFactory(dir);\n lower = lowerFactory(dir);\n compare = (dir === \"next\" ? simpleCompare : simpleCompareReverse);\n var needleBounds = needles.map(function (needle) {\n return { lower: lower(needle), upper: upper(needle) };\n }).sort(function (a, b) {\n return compare(a.lower, b.lower);\n });\n upperNeedles = needleBounds.map(function (nb) { return nb.upper; });\n lowerNeedles = needleBounds.map(function (nb) { return nb.lower; });\n direction = dir;\n nextKeySuffix = (dir === \"next\" ? \"\" : suffix);\n }\n initDirection(\"next\");\n var c = new whereClause.Collection(whereClause, function () { return createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix); });\n c._ondirectionchange = function (direction) {\n initDirection(direction);\n };\n var firstPossibleNeedle = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n if (typeof key !== 'string')\n return false;\n var lowerKey = lower(key);\n if (match(lowerKey, lowerNeedles, firstPossibleNeedle)) {\n return true;\n }\n else {\n var lowestPossibleCasing = null;\n for (var i = firstPossibleNeedle; i < needlesLen; ++i) {\n var casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction);\n if (casing === null && lowestPossibleCasing === null)\n firstPossibleNeedle = i + 1;\n else if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) {\n lowestPossibleCasing = casing;\n }\n }\n if (lowestPossibleCasing !== null) {\n advance(function () { cursor.continue(lowestPossibleCasing + nextKeySuffix); });\n }\n else {\n advance(resolve);\n }\n return false;\n }\n });\n return c;\n}\nfunction createRange(lower, upper, lowerOpen, upperOpen) {\n return {\n type: 2 ,\n lower: lower,\n upper: upper,\n lowerOpen: lowerOpen,\n upperOpen: upperOpen\n };\n}\nfunction rangeEqual(value) {\n return {\n type: 1 ,\n lower: value,\n upper: value\n };\n}\n\nvar WhereClause = (function () {\n function WhereClause() {\n }\n Object.defineProperty(WhereClause.prototype, \"Collection\", {\n get: function () {\n return this._ctx.table.db.Collection;\n },\n enumerable: false,\n configurable: true\n });\n WhereClause.prototype.between = function (lower, upper, includeLower, includeUpper) {\n includeLower = includeLower !== false;\n includeUpper = includeUpper === true;\n try {\n if ((this._cmp(lower, upper) > 0) ||\n (this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper)))\n return emptyCollection(this);\n return new this.Collection(this, function () { return createRange(lower, upper, !includeLower, !includeUpper); });\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n };\n WhereClause.prototype.equals = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return rangeEqual(value); });\n };\n WhereClause.prototype.above = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, true); });\n };\n WhereClause.prototype.aboveOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, false); });\n };\n WhereClause.prototype.below = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value, false, true); });\n };\n WhereClause.prototype.belowOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value); });\n };\n WhereClause.prototype.startsWith = function (str) {\n if (typeof str !== 'string')\n return fail(this, STRING_EXPECTED);\n return this.between(str, str + maxString, true, true);\n };\n WhereClause.prototype.startsWithIgnoreCase = function (str) {\n if (str === \"\")\n return this.startsWith(str);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x.indexOf(a[0]) === 0; }, [str], maxString);\n };\n WhereClause.prototype.equalsIgnoreCase = function (str) {\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x === a[0]; }, [str], \"\");\n };\n WhereClause.prototype.anyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.indexOf(x) !== -1; }, set, \"\");\n };\n WhereClause.prototype.startsWithAnyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.some(function (n) { return x.indexOf(n) === 0; }); }, set, maxString);\n };\n WhereClause.prototype.anyOf = function () {\n var _this = this;\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n var compare = this._cmp;\n try {\n set.sort(compare);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n if (set.length === 0)\n return emptyCollection(this);\n var c = new this.Collection(this, function () { return createRange(set[0], set[set.length - 1]); });\n c._ondirectionchange = function (direction) {\n compare = (direction === \"next\" ?\n _this._ascending :\n _this._descending);\n set.sort(compare);\n };\n var i = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (compare(key, set[i]) > 0) {\n ++i;\n if (i === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (compare(key, set[i]) === 0) {\n return true;\n }\n else {\n advance(function () { cursor.continue(set[i]); });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.notEqual = function (value) {\n return this.inAnyRange([[minKey, value], [value, this.db._maxKey]], { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.noneOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return new this.Collection(this);\n try {\n set.sort(this._ascending);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var ranges = set.reduce(function (res, val) { return res ?\n res.concat([[res[res.length - 1][1], val]]) :\n [[minKey, val]]; }, null);\n ranges.push([set[set.length - 1], this.db._maxKey]);\n return this.inAnyRange(ranges, { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.inAnyRange = function (ranges, options) {\n var _this = this;\n var cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max;\n if (ranges.length === 0)\n return emptyCollection(this);\n if (!ranges.every(function (range) {\n return range[0] !== undefined &&\n range[1] !== undefined &&\n ascending(range[0], range[1]) <= 0;\n })) {\n return fail(this, \"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower\", exceptions.InvalidArgument);\n }\n var includeLowers = !options || options.includeLowers !== false;\n var includeUppers = options && options.includeUppers === true;\n function addRange(ranges, newRange) {\n var i = 0, l = ranges.length;\n for (; i < l; ++i) {\n var range = ranges[i];\n if (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) {\n range[0] = min(range[0], newRange[0]);\n range[1] = max(range[1], newRange[1]);\n break;\n }\n }\n if (i === l)\n ranges.push(newRange);\n return ranges;\n }\n var sortDirection = ascending;\n function rangeSorter(a, b) { return sortDirection(a[0], b[0]); }\n var set;\n try {\n set = ranges.reduce(addRange, []);\n set.sort(rangeSorter);\n }\n catch (ex) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var rangePos = 0;\n var keyIsBeyondCurrentEntry = includeUppers ?\n function (key) { return ascending(key, set[rangePos][1]) > 0; } :\n function (key) { return ascending(key, set[rangePos][1]) >= 0; };\n var keyIsBeforeCurrentEntry = includeLowers ?\n function (key) { return descending(key, set[rangePos][0]) > 0; } :\n function (key) { return descending(key, set[rangePos][0]) >= 0; };\n function keyWithinCurrentRange(key) {\n return !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key);\n }\n var checkKey = keyIsBeyondCurrentEntry;\n var c = new this.Collection(this, function () { return createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers); });\n c._ondirectionchange = function (direction) {\n if (direction === \"next\") {\n checkKey = keyIsBeyondCurrentEntry;\n sortDirection = ascending;\n }\n else {\n checkKey = keyIsBeforeCurrentEntry;\n sortDirection = descending;\n }\n set.sort(rangeSorter);\n };\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (checkKey(key)) {\n ++rangePos;\n if (rangePos === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (keyWithinCurrentRange(key)) {\n return true;\n }\n else if (_this._cmp(key, set[rangePos][1]) === 0 || _this._cmp(key, set[rangePos][0]) === 0) {\n return false;\n }\n else {\n advance(function () {\n if (sortDirection === ascending)\n cursor.continue(set[rangePos][0]);\n else\n cursor.continue(set[rangePos][1]);\n });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.startsWithAnyOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (!set.every(function (s) { return typeof s === 'string'; })) {\n return fail(this, \"startsWithAnyOf() only works with strings\");\n }\n if (set.length === 0)\n return emptyCollection(this);\n return this.inAnyRange(set.map(function (str) { return [str, str + maxString]; }));\n };\n return WhereClause;\n}());\n\nfunction createWhereClauseConstructor(db) {\n return makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) {\n this.db = db;\n this._ctx = {\n table: table,\n index: index === \":id\" ? null : index,\n or: orCollection\n };\n this._cmp = this._ascending = cmp;\n this._descending = function (a, b) { return cmp(b, a); };\n this._max = function (a, b) { return cmp(a, b) > 0 ? a : b; };\n this._min = function (a, b) { return cmp(a, b) < 0 ? a : b; };\n this._IDBKeyRange = db._deps.IDBKeyRange;\n if (!this._IDBKeyRange)\n throw new exceptions.MissingAPI();\n });\n}\n\nfunction eventRejectHandler(reject) {\n return wrap(function (event) {\n preventDefault(event);\n reject(event.target.error);\n return false;\n });\n}\nfunction preventDefault(event) {\n if (event.stopPropagation)\n event.stopPropagation();\n if (event.preventDefault)\n event.preventDefault();\n}\n\nvar DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';\nvar STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';\nvar globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);\n\nvar Transaction = (function () {\n function Transaction() {\n }\n Transaction.prototype._lock = function () {\n assert(!PSD.global);\n ++this._reculock;\n if (this._reculock === 1 && !PSD.global)\n PSD.lockOwnerFor = this;\n return this;\n };\n Transaction.prototype._unlock = function () {\n assert(!PSD.global);\n if (--this._reculock === 0) {\n if (!PSD.global)\n PSD.lockOwnerFor = null;\n while (this._blockedFuncs.length > 0 && !this._locked()) {\n var fnAndPSD = this._blockedFuncs.shift();\n try {\n usePSD(fnAndPSD[1], fnAndPSD[0]);\n }\n catch (e) { }\n }\n }\n return this;\n };\n Transaction.prototype._locked = function () {\n return this._reculock && PSD.lockOwnerFor !== this;\n };\n Transaction.prototype.create = function (idbtrans) {\n var _this = this;\n if (!this.mode)\n return this;\n var idbdb = this.db.idbdb;\n var dbOpenError = this.db._state.dbOpenError;\n assert(!this.idbtrans);\n if (!idbtrans && !idbdb) {\n switch (dbOpenError && dbOpenError.name) {\n case \"DatabaseClosedError\":\n throw new exceptions.DatabaseClosed(dbOpenError);\n case \"MissingAPIError\":\n throw new exceptions.MissingAPI(dbOpenError.message, dbOpenError);\n default:\n throw new exceptions.OpenFailed(dbOpenError);\n }\n }\n if (!this.active)\n throw new exceptions.TransactionInactive();\n assert(this._completion._state === null);\n idbtrans = this.idbtrans = idbtrans ||\n (this.db.core\n ? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability })\n : idbdb.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }));\n idbtrans.onerror = wrap(function (ev) {\n preventDefault(ev);\n _this._reject(idbtrans.error);\n });\n idbtrans.onabort = wrap(function (ev) {\n preventDefault(ev);\n _this.active && _this._reject(new exceptions.Abort(idbtrans.error));\n _this.active = false;\n _this.on(\"abort\").fire(ev);\n });\n idbtrans.oncomplete = wrap(function () {\n _this.active = false;\n _this._resolve();\n if ('mutatedParts' in idbtrans) {\n globalEvents.storagemutated.fire(idbtrans[\"mutatedParts\"]);\n }\n });\n return this;\n };\n Transaction.prototype._promise = function (mode, fn, bWriteLock) {\n var _this = this;\n if (mode === 'readwrite' && this.mode !== 'readwrite')\n return rejection(new exceptions.ReadOnly(\"Transaction is readonly\"));\n if (!this.active)\n return rejection(new exceptions.TransactionInactive());\n if (this._locked()) {\n return new DexiePromise(function (resolve, reject) {\n _this._blockedFuncs.push([function () {\n _this._promise(mode, fn, bWriteLock).then(resolve, reject);\n }, PSD]);\n });\n }\n else if (bWriteLock) {\n return newScope(function () {\n var p = new DexiePromise(function (resolve, reject) {\n _this._lock();\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p.finally(function () { return _this._unlock(); });\n p._lib = true;\n return p;\n });\n }\n else {\n var p = new DexiePromise(function (resolve, reject) {\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p._lib = true;\n return p;\n }\n };\n Transaction.prototype._root = function () {\n return this.parent ? this.parent._root() : this;\n };\n Transaction.prototype.waitFor = function (promiseLike) {\n var root = this._root();\n var promise = DexiePromise.resolve(promiseLike);\n if (root._waitingFor) {\n root._waitingFor = root._waitingFor.then(function () { return promise; });\n }\n else {\n root._waitingFor = promise;\n root._waitingQueue = [];\n var store = root.idbtrans.objectStore(root.storeNames[0]);\n (function spin() {\n ++root._spinCount;\n while (root._waitingQueue.length)\n (root._waitingQueue.shift())();\n if (root._waitingFor)\n store.get(-Infinity).onsuccess = spin;\n }());\n }\n var currentWaitPromise = root._waitingFor;\n return new DexiePromise(function (resolve, reject) {\n promise.then(function (res) { return root._waitingQueue.push(wrap(resolve.bind(null, res))); }, function (err) { return root._waitingQueue.push(wrap(reject.bind(null, err))); }).finally(function () {\n if (root._waitingFor === currentWaitPromise) {\n root._waitingFor = null;\n }\n });\n });\n };\n Transaction.prototype.abort = function () {\n if (this.active) {\n this.active = false;\n if (this.idbtrans)\n this.idbtrans.abort();\n this._reject(new exceptions.Abort());\n }\n };\n Transaction.prototype.table = function (tableName) {\n var memoizedTables = (this._memoizedTables || (this._memoizedTables = {}));\n if (hasOwn(memoizedTables, tableName))\n return memoizedTables[tableName];\n var tableSchema = this.schema[tableName];\n if (!tableSchema) {\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n }\n var transactionBoundTable = new this.db.Table(tableName, tableSchema, this);\n transactionBoundTable.core = this.db.core.table(tableName);\n memoizedTables[tableName] = transactionBoundTable;\n return transactionBoundTable;\n };\n return Transaction;\n}());\n\nfunction createTransactionConstructor(db) {\n return makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) {\n var _this = this;\n this.db = db;\n this.mode = mode;\n this.storeNames = storeNames;\n this.schema = dbschema;\n this.chromeTransactionDurability = chromeTransactionDurability;\n this.idbtrans = null;\n this.on = Events(this, \"complete\", \"error\", \"abort\");\n this.parent = parent || null;\n this.active = true;\n this._reculock = 0;\n this._blockedFuncs = [];\n this._resolve = null;\n this._reject = null;\n this._waitingFor = null;\n this._waitingQueue = null;\n this._spinCount = 0;\n this._completion = new DexiePromise(function (resolve, reject) {\n _this._resolve = resolve;\n _this._reject = reject;\n });\n this._completion.then(function () {\n _this.active = false;\n _this.on.complete.fire();\n }, function (e) {\n var wasActive = _this.active;\n _this.active = false;\n _this.on.error.fire(e);\n _this.parent ?\n _this.parent._reject(e) :\n wasActive && _this.idbtrans && _this.idbtrans.abort();\n return rejection(e);\n });\n });\n}\n\nfunction createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey) {\n return {\n name: name,\n keyPath: keyPath,\n unique: unique,\n multi: multi,\n auto: auto,\n compound: compound,\n src: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? \"++\" : \"\") + nameFromKeyPath(keyPath)\n };\n}\nfunction nameFromKeyPath(keyPath) {\n return typeof keyPath === 'string' ?\n keyPath :\n keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : \"\";\n}\n\nfunction createTableSchema(name, primKey, indexes) {\n return {\n name: name,\n primKey: primKey,\n indexes: indexes,\n mappedClass: null,\n idxByName: arrayToObject(indexes, function (index) { return [index.name, index]; })\n };\n}\n\nfunction safariMultiStoreFix(storeNames) {\n return storeNames.length === 1 ? storeNames[0] : storeNames;\n}\nvar getMaxKey = function (IdbKeyRange) {\n try {\n IdbKeyRange.only([[]]);\n getMaxKey = function () { return [[]]; };\n return [[]];\n }\n catch (e) {\n getMaxKey = function () { return maxString; };\n return maxString;\n }\n};\n\nfunction getKeyExtractor(keyPath) {\n if (keyPath == null) {\n return function () { return undefined; };\n }\n else if (typeof keyPath === 'string') {\n return getSinglePathKeyExtractor(keyPath);\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n}\nfunction getSinglePathKeyExtractor(keyPath) {\n var split = keyPath.split('.');\n if (split.length === 1) {\n return function (obj) { return obj[keyPath]; };\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n}\n\nfunction arrayify(arrayLike) {\n return [].slice.call(arrayLike);\n}\nvar _id_counter = 0;\nfunction getKeyPathAlias(keyPath) {\n return keyPath == null ?\n \":id\" :\n typeof keyPath === 'string' ?\n keyPath :\n \"[\".concat(keyPath.join('+'), \"]\");\n}\nfunction createDBCore(db, IdbKeyRange, tmpTrans) {\n function extractSchema(db, trans) {\n var tables = arrayify(db.objectStoreNames);\n return {\n schema: {\n name: db.name,\n tables: tables.map(function (table) { return trans.objectStore(table); }).map(function (store) {\n var keyPath = store.keyPath, autoIncrement = store.autoIncrement;\n var compound = isArray(keyPath);\n var outbound = keyPath == null;\n var indexByKeyPath = {};\n var result = {\n name: store.name,\n primaryKey: {\n name: null,\n isPrimaryKey: true,\n outbound: outbound,\n compound: compound,\n keyPath: keyPath,\n autoIncrement: autoIncrement,\n unique: true,\n extractKey: getKeyExtractor(keyPath)\n },\n indexes: arrayify(store.indexNames).map(function (indexName) { return store.index(indexName); })\n .map(function (index) {\n var name = index.name, unique = index.unique, multiEntry = index.multiEntry, keyPath = index.keyPath;\n var compound = isArray(keyPath);\n var result = {\n name: name,\n compound: compound,\n keyPath: keyPath,\n unique: unique,\n multiEntry: multiEntry,\n extractKey: getKeyExtractor(keyPath)\n };\n indexByKeyPath[getKeyPathAlias(keyPath)] = result;\n return result;\n }),\n getIndexByKeyPath: function (keyPath) { return indexByKeyPath[getKeyPathAlias(keyPath)]; }\n };\n indexByKeyPath[\":id\"] = result.primaryKey;\n if (keyPath != null) {\n indexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey;\n }\n return result;\n })\n },\n hasGetAll: tables.length > 0 && ('getAll' in trans.objectStore(tables[0])) &&\n !(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604)\n };\n }\n function makeIDBKeyRange(range) {\n if (range.type === 3 )\n return null;\n if (range.type === 4 )\n throw new Error(\"Cannot convert never type to IDBKeyRange\");\n var lower = range.lower, upper = range.upper, lowerOpen = range.lowerOpen, upperOpen = range.upperOpen;\n var idbRange = lower === undefined ?\n upper === undefined ?\n null :\n IdbKeyRange.upperBound(upper, !!upperOpen) :\n upper === undefined ?\n IdbKeyRange.lowerBound(lower, !!lowerOpen) :\n IdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen);\n return idbRange;\n }\n function createDbCoreTable(tableSchema) {\n var tableName = tableSchema.name;\n function mutate(_a) {\n var trans = _a.trans, type = _a.type, keys = _a.keys, values = _a.values, range = _a.range;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var outbound = store.keyPath == null;\n var isAddOrPut = type === \"put\" || type === \"add\";\n if (!isAddOrPut && type !== 'delete' && type !== 'deleteRange')\n throw new Error(\"Invalid operation type: \" + type);\n var length = (keys || values || { length: 1 }).length;\n if (keys && values && keys.length !== values.length) {\n throw new Error(\"Given keys array must have same length as given values array.\");\n }\n if (length === 0)\n return resolve({ numFailures: 0, failures: {}, results: [], lastResult: undefined });\n var req;\n var reqs = [];\n var failures = [];\n var numFailures = 0;\n var errorHandler = function (event) {\n ++numFailures;\n preventDefault(event);\n };\n if (type === 'deleteRange') {\n if (range.type === 4 )\n return resolve({ numFailures: numFailures, failures: failures, results: [], lastResult: undefined });\n if (range.type === 3 )\n reqs.push(req = store.clear());\n else\n reqs.push(req = store.delete(makeIDBKeyRange(range)));\n }\n else {\n var _a = isAddOrPut ?\n outbound ?\n [values, keys] :\n [values, null] :\n [keys, null], args1 = _a[0], args2 = _a[1];\n if (isAddOrPut) {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = (args2 && args2[i] !== undefined ?\n store[type](args1[i], args2[i]) :\n store[type](args1[i])));\n req.onerror = errorHandler;\n }\n }\n else {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = store[type](args1[i]));\n req.onerror = errorHandler;\n }\n }\n }\n var done = function (event) {\n var lastResult = event.target.result;\n reqs.forEach(function (req, i) { return req.error != null && (failures[i] = req.error); });\n resolve({\n numFailures: numFailures,\n failures: failures,\n results: type === \"delete\" ? keys : reqs.map(function (req) { return req.result; }),\n lastResult: lastResult\n });\n };\n req.onerror = function (event) {\n errorHandler(event);\n done(event);\n };\n req.onsuccess = done;\n });\n }\n function openCursor(_a) {\n var trans = _a.trans, values = _a.values, query = _a.query, reverse = _a.reverse, unique = _a.unique;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ?\n store :\n store.index(index.name);\n var direction = reverse ?\n unique ?\n \"prevunique\" :\n \"prev\" :\n unique ?\n \"nextunique\" :\n \"next\";\n var req = values || !('openKeyCursor' in source) ?\n source.openCursor(makeIDBKeyRange(range), direction) :\n source.openKeyCursor(makeIDBKeyRange(range), direction);\n req.onerror = eventRejectHandler(reject);\n req.onsuccess = wrap(function (ev) {\n var cursor = req.result;\n if (!cursor) {\n resolve(null);\n return;\n }\n cursor.___id = ++_id_counter;\n cursor.done = false;\n var _cursorContinue = cursor.continue.bind(cursor);\n var _cursorContinuePrimaryKey = cursor.continuePrimaryKey;\n if (_cursorContinuePrimaryKey)\n _cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor);\n var _cursorAdvance = cursor.advance.bind(cursor);\n var doThrowCursorIsNotStarted = function () { throw new Error(\"Cursor not started\"); };\n var doThrowCursorIsStopped = function () { throw new Error(\"Cursor not stopped\"); };\n cursor.trans = trans;\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted;\n cursor.fail = wrap(reject);\n cursor.next = function () {\n var _this = this;\n var gotOne = 1;\n return this.start(function () { return gotOne-- ? _this.continue() : _this.stop(); }).then(function () { return _this; });\n };\n cursor.start = function (callback) {\n var iterationPromise = new Promise(function (resolveIteration, rejectIteration) {\n resolveIteration = wrap(resolveIteration);\n req.onerror = eventRejectHandler(rejectIteration);\n cursor.fail = rejectIteration;\n cursor.stop = function (value) {\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped;\n resolveIteration(value);\n };\n });\n var guardedCallback = function () {\n if (req.result) {\n try {\n callback();\n }\n catch (err) {\n cursor.fail(err);\n }\n }\n else {\n cursor.done = true;\n cursor.start = function () { throw new Error(\"Cursor behind last entry\"); };\n cursor.stop();\n }\n };\n req.onsuccess = wrap(function (ev) {\n req.onsuccess = guardedCallback;\n guardedCallback();\n });\n cursor.continue = _cursorContinue;\n cursor.continuePrimaryKey = _cursorContinuePrimaryKey;\n cursor.advance = _cursorAdvance;\n guardedCallback();\n return iterationPromise;\n };\n resolve(cursor);\n }, reject);\n });\n }\n function query(hasGetAll) {\n return function (request) {\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var trans = request.trans, values = request.values, limit = request.limit, query = request.query;\n var nonInfinitLimit = limit === Infinity ? undefined : limit;\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n if (limit === 0)\n return resolve({ result: [] });\n if (hasGetAll) {\n var req = values ?\n source.getAll(idbKeyRange, nonInfinitLimit) :\n source.getAllKeys(idbKeyRange, nonInfinitLimit);\n req.onsuccess = function (event) { return resolve({ result: event.target.result }); };\n req.onerror = eventRejectHandler(reject);\n }\n else {\n var count_1 = 0;\n var req_1 = values || !('openKeyCursor' in source) ?\n source.openCursor(idbKeyRange) :\n source.openKeyCursor(idbKeyRange);\n var result_1 = [];\n req_1.onsuccess = function (event) {\n var cursor = req_1.result;\n if (!cursor)\n return resolve({ result: result_1 });\n result_1.push(values ? cursor.value : cursor.primaryKey);\n if (++count_1 === limit)\n return resolve({ result: result_1 });\n cursor.continue();\n };\n req_1.onerror = eventRejectHandler(reject);\n }\n });\n };\n }\n return {\n name: tableName,\n schema: tableSchema,\n mutate: mutate,\n getMany: function (_a) {\n var trans = _a.trans, keys = _a.keys;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var length = keys.length;\n var result = new Array(length);\n var keyCount = 0;\n var callbackCount = 0;\n var req;\n var successHandler = function (event) {\n var req = event.target;\n if ((result[req._pos] = req.result) != null)\n ;\n if (++callbackCount === keyCount)\n resolve(result);\n };\n var errorHandler = eventRejectHandler(reject);\n for (var i = 0; i < length; ++i) {\n var key = keys[i];\n if (key != null) {\n req = store.get(keys[i]);\n req._pos = i;\n req.onsuccess = successHandler;\n req.onerror = errorHandler;\n ++keyCount;\n }\n }\n if (keyCount === 0)\n resolve(result);\n });\n },\n get: function (_a) {\n var trans = _a.trans, key = _a.key;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var req = store.get(key);\n req.onsuccess = function (event) { return resolve(event.target.result); };\n req.onerror = eventRejectHandler(reject);\n });\n },\n query: query(hasGetAll),\n openCursor: openCursor,\n count: function (_a) {\n var query = _a.query, trans = _a.trans;\n var index = query.index, range = query.range;\n return new Promise(function (resolve, reject) {\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n var req = idbKeyRange ? source.count(idbKeyRange) : source.count();\n req.onsuccess = wrap(function (ev) { return resolve(ev.target.result); });\n req.onerror = eventRejectHandler(reject);\n });\n }\n };\n }\n var _a = extractSchema(db, tmpTrans), schema = _a.schema, hasGetAll = _a.hasGetAll;\n var tables = schema.tables.map(function (tableSchema) { return createDbCoreTable(tableSchema); });\n var tableMap = {};\n tables.forEach(function (table) { return tableMap[table.name] = table; });\n return {\n stack: \"dbcore\",\n transaction: db.transaction.bind(db),\n table: function (name) {\n var result = tableMap[name];\n if (!result)\n throw new Error(\"Table '\".concat(name, \"' not found\"));\n return tableMap[name];\n },\n MIN_KEY: -Infinity,\n MAX_KEY: getMaxKey(IdbKeyRange),\n schema: schema\n };\n}\n\nfunction createMiddlewareStack(stackImpl, middlewares) {\n return middlewares.reduce(function (down, _a) {\n var create = _a.create;\n return (__assign(__assign({}, down), create(down)));\n }, stackImpl);\n}\nfunction createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {\n var IDBKeyRange = _a.IDBKeyRange; _a.indexedDB;\n var dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);\n return {\n dbcore: dbcore\n };\n}\nfunction generateMiddlewareStacks(db, tmpTrans) {\n var idbdb = tmpTrans.db;\n var stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans);\n db.core = stacks.dbcore;\n db.tables.forEach(function (table) {\n var tableName = table.name;\n if (db.core.schema.tables.some(function (tbl) { return tbl.name === tableName; })) {\n table.core = db.core.table(tableName);\n if (db[tableName] instanceof db.Table) {\n db[tableName].core = table.core;\n }\n }\n });\n}\n\nfunction setApiOnPlace(db, objs, tableNames, dbschema) {\n tableNames.forEach(function (tableName) {\n var schema = dbschema[tableName];\n objs.forEach(function (obj) {\n var propDesc = getPropertyDescriptor(obj, tableName);\n if (!propDesc || (\"value\" in propDesc && propDesc.value === undefined)) {\n if (obj === db.Transaction.prototype || obj instanceof db.Transaction) {\n setProp(obj, tableName, {\n get: function () { return this.table(tableName); },\n set: function (value) {\n defineProperty(this, tableName, { value: value, writable: true, configurable: true, enumerable: true });\n }\n });\n }\n else {\n obj[tableName] = new db.Table(tableName, schema);\n }\n }\n });\n });\n}\nfunction removeTablesApi(db, objs) {\n objs.forEach(function (obj) {\n for (var key in obj) {\n if (obj[key] instanceof db.Table)\n delete obj[key];\n }\n });\n}\nfunction lowerVersionFirst(a, b) {\n return a._cfg.version - b._cfg.version;\n}\nfunction runUpgraders(db, oldVersion, idbUpgradeTrans, reject) {\n var globalSchema = db._dbSchema;\n if (idbUpgradeTrans.objectStoreNames.contains('$meta') && !globalSchema.$meta) {\n globalSchema.$meta = createTableSchema(\"$meta\", parseIndexSyntax(\"\")[0], []);\n db._storeNames.push('$meta');\n }\n var trans = db._createTransaction('readwrite', db._storeNames, globalSchema);\n trans.create(idbUpgradeTrans);\n trans._completion.catch(reject);\n var rejectTransaction = trans._reject.bind(trans);\n var transless = PSD.transless || PSD;\n newScope(function () {\n PSD.trans = trans;\n PSD.transless = transless;\n if (oldVersion === 0) {\n keys(globalSchema).forEach(function (tableName) {\n createTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes);\n });\n generateMiddlewareStacks(db, idbUpgradeTrans);\n DexiePromise.follow(function () { return db.on.populate.fire(trans); }).catch(rejectTransaction);\n }\n else {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n return getExistingVersion(db, trans, oldVersion)\n .then(function (oldVersion) { return updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans); })\n .catch(rejectTransaction);\n }\n });\n}\nfunction patchCurrentVersion(db, idbUpgradeTrans) {\n createMissingTables(db._dbSchema, idbUpgradeTrans);\n if (idbUpgradeTrans.db.version % 10 === 0 && !idbUpgradeTrans.objectStoreNames.contains('$meta')) {\n idbUpgradeTrans.db.createObjectStore('$meta').add(Math.ceil((idbUpgradeTrans.db.version / 10) - 1), 'version');\n }\n var globalSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n adjustToExistingIndexNames(db, db._dbSchema, idbUpgradeTrans);\n var diff = getSchemaDiff(globalSchema, db._dbSchema);\n var _loop_1 = function (tableChange) {\n if (tableChange.change.length || tableChange.recreate) {\n console.warn(\"Unable to patch indexes of table \".concat(tableChange.name, \" because it has changes on the type of index or primary key.\"));\n return { value: void 0 };\n }\n var store = idbUpgradeTrans.objectStore(tableChange.name);\n tableChange.add.forEach(function (idx) {\n if (debug)\n console.debug(\"Dexie upgrade patch: Creating missing index \".concat(tableChange.name, \".\").concat(idx.src));\n addIndex(store, idx);\n });\n };\n for (var _i = 0, _a = diff.change; _i < _a.length; _i++) {\n var tableChange = _a[_i];\n var state_1 = _loop_1(tableChange);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n}\nfunction getExistingVersion(db, trans, oldVersion) {\n if (trans.storeNames.includes('$meta')) {\n return trans.table('$meta').get('version').then(function (metaVersion) {\n return metaVersion != null ? metaVersion : oldVersion;\n });\n }\n else {\n return DexiePromise.resolve(oldVersion);\n }\n}\nfunction updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans) {\n var queue = [];\n var versions = db._versions;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n var versToRun = versions.filter(function (v) { return v._cfg.version >= oldVersion; });\n if (versToRun.length === 0) {\n return DexiePromise.resolve();\n }\n versToRun.forEach(function (version) {\n queue.push(function () {\n var oldSchema = globalSchema;\n var newSchema = version._cfg.dbschema;\n adjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans);\n adjustToExistingIndexNames(db, newSchema, idbUpgradeTrans);\n globalSchema = db._dbSchema = newSchema;\n var diff = getSchemaDiff(oldSchema, newSchema);\n diff.add.forEach(function (tuple) {\n createTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes);\n });\n diff.change.forEach(function (change) {\n if (change.recreate) {\n throw new exceptions.Upgrade(\"Not yet support for changing primary key\");\n }\n else {\n var store_1 = idbUpgradeTrans.objectStore(change.name);\n change.add.forEach(function (idx) { return addIndex(store_1, idx); });\n change.change.forEach(function (idx) {\n store_1.deleteIndex(idx.name);\n addIndex(store_1, idx);\n });\n change.del.forEach(function (idxName) { return store_1.deleteIndex(idxName); });\n }\n });\n var contentUpgrade = version._cfg.contentUpgrade;\n if (contentUpgrade && version._cfg.version > oldVersion) {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n trans._memoizedTables = {};\n var upgradeSchema_1 = shallowClone(newSchema);\n diff.del.forEach(function (table) {\n upgradeSchema_1[table] = oldSchema[table];\n });\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], keys(upgradeSchema_1), upgradeSchema_1);\n trans.schema = upgradeSchema_1;\n var contentUpgradeIsAsync_1 = isAsyncFunction(contentUpgrade);\n if (contentUpgradeIsAsync_1) {\n incrementExpectedAwaits();\n }\n var returnValue_1;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue_1 = contentUpgrade(trans);\n if (returnValue_1) {\n if (contentUpgradeIsAsync_1) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue_1.then(decrementor, decrementor);\n }\n }\n });\n return (returnValue_1 && typeof returnValue_1.then === 'function' ?\n DexiePromise.resolve(returnValue_1) : promiseFollowed.then(function () { return returnValue_1; }));\n }\n });\n queue.push(function (idbtrans) {\n var newSchema = version._cfg.dbschema;\n deleteRemovedTables(newSchema, idbtrans);\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], db._storeNames, db._dbSchema);\n trans.schema = db._dbSchema;\n });\n queue.push(function (idbtrans) {\n if (db.idbdb.objectStoreNames.contains('$meta')) {\n if (Math.ceil(db.idbdb.version / 10) === version._cfg.version) {\n db.idbdb.deleteObjectStore('$meta');\n delete db._dbSchema.$meta;\n db._storeNames = db._storeNames.filter(function (name) { return name !== '$meta'; });\n }\n else {\n idbtrans.objectStore('$meta').put(version._cfg.version, 'version');\n }\n }\n });\n });\n function runQueue() {\n return queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) :\n DexiePromise.resolve();\n }\n return runQueue().then(function () {\n createMissingTables(globalSchema, idbUpgradeTrans);\n });\n}\nfunction getSchemaDiff(oldSchema, newSchema) {\n var diff = {\n del: [],\n add: [],\n change: []\n };\n var table;\n for (table in oldSchema) {\n if (!newSchema[table])\n diff.del.push(table);\n }\n for (table in newSchema) {\n var oldDef = oldSchema[table], newDef = newSchema[table];\n if (!oldDef) {\n diff.add.push([table, newDef]);\n }\n else {\n var change = {\n name: table,\n def: newDef,\n recreate: false,\n del: [],\n add: [],\n change: []\n };\n if ((\n '' + (oldDef.primKey.keyPath || '')) !== ('' + (newDef.primKey.keyPath || '')) ||\n (oldDef.primKey.auto !== newDef.primKey.auto)) {\n change.recreate = true;\n diff.change.push(change);\n }\n else {\n var oldIndexes = oldDef.idxByName;\n var newIndexes = newDef.idxByName;\n var idxName = void 0;\n for (idxName in oldIndexes) {\n if (!newIndexes[idxName])\n change.del.push(idxName);\n }\n for (idxName in newIndexes) {\n var oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName];\n if (!oldIdx)\n change.add.push(newIdx);\n else if (oldIdx.src !== newIdx.src)\n change.change.push(newIdx);\n }\n if (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) {\n diff.change.push(change);\n }\n }\n }\n }\n return diff;\n}\nfunction createTable(idbtrans, tableName, primKey, indexes) {\n var store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ?\n { keyPath: primKey.keyPath, autoIncrement: primKey.auto } :\n { autoIncrement: primKey.auto });\n indexes.forEach(function (idx) { return addIndex(store, idx); });\n return store;\n}\nfunction createMissingTables(newSchema, idbtrans) {\n keys(newSchema).forEach(function (tableName) {\n if (!idbtrans.db.objectStoreNames.contains(tableName)) {\n if (debug)\n console.debug('Dexie: Creating missing table', tableName);\n createTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes);\n }\n });\n}\nfunction deleteRemovedTables(newSchema, idbtrans) {\n [].slice.call(idbtrans.db.objectStoreNames).forEach(function (storeName) {\n return newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);\n });\n}\nfunction addIndex(store, idx) {\n store.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi });\n}\nfunction buildGlobalSchema(db, idbdb, tmpTrans) {\n var globalSchema = {};\n var dbStoreNames = slice(idbdb.objectStoreNames, 0);\n dbStoreNames.forEach(function (storeName) {\n var store = tmpTrans.objectStore(storeName);\n var keyPath = store.keyPath;\n var primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || \"\", true, false, !!store.autoIncrement, keyPath && typeof keyPath !== \"string\", true);\n var indexes = [];\n for (var j = 0; j < store.indexNames.length; ++j) {\n var idbindex = store.index(store.indexNames[j]);\n keyPath = idbindex.keyPath;\n var index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== \"string\", false);\n indexes.push(index);\n }\n globalSchema[storeName] = createTableSchema(storeName, primKey, indexes);\n });\n return globalSchema;\n}\nfunction readGlobalSchema(db, idbdb, tmpTrans) {\n db.verno = idbdb.version / 10;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans);\n db._storeNames = slice(idbdb.objectStoreNames, 0);\n setApiOnPlace(db, [db._allTables], keys(globalSchema), globalSchema);\n}\nfunction verifyInstalledSchema(db, tmpTrans) {\n var installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans);\n var diff = getSchemaDiff(installedSchema, db._dbSchema);\n return !(diff.add.length || diff.change.some(function (ch) { return ch.add.length || ch.change.length; }));\n}\nfunction adjustToExistingIndexNames(db, schema, idbtrans) {\n var storeNames = idbtrans.db.objectStoreNames;\n for (var i = 0; i < storeNames.length; ++i) {\n var storeName = storeNames[i];\n var store = idbtrans.objectStore(storeName);\n db._hasGetAll = 'getAll' in store;\n for (var j = 0; j < store.indexNames.length; ++j) {\n var indexName = store.indexNames[j];\n var keyPath = store.index(indexName).keyPath;\n var dexieName = typeof keyPath === 'string' ? keyPath : \"[\" + slice(keyPath).join('+') + \"]\";\n if (schema[storeName]) {\n var indexSpec = schema[storeName].idxByName[dexieName];\n if (indexSpec) {\n indexSpec.name = indexName;\n delete schema[storeName].idxByName[dexieName];\n schema[storeName].idxByName[indexName] = indexSpec;\n }\n }\n }\n }\n if (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n _global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604) {\n db._hasGetAll = false;\n }\n}\nfunction parseIndexSyntax(primKeyAndIndexes) {\n return primKeyAndIndexes.split(',').map(function (index, indexNum) {\n index = index.trim();\n var name = index.replace(/([&*]|\\+\\+)/g, \"\");\n var keyPath = /^\\[/.test(name) ? name.match(/^\\[(.*)\\]$/)[1].split('+') : name;\n return createIndexSpec(name, keyPath || null, /\\&/.test(index), /\\*/.test(index), /\\+\\+/.test(index), isArray(keyPath), indexNum === 0);\n });\n}\n\nvar Version = (function () {\n function Version() {\n }\n Version.prototype._parseStoresSpec = function (stores, outSchema) {\n keys(stores).forEach(function (tableName) {\n if (stores[tableName] !== null) {\n var indexes = parseIndexSyntax(stores[tableName]);\n var primKey = indexes.shift();\n primKey.unique = true;\n if (primKey.multi)\n throw new exceptions.Schema(\"Primary key cannot be multi-valued\");\n indexes.forEach(function (idx) {\n if (idx.auto)\n throw new exceptions.Schema(\"Only primary key can be marked as autoIncrement (++)\");\n if (!idx.keyPath)\n throw new exceptions.Schema(\"Index must have a name and cannot be an empty string\");\n });\n outSchema[tableName] = createTableSchema(tableName, primKey, indexes);\n }\n });\n };\n Version.prototype.stores = function (stores) {\n var db = this.db;\n this._cfg.storesSource = this._cfg.storesSource ?\n extend(this._cfg.storesSource, stores) :\n stores;\n var versions = db._versions;\n var storesSpec = {};\n var dbschema = {};\n versions.forEach(function (version) {\n extend(storesSpec, version._cfg.storesSource);\n dbschema = (version._cfg.dbschema = {});\n version._parseStoresSpec(storesSpec, dbschema);\n });\n db._dbSchema = dbschema;\n removeTablesApi(db, [db._allTables, db, db.Transaction.prototype]);\n setApiOnPlace(db, [db._allTables, db, db.Transaction.prototype, this._cfg.tables], keys(dbschema), dbschema);\n db._storeNames = keys(dbschema);\n return this;\n };\n Version.prototype.upgrade = function (upgradeFunction) {\n this._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction);\n return this;\n };\n return Version;\n}());\n\nfunction createVersionConstructor(db) {\n return makeClassConstructor(Version.prototype, function Version(versionNumber) {\n this.db = db;\n this._cfg = {\n version: versionNumber,\n storesSource: null,\n dbschema: {},\n tables: {},\n contentUpgrade: null\n };\n });\n}\n\nfunction getDbNamesTable(indexedDB, IDBKeyRange) {\n var dbNamesDB = indexedDB[\"_dbNamesDB\"];\n if (!dbNamesDB) {\n dbNamesDB = indexedDB[\"_dbNamesDB\"] = new Dexie$1(DBNAMES_DB, {\n addons: [],\n indexedDB: indexedDB,\n IDBKeyRange: IDBKeyRange,\n });\n dbNamesDB.version(1).stores({ dbnames: \"name\" });\n }\n return dbNamesDB.table(\"dbnames\");\n}\nfunction hasDatabasesNative(indexedDB) {\n return indexedDB && typeof indexedDB.databases === \"function\";\n}\nfunction getDatabaseNames(_a) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n return hasDatabasesNative(indexedDB)\n ? Promise.resolve(indexedDB.databases()).then(function (infos) {\n return infos\n .map(function (info) { return info.name; })\n .filter(function (name) { return name !== DBNAMES_DB; });\n })\n : getDbNamesTable(indexedDB, IDBKeyRange).toCollection().primaryKeys();\n}\nfunction _onDatabaseCreated(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).put({ name: name }).catch(nop);\n}\nfunction _onDatabaseDeleted(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).delete(name).catch(nop);\n}\n\nfunction vip(fn) {\n return newScope(function () {\n PSD.letThrough = true;\n return fn();\n });\n}\n\nfunction idbReady() {\n var isSafari = !navigator.userAgentData &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\//.test(navigator.userAgent);\n if (!isSafari || !indexedDB.databases)\n return Promise.resolve();\n var intervalId;\n return new Promise(function (resolve) {\n var tryIdb = function () { return indexedDB.databases().finally(resolve); };\n intervalId = setInterval(tryIdb, 100);\n tryIdb();\n }).finally(function () { return clearInterval(intervalId); });\n}\n\nvar _a;\nfunction isEmptyRange(node) {\n return !(\"from\" in node);\n}\nvar RangeSet = function (fromOrTree, to) {\n if (this) {\n extend(this, arguments.length ? { d: 1, from: fromOrTree, to: arguments.length > 1 ? to : fromOrTree } : { d: 0 });\n }\n else {\n var rv = new RangeSet();\n if (fromOrTree && (\"d\" in fromOrTree)) {\n extend(rv, fromOrTree);\n }\n return rv;\n }\n};\nprops(RangeSet.prototype, (_a = {\n add: function (rangeSet) {\n mergeRanges(this, rangeSet);\n return this;\n },\n addKey: function (key) {\n addRange(this, key, key);\n return this;\n },\n addKeys: function (keys) {\n var _this = this;\n keys.forEach(function (key) { return addRange(_this, key, key); });\n return this;\n },\n hasKey: function (key) {\n var node = getRangeSetIterator(this).next(key).value;\n return node && cmp(node.from, key) <= 0 && cmp(node.to, key) >= 0;\n }\n },\n _a[iteratorSymbol] = function () {\n return getRangeSetIterator(this);\n },\n _a));\nfunction addRange(target, from, to) {\n var diff = cmp(from, to);\n if (isNaN(diff))\n return;\n if (diff > 0)\n throw RangeError();\n if (isEmptyRange(target))\n return extend(target, { from: from, to: to, d: 1 });\n var left = target.l;\n var right = target.r;\n if (cmp(to, target.from) < 0) {\n left\n ? addRange(left, from, to)\n : (target.l = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.to) > 0) {\n right\n ? addRange(right, from, to)\n : (target.r = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.from) < 0) {\n target.from = from;\n target.l = null;\n target.d = right ? right.d + 1 : 1;\n }\n if (cmp(to, target.to) > 0) {\n target.to = to;\n target.r = null;\n target.d = target.l ? target.l.d + 1 : 1;\n }\n var rightWasCutOff = !target.r;\n if (left && !target.l) {\n mergeRanges(target, left);\n }\n if (right && rightWasCutOff) {\n mergeRanges(target, right);\n }\n}\nfunction mergeRanges(target, newSet) {\n function _addRangeSet(target, _a) {\n var from = _a.from, to = _a.to, l = _a.l, r = _a.r;\n addRange(target, from, to);\n if (l)\n _addRangeSet(target, l);\n if (r)\n _addRangeSet(target, r);\n }\n if (!isEmptyRange(newSet))\n _addRangeSet(target, newSet);\n}\nfunction rangesOverlap(rangeSet1, rangeSet2) {\n var i1 = getRangeSetIterator(rangeSet2);\n var nextResult1 = i1.next();\n if (nextResult1.done)\n return false;\n var a = nextResult1.value;\n var i2 = getRangeSetIterator(rangeSet1);\n var nextResult2 = i2.next(a.from);\n var b = nextResult2.value;\n while (!nextResult1.done && !nextResult2.done) {\n if (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0)\n return true;\n cmp(a.from, b.from) < 0\n ? (a = (nextResult1 = i1.next(b.from)).value)\n : (b = (nextResult2 = i2.next(a.from)).value);\n }\n return false;\n}\nfunction getRangeSetIterator(node) {\n var state = isEmptyRange(node) ? null : { s: 0, n: node };\n return {\n next: function (key) {\n var keyProvided = arguments.length > 0;\n while (state) {\n switch (state.s) {\n case 0:\n state.s = 1;\n if (keyProvided) {\n while (state.n.l && cmp(key, state.n.from) < 0)\n state = { up: state, n: state.n.l, s: 1 };\n }\n else {\n while (state.n.l)\n state = { up: state, n: state.n.l, s: 1 };\n }\n case 1:\n state.s = 2;\n if (!keyProvided || cmp(key, state.n.to) <= 0)\n return { value: state.n, done: false };\n case 2:\n if (state.n.r) {\n state.s = 3;\n state = { up: state, n: state.n.r, s: 0 };\n continue;\n }\n case 3:\n state = state.up;\n }\n }\n return { done: true };\n },\n };\n}\nfunction rebalance(target) {\n var _a, _b;\n var diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0);\n var r = diff > 1 ? \"r\" : diff < -1 ? \"l\" : \"\";\n if (r) {\n var l = r === \"r\" ? \"l\" : \"r\";\n var rootClone = __assign({}, target);\n var oldRootRight = target[r];\n target.from = oldRootRight.from;\n target.to = oldRootRight.to;\n target[r] = oldRootRight[r];\n rootClone[r] = oldRootRight[l];\n target[l] = rootClone;\n rootClone.d = computeDepth(rootClone);\n }\n target.d = computeDepth(target);\n}\nfunction computeDepth(_a) {\n var r = _a.r, l = _a.l;\n return (r ? (l ? Math.max(r.d, l.d) : r.d) : l ? l.d : 0) + 1;\n}\n\nfunction extendObservabilitySet(target, newSet) {\n keys(newSet).forEach(function (part) {\n if (target[part])\n mergeRanges(target[part], newSet[part]);\n else\n target[part] = cloneSimpleObjectTree(newSet[part]);\n });\n return target;\n}\n\nfunction obsSetsOverlap(os1, os2) {\n return os1.all || os2.all || Object.keys(os1).some(function (key) { return os2[key] && rangesOverlap(os2[key], os1[key]); });\n}\n\nvar cache = {};\n\nvar unsignaledParts = {};\nvar isTaskEnqueued = false;\nfunction signalSubscribersLazily(part, optimistic) {\n extendObservabilitySet(unsignaledParts, part);\n if (!isTaskEnqueued) {\n isTaskEnqueued = true;\n setTimeout(function () {\n isTaskEnqueued = false;\n var parts = unsignaledParts;\n unsignaledParts = {};\n signalSubscribersNow(parts, false);\n }, 0);\n }\n}\nfunction signalSubscribersNow(updatedParts, deleteAffectedCacheEntries) {\n if (deleteAffectedCacheEntries === void 0) { deleteAffectedCacheEntries = false; }\n var queriesToSignal = new Set();\n if (updatedParts.all) {\n for (var _i = 0, _a = Object.values(cache); _i < _a.length; _i++) {\n var tblCache = _a[_i];\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n else {\n for (var key in updatedParts) {\n var parts = /^idb\\:\\/\\/(.*)\\/(.*)\\//.exec(key);\n if (parts) {\n var dbName = parts[1], tableName = parts[2];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (tblCache)\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n }\n queriesToSignal.forEach(function (requery) { return requery(); });\n}\nfunction collectTableSubscribers(tblCache, updatedParts, outQueriesToSignal, deleteAffectedCacheEntries) {\n var updatedEntryLists = [];\n for (var _i = 0, _a = Object.entries(tblCache.queries.query); _i < _a.length; _i++) {\n var _b = _a[_i], indexName = _b[0], entries = _b[1];\n var filteredEntries = [];\n for (var _c = 0, entries_1 = entries; _c < entries_1.length; _c++) {\n var entry = entries_1[_c];\n if (obsSetsOverlap(updatedParts, entry.obsSet)) {\n entry.subscribers.forEach(function (requery) { return outQueriesToSignal.add(requery); });\n }\n else if (deleteAffectedCacheEntries) {\n filteredEntries.push(entry);\n }\n }\n if (deleteAffectedCacheEntries)\n updatedEntryLists.push([indexName, filteredEntries]);\n }\n if (deleteAffectedCacheEntries) {\n for (var _d = 0, updatedEntryLists_1 = updatedEntryLists; _d < updatedEntryLists_1.length; _d++) {\n var _e = updatedEntryLists_1[_d], indexName = _e[0], filteredEntries = _e[1];\n tblCache.queries.query[indexName] = filteredEntries;\n }\n }\n}\n\nfunction dexieOpen(db) {\n var state = db._state;\n var indexedDB = db._deps.indexedDB;\n if (state.isBeingOpened || db.idbdb)\n return state.dbReadyPromise.then(function () { return state.dbOpenError ?\n rejection(state.dbOpenError) :\n db; });\n state.isBeingOpened = true;\n state.dbOpenError = null;\n state.openComplete = false;\n var openCanceller = state.openCanceller;\n var nativeVerToOpen = Math.round(db.verno * 10);\n var schemaPatchMode = false;\n function throwIfCancelled() {\n if (state.openCanceller !== openCanceller)\n throw new exceptions.DatabaseClosed('db.open() was cancelled');\n }\n var resolveDbReady = state.dbReadyResolve,\n upgradeTransaction = null, wasCreated = false;\n var tryOpenDB = function () { return new DexiePromise(function (resolve, reject) {\n throwIfCancelled();\n if (!indexedDB)\n throw new exceptions.MissingAPI();\n var dbName = db.name;\n var req = state.autoSchema || !nativeVerToOpen ?\n indexedDB.open(dbName) :\n indexedDB.open(dbName, nativeVerToOpen);\n if (!req)\n throw new exceptions.MissingAPI();\n req.onerror = eventRejectHandler(reject);\n req.onblocked = wrap(db._fireOnBlocked);\n req.onupgradeneeded = wrap(function (e) {\n upgradeTransaction = req.transaction;\n if (state.autoSchema && !db._options.allowEmptyDB) {\n req.onerror = preventDefault;\n upgradeTransaction.abort();\n req.result.close();\n var delreq = indexedDB.deleteDatabase(dbName);\n delreq.onsuccess = delreq.onerror = wrap(function () {\n reject(new exceptions.NoSuchDatabase(\"Database \".concat(dbName, \" doesnt exist\")));\n });\n }\n else {\n upgradeTransaction.onerror = eventRejectHandler(reject);\n var oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion;\n wasCreated = oldVer < 1;\n db.idbdb = req.result;\n if (schemaPatchMode) {\n patchCurrentVersion(db, upgradeTransaction);\n }\n runUpgraders(db, oldVer / 10, upgradeTransaction, reject);\n }\n }, reject);\n req.onsuccess = wrap(function () {\n upgradeTransaction = null;\n var idbdb = db.idbdb = req.result;\n var objectStoreNames = slice(idbdb.objectStoreNames);\n if (objectStoreNames.length > 0)\n try {\n var tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly');\n if (state.autoSchema)\n readGlobalSchema(db, idbdb, tmpTrans);\n else {\n adjustToExistingIndexNames(db, db._dbSchema, tmpTrans);\n if (!verifyInstalledSchema(db, tmpTrans) && !schemaPatchMode) {\n console.warn(\"Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this.\");\n idbdb.close();\n nativeVerToOpen = idbdb.version + 1;\n schemaPatchMode = true;\n return resolve(tryOpenDB());\n }\n }\n generateMiddlewareStacks(db, tmpTrans);\n }\n catch (e) {\n }\n connections.push(db);\n idbdb.onversionchange = wrap(function (ev) {\n state.vcFired = true;\n db.on(\"versionchange\").fire(ev);\n });\n idbdb.onclose = wrap(function (ev) {\n db.on(\"close\").fire(ev);\n });\n if (wasCreated)\n _onDatabaseCreated(db._deps, dbName);\n resolve();\n }, reject);\n }).catch(function (err) {\n switch (err === null || err === void 0 ? void 0 : err.name) {\n case \"UnknownError\":\n if (state.PR1398_maxLoop > 0) {\n state.PR1398_maxLoop--;\n console.warn('Dexie: Workaround for Chrome UnknownError on open()');\n return tryOpenDB();\n }\n break;\n case \"VersionError\":\n if (nativeVerToOpen > 0) {\n nativeVerToOpen = 0;\n return tryOpenDB();\n }\n break;\n }\n return DexiePromise.reject(err);\n }); };\n return DexiePromise.race([\n openCanceller,\n (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(tryOpenDB)\n ]).then(function () {\n throwIfCancelled();\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return db.on.ready.fire(db.vip); })).then(function fireRemainders() {\n if (state.onReadyBeingFired.length > 0) {\n var remainders_1 = state.onReadyBeingFired.reduce(promisableChain, nop);\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return remainders_1(db.vip); })).then(fireRemainders);\n }\n });\n }).finally(function () {\n if (state.openCanceller === openCanceller) {\n state.onReadyBeingFired = null;\n state.isBeingOpened = false;\n }\n }).catch(function (err) {\n state.dbOpenError = err;\n try {\n upgradeTransaction && upgradeTransaction.abort();\n }\n catch (_a) { }\n if (openCanceller === state.openCanceller) {\n db._close();\n }\n return rejection(err);\n }).finally(function () {\n state.openComplete = true;\n resolveDbReady();\n }).then(function () {\n if (wasCreated) {\n var everything_1 = {};\n db.tables.forEach(function (table) {\n table.schema.indexes.forEach(function (idx) {\n if (idx.name)\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\").concat(idx.name)] = new RangeSet(-Infinity, [[[]]]);\n });\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\")] = everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/:dels\")] = new RangeSet(-Infinity, [[[]]]);\n });\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME).fire(everything_1);\n signalSubscribersNow(everything_1, true);\n }\n return db;\n });\n}\n\nfunction awaitIterator(iterator) {\n var callNext = function (result) { return iterator.next(result); }, doThrow = function (error) { return iterator.throw(error); }, onSuccess = step(callNext), onError = step(doThrow);\n function step(getNext) {\n return function (val) {\n var next = getNext(val), value = next.value;\n return next.done ? value :\n (!value || typeof value.then !== 'function' ?\n isArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) :\n value.then(onSuccess, onError));\n };\n }\n return step(callNext)();\n}\n\nfunction extractTransactionArgs(mode, _tableArgs_, scopeFunc) {\n var i = arguments.length;\n if (i < 2)\n throw new exceptions.InvalidArgument(\"Too few arguments\");\n var args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n scopeFunc = args.pop();\n var tables = flatten(args);\n return [mode, tables, scopeFunc];\n}\nfunction enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) {\n return DexiePromise.resolve().then(function () {\n var transless = PSD.transless || PSD;\n var trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction);\n trans.explicit = true;\n var zoneProps = {\n trans: trans,\n transless: transless\n };\n if (parentTransaction) {\n trans.idbtrans = parentTransaction.idbtrans;\n }\n else {\n try {\n trans.create();\n trans.idbtrans._explicit = true;\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return enterTransactionScope(db, mode, storeNames, null, scopeFunc); });\n }\n return rejection(ex);\n }\n }\n var scopeFuncIsAsync = isAsyncFunction(scopeFunc);\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var returnValue;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue = scopeFunc.call(trans, trans);\n if (returnValue) {\n if (scopeFuncIsAsync) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue.then(decrementor, decrementor);\n }\n else if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') {\n returnValue = awaitIterator(returnValue);\n }\n }\n }, zoneProps);\n return (returnValue && typeof returnValue.then === 'function' ?\n DexiePromise.resolve(returnValue).then(function (x) { return trans.active ?\n x\n : rejection(new exceptions.PrematureCommit(\"Transaction committed too early. See http://bit.ly/2kdckMn\")); })\n : promiseFollowed.then(function () { return returnValue; })).then(function (x) {\n if (parentTransaction)\n trans._resolve();\n return trans._completion.then(function () { return x; });\n }).catch(function (e) {\n trans._reject(e);\n return rejection(e);\n });\n });\n}\n\nfunction pad(a, value, count) {\n var result = isArray(a) ? a.slice() : [a];\n for (var i = 0; i < count; ++i)\n result.push(value);\n return result;\n}\nfunction createVirtualIndexMiddleware(down) {\n return __assign(__assign({}, down), { table: function (tableName) {\n var table = down.table(tableName);\n var schema = table.schema;\n var indexLookup = {};\n var allVirtualIndexes = [];\n function addVirtualIndexes(keyPath, keyTail, lowLevelIndex) {\n var keyPathAlias = getKeyPathAlias(keyPath);\n var indexList = (indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || []);\n var keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length;\n var isVirtual = keyTail > 0;\n var virtualIndex = __assign(__assign({}, lowLevelIndex), { name: isVirtual\n ? \"\".concat(keyPathAlias, \"(virtual-from:\").concat(lowLevelIndex.name, \")\")\n : lowLevelIndex.name, lowLevelIndex: lowLevelIndex, isVirtual: isVirtual, keyTail: keyTail, keyLength: keyLength, extractKey: getKeyExtractor(keyPath), unique: !isVirtual && lowLevelIndex.unique });\n indexList.push(virtualIndex);\n if (!virtualIndex.isPrimaryKey) {\n allVirtualIndexes.push(virtualIndex);\n }\n if (keyLength > 1) {\n var virtualKeyPath = keyLength === 2 ?\n keyPath[0] :\n keyPath.slice(0, keyLength - 1);\n addVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex);\n }\n indexList.sort(function (a, b) { return a.keyTail - b.keyTail; });\n return virtualIndex;\n }\n var primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey);\n indexLookup[\":id\"] = [primaryKey];\n for (var _i = 0, _a = schema.indexes; _i < _a.length; _i++) {\n var index = _a[_i];\n addVirtualIndexes(index.keyPath, 0, index);\n }\n function findBestIndex(keyPath) {\n var result = indexLookup[getKeyPathAlias(keyPath)];\n return result && result[0];\n }\n function translateRange(range, keyTail) {\n return {\n type: range.type === 1 ?\n 2 :\n range.type,\n lower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail),\n lowerOpen: true,\n upper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail),\n upperOpen: true\n };\n }\n function translateRequest(req) {\n var index = req.query.index;\n return index.isVirtual ? __assign(__assign({}, req), { query: {\n index: index.lowLevelIndex,\n range: translateRange(req.query.range, index.keyTail)\n } }) : req;\n }\n var result = __assign(__assign({}, table), { schema: __assign(__assign({}, schema), { primaryKey: primaryKey, indexes: allVirtualIndexes, getIndexByKeyPath: findBestIndex }), count: function (req) {\n return table.count(translateRequest(req));\n }, query: function (req) {\n return table.query(translateRequest(req));\n }, openCursor: function (req) {\n var _a = req.query.index, keyTail = _a.keyTail, isVirtual = _a.isVirtual, keyLength = _a.keyLength;\n if (!isVirtual)\n return table.openCursor(req);\n function createVirtualCursor(cursor) {\n function _continue(key) {\n key != null ?\n cursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) :\n req.unique ?\n cursor.continue(cursor.key.slice(0, keyLength)\n .concat(req.reverse\n ? down.MIN_KEY\n : down.MAX_KEY, keyTail)) :\n cursor.continue();\n }\n var virtualCursor = Object.create(cursor, {\n continue: { value: _continue },\n continuePrimaryKey: {\n value: function (key, primaryKey) {\n cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);\n }\n },\n primaryKey: {\n get: function () {\n return cursor.primaryKey;\n }\n },\n key: {\n get: function () {\n var key = cursor.key;\n return keyLength === 1 ?\n key[0] :\n key.slice(0, keyLength);\n }\n },\n value: {\n get: function () {\n return cursor.value;\n }\n }\n });\n return virtualCursor;\n }\n return table.openCursor(translateRequest(req))\n .then(function (cursor) { return cursor && createVirtualCursor(cursor); });\n } });\n return result;\n } });\n}\nvar virtualIndexMiddleware = {\n stack: \"dbcore\",\n name: \"VirtualIndexMiddleware\",\n level: 1,\n create: createVirtualIndexMiddleware\n};\n\nfunction getObjectDiff(a, b, rv, prfx) {\n rv = rv || {};\n prfx = prfx || '';\n keys(a).forEach(function (prop) {\n if (!hasOwn(b, prop)) {\n rv[prfx + prop] = undefined;\n }\n else {\n var ap = a[prop], bp = b[prop];\n if (typeof ap === 'object' && typeof bp === 'object' && ap && bp) {\n var apTypeName = toStringTag(ap);\n var bpTypeName = toStringTag(bp);\n if (apTypeName !== bpTypeName) {\n rv[prfx + prop] = b[prop];\n }\n else if (apTypeName === 'Object') {\n getObjectDiff(ap, bp, rv, prfx + prop + '.');\n }\n else if (ap !== bp) {\n rv[prfx + prop] = b[prop];\n }\n }\n else if (ap !== bp)\n rv[prfx + prop] = b[prop];\n }\n });\n keys(b).forEach(function (prop) {\n if (!hasOwn(a, prop)) {\n rv[prfx + prop] = b[prop];\n }\n });\n return rv;\n}\n\nfunction getEffectiveKeys(primaryKey, req) {\n if (req.type === 'delete')\n return req.keys;\n return req.keys || req.values.map(primaryKey.extractKey);\n}\n\nvar hooksMiddleware = {\n stack: \"dbcore\",\n name: \"HooksMiddleware\",\n level: 2,\n create: function (downCore) { return (__assign(__assign({}, downCore), { table: function (tableName) {\n var downTable = downCore.table(tableName);\n var primaryKey = downTable.schema.primaryKey;\n var tableMiddleware = __assign(__assign({}, downTable), { mutate: function (req) {\n var dxTrans = PSD.trans;\n var _a = dxTrans.table(tableName).hook, deleting = _a.deleting, creating = _a.creating, updating = _a.updating;\n switch (req.type) {\n case 'add':\n if (creating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'put':\n if (creating.fire === nop && updating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'delete':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'deleteRange':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return deleteRange(req); }, true);\n }\n return downTable.mutate(req);\n function addPutOrDelete(req) {\n var dxTrans = PSD.trans;\n var keys = req.keys || getEffectiveKeys(primaryKey, req);\n if (!keys)\n throw new Error(\"Keys missing\");\n req = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), { keys: keys }) : __assign({}, req);\n if (req.type !== 'delete')\n req.values = __spreadArray([], req.values, true);\n if (req.keys)\n req.keys = __spreadArray([], req.keys, true);\n return getExistingValues(downTable, req, keys).then(function (existingValues) {\n var contexts = keys.map(function (key, i) {\n var existingValue = existingValues[i];\n var ctx = { onerror: null, onsuccess: null };\n if (req.type === 'delete') {\n deleting.fire.call(ctx, key, existingValue, dxTrans);\n }\n else if (req.type === 'add' || existingValue === undefined) {\n var generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans);\n if (key == null && generatedPrimaryKey != null) {\n key = generatedPrimaryKey;\n req.keys[i] = key;\n if (!primaryKey.outbound) {\n setByKeyPath(req.values[i], primaryKey.keyPath, key);\n }\n }\n }\n else {\n var objectDiff = getObjectDiff(existingValue, req.values[i]);\n var additionalChanges_1 = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans);\n if (additionalChanges_1) {\n var requestedValue_1 = req.values[i];\n Object.keys(additionalChanges_1).forEach(function (keyPath) {\n if (hasOwn(requestedValue_1, keyPath)) {\n requestedValue_1[keyPath] = additionalChanges_1[keyPath];\n }\n else {\n setByKeyPath(requestedValue_1, keyPath, additionalChanges_1[keyPath]);\n }\n });\n }\n }\n return ctx;\n });\n return downTable.mutate(req).then(function (_a) {\n var failures = _a.failures, results = _a.results, numFailures = _a.numFailures, lastResult = _a.lastResult;\n for (var i = 0; i < keys.length; ++i) {\n var primKey = results ? results[i] : keys[i];\n var ctx = contexts[i];\n if (primKey == null) {\n ctx.onerror && ctx.onerror(failures[i]);\n }\n else {\n ctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ?\n req.values[i] :\n primKey\n );\n }\n }\n return { failures: failures, results: results, numFailures: numFailures, lastResult: lastResult };\n }).catch(function (error) {\n contexts.forEach(function (ctx) { return ctx.onerror && ctx.onerror(error); });\n return Promise.reject(error);\n });\n });\n }\n function deleteRange(req) {\n return deleteNextChunk(req.trans, req.range, 10000);\n }\n function deleteNextChunk(trans, range, limit) {\n return downTable.query({ trans: trans, values: false, query: { index: primaryKey, range: range }, limit: limit })\n .then(function (_a) {\n var result = _a.result;\n return addPutOrDelete({ type: 'delete', keys: result, trans: trans }).then(function (res) {\n if (res.numFailures > 0)\n return Promise.reject(res.failures[0]);\n if (result.length < limit) {\n return { failures: [], numFailures: 0, lastResult: undefined };\n }\n else {\n return deleteNextChunk(trans, __assign(__assign({}, range), { lower: result[result.length - 1], lowerOpen: true }), limit);\n }\n });\n });\n }\n } });\n return tableMiddleware;\n } })); }\n};\nfunction getExistingValues(table, req, effectiveKeys) {\n return req.type === \"add\"\n ? Promise.resolve([])\n : table.getMany({ trans: req.trans, keys: effectiveKeys, cache: \"immutable\" });\n}\n\nfunction getFromTransactionCache(keys, cache, clone) {\n try {\n if (!cache)\n return null;\n if (cache.keys.length < keys.length)\n return null;\n var result = [];\n for (var i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i) {\n if (cmp(cache.keys[i], keys[j]) !== 0)\n continue;\n result.push(clone ? deepClone(cache.values[i]) : cache.values[i]);\n ++j;\n }\n return result.length === keys.length ? result : null;\n }\n catch (_a) {\n return null;\n }\n}\nvar cacheExistingValuesMiddleware = {\n stack: \"dbcore\",\n level: -1,\n create: function (core) {\n return {\n table: function (tableName) {\n var table = core.table(tableName);\n return __assign(__assign({}, table), { getMany: function (req) {\n if (!req.cache) {\n return table.getMany(req);\n }\n var cachedResult = getFromTransactionCache(req.keys, req.trans[\"_cache\"], req.cache === \"clone\");\n if (cachedResult) {\n return DexiePromise.resolve(cachedResult);\n }\n return table.getMany(req).then(function (res) {\n req.trans[\"_cache\"] = {\n keys: req.keys,\n values: req.cache === \"clone\" ? deepClone(res) : res,\n };\n return res;\n });\n }, mutate: function (req) {\n if (req.type !== \"add\")\n req.trans[\"_cache\"] = null;\n return table.mutate(req);\n } });\n },\n };\n },\n};\n\nfunction isCachableContext(ctx, table) {\n return (ctx.trans.mode === 'readonly' &&\n !!ctx.subscr &&\n !ctx.trans.explicit &&\n ctx.trans.db._options.cache !== 'disabled' &&\n !table.schema.primaryKey.outbound);\n}\n\nfunction isCachableRequest(type, req) {\n switch (type) {\n case 'query':\n return req.values && !req.unique;\n case 'get':\n return false;\n case 'getMany':\n return false;\n case 'count':\n return false;\n case 'openCursor':\n return false;\n }\n}\n\nvar observabilityMiddleware = {\n stack: \"dbcore\",\n level: 0,\n name: \"Observability\",\n create: function (core) {\n var dbName = core.schema.name;\n var FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY);\n return __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n if (PSD.subscr && mode !== 'readonly') {\n throw new exceptions.ReadOnly(\"Readwrite transaction in liveQuery context. Querier source: \".concat(PSD.querier));\n }\n return core.transaction(stores, mode, options);\n }, table: function (tableName) {\n var table = core.table(tableName);\n var schema = table.schema;\n var primaryKey = schema.primaryKey, indexes = schema.indexes;\n var extractKey = primaryKey.extractKey, outbound = primaryKey.outbound;\n var indexesWithAutoIncPK = primaryKey.autoIncrement && indexes.filter(function (index) { return index.compound && index.keyPath.includes(primaryKey.keyPath); });\n var tableClone = __assign(__assign({}, table), { mutate: function (req) {\n var _a, _b;\n var trans = req.trans;\n var mutatedParts = req.mutatedParts || (req.mutatedParts = {});\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (mutatedParts[part] ||\n (mutatedParts[part] = new RangeSet()));\n };\n var pkRangeSet = getRangeSet(\"\");\n var delsRangeSet = getRangeSet(\":dels\");\n var type = req.type;\n var _c = req.type === \"deleteRange\"\n ? [req.range]\n : req.type === \"delete\"\n ? [req.keys]\n : req.values.length < 50\n ? [getEffectiveKeys(primaryKey, req).filter(function (id) { return id; }), req.values]\n : [], keys = _c[0], newObjs = _c[1];\n var oldCache = req.trans[\"_cache\"];\n if (isArray(keys)) {\n pkRangeSet.addKeys(keys);\n var oldObjs = type === 'delete' || keys.length === newObjs.length ? getFromTransactionCache(keys, oldCache) : null;\n if (!oldObjs) {\n delsRangeSet.addKeys(keys);\n }\n if (oldObjs || newObjs) {\n trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs);\n }\n }\n else if (keys) {\n var range = {\n from: (_a = keys.lower) !== null && _a !== void 0 ? _a : core.MIN_KEY,\n to: (_b = keys.upper) !== null && _b !== void 0 ? _b : core.MAX_KEY\n };\n delsRangeSet.add(range);\n pkRangeSet.add(range);\n }\n else {\n pkRangeSet.add(FULL_RANGE);\n delsRangeSet.add(FULL_RANGE);\n schema.indexes.forEach(function (idx) { return getRangeSet(idx.name).add(FULL_RANGE); });\n }\n return table.mutate(req).then(function (res) {\n if (keys && (req.type === 'add' || req.type === 'put')) {\n pkRangeSet.addKeys(res.results);\n if (indexesWithAutoIncPK) {\n indexesWithAutoIncPK.forEach(function (idx) {\n var idxVals = req.values.map(function (v) { return idx.extractKey(v); });\n var pkPos = idx.keyPath.findIndex(function (prop) { return prop === primaryKey.keyPath; });\n for (var i = 0, len = res.results.length; i < len; ++i) {\n idxVals[i][pkPos] = res.results[i];\n }\n getRangeSet(idx.name).addKeys(idxVals);\n });\n }\n }\n trans.mutatedParts = extendObservabilitySet(trans.mutatedParts || {}, mutatedParts);\n return res;\n });\n } });\n var getRange = function (_a) {\n var _b, _c;\n var _d = _a.query, index = _d.index, range = _d.range;\n return [\n index,\n new RangeSet((_b = range.lower) !== null && _b !== void 0 ? _b : core.MIN_KEY, (_c = range.upper) !== null && _c !== void 0 ? _c : core.MAX_KEY),\n ];\n };\n var readSubscribers = {\n get: function (req) { return [primaryKey, new RangeSet(req.key)]; },\n getMany: function (req) { return [primaryKey, new RangeSet().addKeys(req.keys)]; },\n count: getRange,\n query: getRange,\n openCursor: getRange,\n };\n keys(readSubscribers).forEach(function (method) {\n tableClone[method] = function (req) {\n var subscr = PSD.subscr;\n var isLiveQuery = !!subscr;\n var cachable = isCachableContext(PSD, table) && isCachableRequest(method, req);\n var obsSet = cachable\n ? req.obsSet = {}\n : subscr;\n if (isLiveQuery) {\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (obsSet[part] ||\n (obsSet[part] = new RangeSet()));\n };\n var pkRangeSet_1 = getRangeSet(\"\");\n var delsRangeSet_1 = getRangeSet(\":dels\");\n var _a = readSubscribers[method](req), queriedIndex = _a[0], queriedRanges = _a[1];\n if (method === 'query' && queriedIndex.isPrimaryKey && !req.values) {\n delsRangeSet_1.add(queriedRanges);\n }\n else {\n getRangeSet(queriedIndex.name || \"\").add(queriedRanges);\n }\n if (!queriedIndex.isPrimaryKey) {\n if (method === \"count\") {\n delsRangeSet_1.add(FULL_RANGE);\n }\n else {\n var keysPromise_1 = method === \"query\" &&\n outbound &&\n req.values &&\n table.query(__assign(__assign({}, req), { values: false }));\n return table[method].apply(this, arguments).then(function (res) {\n if (method === \"query\") {\n if (outbound && req.values) {\n return keysPromise_1.then(function (_a) {\n var resultingKeys = _a.result;\n pkRangeSet_1.addKeys(resultingKeys);\n return res;\n });\n }\n var pKeys = req.values\n ? res.result.map(extractKey)\n : res.result;\n if (req.values) {\n pkRangeSet_1.addKeys(pKeys);\n }\n else {\n delsRangeSet_1.addKeys(pKeys);\n }\n }\n else if (method === \"openCursor\") {\n var cursor_1 = res;\n var wantValues_1 = req.values;\n return (cursor_1 &&\n Object.create(cursor_1, {\n key: {\n get: function () {\n delsRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.key;\n },\n },\n primaryKey: {\n get: function () {\n var pkey = cursor_1.primaryKey;\n delsRangeSet_1.addKey(pkey);\n return pkey;\n },\n },\n value: {\n get: function () {\n wantValues_1 && pkRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.value;\n },\n },\n }));\n }\n return res;\n });\n }\n }\n }\n return table[method].apply(this, arguments);\n };\n });\n return tableClone;\n } });\n },\n};\nfunction trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) {\n function addAffectedIndex(ix) {\n var rangeSet = getRangeSet(ix.name || \"\");\n function extractKey(obj) {\n return obj != null ? ix.extractKey(obj) : null;\n }\n var addKeyOrKeys = function (key) { return ix.multiEntry && isArray(key)\n ? key.forEach(function (key) { return rangeSet.addKey(key); })\n : rangeSet.addKey(key); };\n (oldObjs || newObjs).forEach(function (_, i) {\n var oldKey = oldObjs && extractKey(oldObjs[i]);\n var newKey = newObjs && extractKey(newObjs[i]);\n if (cmp(oldKey, newKey) !== 0) {\n if (oldKey != null)\n addKeyOrKeys(oldKey);\n if (newKey != null)\n addKeyOrKeys(newKey);\n }\n });\n }\n schema.indexes.forEach(addAffectedIndex);\n}\n\nfunction adjustOptimisticFromFailures(tblCache, req, res) {\n if (res.numFailures === 0)\n return req;\n if (req.type === 'deleteRange') {\n return null;\n }\n var numBulkOps = req.keys\n ? req.keys.length\n : 'values' in req && req.values\n ? req.values.length\n : 1;\n if (res.numFailures === numBulkOps) {\n return null;\n }\n var clone = __assign({}, req);\n if (isArray(clone.keys)) {\n clone.keys = clone.keys.filter(function (_, i) { return !(i in res.failures); });\n }\n if ('values' in clone && isArray(clone.values)) {\n clone.values = clone.values.filter(function (_, i) { return !(i in res.failures); });\n }\n return clone;\n}\n\nfunction isAboveLower(key, range) {\n return range.lower === undefined\n ? true\n : range.lowerOpen\n ? cmp(key, range.lower) > 0\n : cmp(key, range.lower) >= 0;\n}\nfunction isBelowUpper(key, range) {\n return range.upper === undefined\n ? true\n : range.upperOpen\n ? cmp(key, range.upper) < 0\n : cmp(key, range.upper) <= 0;\n}\nfunction isWithinRange(key, range) {\n return isAboveLower(key, range) && isBelowUpper(key, range);\n}\n\nfunction applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {\n if (!ops || ops.length === 0)\n return result;\n var index = req.query.index;\n var multiEntry = index.multiEntry;\n var queryRange = req.query.range;\n var primaryKey = table.schema.primaryKey;\n var extractPrimKey = primaryKey.extractKey;\n var extractIndex = index.extractKey;\n var extractLowLevelIndex = (index.lowLevelIndex || index).extractKey;\n var finalResult = ops.reduce(function (result, op) {\n var modifedResult = result;\n var includedValues = [];\n if (op.type === 'add' || op.type === 'put') {\n var includedPKs = new RangeSet();\n for (var i = op.values.length - 1; i >= 0; --i) {\n var value = op.values[i];\n var pk = extractPrimKey(value);\n if (includedPKs.hasKey(pk))\n continue;\n var key = extractIndex(value);\n if (multiEntry && isArray(key)\n ? key.some(function (k) { return isWithinRange(k, queryRange); })\n : isWithinRange(key, queryRange)) {\n includedPKs.addKey(pk);\n includedValues.push(value);\n }\n }\n }\n switch (op.type) {\n case 'add': {\n var existingKeys_1 = new RangeSet().addKeys(req.values ? result.map(function (v) { return extractPrimKey(v); }) : result);\n modifedResult = result.concat(req.values\n ? includedValues.filter(function (v) {\n var key = extractPrimKey(v);\n if (existingKeys_1.hasKey(key))\n return false;\n existingKeys_1.addKey(key);\n return true;\n })\n : includedValues\n .map(function (v) { return extractPrimKey(v); })\n .filter(function (k) {\n if (existingKeys_1.hasKey(k))\n return false;\n existingKeys_1.addKey(k);\n return true;\n }));\n break;\n }\n case 'put': {\n var keySet_1 = new RangeSet().addKeys(op.values.map(function (v) { return extractPrimKey(v); }));\n modifedResult = result\n .filter(\n function (item) { return !keySet_1.hasKey(req.values ? extractPrimKey(item) : item); })\n .concat(\n req.values\n ? includedValues\n : includedValues.map(function (v) { return extractPrimKey(v); }));\n break;\n }\n case 'delete':\n var keysToDelete_1 = new RangeSet().addKeys(op.keys);\n modifedResult = result.filter(function (item) {\n return !keysToDelete_1.hasKey(req.values ? extractPrimKey(item) : item);\n });\n break;\n case 'deleteRange':\n var range_1 = op.range;\n modifedResult = result.filter(function (item) { return !isWithinRange(extractPrimKey(item), range_1); });\n break;\n }\n return modifedResult;\n }, result);\n if (finalResult === result)\n return result;\n finalResult.sort(function (a, b) {\n return cmp(extractLowLevelIndex(a), extractLowLevelIndex(b)) ||\n cmp(extractPrimKey(a), extractPrimKey(b));\n });\n if (req.limit && req.limit < Infinity) {\n if (finalResult.length > req.limit) {\n finalResult.length = req.limit;\n }\n else if (result.length === req.limit && finalResult.length < req.limit) {\n cacheEntry.dirty = true;\n }\n }\n return immutable ? Object.freeze(finalResult) : finalResult;\n}\n\nfunction areRangesEqual(r1, r2) {\n return (cmp(r1.lower, r2.lower) === 0 &&\n cmp(r1.upper, r2.upper) === 0 &&\n !!r1.lowerOpen === !!r2.lowerOpen &&\n !!r1.upperOpen === !!r2.upperOpen);\n}\n\nfunction compareLowers(lower1, lower2, lowerOpen1, lowerOpen2) {\n if (lower1 === undefined)\n return lower2 !== undefined ? -1 : 0;\n if (lower2 === undefined)\n return 1;\n var c = cmp(lower1, lower2);\n if (c === 0) {\n if (lowerOpen1 && lowerOpen2)\n return 0;\n if (lowerOpen1)\n return 1;\n if (lowerOpen2)\n return -1;\n }\n return c;\n}\nfunction compareUppers(upper1, upper2, upperOpen1, upperOpen2) {\n if (upper1 === undefined)\n return upper2 !== undefined ? 1 : 0;\n if (upper2 === undefined)\n return -1;\n var c = cmp(upper1, upper2);\n if (c === 0) {\n if (upperOpen1 && upperOpen2)\n return 0;\n if (upperOpen1)\n return -1;\n if (upperOpen2)\n return 1;\n }\n return c;\n}\nfunction isSuperRange(r1, r2) {\n return (compareLowers(r1.lower, r2.lower, r1.lowerOpen, r2.lowerOpen) <= 0 &&\n compareUppers(r1.upper, r2.upper, r1.upperOpen, r2.upperOpen) >= 0);\n}\n\nfunction findCompatibleQuery(dbName, tableName, type, req) {\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return [];\n var queries = tblCache.queries[type];\n if (!queries)\n return [null, false, tblCache, null];\n var indexName = req.query ? req.query.index.name : null;\n var entries = queries[indexName || ''];\n if (!entries)\n return [null, false, tblCache, null];\n switch (type) {\n case 'query':\n var equalEntry = entries.find(function (entry) {\n return entry.req.limit === req.limit &&\n entry.req.values === req.values &&\n areRangesEqual(entry.req.query.range, req.query.range);\n });\n if (equalEntry)\n return [\n equalEntry,\n true,\n tblCache,\n entries,\n ];\n var superEntry = entries.find(function (entry) {\n var limit = 'limit' in entry.req ? entry.req.limit : Infinity;\n return (limit >= req.limit &&\n (req.values ? entry.req.values : true) &&\n isSuperRange(entry.req.query.range, req.query.range));\n });\n return [superEntry, false, tblCache, entries];\n case 'count':\n var countQuery = entries.find(function (entry) {\n return areRangesEqual(entry.req.query.range, req.query.range);\n });\n return [countQuery, !!countQuery, tblCache, entries];\n }\n}\n\nfunction subscribeToCacheEntry(cacheEntry, container, requery, signal) {\n cacheEntry.subscribers.add(requery);\n signal.addEventListener(\"abort\", function () {\n cacheEntry.subscribers.delete(requery);\n if (cacheEntry.subscribers.size === 0) {\n enqueForDeletion(cacheEntry, container);\n }\n });\n}\nfunction enqueForDeletion(cacheEntry, container) {\n setTimeout(function () {\n if (cacheEntry.subscribers.size === 0) {\n delArrayItem(container, cacheEntry);\n }\n }, 3000);\n}\n\nvar cacheMiddleware = {\n stack: 'dbcore',\n level: 0,\n name: 'Cache',\n create: function (core) {\n var dbName = core.schema.name;\n var coreMW = __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n var idbtrans = core.transaction(stores, mode, options);\n if (mode === 'readwrite') {\n var ac_1 = new AbortController();\n var signal = ac_1.signal;\n var endTransaction = function (wasCommitted) { return function () {\n ac_1.abort();\n if (mode === 'readwrite') {\n var affectedSubscribers_1 = new Set();\n for (var _i = 0, stores_1 = stores; _i < stores_1.length; _i++) {\n var storeName = stores_1[_i];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(storeName)];\n if (tblCache) {\n var table = core.table(storeName);\n var ops = tblCache.optimisticOps.filter(function (op) { return op.trans === idbtrans; });\n if (idbtrans._explicit && wasCommitted && idbtrans.mutatedParts) {\n for (var _a = 0, _b = Object.values(tblCache.queries.query); _a < _b.length; _a++) {\n var entries = _b[_a];\n for (var _c = 0, _d = entries.slice(); _c < _d.length; _c++) {\n var entry = _d[_c];\n if (obsSetsOverlap(entry.obsSet, idbtrans.mutatedParts)) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n else if (ops.length > 0) {\n tblCache.optimisticOps = tblCache.optimisticOps.filter(function (op) { return op.trans !== idbtrans; });\n for (var _e = 0, _f = Object.values(tblCache.queries.query); _e < _f.length; _e++) {\n var entries = _f[_e];\n for (var _g = 0, _h = entries.slice(); _g < _h.length; _g++) {\n var entry = _h[_g];\n if (entry.res != null &&\n idbtrans.mutatedParts\n) {\n if (wasCommitted && !entry.dirty) {\n var freezeResults = Object.isFrozen(entry.res);\n var modRes = applyOptimisticOps(entry.res, entry.req, ops, table, entry, freezeResults);\n if (entry.dirty) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n else if (modRes !== entry.res) {\n entry.res = modRes;\n entry.promise = DexiePromise.resolve({ result: modRes });\n }\n }\n else {\n if (entry.dirty) {\n delArrayItem(entries, entry);\n }\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n }\n }\n }\n affectedSubscribers_1.forEach(function (requery) { return requery(); });\n }\n }; };\n idbtrans.addEventListener('abort', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('error', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('complete', endTransaction(true), {\n signal: signal,\n });\n }\n return idbtrans;\n }, table: function (tableName) {\n var downTable = core.table(tableName);\n var primKey = downTable.schema.primaryKey;\n var tableMW = __assign(__assign({}, downTable), { mutate: function (req) {\n var trans = PSD.trans;\n if (primKey.outbound ||\n trans.db._options.cache === 'disabled' ||\n trans.explicit ||\n trans.idbtrans.mode !== 'readwrite'\n ) {\n return downTable.mutate(req);\n }\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return downTable.mutate(req);\n var promise = downTable.mutate(req);\n if ((req.type === 'add' || req.type === 'put') && (req.values.length >= 50 || getEffectiveKeys(primKey, req).some(function (key) { return key == null; }))) {\n promise.then(function (res) {\n var reqWithResolvedKeys = __assign(__assign({}, req), { values: req.values.map(function (value, i) {\n var _a;\n if (res.failures[i])\n return value;\n var valueWithKey = ((_a = primKey.keyPath) === null || _a === void 0 ? void 0 : _a.includes('.'))\n ? deepClone(value)\n : __assign({}, value);\n setByKeyPath(valueWithKey, primKey.keyPath, res.results[i]);\n return valueWithKey;\n }) });\n var adjustedReq = adjustOptimisticFromFailures(tblCache, reqWithResolvedKeys, res);\n tblCache.optimisticOps.push(adjustedReq);\n queueMicrotask(function () { return req.mutatedParts && signalSubscribersLazily(req.mutatedParts); });\n });\n }\n else {\n tblCache.optimisticOps.push(req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n promise.then(function (res) {\n if (res.numFailures > 0) {\n delArrayItem(tblCache.optimisticOps, req);\n var adjustedReq = adjustOptimisticFromFailures(tblCache, req, res);\n if (adjustedReq) {\n tblCache.optimisticOps.push(adjustedReq);\n }\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n }\n });\n promise.catch(function () {\n delArrayItem(tblCache.optimisticOps, req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n });\n }\n return promise;\n }, query: function (req) {\n var _a;\n if (!isCachableContext(PSD, downTable) || !isCachableRequest(\"query\", req))\n return downTable.query(req);\n var freezeResults = ((_a = PSD.trans) === null || _a === void 0 ? void 0 : _a.db._options.cache) === 'immutable';\n var _b = PSD, requery = _b.requery, signal = _b.signal;\n var _c = findCompatibleQuery(dbName, tableName, 'query', req), cacheEntry = _c[0], exactMatch = _c[1], tblCache = _c[2], container = _c[3];\n if (cacheEntry && exactMatch) {\n cacheEntry.obsSet = req.obsSet;\n }\n else {\n var promise = downTable.query(req).then(function (res) {\n var result = res.result;\n if (cacheEntry)\n cacheEntry.res = result;\n if (freezeResults) {\n for (var i = 0, l = result.length; i < l; ++i) {\n Object.freeze(result[i]);\n }\n Object.freeze(result);\n }\n else {\n res.result = deepClone(result);\n }\n return res;\n }).catch(function (error) {\n if (container && cacheEntry)\n delArrayItem(container, cacheEntry);\n return Promise.reject(error);\n });\n cacheEntry = {\n obsSet: req.obsSet,\n promise: promise,\n subscribers: new Set(),\n type: 'query',\n req: req,\n dirty: false,\n };\n if (container) {\n container.push(cacheEntry);\n }\n else {\n container = [cacheEntry];\n if (!tblCache) {\n tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)] = {\n queries: {\n query: {},\n count: {},\n },\n objs: new Map(),\n optimisticOps: [],\n unsignaledParts: {}\n };\n }\n tblCache.queries.query[req.query.index.name || ''] = container;\n }\n }\n subscribeToCacheEntry(cacheEntry, container, requery, signal);\n return cacheEntry.promise.then(function (res) {\n return {\n result: applyOptimisticOps(res.result, req, tblCache === null || tblCache === void 0 ? void 0 : tblCache.optimisticOps, downTable, cacheEntry, freezeResults),\n };\n });\n } });\n return tableMW;\n } });\n return coreMW;\n },\n};\n\nfunction vipify(target, vipDb) {\n return new Proxy(target, {\n get: function (target, prop, receiver) {\n if (prop === 'db')\n return vipDb;\n return Reflect.get(target, prop, receiver);\n }\n });\n}\n\nvar Dexie$1 = (function () {\n function Dexie(name, options) {\n var _this = this;\n this._middlewares = {};\n this.verno = 0;\n var deps = Dexie.dependencies;\n this._options = options = __assign({\n addons: Dexie.addons, autoOpen: true,\n indexedDB: deps.indexedDB, IDBKeyRange: deps.IDBKeyRange, cache: 'cloned' }, options);\n this._deps = {\n indexedDB: options.indexedDB,\n IDBKeyRange: options.IDBKeyRange\n };\n var addons = options.addons;\n this._dbSchema = {};\n this._versions = [];\n this._storeNames = [];\n this._allTables = {};\n this.idbdb = null;\n this._novip = this;\n var state = {\n dbOpenError: null,\n isBeingOpened: false,\n onReadyBeingFired: null,\n openComplete: false,\n dbReadyResolve: nop,\n dbReadyPromise: null,\n cancelOpen: nop,\n openCanceller: null,\n autoSchema: true,\n PR1398_maxLoop: 3,\n autoOpen: options.autoOpen,\n };\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n this._state = state;\n this.name = name;\n this.on = Events(this, \"populate\", \"blocked\", \"versionchange\", \"close\", { ready: [promisableChain, nop] });\n this.on.ready.subscribe = override(this.on.ready.subscribe, function (subscribe) {\n return function (subscriber, bSticky) {\n Dexie.vip(function () {\n var state = _this._state;\n if (state.openComplete) {\n if (!state.dbOpenError)\n DexiePromise.resolve().then(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else if (state.onReadyBeingFired) {\n state.onReadyBeingFired.push(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else {\n subscribe(subscriber);\n var db_1 = _this;\n if (!bSticky)\n subscribe(function unsubscribe() {\n db_1.on.ready.unsubscribe(subscriber);\n db_1.on.ready.unsubscribe(unsubscribe);\n });\n }\n });\n };\n });\n this.Collection = createCollectionConstructor(this);\n this.Table = createTableConstructor(this);\n this.Transaction = createTransactionConstructor(this);\n this.Version = createVersionConstructor(this);\n this.WhereClause = createWhereClauseConstructor(this);\n this.on(\"versionchange\", function (ev) {\n if (ev.newVersion > 0)\n console.warn(\"Another connection wants to upgrade database '\".concat(_this.name, \"'. Closing db now to resume the upgrade.\"));\n else\n console.warn(\"Another connection wants to delete database '\".concat(_this.name, \"'. Closing db now to resume the delete request.\"));\n _this.close({ disableAutoOpen: false });\n });\n this.on(\"blocked\", function (ev) {\n if (!ev.newVersion || ev.newVersion < ev.oldVersion)\n console.warn(\"Dexie.delete('\".concat(_this.name, \"') was blocked\"));\n else\n console.warn(\"Upgrade '\".concat(_this.name, \"' blocked by other connection holding version \").concat(ev.oldVersion / 10));\n });\n this._maxKey = getMaxKey(options.IDBKeyRange);\n this._createTransaction = function (mode, storeNames, dbschema, parentTransaction) { return new _this.Transaction(mode, storeNames, dbschema, _this._options.chromeTransactionDurability, parentTransaction); };\n this._fireOnBlocked = function (ev) {\n _this.on(\"blocked\").fire(ev);\n connections\n .filter(function (c) { return c.name === _this.name && c !== _this && !c._state.vcFired; })\n .map(function (c) { return c.on(\"versionchange\").fire(ev); });\n };\n this.use(cacheExistingValuesMiddleware);\n this.use(cacheMiddleware);\n this.use(observabilityMiddleware);\n this.use(virtualIndexMiddleware);\n this.use(hooksMiddleware);\n var vipDB = new Proxy(this, {\n get: function (_, prop, receiver) {\n if (prop === '_vip')\n return true;\n if (prop === 'table')\n return function (tableName) { return vipify(_this.table(tableName), vipDB); };\n var rv = Reflect.get(_, prop, receiver);\n if (rv instanceof Table)\n return vipify(rv, vipDB);\n if (prop === 'tables')\n return rv.map(function (t) { return vipify(t, vipDB); });\n if (prop === '_createTransaction')\n return function () {\n var tx = rv.apply(this, arguments);\n return vipify(tx, vipDB);\n };\n return rv;\n }\n });\n this.vip = vipDB;\n addons.forEach(function (addon) { return addon(_this); });\n }\n Dexie.prototype.version = function (versionNumber) {\n if (isNaN(versionNumber) || versionNumber < 0.1)\n throw new exceptions.Type(\"Given version is not a positive number\");\n versionNumber = Math.round(versionNumber * 10) / 10;\n if (this.idbdb || this._state.isBeingOpened)\n throw new exceptions.Schema(\"Cannot add version when database is open\");\n this.verno = Math.max(this.verno, versionNumber);\n var versions = this._versions;\n var versionInstance = versions.filter(function (v) { return v._cfg.version === versionNumber; })[0];\n if (versionInstance)\n return versionInstance;\n versionInstance = new this.Version(versionNumber);\n versions.push(versionInstance);\n versions.sort(lowerVersionFirst);\n versionInstance.stores({});\n this._state.autoSchema = false;\n return versionInstance;\n };\n Dexie.prototype._whenReady = function (fn) {\n var _this = this;\n return (this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip)) ? fn() : new DexiePromise(function (resolve, reject) {\n if (_this._state.openComplete) {\n return reject(new exceptions.DatabaseClosed(_this._state.dbOpenError));\n }\n if (!_this._state.isBeingOpened) {\n if (!_this._state.autoOpen) {\n reject(new exceptions.DatabaseClosed());\n return;\n }\n _this.open().catch(nop);\n }\n _this._state.dbReadyPromise.then(resolve, reject);\n }).then(fn);\n };\n Dexie.prototype.use = function (_a) {\n var stack = _a.stack, create = _a.create, level = _a.level, name = _a.name;\n if (name)\n this.unuse({ stack: stack, name: name });\n var middlewares = this._middlewares[stack] || (this._middlewares[stack] = []);\n middlewares.push({ stack: stack, create: create, level: level == null ? 10 : level, name: name });\n middlewares.sort(function (a, b) { return a.level - b.level; });\n return this;\n };\n Dexie.prototype.unuse = function (_a) {\n var stack = _a.stack, name = _a.name, create = _a.create;\n if (stack && this._middlewares[stack]) {\n this._middlewares[stack] = this._middlewares[stack].filter(function (mw) {\n return create ? mw.create !== create :\n name ? mw.name !== name :\n false;\n });\n }\n return this;\n };\n Dexie.prototype.open = function () {\n var _this = this;\n return usePSD(globalPSD,\n function () { return dexieOpen(_this); });\n };\n Dexie.prototype._close = function () {\n var state = this._state;\n var idx = connections.indexOf(this);\n if (idx >= 0)\n connections.splice(idx, 1);\n if (this.idbdb) {\n try {\n this.idbdb.close();\n }\n catch (e) { }\n this.idbdb = null;\n }\n if (!state.isBeingOpened) {\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n }\n };\n Dexie.prototype.close = function (_a) {\n var _b = _a === void 0 ? { disableAutoOpen: true } : _a, disableAutoOpen = _b.disableAutoOpen;\n var state = this._state;\n if (disableAutoOpen) {\n if (state.isBeingOpened) {\n state.cancelOpen(new exceptions.DatabaseClosed());\n }\n this._close();\n state.autoOpen = false;\n state.dbOpenError = new exceptions.DatabaseClosed();\n }\n else {\n this._close();\n state.autoOpen = this._options.autoOpen ||\n state.isBeingOpened;\n state.openComplete = false;\n state.dbOpenError = null;\n }\n };\n Dexie.prototype.delete = function (closeOptions) {\n var _this = this;\n if (closeOptions === void 0) { closeOptions = { disableAutoOpen: true }; }\n var hasInvalidArguments = arguments.length > 0 && typeof arguments[0] !== 'object';\n var state = this._state;\n return new DexiePromise(function (resolve, reject) {\n var doDelete = function () {\n _this.close(closeOptions);\n var req = _this._deps.indexedDB.deleteDatabase(_this.name);\n req.onsuccess = wrap(function () {\n _onDatabaseDeleted(_this._deps, _this.name);\n resolve();\n });\n req.onerror = eventRejectHandler(reject);\n req.onblocked = _this._fireOnBlocked;\n };\n if (hasInvalidArguments)\n throw new exceptions.InvalidArgument(\"Invalid closeOptions argument to db.delete()\");\n if (state.isBeingOpened) {\n state.dbReadyPromise.then(doDelete);\n }\n else {\n doDelete();\n }\n });\n };\n Dexie.prototype.backendDB = function () {\n return this.idbdb;\n };\n Dexie.prototype.isOpen = function () {\n return this.idbdb !== null;\n };\n Dexie.prototype.hasBeenClosed = function () {\n var dbOpenError = this._state.dbOpenError;\n return dbOpenError && (dbOpenError.name === 'DatabaseClosed');\n };\n Dexie.prototype.hasFailed = function () {\n return this._state.dbOpenError !== null;\n };\n Dexie.prototype.dynamicallyOpened = function () {\n return this._state.autoSchema;\n };\n Object.defineProperty(Dexie.prototype, \"tables\", {\n get: function () {\n var _this = this;\n return keys(this._allTables).map(function (name) { return _this._allTables[name]; });\n },\n enumerable: false,\n configurable: true\n });\n Dexie.prototype.transaction = function () {\n var args = extractTransactionArgs.apply(this, arguments);\n return this._transaction.apply(this, args);\n };\n Dexie.prototype._transaction = function (mode, tables, scopeFunc) {\n var _this = this;\n var parentTransaction = PSD.trans;\n if (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1)\n parentTransaction = null;\n var onlyIfCompatible = mode.indexOf('?') !== -1;\n mode = mode.replace('!', '').replace('?', '');\n var idbMode, storeNames;\n try {\n storeNames = tables.map(function (table) {\n var storeName = table instanceof _this.Table ? table.name : table;\n if (typeof storeName !== 'string')\n throw new TypeError(\"Invalid table argument to Dexie.transaction(). Only Table or String are allowed\");\n return storeName;\n });\n if (mode == \"r\" || mode === READONLY)\n idbMode = READONLY;\n else if (mode == \"rw\" || mode == READWRITE)\n idbMode = READWRITE;\n else\n throw new exceptions.InvalidArgument(\"Invalid transaction mode: \" + mode);\n if (parentTransaction) {\n if (parentTransaction.mode === READONLY && idbMode === READWRITE) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY\");\n }\n if (parentTransaction) {\n storeNames.forEach(function (storeName) {\n if (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Table \" + storeName +\n \" not included in parent transaction.\");\n }\n });\n }\n if (onlyIfCompatible && parentTransaction && !parentTransaction.active) {\n parentTransaction = null;\n }\n }\n }\n catch (e) {\n return parentTransaction ?\n parentTransaction._promise(null, function (_, reject) { reject(e); }) :\n rejection(e);\n }\n var enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc);\n return (parentTransaction ?\n parentTransaction._promise(idbMode, enterTransaction, \"lock\") :\n PSD.trans ?\n usePSD(PSD.transless, function () { return _this._whenReady(enterTransaction); }) :\n this._whenReady(enterTransaction));\n };\n Dexie.prototype.table = function (tableName) {\n if (!hasOwn(this._allTables, tableName)) {\n throw new exceptions.InvalidTable(\"Table \".concat(tableName, \" does not exist\"));\n }\n return this._allTables[tableName];\n };\n return Dexie;\n}());\n\nvar symbolObservable = typeof Symbol !== \"undefined\" && \"observable\" in Symbol\n ? Symbol.observable\n : \"@@observable\";\nvar Observable = (function () {\n function Observable(subscribe) {\n this._subscribe = subscribe;\n }\n Observable.prototype.subscribe = function (x, error, complete) {\n return this._subscribe(!x || typeof x === \"function\" ? { next: x, error: error, complete: complete } : x);\n };\n Observable.prototype[symbolObservable] = function () {\n return this;\n };\n return Observable;\n}());\n\nvar domDeps;\ntry {\n domDeps = {\n indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,\n IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange\n };\n}\ncatch (e) {\n domDeps = { indexedDB: null, IDBKeyRange: null };\n}\n\nfunction liveQuery(querier) {\n var hasValue = false;\n var currentValue;\n var observable = new Observable(function (observer) {\n var scopeFuncIsAsync = isAsyncFunction(querier);\n function execute(ctx) {\n var wasRootExec = beginMicroTickScope();\n try {\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var rv = newScope(querier, ctx);\n if (scopeFuncIsAsync) {\n rv = rv.finally(decrementExpectedAwaits);\n }\n return rv;\n }\n finally {\n wasRootExec && endMicroTickScope();\n }\n }\n var closed = false;\n var abortController;\n var accumMuts = {};\n var currentObs = {};\n var subscription = {\n get closed() {\n return closed;\n },\n unsubscribe: function () {\n if (closed)\n return;\n closed = true;\n if (abortController)\n abortController.abort();\n if (startedListening)\n globalEvents.storagemutated.unsubscribe(mutationListener);\n },\n };\n observer.start && observer.start(subscription);\n var startedListening = false;\n var doQuery = function () { return execInGlobalContext(_doQuery); };\n function shouldNotify() {\n return obsSetsOverlap(currentObs, accumMuts);\n }\n var mutationListener = function (parts) {\n extendObservabilitySet(accumMuts, parts);\n if (shouldNotify()) {\n doQuery();\n }\n };\n var _doQuery = function () {\n if (closed ||\n !domDeps.indexedDB)\n {\n return;\n }\n accumMuts = {};\n var subscr = {};\n if (abortController)\n abortController.abort();\n abortController = new AbortController();\n var ctx = {\n subscr: subscr,\n signal: abortController.signal,\n requery: doQuery,\n querier: querier,\n trans: null\n };\n var ret = execute(ctx);\n Promise.resolve(ret).then(function (result) {\n hasValue = true;\n currentValue = result;\n if (closed || ctx.signal.aborted) {\n return;\n }\n accumMuts = {};\n currentObs = subscr;\n if (!objectIsEmpty(currentObs) && !startedListening) {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);\n startedListening = true;\n }\n execInGlobalContext(function () { return !closed && observer.next && observer.next(result); });\n }, function (err) {\n hasValue = false;\n if (!['DatabaseClosedError', 'AbortError'].includes(err === null || err === void 0 ? void 0 : err.name)) {\n if (!closed)\n execInGlobalContext(function () {\n if (closed)\n return;\n observer.error && observer.error(err);\n });\n }\n });\n };\n setTimeout(doQuery, 0);\n return subscription;\n });\n observable.hasValue = function () { return hasValue; };\n observable.getValue = function () { return currentValue; };\n return observable;\n}\n\nvar Dexie = Dexie$1;\nprops(Dexie, __assign(__assign({}, fullNameExceptions), {\n delete: function (databaseName) {\n var db = new Dexie(databaseName, { addons: [] });\n return db.delete();\n },\n exists: function (name) {\n return new Dexie(name, { addons: [] }).open().then(function (db) {\n db.close();\n return true;\n }).catch('NoSuchDatabaseError', function () { return false; });\n },\n getDatabaseNames: function (cb) {\n try {\n return getDatabaseNames(Dexie.dependencies).then(cb);\n }\n catch (_a) {\n return rejection(new exceptions.MissingAPI());\n }\n },\n defineClass: function () {\n function Class(content) {\n extend(this, content);\n }\n return Class;\n }, ignoreTransaction: function (scopeFunc) {\n return PSD.trans ?\n usePSD(PSD.transless, scopeFunc) :\n scopeFunc();\n }, vip: vip, async: function (generatorFn) {\n return function () {\n try {\n var rv = awaitIterator(generatorFn.apply(this, arguments));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n };\n }, spawn: function (generatorFn, args, thiz) {\n try {\n var rv = awaitIterator(generatorFn.apply(thiz, args || []));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n },\n currentTransaction: {\n get: function () { return PSD.trans || null; }\n }, waitFor: function (promiseOrFunction, optionalTimeout) {\n var promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ?\n Dexie.ignoreTransaction(promiseOrFunction) :\n promiseOrFunction)\n .timeout(optionalTimeout || 60000);\n return PSD.trans ?\n PSD.trans.waitFor(promise) :\n promise;\n },\n Promise: DexiePromise,\n debug: {\n get: function () { return debug; },\n set: function (value) {\n setDebug(value);\n }\n },\n derive: derive, extend: extend, props: props, override: override,\n Events: Events, on: globalEvents, liveQuery: liveQuery, extendObservabilitySet: extendObservabilitySet,\n getByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, cmp: cmp, asap: asap$1,\n minKey: minKey,\n addons: [],\n connections: connections,\n errnames: errnames,\n dependencies: domDeps, cache: cache,\n semVer: DEXIE_VERSION, version: DEXIE_VERSION.split('.')\n .map(function (n) { return parseInt(n); })\n .reduce(function (p, c, i) { return p + (c / Math.pow(10, i * 2)); }) }));\nDexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);\n\nif (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (updatedParts) {\n if (!propagatingLocally) {\n var event_1;\n event_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {\n detail: updatedParts\n });\n propagatingLocally = true;\n dispatchEvent(event_1);\n propagatingLocally = false;\n }\n });\n addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function (_a) {\n var detail = _a.detail;\n if (!propagatingLocally) {\n propagateLocally(detail);\n }\n });\n}\nfunction propagateLocally(updateParts) {\n var wasMe = propagatingLocally;\n try {\n propagatingLocally = true;\n globalEvents.storagemutated.fire(updateParts);\n signalSubscribersNow(updateParts, true);\n }\n finally {\n propagatingLocally = wasMe;\n }\n}\nvar propagatingLocally = false;\n\nvar bc;\nvar createBC = function () { };\nif (typeof BroadcastChannel !== 'undefined') {\n createBC = function () {\n bc = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);\n bc.onmessage = function (ev) { return ev.data && propagateLocally(ev.data); };\n };\n createBC();\n if (typeof bc.unref === 'function') {\n bc.unref();\n }\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {\n if (!propagatingLocally) {\n bc.postMessage(changedParts);\n }\n });\n}\n\nif (typeof addEventListener !== 'undefined') {\n addEventListener('pagehide', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pagehide');\n bc === null || bc === void 0 ? void 0 : bc.close();\n for (var _i = 0, connections_1 = connections; _i < connections_1.length; _i++) {\n var db = connections_1[_i];\n db.close({ disableAutoOpen: false });\n }\n }\n });\n addEventListener('pageshow', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pageshow');\n createBC();\n propagateLocally({ all: new RangeSet(-Infinity, [[]]) });\n }\n });\n}\n\nfunction add(value) {\n return new PropModification({ add: value });\n}\n\nfunction remove(value) {\n return new PropModification({ remove: value });\n}\n\nfunction replacePrefix(a, b) {\n return new PropModification({ replacePrefix: [a, b] });\n}\n\nDexiePromise.rejectionMapper = mapError;\nsetDebug(debug);\n\nexport { Dexie$1 as Dexie, Entity, PropModSymbol, PropModification, RangeSet, add, cmp, Dexie$1 as default, liveQuery, mergeRanges, rangesOverlap, remove, replacePrefix };\n//# sourceMappingURL=dexie.mjs.map\n","import { FlowStatus } from '../models/FlowStatus';\r\nimport Dexie, { Entity, EntityTable } from 'dexie';\r\nimport store from './store';\r\n\r\nexport class EctData extends Entity<EctDb> {\r\n orderId: string;\r\n redirectId: string;\r\n timestamp: Date;\r\n initialized: boolean;\r\n phoneNumber: string;\r\n refreshStarted: boolean;\r\n flowStatus: FlowStatus;\r\n modelsPath: string;\r\n citizenship: string;\r\n finished: boolean;\r\n}\r\n\r\nexport class EctDb extends Dexie {\r\n ectdata: EntityTable<EctData, 'orderId'>;\r\n\r\n constructor() {\r\n super('ectdb');\r\n this.version(1).stores({\r\n ectdata: 'orderId, redirectId, timestamp, initialized, phoneNumber, refreshStarted, flowStatus, modelsPath, citizenship',\r\n });\r\n this.ectdata.mapToClass(EctData);\r\n }\r\n\r\n async getLastEctData(finished: boolean): Promise<EctData> {\r\n var allFinished = await this.ectdata.where({ finished: finished }).sortBy('timestamp');\r\n if (allFinished.length > 0) {\r\n return allFinished.reverse()[0];\r\n }\r\n return null;\r\n }\r\n\r\n public async getAllEctData(): Promise<EctData[]> {\r\n return await this.ectdata.toArray();\r\n }\r\n\r\n public async getOrCreateEctData(orderId: string): Promise<EctData> {\r\n var ectData = await this.ectdata.get(orderId);\r\n if (store.debug) console.log('EctData found: ' + JSON.stringify(ectData));\r\n if (!ectData) {\r\n await this.ectdata.add({\r\n orderId: orderId,\r\n redirectId: '',\r\n timestamp: new Date(),\r\n initialized: false,\r\n finished: false,\r\n phoneNumber: '',\r\n refreshStarted: false,\r\n flowStatus: FlowStatus.NONE,\r\n modelsPath: '',\r\n citizenship: '',\r\n });\r\n ectData = await this.ectdata.get(orderId);\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n }\r\n return ectData;\r\n }\r\n}\r\n","import { EctDb } from './EctDb';\r\n\r\nexport const db = new EctDb();\r\n","import { createStore } from '@stencil/store';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\nimport { EctStore } from '../models/IEctStore';\r\nimport { db } from './db';\r\n\r\nconst { state, onChange } = createStore<EctStore>({\r\n flowStatus: FlowStatus.NONE,\r\n initialized: false,\r\n environment: 'PROD',\r\n debug: false,\r\n requestId: '',\r\n redirectId: '',\r\n token: '',\r\n cameraIds: [],\r\n cameraId: '',\r\n phoneNumber: '',\r\n apiBaseUrl: 'https://apiro.id-kyc.com',\r\n device: null,\r\n langIso: 'ro',\r\n logSteps: false,\r\n modelsPath: '',\r\n citizenship: '',\r\n idDocument: '',\r\n showCitizenshipSelector: false,\r\n scrollMode: false,\r\n});\r\n\r\nonChange('environment', value => {\r\n state.debug = value == 'QA';\r\n});\r\n\r\nonChange('flowStatus', async value => {\r\n state.flowStatus = value;\r\n if (state.flowStatus == FlowStatus.CITIZENSHIP) {\r\n return;\r\n }\r\n var ectData = await db.ectdata.get(state.requestId);\r\n if (ectData) {\r\n ectData.flowStatus = state.flowStatus;\r\n await db.ectdata.put(ectData);\r\n }\r\n});\r\n\r\nexport default state;\r\n","export enum FlowSteps {\r\n ComponentLoaded = <any>'component-loaded',\r\n MobileRedirect = <any>'mobile-redirect',\r\n Landing = <any>'landing',\r\n Agreements = <any>'agreements',\r\n OtpSend = <any>'otp-send',\r\n OtpCheck = <any>'otp-check',\r\n CiFront = <any>'ci-front',\r\n CiFrontHowTo = <any>'ci-front-how-to',\r\n CiFrontCapture = <any>'ci-front-capture',\r\n CiBack = <any>'ci-back',\r\n CiBackHowTo = <any>'ci-back-how-to',\r\n CiBackCapture = <any>'ci-back-capture',\r\n CiTilt = <any>'ci-tilt',\r\n CiTiltHowTo = <any>'ci-tilt-how-to',\r\n CiError = <any>'ci-error',\r\n SelfieHowTo = <any>'selfie-how-to',\r\n SelfieTilt = <any>'selfie-tilt',\r\n SelfieCapture = <any>'selfie-capture',\r\n Selfie = <any>'selfie',\r\n SelfieError = <any>'selfie-error',\r\n End = <any>'end',\r\n CameraError = <any>'camera-error',\r\n Default = <any>'default',\r\n}\r\n\r\nexport enum FlowMoments {\r\n Initialized = <any>'initialized',\r\n Finalized = <any>'finalized',\r\n None = <any>'none',\r\n}\r\n","export enum OrderStatuses {\r\n Capturing,\r\n FinishedCapturing,\r\n Waiting,\r\n NotFound,\r\n Aborted,\r\n}\r\n","import { FacePose } from '../libs/FaceML5Detector/FacePose';\r\nimport { IDPose } from '../libs/IDML5Detector/IDPose';\r\nimport store from './store';\r\n\r\nexport class IdCaptureValues {\r\n public static readonly IDPoseDemoMapping: { [key in IDPose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front_tilt.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_rotate.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back_tilt.mp4',\r\n };\r\n}\r\n\r\nexport class SelfieCaptureValues {\r\n public static readonly FacePoseDemoMapping: { [key in FacePose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_left.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_right.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_back.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_front.mp4',\r\n // 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_left.mp4',\r\n // 5: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_right.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_main.mp4',\r\n };\r\n}\r\n\r\nexport class ApiUrls {\r\n private readonly uriEnv: string = '/';\r\n public readonly OtpSend: string;\r\n public readonly OtpCheck: string;\r\n public readonly IdentityInsert: string;\r\n public readonly UploadCapture: string;\r\n public readonly GetAgreement: string;\r\n public readonly GenerateAgreement: string;\r\n public readonly SendLink: string;\r\n public readonly GetStatus: string;\r\n public readonly GetStatusUi: string;\r\n public readonly AddLog: string;\r\n public readonly AddStep: string;\r\n public readonly AbortRequest: string;\r\n public readonly Translations: string;\r\n public readonly StartFlow: string;\r\n public readonly NextFlowState: string;\r\n public readonly CurrentFlowState: string;\r\n public readonly NextStateForCaptureError: string;\r\n public readonly CitizenshipList: string;\r\n public readonly SetCitizenship: string;\r\n public readonly IdList: string;\r\n public readonly SetId: string;\r\n\r\n constructor() {\r\n this.uriEnv = ['QA', 'DEMO'].includes(store.environment) ? '/dev_' : '/';\r\n this.OtpSend = this.uriEnv + 'validation/otp/send';\r\n this.OtpCheck = this.uriEnv + 'validation/otp/check';\r\n this.IdentityInsert = this.uriEnv + 'validation/identity/insert';\r\n this.UploadCapture = this.uriEnv + 'validation/upload/capture';\r\n this.GetAgreement = this.uriEnv + 'validation/agreement/content';\r\n this.GenerateAgreement = this.uriEnv + 'validation/agreement/generate';\r\n this.SendLink = this.uriEnv + 'validation/otp/sendlink';\r\n this.GetStatus = this.uriEnv + 'validation/identity/status';\r\n this.GetStatusUi = this.uriEnv + 'validation/identity/statusui';\r\n this.AddLog = this.uriEnv + 'validation/logs/add';\r\n this.AddStep = this.uriEnv + 'validation/logs/step';\r\n this.AbortRequest = this.uriEnv + 'validation/identity/abort';\r\n this.Translations = this.uriEnv + 'validation/translations/get';\r\n this.StartFlow = this.uriEnv + 'validation/flowstate/startflow';\r\n this.NextFlowState = this.uriEnv + 'validation/flowstate/nextstate';\r\n this.CurrentFlowState = this.uriEnv + 'validation/flowstate/currentstate';\r\n this.NextStateForCaptureError = this.uriEnv + 'validation/flowstate/nextstateforcaptureerror';\r\n this.CitizenshipList = this.uriEnv + 'validation/flows/citizenships';\r\n this.IdList = this.uriEnv + 'validation/flows/ids';\r\n this.SetCitizenship = this.uriEnv + 'validation/identity/setcitizenship';\r\n this.SetId = this.uriEnv + 'validation/identity/setidentitydocument';\r\n }\r\n}\r\n","import { AddRequest } from '../models/IAddRequest';\r\nimport { Agreement } from '../models/IAgreement';\r\nimport { Generation } from '../models/IGeneration';\r\nimport { LinkSend } from '../models/ILinkSend';\r\nimport { OrderStatus } from '../models/IOrderStatus';\r\nimport { OtpCheck } from '../models/IOtpCheck';\r\nimport { OtpSend } from '../models/IOtpSend';\r\nimport { UploadFile } from '../models/IUploadFile';\r\nimport { OrderStatuses } from '../models/OrderStatuses';\r\nimport { LogResult } from '../models/ILogResult';\r\nimport store from './store';\r\nimport { ApiUrls } from './textValues';\r\nimport { FlowResult, FlowStatus } from '../models/FlowStatus';\r\nimport { AbortResult } from '../models/IAbortResult';\r\nimport { FlowMoments, FlowSteps } from '../models/FlowSteps';\r\nimport { DeviceState } from '../models/IDevice';\r\nimport { TranslationValues } from '../models/ITranslationValues';\r\nimport { Citizenship } from '../models/ICitizenship';\r\nimport { StateResult } from '../models/IStateResult';\r\nimport { IdentityDocument } from '../models/IIdentityDocument';\r\nexport class ApiCall {\r\n public static instance: ApiCall;\r\n public static getInstance(): ApiCall {\r\n if (!ApiCall.instance) {\r\n ApiCall.instance = new ApiCall();\r\n }\r\n\r\n return ApiCall.instance;\r\n }\r\n\r\n private urls: ApiUrls;\r\n private serviceErrors = ['Service Unavailable', 'Unauthorized'];\r\n constructor() {\r\n this.urls = new ApiUrls();\r\n }\r\n\r\n // private async http2<T>(method: string, url: string, data: string): Promise<T> {\r\n // return new Promise((resolve, reject) => {\r\n // var xhr = new XMLHttpRequest();\r\n // xhr.open(method, url);\r\n // xhr.onload = function () {\r\n // if (xhr.status >= 200 && xhr.status < 300) {\r\n // resolve(xhr.response);\r\n // } else {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // }\r\n // };\r\n // xhr.onerror = function () {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // };\r\n // xhr.send(data);\r\n // });\r\n // }\r\n\r\n private async http<T>(request: RequestInfo): Promise<T> {\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n throw new Error(response.statusText);\r\n }\r\n\r\n try {\r\n // may error if there is no body\r\n return await response.json();\r\n } catch (ex) {\r\n throw new Error('No json found in response ' + ex);\r\n }\r\n }\r\n\r\n private async post<T>(url: string, data: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in post ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in post ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n private async get<T>(url: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in get ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in get ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n public async SendOTPCode(requestId: string, phoneNumber: string): Promise<OtpSend> {\r\n let data = { requestId: requestId, phone: phoneNumber };\r\n let jsonResp = await this.post<OtpSend>(this.urls.OtpSend, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async CheckOTPCode(requestId: string, otpCode: string): Promise<OtpCheck> {\r\n let data = { requestId: requestId, otp: otpCode };\r\n let jsonResp = await this.post<OtpCheck>(this.urls.OtpCheck, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async AddIdentificationRequest(deviceInfo: DeviceState, version: string): Promise<boolean | Error> {\r\n if (store.debug) console.log('Calling identity request with store:' + JSON.stringify(store));\r\n let data = {\r\n requestId: store.requestId,\r\n clientDeviceInfo: JSON.stringify(deviceInfo),\r\n redirectId: store.redirectId,\r\n phoneNumber: store.phoneNumber,\r\n version: version,\r\n demoMode: store.environment == 'DEMO',\r\n };\r\n let jsonResp = await this.post<AddRequest>(this.urls.IdentityInsert, JSON.stringify(data));\r\n if (store.requestId == '') {\r\n store.requestId = jsonResp.requestId;\r\n }\r\n store.phoneNumber = jsonResp.phoneNumber;\r\n store.flowStatus = FlowStatus[jsonResp.state];\r\n store.logSteps = jsonResp.logSteps;\r\n store.debug = jsonResp.debug;\r\n store.modelsPath = jsonResp.modelsPath;\r\n store.citizenship = jsonResp.citizenship;\r\n store.initialized = true;\r\n return true;\r\n }\r\n\r\n public async UploadFileForRequestB64(requestId: string, type: string, b64Data: string): Promise<UploadFile> {\r\n let data = {\r\n requestId: requestId,\r\n type: type,\r\n data: b64Data,\r\n };\r\n let respJson = await this.post<UploadFile>(this.urls.UploadCapture, JSON.stringify(data));\r\n if (store.debug) console.log(`apicall | uploadfileforrequestb64 | ${respJson}`);\r\n return respJson;\r\n }\r\n\r\n public async GetAgreement(agreementType: string): Promise<string> {\r\n let resp = await this.get<Agreement>(this.urls.GetAgreement + '?type=' + agreementType + '&requestId=' + store.requestId);\r\n return resp.htmlText;\r\n }\r\n\r\n public async GenerateAgreement(agreementType: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, documentType: agreementType };\r\n let resp = await this.post<Generation>(this.urls.GenerateAgreement, JSON.stringify(data));\r\n return resp.generation;\r\n }\r\n\r\n public async GetStatus(requestId: string): Promise<OrderStatuses> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatus + '?orderId=' + requestId);\r\n return OrderStatuses[resp.status];\r\n }\r\n\r\n public async GetStatusUi(requestId: string): Promise<FlowStatus | null> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatusUi + '?orderId=' + requestId);\r\n if (resp.status == 'NOTFOUND') return null;\r\n return FlowStatus[resp.status];\r\n }\r\n\r\n public async SendLink(link: string, phoneNumber: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, link: link, phoneNumber: phoneNumber };\r\n let resp = await this.post<LinkSend>(this.urls.SendLink, JSON.stringify(data));\r\n return resp.sent;\r\n }\r\n\r\n public async GetCitizenshipList(): Promise<Citizenship[]> {\r\n let resp = await this.get<Citizenship[]>(this.urls.CitizenshipList);\r\n return resp;\r\n }\r\n\r\n public async GetIdList(): Promise<IdentityDocument[]> {\r\n let resp = await this.get<IdentityDocument[]>(this.urls.IdList + '?citizenship=' + store.citizenship);\r\n return resp;\r\n }\r\n\r\n public async SetCitizenship(): Promise<boolean> {\r\n var setCitReq = { requestId: store.requestId, citizenship: store.citizenship };\r\n var result = await this.post<StateResult>(this.urls.SetCitizenship, JSON.stringify(setCitReq));\r\n store.flowStatus = FlowStatus[result.state];\r\n return true;\r\n }\r\n\r\n public async SetIdentityDocument(): Promise<boolean> {\r\n var setIdReq = { requestId: store.requestId, identityDocument: store.idDocument };\r\n var result = await this.post<StateResult>(this.urls.SetId, JSON.stringify(setIdReq));\r\n store.flowStatus = FlowStatus[result.state];\r\n return true;\r\n }\r\n\r\n public async AddLog(error: any, context: any): Promise<boolean> {\r\n try {\r\n let data = {\r\n requestId: store.requestId,\r\n action: FlowStatus[store.flowStatus],\r\n message: JSON.stringify({ error, context }),\r\n };\r\n let result = await this.post<LogResult>(this.urls.AddLog, JSON.stringify(data), false);\r\n return result.saved;\r\n } catch {}\r\n }\r\n\r\n public async AddStep(step: FlowSteps, moment: FlowMoments): Promise<boolean> {\r\n if (store.logSteps == false) return;\r\n let data = { requestId: store.requestId, redirectId: store.redirectId, step: FlowSteps[step], moment: FlowMoments[moment], timestamp: new Date().toISOString() };\r\n let result = await this.post<LogResult>(this.urls.AddStep, JSON.stringify(data));\r\n return result.saved;\r\n }\r\n\r\n public async AbortRequest(): Promise<AbortResult> {\r\n let result = await this.post<AbortResult>(this.urls.AbortRequest, JSON.stringify({ requestId: store.requestId }));\r\n return result;\r\n }\r\n\r\n public async GetTranslations(langIso: string): Promise<TranslationValues> {\r\n let result = await this.get<TranslationValues>(this.urls.Translations + '?langIso=' + langIso);\r\n return result;\r\n }\r\n\r\n public async LandingValidationStartFlow(cameraIsAccessible: boolean): Promise<FlowStatus> {\r\n let result = await this.post<FlowResult>(this.urls.StartFlow, JSON.stringify({ requestId: store.requestId, cameraIsAccessible: cameraIsAccessible }));\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextFlowState + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.CurrentFlowState + '?requestId=' + store.requestId, false);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextStateForCaptureError(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextStateForCaptureError + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n}\r\n","import { TranslationValues } from '../models/ITranslationValues';\r\nimport { ApiCall } from './ApiCall';\r\nimport store from './store';\r\n\r\nclass TranslationsController {\r\n private values: TranslationValues;\r\n\r\n async getValues(): Promise<TranslationValues> {\r\n if (this.values) {\r\n return this.values;\r\n } else {\r\n this.values = await this.fetchTranslations();\r\n return this.values;\r\n }\r\n }\r\n\r\n getLocale(element: HTMLElement = document.body) {\r\n if (store.langIso && store.langIso != '') {\r\n return store.langIso;\r\n } else {\r\n const closestElement = element.closest('[lang]') as HTMLElement;\r\n return closestElement ? closestElement.lang : 'ro';\r\n }\r\n }\r\n\r\n async fetchTranslations(): Promise<TranslationValues> {\r\n const locale = this.getLocale();\r\n try {\r\n const result = ApiCall.instance.GetTranslations(locale);\r\n if (result) {\r\n return result;\r\n }\r\n } catch (exception) {\r\n console.error(`Error loading locale: ${locale}`, exception);\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport const Translations = new TranslationsController();\r\n"],"version":3}
|
|
1
|
+
{"file":"TranslationUtils-fe06fc2a.js","mappings":"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","names":["getRenderingRef","forceUpdate","FlowStatus","Dexie","store","FlowSteps","FlowMoments"],"sources":["node_modules/@stencil/store/dist/index.mjs","src/models/FlowStatus.ts","node_modules/dexie/dist/dexie.mjs","src/helpers/EctDb.ts","src/helpers/db.ts","src/helpers/store.ts","src/models/FlowSteps.ts","src/models/OrderStatuses.ts","src/helpers/textValues.ts","src/helpers/ApiCall.ts","src/helpers/TranslationUtils.ts"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","export enum FlowStatus {\r\n CITIZENSHIP,\r\n LANDING,\r\n MOBILE,\r\n AGREEMENT,\r\n PHONE,\r\n CODE,\r\n CODEERROR,\r\n IDTYPE,\r\n IDFRONTHOWTO,\r\n IDFRONT,\r\n IDBACKHOWTO,\r\n IDBACK,\r\n IDTILTHOWTO,\r\n IDTILT,\r\n LIVENESSHOWTO,\r\n LIVENESS,\r\n LIVENESSGESTUREHOWTO,\r\n LIVENESSGESTURE,\r\n COMPLETE,\r\n ERROREND,\r\n CAMERAERROR,\r\n ABORTED,\r\n NONE,\r\n RANDOM\r\n}\r\n\r\nexport interface FlowResult {\r\n state: string;\r\n}\r\n","/*\n * Dexie.js - a minimalistic wrapper for IndexedDB\n * ===============================================\n *\n * By David Fahlander, david.fahlander@gmail.com\n *\n * Version 4.0.10, Fri Nov 15 2024\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n */\n \n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nvar _global = typeof globalThis !== 'undefined' ? globalThis :\n typeof self !== 'undefined' ? self :\n typeof window !== 'undefined' ? window :\n global;\n\nvar keys = Object.keys;\nvar isArray = Array.isArray;\nif (typeof Promise !== 'undefined' && !_global.Promise) {\n _global.Promise = Promise;\n}\nfunction extend(obj, extension) {\n if (typeof extension !== 'object')\n return obj;\n keys(extension).forEach(function (key) {\n obj[key] = extension[key];\n });\n return obj;\n}\nvar getProto = Object.getPrototypeOf;\nvar _hasOwn = {}.hasOwnProperty;\nfunction hasOwn(obj, prop) {\n return _hasOwn.call(obj, prop);\n}\nfunction props(proto, extension) {\n if (typeof extension === 'function')\n extension = extension(getProto(proto));\n (typeof Reflect === \"undefined\" ? keys : Reflect.ownKeys)(extension).forEach(function (key) {\n setProp(proto, key, extension[key]);\n });\n}\nvar defineProperty = Object.defineProperty;\nfunction setProp(obj, prop, functionOrGetSet, options) {\n defineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, \"get\") && typeof functionOrGetSet.get === 'function' ?\n { get: functionOrGetSet.get, set: functionOrGetSet.set, configurable: true } :\n { value: functionOrGetSet, configurable: true, writable: true }, options));\n}\nfunction derive(Child) {\n return {\n from: function (Parent) {\n Child.prototype = Object.create(Parent.prototype);\n setProp(Child.prototype, \"constructor\", Child);\n return {\n extend: props.bind(null, Child.prototype)\n };\n }\n };\n}\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nfunction getPropertyDescriptor(obj, prop) {\n var pd = getOwnPropertyDescriptor(obj, prop);\n var proto;\n return pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop);\n}\nvar _slice = [].slice;\nfunction slice(args, start, end) {\n return _slice.call(args, start, end);\n}\nfunction override(origFunc, overridedFactory) {\n return overridedFactory(origFunc);\n}\nfunction assert(b) {\n if (!b)\n throw new Error(\"Assertion Failed\");\n}\nfunction asap$1(fn) {\n if (_global.setImmediate)\n setImmediate(fn);\n else\n setTimeout(fn, 0);\n}\nfunction arrayToObject(array, extractor) {\n return array.reduce(function (result, item, i) {\n var nameAndValue = extractor(item, i);\n if (nameAndValue)\n result[nameAndValue[0]] = nameAndValue[1];\n return result;\n }, {});\n}\nfunction getByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string' && hasOwn(obj, keyPath))\n return obj[keyPath];\n if (!keyPath)\n return obj;\n if (typeof keyPath !== 'string') {\n var rv = [];\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n var val = getByKeyPath(obj, keyPath[i]);\n rv.push(val);\n }\n return rv;\n }\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var innerObj = obj[keyPath.substr(0, period)];\n return innerObj == null ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1));\n }\n return undefined;\n}\nfunction 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 (isArray(obj) && !isNaN(parseInt(currentKeyPath)))\n obj.splice(currentKeyPath, 1);\n else\n delete obj[currentKeyPath];\n }\n else\n obj[currentKeyPath] = value;\n else {\n var innerObj = obj[currentKeyPath];\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 (isArray(obj) && !isNaN(parseInt(keyPath)))\n obj.splice(keyPath, 1);\n else\n delete obj[keyPath];\n }\n else\n obj[keyPath] = value;\n }\n }\n}\nfunction delByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string')\n setByKeyPath(obj, keyPath, undefined);\n else if ('length' in keyPath)\n [].map.call(keyPath, function (kp) {\n setByKeyPath(obj, kp, undefined);\n });\n}\nfunction shallowClone(obj) {\n var rv = {};\n for (var m in obj) {\n if (hasOwn(obj, m))\n rv[m] = obj[m];\n }\n return rv;\n}\nvar concat = [].concat;\nfunction flatten(a) {\n return concat.apply([], a);\n}\nvar intrinsicTypeNames = \"BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey\"\n .split(',').concat(flatten([8, 16, 32, 64].map(function (num) { return [\"Int\", \"Uint\", \"Float\"].map(function (t) { return t + num + \"Array\"; }); }))).filter(function (t) { return _global[t]; });\nvar intrinsicTypes = new Set(intrinsicTypeNames.map(function (t) { return _global[t]; }));\nfunction cloneSimpleObjectTree(o) {\n var rv = {};\n for (var k in o)\n if (hasOwn(o, k)) {\n var v = o[k];\n rv[k] = !v || typeof v !== 'object' || intrinsicTypes.has(v.constructor) ? v : cloneSimpleObjectTree(v);\n }\n return rv;\n}\nfunction objectIsEmpty(o) {\n for (var k in o)\n if (hasOwn(o, k))\n return false;\n return true;\n}\nvar circularRefs = null;\nfunction deepClone(any) {\n circularRefs = new WeakMap();\n var rv = innerDeepClone(any);\n circularRefs = null;\n return rv;\n}\nfunction innerDeepClone(x) {\n if (!x || typeof x !== 'object')\n return x;\n var rv = circularRefs.get(x);\n if (rv)\n return rv;\n if (isArray(x)) {\n rv = [];\n circularRefs.set(x, rv);\n for (var i = 0, l = x.length; i < l; ++i) {\n rv.push(innerDeepClone(x[i]));\n }\n }\n else if (intrinsicTypes.has(x.constructor)) {\n rv = x;\n }\n else {\n var proto = getProto(x);\n rv = proto === Object.prototype ? {} : Object.create(proto);\n circularRefs.set(x, rv);\n for (var prop in x) {\n if (hasOwn(x, prop)) {\n rv[prop] = innerDeepClone(x[prop]);\n }\n }\n }\n return rv;\n}\nvar toString = {}.toString;\nfunction toStringTag(o) {\n return toString.call(o).slice(8, -1);\n}\nvar iteratorSymbol = typeof Symbol !== 'undefined' ?\n Symbol.iterator :\n '@@iterator';\nvar getIteratorOf = typeof iteratorSymbol === \"symbol\" ? function (x) {\n var i;\n return x != null && (i = x[iteratorSymbol]) && i.apply(x);\n} : function () { return null; };\nfunction delArrayItem(a, x) {\n var i = a.indexOf(x);\n if (i >= 0)\n a.splice(i, 1);\n return i >= 0;\n}\nvar NO_CHAR_ARRAY = {};\nfunction getArrayOf(arrayLike) {\n var i, a, x, it;\n if (arguments.length === 1) {\n if (isArray(arrayLike))\n return arrayLike.slice();\n if (this === NO_CHAR_ARRAY && typeof arrayLike === 'string')\n return [arrayLike];\n if ((it = getIteratorOf(arrayLike))) {\n a = [];\n while ((x = it.next()), !x.done)\n a.push(x.value);\n return a;\n }\n if (arrayLike == null)\n return [arrayLike];\n i = arrayLike.length;\n if (typeof i === 'number') {\n a = new Array(i);\n while (i--)\n a[i] = arrayLike[i];\n return a;\n }\n return [arrayLike];\n }\n i = arguments.length;\n a = new Array(i);\n while (i--)\n a[i] = arguments[i];\n return a;\n}\nvar isAsyncFunction = typeof Symbol !== 'undefined'\n ? function (fn) { return fn[Symbol.toStringTag] === 'AsyncFunction'; }\n : function () { return false; };\n\nvar dexieErrorNames = [\n 'Modify',\n 'Bulk',\n 'OpenFailed',\n 'VersionChange',\n 'Schema',\n 'Upgrade',\n 'InvalidTable',\n 'MissingAPI',\n 'NoSuchDatabase',\n 'InvalidArgument',\n 'SubTransaction',\n 'Unsupported',\n 'Internal',\n 'DatabaseClosed',\n 'PrematureCommit',\n 'ForeignAwait'\n];\nvar idbDomErrorNames = [\n 'Unknown',\n 'Constraint',\n 'Data',\n 'TransactionInactive',\n 'ReadOnly',\n 'Version',\n 'NotFound',\n 'InvalidState',\n 'InvalidAccess',\n 'Abort',\n 'Timeout',\n 'QuotaExceeded',\n 'Syntax',\n 'DataClone'\n];\nvar errorList = dexieErrorNames.concat(idbDomErrorNames);\nvar defaultTexts = {\n VersionChanged: \"Database version changed by other database connection\",\n DatabaseClosed: \"Database has been closed\",\n Abort: \"Transaction aborted\",\n TransactionInactive: \"Transaction has already completed or failed\",\n MissingAPI: \"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb\"\n};\nfunction DexieError(name, msg) {\n this.name = name;\n this.message = msg;\n}\nderive(DexieError).from(Error).extend({\n toString: function () { return this.name + \": \" + this.message; }\n});\nfunction getMultiErrorMessage(msg, failures) {\n return msg + \". Errors: \" + Object.keys(failures)\n .map(function (key) { return failures[key].toString(); })\n .filter(function (v, i, s) { return s.indexOf(v) === i; })\n .join('\\n');\n}\nfunction ModifyError(msg, failures, successCount, failedKeys) {\n this.failures = failures;\n this.failedKeys = failedKeys;\n this.successCount = successCount;\n this.message = getMultiErrorMessage(msg, failures);\n}\nderive(ModifyError).from(DexieError);\nfunction BulkError(msg, failures) {\n this.name = \"BulkError\";\n this.failures = Object.keys(failures).map(function (pos) { return failures[pos]; });\n this.failuresByPos = failures;\n this.message = getMultiErrorMessage(msg, this.failures);\n}\nderive(BulkError).from(DexieError);\nvar errnames = errorList.reduce(function (obj, name) { return (obj[name] = name + \"Error\", obj); }, {});\nvar BaseException = DexieError;\nvar exceptions = errorList.reduce(function (obj, name) {\n var fullName = name + \"Error\";\n function DexieError(msgOrInner, inner) {\n this.name = fullName;\n if (!msgOrInner) {\n this.message = defaultTexts[name] || fullName;\n this.inner = null;\n }\n else if (typeof msgOrInner === 'string') {\n this.message = \"\".concat(msgOrInner).concat(!inner ? '' : '\\n ' + inner);\n this.inner = inner || null;\n }\n else if (typeof msgOrInner === 'object') {\n this.message = \"\".concat(msgOrInner.name, \" \").concat(msgOrInner.message);\n this.inner = msgOrInner;\n }\n }\n derive(DexieError).from(BaseException);\n obj[name] = DexieError;\n return obj;\n}, {});\nexceptions.Syntax = SyntaxError;\nexceptions.Type = TypeError;\nexceptions.Range = RangeError;\nvar exceptionMap = idbDomErrorNames.reduce(function (obj, name) {\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n}, {});\nfunction mapError(domError, message) {\n if (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name])\n return domError;\n var rv = new exceptionMap[domError.name](message || domError.message, domError);\n if (\"stack\" in domError) {\n setProp(rv, \"stack\", { get: function () {\n return this.inner.stack;\n } });\n }\n return rv;\n}\nvar fullNameExceptions = errorList.reduce(function (obj, name) {\n if ([\"Syntax\", \"Type\", \"Range\"].indexOf(name) === -1)\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n}, {});\nfullNameExceptions.ModifyError = ModifyError;\nfullNameExceptions.DexieError = DexieError;\nfullNameExceptions.BulkError = BulkError;\n\nfunction nop() { }\nfunction mirror(val) { return val; }\nfunction pureFunctionChain(f1, f2) {\n if (f1 == null || f1 === mirror)\n return f2;\n return function (val) {\n return f2(f1(val));\n };\n}\nfunction callBoth(on1, on2) {\n return function () {\n on1.apply(this, arguments);\n on2.apply(this, arguments);\n };\n}\nfunction hookCreatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res !== undefined)\n arguments[0] = res;\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res2 !== undefined ? res2 : res;\n };\n}\nfunction hookDeletingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n f1.apply(this, arguments);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = this.onerror = null;\n f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n };\n}\nfunction hookUpdatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function (modifications) {\n var res = f1.apply(this, arguments);\n extend(modifications, res);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res === undefined ?\n (res2 === undefined ? undefined : res2) :\n (extend(res, res2));\n };\n}\nfunction reverseStoppableEventChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n if (f2.apply(this, arguments) === false)\n return false;\n return f1.apply(this, arguments);\n };\n}\nfunction promisableChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res && typeof res.then === 'function') {\n var thiz = this, i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n return res.then(function () {\n return f2.apply(thiz, args);\n });\n }\n return f2.apply(this, arguments);\n };\n}\n\nvar debug = typeof location !== 'undefined' &&\n /^(http|https):\\/\\/(localhost|127\\.0\\.0\\.1)/.test(location.href);\nfunction setDebug(value, filter) {\n debug = value;\n}\n\nvar INTERNAL = {};\nvar ZONE_ECHO_LIMIT = 100, _a$1 = typeof Promise === 'undefined' ?\n [] :\n (function () {\n var globalP = Promise.resolve();\n if (typeof crypto === 'undefined' || !crypto.subtle)\n return [globalP, getProto(globalP), globalP];\n var nativeP = crypto.subtle.digest(\"SHA-512\", new Uint8Array([0]));\n return [\n nativeP,\n getProto(nativeP),\n globalP\n ];\n })(), resolvedNativePromise = _a$1[0], nativePromiseProto = _a$1[1], resolvedGlobalPromise = _a$1[2], nativePromiseThen = nativePromiseProto && nativePromiseProto.then;\nvar NativePromise = resolvedNativePromise && resolvedNativePromise.constructor;\nvar patchGlobalPromise = !!resolvedGlobalPromise;\nfunction schedulePhysicalTick() {\n queueMicrotask(physicalTick);\n}\nvar asap = function (callback, args) {\n microtickQueue.push([callback, args]);\n if (needsNewPhysicalTick) {\n schedulePhysicalTick();\n needsNewPhysicalTick = false;\n }\n};\nvar isOutsideMicroTick = true,\nneedsNewPhysicalTick = true,\nunhandledErrors = [],\nrejectingErrors = [],\nrejectionMapper = mirror;\nvar globalPSD = {\n id: 'global',\n global: true,\n ref: 0,\n unhandleds: [],\n onunhandled: nop,\n pgp: false,\n env: {},\n finalize: nop\n};\nvar PSD = globalPSD;\nvar microtickQueue = [];\nvar numScheduledCalls = 0;\nvar tickFinalizers = [];\nfunction DexiePromise(fn) {\n if (typeof this !== 'object')\n throw new TypeError('Promises must be constructed via new');\n this._listeners = [];\n this._lib = false;\n var psd = (this._PSD = PSD);\n if (typeof fn !== 'function') {\n if (fn !== INTERNAL)\n throw new TypeError('Not a function');\n this._state = arguments[1];\n this._value = arguments[2];\n if (this._state === false)\n handleRejection(this, this._value);\n return;\n }\n this._state = null;\n this._value = null;\n ++psd.ref;\n executePromiseTask(this, fn);\n}\nvar thenProp = {\n get: function () {\n var psd = PSD, microTaskId = totalEchoes;\n function then(onFulfilled, onRejected) {\n var _this = this;\n var possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes);\n var cleanup = possibleAwait && !decrementExpectedAwaits();\n var rv = new DexiePromise(function (resolve, reject) {\n propagateToListener(_this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd));\n });\n if (this._consoleTask)\n rv._consoleTask = this._consoleTask;\n return rv;\n }\n then.prototype = INTERNAL;\n return then;\n },\n set: function (value) {\n setProp(this, 'then', value && value.prototype === INTERNAL ?\n thenProp :\n {\n get: function () {\n return value;\n },\n set: thenProp.set\n });\n }\n};\nprops(DexiePromise.prototype, {\n then: thenProp,\n _then: function (onFulfilled, onRejected) {\n propagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD));\n },\n catch: function (onRejected) {\n if (arguments.length === 1)\n return this.then(null, onRejected);\n var type = arguments[0], handler = arguments[1];\n return typeof type === 'function' ? this.then(null, function (err) {\n return err instanceof type ? handler(err) : PromiseReject(err);\n })\n : this.then(null, function (err) {\n return err && err.name === type ? handler(err) : PromiseReject(err);\n });\n },\n finally: function (onFinally) {\n return this.then(function (value) {\n return DexiePromise.resolve(onFinally()).then(function () { return value; });\n }, function (err) {\n return DexiePromise.resolve(onFinally()).then(function () { return PromiseReject(err); });\n });\n },\n timeout: function (ms, msg) {\n var _this = this;\n return ms < Infinity ?\n new DexiePromise(function (resolve, reject) {\n var handle = setTimeout(function () { return reject(new exceptions.Timeout(msg)); }, ms);\n _this.then(resolve, reject).finally(clearTimeout.bind(null, handle));\n }) : this;\n }\n});\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n setProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise');\nglobalPSD.env = snapShot();\nfunction Listener(onFulfilled, onRejected, resolve, reject, zone) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.resolve = resolve;\n this.reject = reject;\n this.psd = zone;\n}\nprops(DexiePromise, {\n all: function () {\n var values = getArrayOf.apply(null, arguments)\n .map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (values.length === 0)\n resolve([]);\n var remaining = values.length;\n values.forEach(function (a, i) { return DexiePromise.resolve(a).then(function (x) {\n values[i] = x;\n if (!--remaining)\n resolve(values);\n }, reject); });\n });\n },\n resolve: function (value) {\n if (value instanceof DexiePromise)\n return value;\n if (value && typeof value.then === 'function')\n return new DexiePromise(function (resolve, reject) {\n value.then(resolve, reject);\n });\n var rv = new DexiePromise(INTERNAL, true, value);\n return rv;\n },\n reject: PromiseReject,\n race: function () {\n var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n values.map(function (value) { return DexiePromise.resolve(value).then(resolve, reject); });\n });\n },\n PSD: {\n get: function () { return PSD; },\n set: function (value) { return PSD = value; }\n },\n totalEchoes: { get: function () { return totalEchoes; } },\n newPSD: newScope,\n usePSD: usePSD,\n scheduler: {\n get: function () { return asap; },\n set: function (value) { asap = value; }\n },\n rejectionMapper: {\n get: function () { return rejectionMapper; },\n set: function (value) { rejectionMapper = value; }\n },\n follow: function (fn, zoneProps) {\n return new DexiePromise(function (resolve, reject) {\n return newScope(function (resolve, reject) {\n var psd = PSD;\n psd.unhandleds = [];\n psd.onunhandled = reject;\n psd.finalize = callBoth(function () {\n var _this = this;\n run_at_end_of_this_or_next_physical_tick(function () {\n _this.unhandleds.length === 0 ? resolve() : reject(_this.unhandleds[0]);\n });\n }, psd.finalize);\n fn();\n }, zoneProps, resolve, reject);\n });\n }\n});\nif (NativePromise) {\n if (NativePromise.allSettled)\n setProp(DexiePromise, \"allSettled\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve) {\n if (possiblePromises.length === 0)\n resolve([]);\n var remaining = possiblePromises.length;\n var results = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: \"fulfilled\", value: value }; }, function (reason) { return results[i] = { status: \"rejected\", reason: reason }; })\n .then(function () { return --remaining || resolve(results); }); });\n });\n });\n if (NativePromise.any && typeof AggregateError !== 'undefined')\n setProp(DexiePromise, \"any\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (possiblePromises.length === 0)\n reject(new AggregateError([]));\n var remaining = possiblePromises.length;\n var failures = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {\n failures[i] = failure;\n if (!--remaining)\n reject(new AggregateError(failures));\n }); });\n });\n });\n if (NativePromise.withResolvers)\n DexiePromise.withResolvers = NativePromise.withResolvers;\n}\nfunction executePromiseTask(promise, fn) {\n try {\n fn(function (value) {\n if (promise._state !== null)\n return;\n if (value === promise)\n throw new TypeError('A promise cannot be resolved with itself.');\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n if (value && typeof value.then === 'function') {\n executePromiseTask(promise, function (resolve, reject) {\n value instanceof DexiePromise ?\n value._then(resolve, reject) :\n value.then(resolve, reject);\n });\n }\n else {\n promise._state = true;\n promise._value = value;\n propagateAllListeners(promise);\n }\n if (shouldExecuteTick)\n endMicroTickScope();\n }, handleRejection.bind(null, promise));\n }\n catch (ex) {\n handleRejection(promise, ex);\n }\n}\nfunction handleRejection(promise, reason) {\n rejectingErrors.push(reason);\n if (promise._state !== null)\n return;\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n reason = rejectionMapper(reason);\n promise._state = false;\n promise._value = reason;\n addPossiblyUnhandledError(promise);\n propagateAllListeners(promise);\n if (shouldExecuteTick)\n endMicroTickScope();\n}\nfunction propagateAllListeners(promise) {\n var listeners = promise._listeners;\n promise._listeners = [];\n for (var i = 0, len = listeners.length; i < len; ++i) {\n propagateToListener(promise, listeners[i]);\n }\n var psd = promise._PSD;\n --psd.ref || psd.finalize();\n if (numScheduledCalls === 0) {\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n }\n}\nfunction propagateToListener(promise, listener) {\n if (promise._state === null) {\n promise._listeners.push(listener);\n return;\n }\n var cb = promise._state ? listener.onFulfilled : listener.onRejected;\n if (cb === null) {\n return (promise._state ? listener.resolve : listener.reject)(promise._value);\n }\n ++listener.psd.ref;\n ++numScheduledCalls;\n asap(callListener, [cb, promise, listener]);\n}\nfunction callListener(cb, promise, listener) {\n try {\n var ret, value = promise._value;\n if (!promise._state && rejectingErrors.length)\n rejectingErrors = [];\n ret = debug && promise._consoleTask ? promise._consoleTask.run(function () { return cb(value); }) : cb(value);\n if (!promise._state && rejectingErrors.indexOf(value) === -1) {\n markErrorAsHandled(promise);\n }\n listener.resolve(ret);\n }\n catch (e) {\n listener.reject(e);\n }\n finally {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n --listener.psd.ref || listener.psd.finalize();\n }\n}\nfunction physicalTick() {\n usePSD(globalPSD, function () {\n beginMicroTickScope() && endMicroTickScope();\n });\n}\nfunction beginMicroTickScope() {\n var wasRootExec = isOutsideMicroTick;\n isOutsideMicroTick = false;\n needsNewPhysicalTick = false;\n return wasRootExec;\n}\nfunction endMicroTickScope() {\n var callbacks, i, l;\n do {\n while (microtickQueue.length > 0) {\n callbacks = microtickQueue;\n microtickQueue = [];\n l = callbacks.length;\n for (i = 0; i < l; ++i) {\n var item = callbacks[i];\n item[0].apply(null, item[1]);\n }\n }\n } while (microtickQueue.length > 0);\n isOutsideMicroTick = true;\n needsNewPhysicalTick = true;\n}\nfunction finalizePhysicalTick() {\n var unhandledErrs = unhandledErrors;\n unhandledErrors = [];\n unhandledErrs.forEach(function (p) {\n p._PSD.onunhandled.call(null, p._value, p);\n });\n var finalizers = tickFinalizers.slice(0);\n var i = finalizers.length;\n while (i)\n finalizers[--i]();\n}\nfunction run_at_end_of_this_or_next_physical_tick(fn) {\n function finalizer() {\n fn();\n tickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1);\n }\n tickFinalizers.push(finalizer);\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n}\nfunction addPossiblyUnhandledError(promise) {\n if (!unhandledErrors.some(function (p) { return p._value === promise._value; }))\n unhandledErrors.push(promise);\n}\nfunction markErrorAsHandled(promise) {\n var i = unhandledErrors.length;\n while (i)\n if (unhandledErrors[--i]._value === promise._value) {\n unhandledErrors.splice(i, 1);\n return;\n }\n}\nfunction PromiseReject(reason) {\n return new DexiePromise(INTERNAL, false, reason);\n}\nfunction wrap(fn, errorCatcher) {\n var psd = PSD;\n return function () {\n var wasRootExec = beginMicroTickScope(), outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn.apply(this, arguments);\n }\n catch (e) {\n errorCatcher && errorCatcher(e);\n }\n finally {\n switchToZone(outerScope, false);\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n}\nvar task = { awaits: 0, echoes: 0, id: 0 };\nvar taskCounter = 0;\nvar zoneStack = [];\nvar zoneEchoes = 0;\nvar totalEchoes = 0;\nvar zone_id_counter = 0;\nfunction newScope(fn, props, a1, a2) {\n var parent = PSD, psd = Object.create(parent);\n psd.parent = parent;\n psd.ref = 0;\n psd.global = false;\n psd.id = ++zone_id_counter;\n globalPSD.env;\n psd.env = patchGlobalPromise ? {\n Promise: DexiePromise,\n PromiseProp: { value: DexiePromise, configurable: true, writable: true },\n all: DexiePromise.all,\n race: DexiePromise.race,\n allSettled: DexiePromise.allSettled,\n any: DexiePromise.any,\n resolve: DexiePromise.resolve,\n reject: DexiePromise.reject,\n } : {};\n if (props)\n extend(psd, props);\n ++parent.ref;\n psd.finalize = function () {\n --this.parent.ref || this.parent.finalize();\n };\n var rv = usePSD(psd, fn, a1, a2);\n if (psd.ref === 0)\n psd.finalize();\n return rv;\n}\nfunction incrementExpectedAwaits() {\n if (!task.id)\n task.id = ++taskCounter;\n ++task.awaits;\n task.echoes += ZONE_ECHO_LIMIT;\n return task.id;\n}\nfunction decrementExpectedAwaits() {\n if (!task.awaits)\n return false;\n if (--task.awaits === 0)\n task.id = 0;\n task.echoes = task.awaits * ZONE_ECHO_LIMIT;\n return true;\n}\nif (('' + nativePromiseThen).indexOf('[native code]') === -1) {\n incrementExpectedAwaits = decrementExpectedAwaits = nop;\n}\nfunction onPossibleParallellAsync(possiblePromise) {\n if (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) {\n incrementExpectedAwaits();\n return possiblePromise.then(function (x) {\n decrementExpectedAwaits();\n return x;\n }, function (e) {\n decrementExpectedAwaits();\n return rejection(e);\n });\n }\n return possiblePromise;\n}\nfunction zoneEnterEcho(targetZone) {\n ++totalEchoes;\n if (!task.echoes || --task.echoes === 0) {\n task.echoes = task.awaits = task.id = 0;\n }\n zoneStack.push(PSD);\n switchToZone(targetZone, true);\n}\nfunction zoneLeaveEcho() {\n var zone = zoneStack[zoneStack.length - 1];\n zoneStack.pop();\n switchToZone(zone, false);\n}\nfunction switchToZone(targetZone, bEnteringZone) {\n var currentZone = PSD;\n if (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) {\n queueMicrotask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho);\n }\n if (targetZone === PSD)\n return;\n PSD = targetZone;\n if (currentZone === globalPSD)\n globalPSD.env = snapShot();\n if (patchGlobalPromise) {\n var GlobalPromise = globalPSD.env.Promise;\n var targetEnv = targetZone.env;\n if (currentZone.global || targetZone.global) {\n Object.defineProperty(_global, 'Promise', targetEnv.PromiseProp);\n GlobalPromise.all = targetEnv.all;\n GlobalPromise.race = targetEnv.race;\n GlobalPromise.resolve = targetEnv.resolve;\n GlobalPromise.reject = targetEnv.reject;\n if (targetEnv.allSettled)\n GlobalPromise.allSettled = targetEnv.allSettled;\n if (targetEnv.any)\n GlobalPromise.any = targetEnv.any;\n }\n }\n}\nfunction snapShot() {\n var GlobalPromise = _global.Promise;\n return patchGlobalPromise ? {\n Promise: GlobalPromise,\n PromiseProp: Object.getOwnPropertyDescriptor(_global, \"Promise\"),\n all: GlobalPromise.all,\n race: GlobalPromise.race,\n allSettled: GlobalPromise.allSettled,\n any: GlobalPromise.any,\n resolve: GlobalPromise.resolve,\n reject: GlobalPromise.reject,\n } : {};\n}\nfunction usePSD(psd, fn, a1, a2, a3) {\n var outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn(a1, a2, a3);\n }\n finally {\n switchToZone(outerScope, false);\n }\n}\nfunction nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {\n return typeof fn !== 'function' ? fn : function () {\n var outerZone = PSD;\n if (possibleAwait)\n incrementExpectedAwaits();\n switchToZone(zone, true);\n try {\n return fn.apply(this, arguments);\n }\n finally {\n switchToZone(outerZone, false);\n if (cleanup)\n queueMicrotask(decrementExpectedAwaits);\n }\n };\n}\nfunction execInGlobalContext(cb) {\n if (Promise === NativePromise && task.echoes === 0) {\n if (zoneEchoes === 0) {\n cb();\n }\n else {\n enqueueNativeMicroTask(cb);\n }\n }\n else {\n setTimeout(cb, 0);\n }\n}\nvar rejection = DexiePromise.reject;\n\nfunction tempTransaction(db, mode, storeNames, fn) {\n if (!db.idbdb || (!db._state.openComplete && (!PSD.letThrough && !db._vip))) {\n if (db._state.openComplete) {\n return rejection(new exceptions.DatabaseClosed(db._state.dbOpenError));\n }\n if (!db._state.isBeingOpened) {\n if (!db._state.autoOpen)\n return rejection(new exceptions.DatabaseClosed());\n db.open().catch(nop);\n }\n return db._state.dbReadyPromise.then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n else {\n var trans = db._createTransaction(mode, storeNames, db._dbSchema);\n try {\n trans.create();\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n return rejection(ex);\n }\n return trans._promise(mode, function (resolve, reject) {\n return newScope(function () {\n PSD.trans = trans;\n return fn(resolve, reject, trans);\n });\n }).then(function (result) {\n if (mode === 'readwrite')\n try {\n trans.idbtrans.commit();\n }\n catch (_a) { }\n return mode === 'readonly' ? result : trans._completion.then(function () { return result; });\n });\n }\n}\n\nvar DEXIE_VERSION = '4.0.10';\nvar maxString = String.fromCharCode(65535);\nvar minKey = -Infinity;\nvar INVALID_KEY_ARGUMENT = \"Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.\";\nvar STRING_EXPECTED = \"String expected.\";\nvar connections = [];\nvar DBNAMES_DB = '__dbnames';\nvar READONLY = 'readonly';\nvar READWRITE = 'readwrite';\n\nfunction combine(filter1, filter2) {\n return filter1 ?\n filter2 ?\n function () { return filter1.apply(this, arguments) && filter2.apply(this, arguments); } :\n filter1 :\n filter2;\n}\n\nvar AnyRange = {\n type: 3 ,\n lower: -Infinity,\n lowerOpen: false,\n upper: [[]],\n upperOpen: false\n};\n\nfunction workaroundForUndefinedPrimKey(keyPath) {\n return typeof keyPath === \"string\" && !/\\./.test(keyPath)\n ? function (obj) {\n if (obj[keyPath] === undefined && (keyPath in obj)) {\n obj = deepClone(obj);\n delete obj[keyPath];\n }\n return obj;\n }\n : function (obj) { return obj; };\n}\n\nfunction Entity() {\n throw exceptions.Type();\n}\n\nfunction cmp(a, b) {\n try {\n var ta = type(a);\n var tb = type(b);\n if (ta !== tb) {\n if (ta === 'Array')\n return 1;\n if (tb === 'Array')\n return -1;\n if (ta === 'binary')\n return 1;\n if (tb === 'binary')\n return -1;\n if (ta === 'string')\n return 1;\n if (tb === 'string')\n return -1;\n if (ta === 'Date')\n return 1;\n if (tb !== 'Date')\n return NaN;\n return -1;\n }\n switch (ta) {\n case 'number':\n case 'Date':\n case 'string':\n return a > b ? 1 : a < b ? -1 : 0;\n case 'binary': {\n return compareUint8Arrays(getUint8Array(a), getUint8Array(b));\n }\n case 'Array':\n return compareArrays(a, b);\n }\n }\n catch (_a) { }\n return NaN;\n}\nfunction compareArrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n var res = cmp(a[i], b[i]);\n if (res !== 0)\n return res;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction compareUint8Arrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n if (a[i] !== b[i])\n return a[i] < b[i] ? -1 : 1;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n}\nfunction type(x) {\n var t = typeof x;\n if (t !== 'object')\n return t;\n if (ArrayBuffer.isView(x))\n return 'binary';\n var tsTag = toStringTag(x);\n return tsTag === 'ArrayBuffer' ? 'binary' : tsTag;\n}\nfunction getUint8Array(a) {\n if (a instanceof Uint8Array)\n return a;\n if (ArrayBuffer.isView(a))\n return new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n return new Uint8Array(a);\n}\n\nvar Table = (function () {\n function Table() {\n }\n Table.prototype._trans = function (mode, fn, writeLocked) {\n var trans = this._tx || PSD.trans;\n var tableName = this.name;\n var task = debug && typeof console !== 'undefined' && console.createTask && console.createTask(\"Dexie: \".concat(mode === 'readonly' ? 'read' : 'write', \" \").concat(this.name));\n function checkTableInTransaction(resolve, reject, trans) {\n if (!trans.schema[tableName])\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n return fn(trans.idbtrans, trans);\n }\n var wasRootExec = beginMicroTickScope();\n try {\n var p = trans && trans.db._novip === this.db._novip ?\n trans === PSD.trans ?\n trans._promise(mode, checkTableInTransaction, writeLocked) :\n newScope(function () { return trans._promise(mode, checkTableInTransaction, writeLocked); }, { trans: trans, transless: PSD.transless || PSD }) :\n tempTransaction(this.db, mode, [this.name], checkTableInTransaction);\n if (task) {\n p._consoleTask = task;\n p = p.catch(function (err) {\n console.trace(err);\n return rejection(err);\n });\n }\n return p;\n }\n finally {\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n Table.prototype.get = function (keyOrCrit, cb) {\n var _this = this;\n if (keyOrCrit && keyOrCrit.constructor === Object)\n return this.where(keyOrCrit).first(cb);\n if (keyOrCrit == null)\n return rejection(new exceptions.Type(\"Invalid argument to Table.get()\"));\n return this._trans('readonly', function (trans) {\n return _this.core.get({ trans: trans, key: keyOrCrit })\n .then(function (res) { return _this.hook.reading.fire(res); });\n }).then(cb);\n };\n Table.prototype.where = function (indexOrCrit) {\n if (typeof indexOrCrit === 'string')\n return new this.db.WhereClause(this, indexOrCrit);\n if (isArray(indexOrCrit))\n return new this.db.WhereClause(this, \"[\".concat(indexOrCrit.join('+'), \"]\"));\n var keyPaths = keys(indexOrCrit);\n if (keyPaths.length === 1)\n return this\n .where(keyPaths[0])\n .equals(indexOrCrit[keyPaths[0]]);\n var compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(function (ix) {\n if (ix.compound &&\n keyPaths.every(function (keyPath) { return ix.keyPath.indexOf(keyPath) >= 0; })) {\n for (var i = 0; i < keyPaths.length; ++i) {\n if (keyPaths.indexOf(ix.keyPath[i]) === -1)\n return false;\n }\n return true;\n }\n return false;\n }).sort(function (a, b) { return a.keyPath.length - b.keyPath.length; })[0];\n if (compoundIndex && this.db._maxKey !== maxString) {\n var keyPathsInValidOrder = compoundIndex.keyPath.slice(0, keyPaths.length);\n return this\n .where(keyPathsInValidOrder)\n .equals(keyPathsInValidOrder.map(function (kp) { return indexOrCrit[kp]; }));\n }\n if (!compoundIndex && debug)\n console.warn(\"The query \".concat(JSON.stringify(indexOrCrit), \" on \").concat(this.name, \" would benefit from a \") +\n \"compound index [\".concat(keyPaths.join('+'), \"]\"));\n var idxByName = this.schema.idxByName;\n function equals(a, b) {\n return cmp(a, b) === 0;\n }\n var _a = keyPaths.reduce(function (_a, keyPath) {\n var prevIndex = _a[0], prevFilterFn = _a[1];\n var index = idxByName[keyPath];\n var value = indexOrCrit[keyPath];\n return [\n prevIndex || index,\n prevIndex || !index ?\n combine(prevFilterFn, index && index.multi ?\n function (x) {\n var prop = getByKeyPath(x, keyPath);\n return isArray(prop) && prop.some(function (item) { return equals(value, item); });\n } : function (x) { return equals(value, getByKeyPath(x, keyPath)); })\n : prevFilterFn\n ];\n }, [null, null]), idx = _a[0], filterFunction = _a[1];\n return idx ?\n this.where(idx.name).equals(indexOrCrit[idx.keyPath])\n .filter(filterFunction) :\n compoundIndex ?\n this.filter(filterFunction) :\n this.where(keyPaths).equals('');\n };\n Table.prototype.filter = function (filterFunction) {\n return this.toCollection().and(filterFunction);\n };\n Table.prototype.count = function (thenShortcut) {\n return this.toCollection().count(thenShortcut);\n };\n Table.prototype.offset = function (offset) {\n return this.toCollection().offset(offset);\n };\n Table.prototype.limit = function (numRows) {\n return this.toCollection().limit(numRows);\n };\n Table.prototype.each = function (callback) {\n return this.toCollection().each(callback);\n };\n Table.prototype.toArray = function (thenShortcut) {\n return this.toCollection().toArray(thenShortcut);\n };\n Table.prototype.toCollection = function () {\n return new this.db.Collection(new this.db.WhereClause(this));\n };\n Table.prototype.orderBy = function (index) {\n return new this.db.Collection(new this.db.WhereClause(this, isArray(index) ?\n \"[\".concat(index.join('+'), \"]\") :\n index));\n };\n Table.prototype.reverse = function () {\n return this.toCollection().reverse();\n };\n Table.prototype.mapToClass = function (constructor) {\n var _a = this, db = _a.db, tableName = _a.name;\n this.schema.mappedClass = constructor;\n if (constructor.prototype instanceof Entity) {\n constructor = (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(class_1.prototype, \"db\", {\n get: function () { return db; },\n enumerable: false,\n configurable: true\n });\n class_1.prototype.table = function () { return tableName; };\n return class_1;\n }(constructor));\n }\n var inheritedProps = new Set();\n for (var proto = constructor.prototype; proto; proto = getProto(proto)) {\n Object.getOwnPropertyNames(proto).forEach(function (propName) { return inheritedProps.add(propName); });\n }\n var readHook = function (obj) {\n if (!obj)\n return obj;\n var res = Object.create(constructor.prototype);\n for (var m in obj)\n if (!inheritedProps.has(m))\n try {\n res[m] = obj[m];\n }\n catch (_) { }\n return res;\n };\n if (this.schema.readHook) {\n this.hook.reading.unsubscribe(this.schema.readHook);\n }\n this.schema.readHook = readHook;\n this.hook(\"reading\", readHook);\n return constructor;\n };\n Table.prototype.defineClass = function () {\n function Class(content) {\n extend(this, content);\n }\n return this.mapToClass(Class);\n };\n Table.prototype.add = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'add', keys: key != null ? [key] : null, values: [objToAdd] });\n }).then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.update = function (keyOrObject, modifications) {\n if (typeof keyOrObject === 'object' && !isArray(keyOrObject)) {\n var key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath);\n if (key === undefined)\n return rejection(new exceptions.InvalidArgument(\"Given object does not contain its primary key\"));\n return this.where(\":id\").equals(key).modify(modifications);\n }\n else {\n return this.where(\":id\").equals(keyOrObject).modify(modifications);\n }\n };\n Table.prototype.put = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'put', values: [objToAdd], keys: key != null ? [key] : null }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.delete = function (key) {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'delete', keys: [key] }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.clear = function () {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'deleteRange', range: AnyRange }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.bulkGet = function (keys) {\n var _this = this;\n return this._trans('readonly', function (trans) {\n return _this.core.getMany({\n keys: keys,\n trans: trans\n }).then(function (result) { return result.map(function (res) { return _this.hook.reading.fire(res); }); });\n });\n };\n Table.prototype.bulkAdd = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkAdd(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToAdd = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'add', keys: keys, values: objectsToAdd, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkAdd(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkPut = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkPut(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToPut = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'put', keys: keys, values: objectsToPut, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkPut(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkUpdate = function (keysAndChanges) {\n var _this = this;\n var coreTable = this.core;\n var keys = keysAndChanges.map(function (entry) { return entry.key; });\n var changeSpecs = keysAndChanges.map(function (entry) { return entry.changes; });\n var offsetMap = [];\n return this._trans('readwrite', function (trans) {\n return coreTable.getMany({ trans: trans, keys: keys, cache: 'clone' }).then(function (objs) {\n var resultKeys = [];\n var resultObjs = [];\n keysAndChanges.forEach(function (_a, idx) {\n var key = _a.key, changes = _a.changes;\n var obj = objs[idx];\n if (obj) {\n for (var _i = 0, _b = Object.keys(changes); _i < _b.length; _i++) {\n var keyPath = _b[_i];\n var value = changes[keyPath];\n if (keyPath === _this.schema.primKey.keyPath) {\n if (cmp(value, key) !== 0) {\n throw new exceptions.Constraint(\"Cannot update primary key in bulkUpdate()\");\n }\n }\n else {\n setByKeyPath(obj, keyPath, value);\n }\n }\n offsetMap.push(idx);\n resultKeys.push(key);\n resultObjs.push(obj);\n }\n });\n var numEntries = resultKeys.length;\n return coreTable\n .mutate({\n trans: trans,\n type: 'put',\n keys: resultKeys,\n values: resultObjs,\n updates: {\n keys: keys,\n changeSpecs: changeSpecs\n }\n })\n .then(function (_a) {\n var numFailures = _a.numFailures, failures = _a.failures;\n if (numFailures === 0)\n return numEntries;\n for (var _i = 0, _b = Object.keys(failures); _i < _b.length; _i++) {\n var offset = _b[_i];\n var mappedOffset = offsetMap[Number(offset)];\n if (mappedOffset != null) {\n var failure = failures[offset];\n delete failures[offset];\n failures[mappedOffset] = failure;\n }\n }\n throw new BulkError(\"\".concat(_this.name, \".bulkUpdate(): \").concat(numFailures, \" of \").concat(numEntries, \" operations failed\"), failures);\n });\n });\n });\n };\n Table.prototype.bulkDelete = function (keys) {\n var _this = this;\n var numKeys = keys.length;\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'delete', keys: keys });\n }).then(function (_a) {\n var numFailures = _a.numFailures, lastResult = _a.lastResult, failures = _a.failures;\n if (numFailures === 0)\n return lastResult;\n throw new BulkError(\"\".concat(_this.name, \".bulkDelete(): \").concat(numFailures, \" of \").concat(numKeys, \" operations failed\"), failures);\n });\n };\n return Table;\n}());\n\nfunction Events(ctx) {\n var evs = {};\n var rv = function (eventName, subscriber) {\n if (subscriber) {\n var i = arguments.length, args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n evs[eventName].subscribe.apply(null, args);\n return ctx;\n }\n else if (typeof (eventName) === 'string') {\n return evs[eventName];\n }\n };\n rv.addEventType = add;\n for (var i = 1, l = arguments.length; i < l; ++i) {\n add(arguments[i]);\n }\n return rv;\n function add(eventName, chainFunction, defaultFunction) {\n if (typeof eventName === 'object')\n return addConfiguredEvents(eventName);\n if (!chainFunction)\n chainFunction = reverseStoppableEventChain;\n if (!defaultFunction)\n defaultFunction = nop;\n var context = {\n subscribers: [],\n fire: defaultFunction,\n subscribe: function (cb) {\n if (context.subscribers.indexOf(cb) === -1) {\n context.subscribers.push(cb);\n context.fire = chainFunction(context.fire, cb);\n }\n },\n unsubscribe: function (cb) {\n context.subscribers = context.subscribers.filter(function (fn) { return fn !== cb; });\n context.fire = context.subscribers.reduce(chainFunction, defaultFunction);\n }\n };\n evs[eventName] = rv[eventName] = context;\n return context;\n }\n function addConfiguredEvents(cfg) {\n keys(cfg).forEach(function (eventName) {\n var args = cfg[eventName];\n if (isArray(args)) {\n add(eventName, cfg[eventName][0], cfg[eventName][1]);\n }\n else if (args === 'asap') {\n var context = add(eventName, mirror, function fire() {\n var i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n context.subscribers.forEach(function (fn) {\n asap$1(function fireEvent() {\n fn.apply(null, args);\n });\n });\n });\n }\n else\n throw new exceptions.InvalidArgument(\"Invalid event config\");\n });\n }\n}\n\nfunction makeClassConstructor(prototype, constructor) {\n derive(constructor).from({ prototype: prototype });\n return constructor;\n}\n\nfunction createTableConstructor(db) {\n return makeClassConstructor(Table.prototype, function Table(name, tableSchema, trans) {\n this.db = db;\n this._tx = trans;\n this.name = name;\n this.schema = tableSchema;\n this.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, {\n \"creating\": [hookCreatingChain, nop],\n \"reading\": [pureFunctionChain, mirror],\n \"updating\": [hookUpdatingChain, nop],\n \"deleting\": [hookDeletingChain, nop]\n });\n });\n}\n\nfunction isPlainKeyRange(ctx, ignoreLimitFilter) {\n return !(ctx.filter || ctx.algorithm || ctx.or) &&\n (ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter);\n}\nfunction addFilter(ctx, fn) {\n ctx.filter = combine(ctx.filter, fn);\n}\nfunction addReplayFilter(ctx, factory, isLimitFilter) {\n var curr = ctx.replayFilter;\n ctx.replayFilter = curr ? function () { return combine(curr(), factory()); } : factory;\n ctx.justLimit = isLimitFilter && !curr;\n}\nfunction addMatchFilter(ctx, fn) {\n ctx.isMatch = combine(ctx.isMatch, fn);\n}\nfunction getIndexOrStore(ctx, coreSchema) {\n if (ctx.isPrimKey)\n return coreSchema.primaryKey;\n var index = coreSchema.getIndexByKeyPath(ctx.index);\n if (!index)\n throw new exceptions.Schema(\"KeyPath \" + ctx.index + \" on object store \" + coreSchema.name + \" is not indexed\");\n return index;\n}\nfunction openCursor(ctx, coreTable, trans) {\n var index = getIndexOrStore(ctx, coreTable.schema);\n return coreTable.openCursor({\n trans: trans,\n values: !ctx.keysOnly,\n reverse: ctx.dir === 'prev',\n unique: !!ctx.unique,\n query: {\n index: index,\n range: ctx.range\n }\n });\n}\nfunction iter(ctx, fn, coreTrans, coreTable) {\n var filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter;\n if (!ctx.or) {\n return iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper);\n }\n else {\n var set_1 = {};\n var union = function (item, cursor, advance) {\n if (!filter || filter(cursor, advance, function (result) { return cursor.stop(result); }, function (err) { return cursor.fail(err); })) {\n var primaryKey = cursor.primaryKey;\n var key = '' + primaryKey;\n if (key === '[object ArrayBuffer]')\n key = '' + new Uint8Array(primaryKey);\n if (!hasOwn(set_1, key)) {\n set_1[key] = true;\n fn(item, cursor, advance);\n }\n }\n };\n return Promise.all([\n ctx.or._iterate(union, coreTrans),\n iterate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper)\n ]);\n }\n}\nfunction iterate(cursorPromise, filter, fn, valueMapper) {\n var mappedFn = valueMapper ? function (x, c, a) { return fn(valueMapper(x), c, a); } : fn;\n var wrappedFn = wrap(mappedFn);\n return cursorPromise.then(function (cursor) {\n if (cursor) {\n return cursor.start(function () {\n var c = function () { return cursor.continue(); };\n if (!filter || filter(cursor, function (advancer) { return c = advancer; }, function (val) { cursor.stop(val); c = nop; }, function (e) { cursor.fail(e); c = nop; }))\n wrappedFn(cursor.value, cursor, function (advancer) { return c = advancer; });\n c();\n });\n }\n });\n}\n\nvar PropModSymbol = Symbol();\nvar PropModification = (function () {\n function PropModification(spec) {\n Object.assign(this, spec);\n }\n PropModification.prototype.execute = function (value) {\n var _a;\n if (this.add !== undefined) {\n var term = this.add;\n if (isArray(term)) {\n return __spreadArray(__spreadArray([], (isArray(value) ? value : []), true), term, true).sort();\n }\n if (typeof term === 'number')\n return (Number(value) || 0) + term;\n if (typeof term === 'bigint') {\n try {\n return BigInt(value) + term;\n }\n catch (_b) {\n return BigInt(0) + term;\n }\n }\n throw new TypeError(\"Invalid term \".concat(term));\n }\n if (this.remove !== undefined) {\n var subtrahend_1 = this.remove;\n if (isArray(subtrahend_1)) {\n return isArray(value) ? value.filter(function (item) { return !subtrahend_1.includes(item); }).sort() : [];\n }\n if (typeof subtrahend_1 === 'number')\n return Number(value) - subtrahend_1;\n if (typeof subtrahend_1 === 'bigint') {\n try {\n return BigInt(value) - subtrahend_1;\n }\n catch (_c) {\n return BigInt(0) - subtrahend_1;\n }\n }\n throw new TypeError(\"Invalid subtrahend \".concat(subtrahend_1));\n }\n var prefixToReplace = (_a = this.replacePrefix) === null || _a === void 0 ? void 0 : _a[0];\n if (prefixToReplace && typeof value === 'string' && value.startsWith(prefixToReplace)) {\n return this.replacePrefix[1] + value.substring(prefixToReplace.length);\n }\n return value;\n };\n return PropModification;\n}());\n\nvar Collection = (function () {\n function Collection() {\n }\n Collection.prototype._read = function (fn, cb) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readonly', fn).then(cb);\n };\n Collection.prototype._write = function (fn) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readwrite', fn, \"locked\");\n };\n Collection.prototype._addAlgorithm = function (fn) {\n var ctx = this._ctx;\n ctx.algorithm = combine(ctx.algorithm, fn);\n };\n Collection.prototype._iterate = function (fn, coreTrans) {\n return iter(this._ctx, fn, coreTrans, this._ctx.table.core);\n };\n Collection.prototype.clone = function (props) {\n var rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx);\n if (props)\n extend(ctx, props);\n rv._ctx = ctx;\n return rv;\n };\n Collection.prototype.raw = function () {\n this._ctx.valueMapper = null;\n return this;\n };\n Collection.prototype.each = function (fn) {\n var ctx = this._ctx;\n return this._read(function (trans) { return iter(ctx, fn, trans, ctx.table.core); });\n };\n Collection.prototype.count = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n var coreTable = ctx.table.core;\n if (isPlainKeyRange(ctx, true)) {\n return coreTable.count({\n trans: trans,\n query: {\n index: getIndexOrStore(ctx, coreTable.schema),\n range: ctx.range\n }\n }).then(function (count) { return Math.min(count, ctx.limit); });\n }\n else {\n var count = 0;\n return iter(ctx, function () { ++count; return false; }, trans, coreTable)\n .then(function () { return count; });\n }\n }).then(cb);\n };\n Collection.prototype.sortBy = function (keyPath, cb) {\n var parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1;\n function getval(obj, i) {\n if (i)\n return getval(obj[parts[i]], i - 1);\n return obj[lastPart];\n }\n var order = this._ctx.dir === \"next\" ? 1 : -1;\n function sorter(a, b) {\n var aVal = getval(a, lastIndex), bVal = getval(b, lastIndex);\n return cmp(aVal, bVal) * order;\n }\n return this.toArray(function (a) {\n return a.sort(sorter);\n }).then(cb);\n };\n Collection.prototype.toArray = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n var valueMapper_1 = ctx.valueMapper;\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n limit: ctx.limit,\n values: true,\n query: {\n index: index,\n range: ctx.range\n }\n }).then(function (_a) {\n var result = _a.result;\n return valueMapper_1 ? result.map(valueMapper_1) : result;\n });\n }\n else {\n var a_1 = [];\n return iter(ctx, function (item) { return a_1.push(item); }, trans, ctx.table.core).then(function () { return a_1; });\n }\n }, cb);\n };\n Collection.prototype.offset = function (offset) {\n var ctx = this._ctx;\n if (offset <= 0)\n return this;\n ctx.offset += offset;\n if (isPlainKeyRange(ctx)) {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function (cursor, advance) {\n if (offsetLeft === 0)\n return true;\n if (offsetLeft === 1) {\n --offsetLeft;\n return false;\n }\n advance(function () {\n cursor.advance(offsetLeft);\n offsetLeft = 0;\n });\n return false;\n };\n });\n }\n else {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function () { return (--offsetLeft < 0); };\n });\n }\n return this;\n };\n Collection.prototype.limit = function (numRows) {\n this._ctx.limit = Math.min(this._ctx.limit, numRows);\n addReplayFilter(this._ctx, function () {\n var rowsLeft = numRows;\n return function (cursor, advance, resolve) {\n if (--rowsLeft <= 0)\n advance(resolve);\n return rowsLeft >= 0;\n };\n }, true);\n return this;\n };\n Collection.prototype.until = function (filterFunction, bIncludeStopEntry) {\n addFilter(this._ctx, function (cursor, advance, resolve) {\n if (filterFunction(cursor.value)) {\n advance(resolve);\n return bIncludeStopEntry;\n }\n else {\n return true;\n }\n });\n return this;\n };\n Collection.prototype.first = function (cb) {\n return this.limit(1).toArray(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.last = function (cb) {\n return this.reverse().first(cb);\n };\n Collection.prototype.filter = function (filterFunction) {\n addFilter(this._ctx, function (cursor) {\n return filterFunction(cursor.value);\n });\n addMatchFilter(this._ctx, filterFunction);\n return this;\n };\n Collection.prototype.and = function (filter) {\n return this.filter(filter);\n };\n Collection.prototype.or = function (indexName) {\n return new this.db.WhereClause(this._ctx.table, indexName, this);\n };\n Collection.prototype.reverse = function () {\n this._ctx.dir = (this._ctx.dir === \"prev\" ? \"next\" : \"prev\");\n if (this._ondirectionchange)\n this._ondirectionchange(this._ctx.dir);\n return this;\n };\n Collection.prototype.desc = function () {\n return this.reverse();\n };\n Collection.prototype.eachKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.key, cursor); });\n };\n Collection.prototype.eachUniqueKey = function (cb) {\n this._ctx.unique = \"unique\";\n return this.eachKey(cb);\n };\n Collection.prototype.eachPrimaryKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.primaryKey, cursor); });\n };\n Collection.prototype.keys = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.key);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.primaryKeys = function (cb) {\n var ctx = this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n return this._read(function (trans) {\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n values: false,\n limit: ctx.limit,\n query: {\n index: index,\n range: ctx.range\n }\n });\n }).then(function (_a) {\n var result = _a.result;\n return result;\n }).then(cb);\n }\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.primaryKey);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.uniqueKeys = function (cb) {\n this._ctx.unique = \"unique\";\n return this.keys(cb);\n };\n Collection.prototype.firstKey = function (cb) {\n return this.limit(1).keys(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.lastKey = function (cb) {\n return this.reverse().firstKey(cb);\n };\n Collection.prototype.distinct = function () {\n var ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index];\n if (!idx || !idx.multi)\n return this;\n var set = {};\n addFilter(this._ctx, function (cursor) {\n var strKey = cursor.primaryKey.toString();\n var found = hasOwn(set, strKey);\n set[strKey] = true;\n return !found;\n });\n return this;\n };\n Collection.prototype.modify = function (changes) {\n var _this = this;\n var ctx = this._ctx;\n return this._write(function (trans) {\n var modifyer;\n if (typeof changes === 'function') {\n modifyer = changes;\n }\n else {\n var keyPaths = keys(changes);\n var numKeys = keyPaths.length;\n modifyer = function (item) {\n var anythingModified = false;\n for (var i = 0; i < numKeys; ++i) {\n var keyPath = keyPaths[i];\n var val = changes[keyPath];\n var origVal = getByKeyPath(item, keyPath);\n if (val instanceof PropModification) {\n setByKeyPath(item, keyPath, val.execute(origVal));\n anythingModified = true;\n }\n else if (origVal !== val) {\n setByKeyPath(item, keyPath, val);\n anythingModified = true;\n }\n }\n return anythingModified;\n };\n }\n var coreTable = ctx.table.core;\n var _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;\n var limit = 200;\n var modifyChunkSize = _this.db._options.modifyChunkSize;\n if (modifyChunkSize) {\n if (typeof modifyChunkSize == 'object') {\n limit = modifyChunkSize[coreTable.name] || modifyChunkSize['*'] || 200;\n }\n else {\n limit = modifyChunkSize;\n }\n }\n var totalFailures = [];\n var successCount = 0;\n var failedKeys = [];\n var applyMutateResult = function (expectedCount, res) {\n var failures = res.failures, numFailures = res.numFailures;\n successCount += expectedCount - numFailures;\n for (var _i = 0, _a = keys(failures); _i < _a.length; _i++) {\n var pos = _a[_i];\n totalFailures.push(failures[pos]);\n }\n };\n return _this.clone().primaryKeys().then(function (keys) {\n var criteria = isPlainKeyRange(ctx) &&\n ctx.limit === Infinity &&\n (typeof changes !== 'function' || changes === deleteCallback) && {\n index: ctx.index,\n range: ctx.range\n };\n var nextChunk = function (offset) {\n var count = Math.min(limit, keys.length - offset);\n return coreTable.getMany({\n trans: trans,\n keys: keys.slice(offset, offset + count),\n cache: \"immutable\"\n }).then(function (values) {\n var addValues = [];\n var putValues = [];\n var putKeys = outbound ? [] : null;\n var deleteKeys = [];\n for (var i = 0; i < count; ++i) {\n var origValue = values[i];\n var ctx_1 = {\n value: deepClone(origValue),\n primKey: keys[offset + i]\n };\n if (modifyer.call(ctx_1, ctx_1.value, ctx_1) !== false) {\n if (ctx_1.value == null) {\n deleteKeys.push(keys[offset + i]);\n }\n else if (!outbound && cmp(extractKey(origValue), extractKey(ctx_1.value)) !== 0) {\n deleteKeys.push(keys[offset + i]);\n addValues.push(ctx_1.value);\n }\n else {\n putValues.push(ctx_1.value);\n if (outbound)\n putKeys.push(keys[offset + i]);\n }\n }\n }\n return Promise.resolve(addValues.length > 0 &&\n coreTable.mutate({ trans: trans, type: 'add', values: addValues })\n .then(function (res) {\n for (var pos in res.failures) {\n deleteKeys.splice(parseInt(pos), 1);\n }\n applyMutateResult(addValues.length, res);\n })).then(function () { return (putValues.length > 0 || (criteria && typeof changes === 'object')) &&\n coreTable.mutate({\n trans: trans,\n type: 'put',\n keys: putKeys,\n values: putValues,\n criteria: criteria,\n changeSpec: typeof changes !== 'function'\n && changes,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(putValues.length, res); }); }).then(function () { return (deleteKeys.length > 0 || (criteria && changes === deleteCallback)) &&\n coreTable.mutate({\n trans: trans,\n type: 'delete',\n keys: deleteKeys,\n criteria: criteria,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(deleteKeys.length, res); }); }).then(function () {\n return keys.length > offset + count && nextChunk(offset + limit);\n });\n });\n };\n return nextChunk(0).then(function () {\n if (totalFailures.length > 0)\n throw new ModifyError(\"Error modifying one or more objects\", totalFailures, successCount, failedKeys);\n return keys.length;\n });\n });\n });\n };\n Collection.prototype.delete = function () {\n var ctx = this._ctx, range = ctx.range;\n if (isPlainKeyRange(ctx) &&\n (ctx.isPrimKey || range.type === 3 ))\n {\n return this._write(function (trans) {\n var primaryKey = ctx.table.core.schema.primaryKey;\n var coreRange = range;\n return ctx.table.core.count({ trans: trans, query: { index: primaryKey, range: coreRange } }).then(function (count) {\n return ctx.table.core.mutate({ trans: trans, type: 'deleteRange', range: coreRange })\n .then(function (_a) {\n var failures = _a.failures; _a.lastResult; _a.results; var numFailures = _a.numFailures;\n if (numFailures)\n throw new ModifyError(\"Could not delete some values\", Object.keys(failures).map(function (pos) { return failures[pos]; }), count - numFailures);\n return count - numFailures;\n });\n });\n });\n }\n return this.modify(deleteCallback);\n };\n return Collection;\n}());\nvar deleteCallback = function (value, ctx) { return ctx.value = null; };\n\nfunction createCollectionConstructor(db) {\n return makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) {\n this.db = db;\n var keyRange = AnyRange, error = null;\n if (keyRangeGenerator)\n try {\n keyRange = keyRangeGenerator();\n }\n catch (ex) {\n error = ex;\n }\n var whereCtx = whereClause._ctx;\n var table = whereCtx.table;\n var readingHook = table.hook.reading.fire;\n this._ctx = {\n table: table,\n index: whereCtx.index,\n isPrimKey: (!whereCtx.index || (table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name)),\n range: keyRange,\n keysOnly: false,\n dir: \"next\",\n unique: \"\",\n algorithm: null,\n filter: null,\n replayFilter: null,\n justLimit: true,\n isMatch: null,\n offset: 0,\n limit: Infinity,\n error: error,\n or: whereCtx.or,\n valueMapper: readingHook !== mirror ? readingHook : null\n };\n });\n}\n\nfunction simpleCompare(a, b) {\n return a < b ? -1 : a === b ? 0 : 1;\n}\nfunction simpleCompareReverse(a, b) {\n return a > b ? -1 : a === b ? 0 : 1;\n}\n\nfunction fail(collectionOrWhereClause, err, T) {\n var collection = collectionOrWhereClause instanceof WhereClause ?\n new collectionOrWhereClause.Collection(collectionOrWhereClause) :\n collectionOrWhereClause;\n collection._ctx.error = T ? new T(err) : new TypeError(err);\n return collection;\n}\nfunction emptyCollection(whereClause) {\n return new whereClause.Collection(whereClause, function () { return rangeEqual(\"\"); }).limit(0);\n}\nfunction upperFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toUpperCase(); } :\n function (s) { return s.toLowerCase(); };\n}\nfunction lowerFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toLowerCase(); } :\n function (s) { return s.toUpperCase(); };\n}\nfunction nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) {\n var length = Math.min(key.length, lowerNeedle.length);\n var llp = -1;\n for (var i = 0; i < length; ++i) {\n var lwrKeyChar = lowerKey[i];\n if (lwrKeyChar !== lowerNeedle[i]) {\n if (cmp(key[i], upperNeedle[i]) < 0)\n return key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1);\n if (cmp(key[i], lowerNeedle[i]) < 0)\n return key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1);\n if (llp >= 0)\n return key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1);\n return null;\n }\n if (cmp(key[i], lwrKeyChar) < 0)\n llp = i;\n }\n if (length < lowerNeedle.length && dir === \"next\")\n return key + upperNeedle.substr(key.length);\n if (length < key.length && dir === \"prev\")\n return key.substr(0, upperNeedle.length);\n return (llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1));\n}\nfunction addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) {\n var upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length;\n if (!needles.every(function (s) { return typeof s === 'string'; })) {\n return fail(whereClause, STRING_EXPECTED);\n }\n function initDirection(dir) {\n upper = upperFactory(dir);\n lower = lowerFactory(dir);\n compare = (dir === \"next\" ? simpleCompare : simpleCompareReverse);\n var needleBounds = needles.map(function (needle) {\n return { lower: lower(needle), upper: upper(needle) };\n }).sort(function (a, b) {\n return compare(a.lower, b.lower);\n });\n upperNeedles = needleBounds.map(function (nb) { return nb.upper; });\n lowerNeedles = needleBounds.map(function (nb) { return nb.lower; });\n direction = dir;\n nextKeySuffix = (dir === \"next\" ? \"\" : suffix);\n }\n initDirection(\"next\");\n var c = new whereClause.Collection(whereClause, function () { return createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix); });\n c._ondirectionchange = function (direction) {\n initDirection(direction);\n };\n var firstPossibleNeedle = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n if (typeof key !== 'string')\n return false;\n var lowerKey = lower(key);\n if (match(lowerKey, lowerNeedles, firstPossibleNeedle)) {\n return true;\n }\n else {\n var lowestPossibleCasing = null;\n for (var i = firstPossibleNeedle; i < needlesLen; ++i) {\n var casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction);\n if (casing === null && lowestPossibleCasing === null)\n firstPossibleNeedle = i + 1;\n else if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) {\n lowestPossibleCasing = casing;\n }\n }\n if (lowestPossibleCasing !== null) {\n advance(function () { cursor.continue(lowestPossibleCasing + nextKeySuffix); });\n }\n else {\n advance(resolve);\n }\n return false;\n }\n });\n return c;\n}\nfunction createRange(lower, upper, lowerOpen, upperOpen) {\n return {\n type: 2 ,\n lower: lower,\n upper: upper,\n lowerOpen: lowerOpen,\n upperOpen: upperOpen\n };\n}\nfunction rangeEqual(value) {\n return {\n type: 1 ,\n lower: value,\n upper: value\n };\n}\n\nvar WhereClause = (function () {\n function WhereClause() {\n }\n Object.defineProperty(WhereClause.prototype, \"Collection\", {\n get: function () {\n return this._ctx.table.db.Collection;\n },\n enumerable: false,\n configurable: true\n });\n WhereClause.prototype.between = function (lower, upper, includeLower, includeUpper) {\n includeLower = includeLower !== false;\n includeUpper = includeUpper === true;\n try {\n if ((this._cmp(lower, upper) > 0) ||\n (this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper)))\n return emptyCollection(this);\n return new this.Collection(this, function () { return createRange(lower, upper, !includeLower, !includeUpper); });\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n };\n WhereClause.prototype.equals = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return rangeEqual(value); });\n };\n WhereClause.prototype.above = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, true); });\n };\n WhereClause.prototype.aboveOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, false); });\n };\n WhereClause.prototype.below = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value, false, true); });\n };\n WhereClause.prototype.belowOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value); });\n };\n WhereClause.prototype.startsWith = function (str) {\n if (typeof str !== 'string')\n return fail(this, STRING_EXPECTED);\n return this.between(str, str + maxString, true, true);\n };\n WhereClause.prototype.startsWithIgnoreCase = function (str) {\n if (str === \"\")\n return this.startsWith(str);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x.indexOf(a[0]) === 0; }, [str], maxString);\n };\n WhereClause.prototype.equalsIgnoreCase = function (str) {\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x === a[0]; }, [str], \"\");\n };\n WhereClause.prototype.anyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.indexOf(x) !== -1; }, set, \"\");\n };\n WhereClause.prototype.startsWithAnyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.some(function (n) { return x.indexOf(n) === 0; }); }, set, maxString);\n };\n WhereClause.prototype.anyOf = function () {\n var _this = this;\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n var compare = this._cmp;\n try {\n set.sort(compare);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n if (set.length === 0)\n return emptyCollection(this);\n var c = new this.Collection(this, function () { return createRange(set[0], set[set.length - 1]); });\n c._ondirectionchange = function (direction) {\n compare = (direction === \"next\" ?\n _this._ascending :\n _this._descending);\n set.sort(compare);\n };\n var i = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (compare(key, set[i]) > 0) {\n ++i;\n if (i === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (compare(key, set[i]) === 0) {\n return true;\n }\n else {\n advance(function () { cursor.continue(set[i]); });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.notEqual = function (value) {\n return this.inAnyRange([[minKey, value], [value, this.db._maxKey]], { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.noneOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return new this.Collection(this);\n try {\n set.sort(this._ascending);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var ranges = set.reduce(function (res, val) { return res ?\n res.concat([[res[res.length - 1][1], val]]) :\n [[minKey, val]]; }, null);\n ranges.push([set[set.length - 1], this.db._maxKey]);\n return this.inAnyRange(ranges, { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.inAnyRange = function (ranges, options) {\n var _this = this;\n var cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max;\n if (ranges.length === 0)\n return emptyCollection(this);\n if (!ranges.every(function (range) {\n return range[0] !== undefined &&\n range[1] !== undefined &&\n ascending(range[0], range[1]) <= 0;\n })) {\n return fail(this, \"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower\", exceptions.InvalidArgument);\n }\n var includeLowers = !options || options.includeLowers !== false;\n var includeUppers = options && options.includeUppers === true;\n function addRange(ranges, newRange) {\n var i = 0, l = ranges.length;\n for (; i < l; ++i) {\n var range = ranges[i];\n if (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) {\n range[0] = min(range[0], newRange[0]);\n range[1] = max(range[1], newRange[1]);\n break;\n }\n }\n if (i === l)\n ranges.push(newRange);\n return ranges;\n }\n var sortDirection = ascending;\n function rangeSorter(a, b) { return sortDirection(a[0], b[0]); }\n var set;\n try {\n set = ranges.reduce(addRange, []);\n set.sort(rangeSorter);\n }\n catch (ex) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var rangePos = 0;\n var keyIsBeyondCurrentEntry = includeUppers ?\n function (key) { return ascending(key, set[rangePos][1]) > 0; } :\n function (key) { return ascending(key, set[rangePos][1]) >= 0; };\n var keyIsBeforeCurrentEntry = includeLowers ?\n function (key) { return descending(key, set[rangePos][0]) > 0; } :\n function (key) { return descending(key, set[rangePos][0]) >= 0; };\n function keyWithinCurrentRange(key) {\n return !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key);\n }\n var checkKey = keyIsBeyondCurrentEntry;\n var c = new this.Collection(this, function () { return createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers); });\n c._ondirectionchange = function (direction) {\n if (direction === \"next\") {\n checkKey = keyIsBeyondCurrentEntry;\n sortDirection = ascending;\n }\n else {\n checkKey = keyIsBeforeCurrentEntry;\n sortDirection = descending;\n }\n set.sort(rangeSorter);\n };\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (checkKey(key)) {\n ++rangePos;\n if (rangePos === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (keyWithinCurrentRange(key)) {\n return true;\n }\n else if (_this._cmp(key, set[rangePos][1]) === 0 || _this._cmp(key, set[rangePos][0]) === 0) {\n return false;\n }\n else {\n advance(function () {\n if (sortDirection === ascending)\n cursor.continue(set[rangePos][0]);\n else\n cursor.continue(set[rangePos][1]);\n });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.startsWithAnyOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (!set.every(function (s) { return typeof s === 'string'; })) {\n return fail(this, \"startsWithAnyOf() only works with strings\");\n }\n if (set.length === 0)\n return emptyCollection(this);\n return this.inAnyRange(set.map(function (str) { return [str, str + maxString]; }));\n };\n return WhereClause;\n}());\n\nfunction createWhereClauseConstructor(db) {\n return makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) {\n this.db = db;\n this._ctx = {\n table: table,\n index: index === \":id\" ? null : index,\n or: orCollection\n };\n this._cmp = this._ascending = cmp;\n this._descending = function (a, b) { return cmp(b, a); };\n this._max = function (a, b) { return cmp(a, b) > 0 ? a : b; };\n this._min = function (a, b) { return cmp(a, b) < 0 ? a : b; };\n this._IDBKeyRange = db._deps.IDBKeyRange;\n if (!this._IDBKeyRange)\n throw new exceptions.MissingAPI();\n });\n}\n\nfunction eventRejectHandler(reject) {\n return wrap(function (event) {\n preventDefault(event);\n reject(event.target.error);\n return false;\n });\n}\nfunction preventDefault(event) {\n if (event.stopPropagation)\n event.stopPropagation();\n if (event.preventDefault)\n event.preventDefault();\n}\n\nvar DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';\nvar STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';\nvar globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);\n\nvar Transaction = (function () {\n function Transaction() {\n }\n Transaction.prototype._lock = function () {\n assert(!PSD.global);\n ++this._reculock;\n if (this._reculock === 1 && !PSD.global)\n PSD.lockOwnerFor = this;\n return this;\n };\n Transaction.prototype._unlock = function () {\n assert(!PSD.global);\n if (--this._reculock === 0) {\n if (!PSD.global)\n PSD.lockOwnerFor = null;\n while (this._blockedFuncs.length > 0 && !this._locked()) {\n var fnAndPSD = this._blockedFuncs.shift();\n try {\n usePSD(fnAndPSD[1], fnAndPSD[0]);\n }\n catch (e) { }\n }\n }\n return this;\n };\n Transaction.prototype._locked = function () {\n return this._reculock && PSD.lockOwnerFor !== this;\n };\n Transaction.prototype.create = function (idbtrans) {\n var _this = this;\n if (!this.mode)\n return this;\n var idbdb = this.db.idbdb;\n var dbOpenError = this.db._state.dbOpenError;\n assert(!this.idbtrans);\n if (!idbtrans && !idbdb) {\n switch (dbOpenError && dbOpenError.name) {\n case \"DatabaseClosedError\":\n throw new exceptions.DatabaseClosed(dbOpenError);\n case \"MissingAPIError\":\n throw new exceptions.MissingAPI(dbOpenError.message, dbOpenError);\n default:\n throw new exceptions.OpenFailed(dbOpenError);\n }\n }\n if (!this.active)\n throw new exceptions.TransactionInactive();\n assert(this._completion._state === null);\n idbtrans = this.idbtrans = idbtrans ||\n (this.db.core\n ? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability })\n : idbdb.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }));\n idbtrans.onerror = wrap(function (ev) {\n preventDefault(ev);\n _this._reject(idbtrans.error);\n });\n idbtrans.onabort = wrap(function (ev) {\n preventDefault(ev);\n _this.active && _this._reject(new exceptions.Abort(idbtrans.error));\n _this.active = false;\n _this.on(\"abort\").fire(ev);\n });\n idbtrans.oncomplete = wrap(function () {\n _this.active = false;\n _this._resolve();\n if ('mutatedParts' in idbtrans) {\n globalEvents.storagemutated.fire(idbtrans[\"mutatedParts\"]);\n }\n });\n return this;\n };\n Transaction.prototype._promise = function (mode, fn, bWriteLock) {\n var _this = this;\n if (mode === 'readwrite' && this.mode !== 'readwrite')\n return rejection(new exceptions.ReadOnly(\"Transaction is readonly\"));\n if (!this.active)\n return rejection(new exceptions.TransactionInactive());\n if (this._locked()) {\n return new DexiePromise(function (resolve, reject) {\n _this._blockedFuncs.push([function () {\n _this._promise(mode, fn, bWriteLock).then(resolve, reject);\n }, PSD]);\n });\n }\n else if (bWriteLock) {\n return newScope(function () {\n var p = new DexiePromise(function (resolve, reject) {\n _this._lock();\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p.finally(function () { return _this._unlock(); });\n p._lib = true;\n return p;\n });\n }\n else {\n var p = new DexiePromise(function (resolve, reject) {\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p._lib = true;\n return p;\n }\n };\n Transaction.prototype._root = function () {\n return this.parent ? this.parent._root() : this;\n };\n Transaction.prototype.waitFor = function (promiseLike) {\n var root = this._root();\n var promise = DexiePromise.resolve(promiseLike);\n if (root._waitingFor) {\n root._waitingFor = root._waitingFor.then(function () { return promise; });\n }\n else {\n root._waitingFor = promise;\n root._waitingQueue = [];\n var store = root.idbtrans.objectStore(root.storeNames[0]);\n (function spin() {\n ++root._spinCount;\n while (root._waitingQueue.length)\n (root._waitingQueue.shift())();\n if (root._waitingFor)\n store.get(-Infinity).onsuccess = spin;\n }());\n }\n var currentWaitPromise = root._waitingFor;\n return new DexiePromise(function (resolve, reject) {\n promise.then(function (res) { return root._waitingQueue.push(wrap(resolve.bind(null, res))); }, function (err) { return root._waitingQueue.push(wrap(reject.bind(null, err))); }).finally(function () {\n if (root._waitingFor === currentWaitPromise) {\n root._waitingFor = null;\n }\n });\n });\n };\n Transaction.prototype.abort = function () {\n if (this.active) {\n this.active = false;\n if (this.idbtrans)\n this.idbtrans.abort();\n this._reject(new exceptions.Abort());\n }\n };\n Transaction.prototype.table = function (tableName) {\n var memoizedTables = (this._memoizedTables || (this._memoizedTables = {}));\n if (hasOwn(memoizedTables, tableName))\n return memoizedTables[tableName];\n var tableSchema = this.schema[tableName];\n if (!tableSchema) {\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n }\n var transactionBoundTable = new this.db.Table(tableName, tableSchema, this);\n transactionBoundTable.core = this.db.core.table(tableName);\n memoizedTables[tableName] = transactionBoundTable;\n return transactionBoundTable;\n };\n return Transaction;\n}());\n\nfunction createTransactionConstructor(db) {\n return makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) {\n var _this = this;\n this.db = db;\n this.mode = mode;\n this.storeNames = storeNames;\n this.schema = dbschema;\n this.chromeTransactionDurability = chromeTransactionDurability;\n this.idbtrans = null;\n this.on = Events(this, \"complete\", \"error\", \"abort\");\n this.parent = parent || null;\n this.active = true;\n this._reculock = 0;\n this._blockedFuncs = [];\n this._resolve = null;\n this._reject = null;\n this._waitingFor = null;\n this._waitingQueue = null;\n this._spinCount = 0;\n this._completion = new DexiePromise(function (resolve, reject) {\n _this._resolve = resolve;\n _this._reject = reject;\n });\n this._completion.then(function () {\n _this.active = false;\n _this.on.complete.fire();\n }, function (e) {\n var wasActive = _this.active;\n _this.active = false;\n _this.on.error.fire(e);\n _this.parent ?\n _this.parent._reject(e) :\n wasActive && _this.idbtrans && _this.idbtrans.abort();\n return rejection(e);\n });\n });\n}\n\nfunction createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey) {\n return {\n name: name,\n keyPath: keyPath,\n unique: unique,\n multi: multi,\n auto: auto,\n compound: compound,\n src: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? \"++\" : \"\") + nameFromKeyPath(keyPath)\n };\n}\nfunction nameFromKeyPath(keyPath) {\n return typeof keyPath === 'string' ?\n keyPath :\n keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : \"\";\n}\n\nfunction createTableSchema(name, primKey, indexes) {\n return {\n name: name,\n primKey: primKey,\n indexes: indexes,\n mappedClass: null,\n idxByName: arrayToObject(indexes, function (index) { return [index.name, index]; })\n };\n}\n\nfunction safariMultiStoreFix(storeNames) {\n return storeNames.length === 1 ? storeNames[0] : storeNames;\n}\nvar getMaxKey = function (IdbKeyRange) {\n try {\n IdbKeyRange.only([[]]);\n getMaxKey = function () { return [[]]; };\n return [[]];\n }\n catch (e) {\n getMaxKey = function () { return maxString; };\n return maxString;\n }\n};\n\nfunction getKeyExtractor(keyPath) {\n if (keyPath == null) {\n return function () { return undefined; };\n }\n else if (typeof keyPath === 'string') {\n return getSinglePathKeyExtractor(keyPath);\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n}\nfunction getSinglePathKeyExtractor(keyPath) {\n var split = keyPath.split('.');\n if (split.length === 1) {\n return function (obj) { return obj[keyPath]; };\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n}\n\nfunction arrayify(arrayLike) {\n return [].slice.call(arrayLike);\n}\nvar _id_counter = 0;\nfunction getKeyPathAlias(keyPath) {\n return keyPath == null ?\n \":id\" :\n typeof keyPath === 'string' ?\n keyPath :\n \"[\".concat(keyPath.join('+'), \"]\");\n}\nfunction createDBCore(db, IdbKeyRange, tmpTrans) {\n function extractSchema(db, trans) {\n var tables = arrayify(db.objectStoreNames);\n return {\n schema: {\n name: db.name,\n tables: tables.map(function (table) { return trans.objectStore(table); }).map(function (store) {\n var keyPath = store.keyPath, autoIncrement = store.autoIncrement;\n var compound = isArray(keyPath);\n var outbound = keyPath == null;\n var indexByKeyPath = {};\n var result = {\n name: store.name,\n primaryKey: {\n name: null,\n isPrimaryKey: true,\n outbound: outbound,\n compound: compound,\n keyPath: keyPath,\n autoIncrement: autoIncrement,\n unique: true,\n extractKey: getKeyExtractor(keyPath)\n },\n indexes: arrayify(store.indexNames).map(function (indexName) { return store.index(indexName); })\n .map(function (index) {\n var name = index.name, unique = index.unique, multiEntry = index.multiEntry, keyPath = index.keyPath;\n var compound = isArray(keyPath);\n var result = {\n name: name,\n compound: compound,\n keyPath: keyPath,\n unique: unique,\n multiEntry: multiEntry,\n extractKey: getKeyExtractor(keyPath)\n };\n indexByKeyPath[getKeyPathAlias(keyPath)] = result;\n return result;\n }),\n getIndexByKeyPath: function (keyPath) { return indexByKeyPath[getKeyPathAlias(keyPath)]; }\n };\n indexByKeyPath[\":id\"] = result.primaryKey;\n if (keyPath != null) {\n indexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey;\n }\n return result;\n })\n },\n hasGetAll: tables.length > 0 && ('getAll' in trans.objectStore(tables[0])) &&\n !(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604)\n };\n }\n function makeIDBKeyRange(range) {\n if (range.type === 3 )\n return null;\n if (range.type === 4 )\n throw new Error(\"Cannot convert never type to IDBKeyRange\");\n var lower = range.lower, upper = range.upper, lowerOpen = range.lowerOpen, upperOpen = range.upperOpen;\n var idbRange = lower === undefined ?\n upper === undefined ?\n null :\n IdbKeyRange.upperBound(upper, !!upperOpen) :\n upper === undefined ?\n IdbKeyRange.lowerBound(lower, !!lowerOpen) :\n IdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen);\n return idbRange;\n }\n function createDbCoreTable(tableSchema) {\n var tableName = tableSchema.name;\n function mutate(_a) {\n var trans = _a.trans, type = _a.type, keys = _a.keys, values = _a.values, range = _a.range;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var outbound = store.keyPath == null;\n var isAddOrPut = type === \"put\" || type === \"add\";\n if (!isAddOrPut && type !== 'delete' && type !== 'deleteRange')\n throw new Error(\"Invalid operation type: \" + type);\n var length = (keys || values || { length: 1 }).length;\n if (keys && values && keys.length !== values.length) {\n throw new Error(\"Given keys array must have same length as given values array.\");\n }\n if (length === 0)\n return resolve({ numFailures: 0, failures: {}, results: [], lastResult: undefined });\n var req;\n var reqs = [];\n var failures = [];\n var numFailures = 0;\n var errorHandler = function (event) {\n ++numFailures;\n preventDefault(event);\n };\n if (type === 'deleteRange') {\n if (range.type === 4 )\n return resolve({ numFailures: numFailures, failures: failures, results: [], lastResult: undefined });\n if (range.type === 3 )\n reqs.push(req = store.clear());\n else\n reqs.push(req = store.delete(makeIDBKeyRange(range)));\n }\n else {\n var _a = isAddOrPut ?\n outbound ?\n [values, keys] :\n [values, null] :\n [keys, null], args1 = _a[0], args2 = _a[1];\n if (isAddOrPut) {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = (args2 && args2[i] !== undefined ?\n store[type](args1[i], args2[i]) :\n store[type](args1[i])));\n req.onerror = errorHandler;\n }\n }\n else {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = store[type](args1[i]));\n req.onerror = errorHandler;\n }\n }\n }\n var done = function (event) {\n var lastResult = event.target.result;\n reqs.forEach(function (req, i) { return req.error != null && (failures[i] = req.error); });\n resolve({\n numFailures: numFailures,\n failures: failures,\n results: type === \"delete\" ? keys : reqs.map(function (req) { return req.result; }),\n lastResult: lastResult\n });\n };\n req.onerror = function (event) {\n errorHandler(event);\n done(event);\n };\n req.onsuccess = done;\n });\n }\n function openCursor(_a) {\n var trans = _a.trans, values = _a.values, query = _a.query, reverse = _a.reverse, unique = _a.unique;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ?\n store :\n store.index(index.name);\n var direction = reverse ?\n unique ?\n \"prevunique\" :\n \"prev\" :\n unique ?\n \"nextunique\" :\n \"next\";\n var req = values || !('openKeyCursor' in source) ?\n source.openCursor(makeIDBKeyRange(range), direction) :\n source.openKeyCursor(makeIDBKeyRange(range), direction);\n req.onerror = eventRejectHandler(reject);\n req.onsuccess = wrap(function (ev) {\n var cursor = req.result;\n if (!cursor) {\n resolve(null);\n return;\n }\n cursor.___id = ++_id_counter;\n cursor.done = false;\n var _cursorContinue = cursor.continue.bind(cursor);\n var _cursorContinuePrimaryKey = cursor.continuePrimaryKey;\n if (_cursorContinuePrimaryKey)\n _cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor);\n var _cursorAdvance = cursor.advance.bind(cursor);\n var doThrowCursorIsNotStarted = function () { throw new Error(\"Cursor not started\"); };\n var doThrowCursorIsStopped = function () { throw new Error(\"Cursor not stopped\"); };\n cursor.trans = trans;\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted;\n cursor.fail = wrap(reject);\n cursor.next = function () {\n var _this = this;\n var gotOne = 1;\n return this.start(function () { return gotOne-- ? _this.continue() : _this.stop(); }).then(function () { return _this; });\n };\n cursor.start = function (callback) {\n var iterationPromise = new Promise(function (resolveIteration, rejectIteration) {\n resolveIteration = wrap(resolveIteration);\n req.onerror = eventRejectHandler(rejectIteration);\n cursor.fail = rejectIteration;\n cursor.stop = function (value) {\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped;\n resolveIteration(value);\n };\n });\n var guardedCallback = function () {\n if (req.result) {\n try {\n callback();\n }\n catch (err) {\n cursor.fail(err);\n }\n }\n else {\n cursor.done = true;\n cursor.start = function () { throw new Error(\"Cursor behind last entry\"); };\n cursor.stop();\n }\n };\n req.onsuccess = wrap(function (ev) {\n req.onsuccess = guardedCallback;\n guardedCallback();\n });\n cursor.continue = _cursorContinue;\n cursor.continuePrimaryKey = _cursorContinuePrimaryKey;\n cursor.advance = _cursorAdvance;\n guardedCallback();\n return iterationPromise;\n };\n resolve(cursor);\n }, reject);\n });\n }\n function query(hasGetAll) {\n return function (request) {\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var trans = request.trans, values = request.values, limit = request.limit, query = request.query;\n var nonInfinitLimit = limit === Infinity ? undefined : limit;\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n if (limit === 0)\n return resolve({ result: [] });\n if (hasGetAll) {\n var req = values ?\n source.getAll(idbKeyRange, nonInfinitLimit) :\n source.getAllKeys(idbKeyRange, nonInfinitLimit);\n req.onsuccess = function (event) { return resolve({ result: event.target.result }); };\n req.onerror = eventRejectHandler(reject);\n }\n else {\n var count_1 = 0;\n var req_1 = values || !('openKeyCursor' in source) ?\n source.openCursor(idbKeyRange) :\n source.openKeyCursor(idbKeyRange);\n var result_1 = [];\n req_1.onsuccess = function (event) {\n var cursor = req_1.result;\n if (!cursor)\n return resolve({ result: result_1 });\n result_1.push(values ? cursor.value : cursor.primaryKey);\n if (++count_1 === limit)\n return resolve({ result: result_1 });\n cursor.continue();\n };\n req_1.onerror = eventRejectHandler(reject);\n }\n });\n };\n }\n return {\n name: tableName,\n schema: tableSchema,\n mutate: mutate,\n getMany: function (_a) {\n var trans = _a.trans, keys = _a.keys;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var length = keys.length;\n var result = new Array(length);\n var keyCount = 0;\n var callbackCount = 0;\n var req;\n var successHandler = function (event) {\n var req = event.target;\n if ((result[req._pos] = req.result) != null)\n ;\n if (++callbackCount === keyCount)\n resolve(result);\n };\n var errorHandler = eventRejectHandler(reject);\n for (var i = 0; i < length; ++i) {\n var key = keys[i];\n if (key != null) {\n req = store.get(keys[i]);\n req._pos = i;\n req.onsuccess = successHandler;\n req.onerror = errorHandler;\n ++keyCount;\n }\n }\n if (keyCount === 0)\n resolve(result);\n });\n },\n get: function (_a) {\n var trans = _a.trans, key = _a.key;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var req = store.get(key);\n req.onsuccess = function (event) { return resolve(event.target.result); };\n req.onerror = eventRejectHandler(reject);\n });\n },\n query: query(hasGetAll),\n openCursor: openCursor,\n count: function (_a) {\n var query = _a.query, trans = _a.trans;\n var index = query.index, range = query.range;\n return new Promise(function (resolve, reject) {\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n var req = idbKeyRange ? source.count(idbKeyRange) : source.count();\n req.onsuccess = wrap(function (ev) { return resolve(ev.target.result); });\n req.onerror = eventRejectHandler(reject);\n });\n }\n };\n }\n var _a = extractSchema(db, tmpTrans), schema = _a.schema, hasGetAll = _a.hasGetAll;\n var tables = schema.tables.map(function (tableSchema) { return createDbCoreTable(tableSchema); });\n var tableMap = {};\n tables.forEach(function (table) { return tableMap[table.name] = table; });\n return {\n stack: \"dbcore\",\n transaction: db.transaction.bind(db),\n table: function (name) {\n var result = tableMap[name];\n if (!result)\n throw new Error(\"Table '\".concat(name, \"' not found\"));\n return tableMap[name];\n },\n MIN_KEY: -Infinity,\n MAX_KEY: getMaxKey(IdbKeyRange),\n schema: schema\n };\n}\n\nfunction createMiddlewareStack(stackImpl, middlewares) {\n return middlewares.reduce(function (down, _a) {\n var create = _a.create;\n return (__assign(__assign({}, down), create(down)));\n }, stackImpl);\n}\nfunction createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {\n var IDBKeyRange = _a.IDBKeyRange; _a.indexedDB;\n var dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);\n return {\n dbcore: dbcore\n };\n}\nfunction generateMiddlewareStacks(db, tmpTrans) {\n var idbdb = tmpTrans.db;\n var stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans);\n db.core = stacks.dbcore;\n db.tables.forEach(function (table) {\n var tableName = table.name;\n if (db.core.schema.tables.some(function (tbl) { return tbl.name === tableName; })) {\n table.core = db.core.table(tableName);\n if (db[tableName] instanceof db.Table) {\n db[tableName].core = table.core;\n }\n }\n });\n}\n\nfunction setApiOnPlace(db, objs, tableNames, dbschema) {\n tableNames.forEach(function (tableName) {\n var schema = dbschema[tableName];\n objs.forEach(function (obj) {\n var propDesc = getPropertyDescriptor(obj, tableName);\n if (!propDesc || (\"value\" in propDesc && propDesc.value === undefined)) {\n if (obj === db.Transaction.prototype || obj instanceof db.Transaction) {\n setProp(obj, tableName, {\n get: function () { return this.table(tableName); },\n set: function (value) {\n defineProperty(this, tableName, { value: value, writable: true, configurable: true, enumerable: true });\n }\n });\n }\n else {\n obj[tableName] = new db.Table(tableName, schema);\n }\n }\n });\n });\n}\nfunction removeTablesApi(db, objs) {\n objs.forEach(function (obj) {\n for (var key in obj) {\n if (obj[key] instanceof db.Table)\n delete obj[key];\n }\n });\n}\nfunction lowerVersionFirst(a, b) {\n return a._cfg.version - b._cfg.version;\n}\nfunction runUpgraders(db, oldVersion, idbUpgradeTrans, reject) {\n var globalSchema = db._dbSchema;\n if (idbUpgradeTrans.objectStoreNames.contains('$meta') && !globalSchema.$meta) {\n globalSchema.$meta = createTableSchema(\"$meta\", parseIndexSyntax(\"\")[0], []);\n db._storeNames.push('$meta');\n }\n var trans = db._createTransaction('readwrite', db._storeNames, globalSchema);\n trans.create(idbUpgradeTrans);\n trans._completion.catch(reject);\n var rejectTransaction = trans._reject.bind(trans);\n var transless = PSD.transless || PSD;\n newScope(function () {\n PSD.trans = trans;\n PSD.transless = transless;\n if (oldVersion === 0) {\n keys(globalSchema).forEach(function (tableName) {\n createTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes);\n });\n generateMiddlewareStacks(db, idbUpgradeTrans);\n DexiePromise.follow(function () { return db.on.populate.fire(trans); }).catch(rejectTransaction);\n }\n else {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n return getExistingVersion(db, trans, oldVersion)\n .then(function (oldVersion) { return updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans); })\n .catch(rejectTransaction);\n }\n });\n}\nfunction patchCurrentVersion(db, idbUpgradeTrans) {\n createMissingTables(db._dbSchema, idbUpgradeTrans);\n if (idbUpgradeTrans.db.version % 10 === 0 && !idbUpgradeTrans.objectStoreNames.contains('$meta')) {\n idbUpgradeTrans.db.createObjectStore('$meta').add(Math.ceil((idbUpgradeTrans.db.version / 10) - 1), 'version');\n }\n var globalSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n adjustToExistingIndexNames(db, db._dbSchema, idbUpgradeTrans);\n var diff = getSchemaDiff(globalSchema, db._dbSchema);\n var _loop_1 = function (tableChange) {\n if (tableChange.change.length || tableChange.recreate) {\n console.warn(\"Unable to patch indexes of table \".concat(tableChange.name, \" because it has changes on the type of index or primary key.\"));\n return { value: void 0 };\n }\n var store = idbUpgradeTrans.objectStore(tableChange.name);\n tableChange.add.forEach(function (idx) {\n if (debug)\n console.debug(\"Dexie upgrade patch: Creating missing index \".concat(tableChange.name, \".\").concat(idx.src));\n addIndex(store, idx);\n });\n };\n for (var _i = 0, _a = diff.change; _i < _a.length; _i++) {\n var tableChange = _a[_i];\n var state_1 = _loop_1(tableChange);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n}\nfunction getExistingVersion(db, trans, oldVersion) {\n if (trans.storeNames.includes('$meta')) {\n return trans.table('$meta').get('version').then(function (metaVersion) {\n return metaVersion != null ? metaVersion : oldVersion;\n });\n }\n else {\n return DexiePromise.resolve(oldVersion);\n }\n}\nfunction updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans) {\n var queue = [];\n var versions = db._versions;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n var versToRun = versions.filter(function (v) { return v._cfg.version >= oldVersion; });\n if (versToRun.length === 0) {\n return DexiePromise.resolve();\n }\n versToRun.forEach(function (version) {\n queue.push(function () {\n var oldSchema = globalSchema;\n var newSchema = version._cfg.dbschema;\n adjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans);\n adjustToExistingIndexNames(db, newSchema, idbUpgradeTrans);\n globalSchema = db._dbSchema = newSchema;\n var diff = getSchemaDiff(oldSchema, newSchema);\n diff.add.forEach(function (tuple) {\n createTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes);\n });\n diff.change.forEach(function (change) {\n if (change.recreate) {\n throw new exceptions.Upgrade(\"Not yet support for changing primary key\");\n }\n else {\n var store_1 = idbUpgradeTrans.objectStore(change.name);\n change.add.forEach(function (idx) { return addIndex(store_1, idx); });\n change.change.forEach(function (idx) {\n store_1.deleteIndex(idx.name);\n addIndex(store_1, idx);\n });\n change.del.forEach(function (idxName) { return store_1.deleteIndex(idxName); });\n }\n });\n var contentUpgrade = version._cfg.contentUpgrade;\n if (contentUpgrade && version._cfg.version > oldVersion) {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n trans._memoizedTables = {};\n var upgradeSchema_1 = shallowClone(newSchema);\n diff.del.forEach(function (table) {\n upgradeSchema_1[table] = oldSchema[table];\n });\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], keys(upgradeSchema_1), upgradeSchema_1);\n trans.schema = upgradeSchema_1;\n var contentUpgradeIsAsync_1 = isAsyncFunction(contentUpgrade);\n if (contentUpgradeIsAsync_1) {\n incrementExpectedAwaits();\n }\n var returnValue_1;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue_1 = contentUpgrade(trans);\n if (returnValue_1) {\n if (contentUpgradeIsAsync_1) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue_1.then(decrementor, decrementor);\n }\n }\n });\n return (returnValue_1 && typeof returnValue_1.then === 'function' ?\n DexiePromise.resolve(returnValue_1) : promiseFollowed.then(function () { return returnValue_1; }));\n }\n });\n queue.push(function (idbtrans) {\n var newSchema = version._cfg.dbschema;\n deleteRemovedTables(newSchema, idbtrans);\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], db._storeNames, db._dbSchema);\n trans.schema = db._dbSchema;\n });\n queue.push(function (idbtrans) {\n if (db.idbdb.objectStoreNames.contains('$meta')) {\n if (Math.ceil(db.idbdb.version / 10) === version._cfg.version) {\n db.idbdb.deleteObjectStore('$meta');\n delete db._dbSchema.$meta;\n db._storeNames = db._storeNames.filter(function (name) { return name !== '$meta'; });\n }\n else {\n idbtrans.objectStore('$meta').put(version._cfg.version, 'version');\n }\n }\n });\n });\n function runQueue() {\n return queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) :\n DexiePromise.resolve();\n }\n return runQueue().then(function () {\n createMissingTables(globalSchema, idbUpgradeTrans);\n });\n}\nfunction getSchemaDiff(oldSchema, newSchema) {\n var diff = {\n del: [],\n add: [],\n change: []\n };\n var table;\n for (table in oldSchema) {\n if (!newSchema[table])\n diff.del.push(table);\n }\n for (table in newSchema) {\n var oldDef = oldSchema[table], newDef = newSchema[table];\n if (!oldDef) {\n diff.add.push([table, newDef]);\n }\n else {\n var change = {\n name: table,\n def: newDef,\n recreate: false,\n del: [],\n add: [],\n change: []\n };\n if ((\n '' + (oldDef.primKey.keyPath || '')) !== ('' + (newDef.primKey.keyPath || '')) ||\n (oldDef.primKey.auto !== newDef.primKey.auto)) {\n change.recreate = true;\n diff.change.push(change);\n }\n else {\n var oldIndexes = oldDef.idxByName;\n var newIndexes = newDef.idxByName;\n var idxName = void 0;\n for (idxName in oldIndexes) {\n if (!newIndexes[idxName])\n change.del.push(idxName);\n }\n for (idxName in newIndexes) {\n var oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName];\n if (!oldIdx)\n change.add.push(newIdx);\n else if (oldIdx.src !== newIdx.src)\n change.change.push(newIdx);\n }\n if (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) {\n diff.change.push(change);\n }\n }\n }\n }\n return diff;\n}\nfunction createTable(idbtrans, tableName, primKey, indexes) {\n var store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ?\n { keyPath: primKey.keyPath, autoIncrement: primKey.auto } :\n { autoIncrement: primKey.auto });\n indexes.forEach(function (idx) { return addIndex(store, idx); });\n return store;\n}\nfunction createMissingTables(newSchema, idbtrans) {\n keys(newSchema).forEach(function (tableName) {\n if (!idbtrans.db.objectStoreNames.contains(tableName)) {\n if (debug)\n console.debug('Dexie: Creating missing table', tableName);\n createTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes);\n }\n });\n}\nfunction deleteRemovedTables(newSchema, idbtrans) {\n [].slice.call(idbtrans.db.objectStoreNames).forEach(function (storeName) {\n return newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);\n });\n}\nfunction addIndex(store, idx) {\n store.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi });\n}\nfunction buildGlobalSchema(db, idbdb, tmpTrans) {\n var globalSchema = {};\n var dbStoreNames = slice(idbdb.objectStoreNames, 0);\n dbStoreNames.forEach(function (storeName) {\n var store = tmpTrans.objectStore(storeName);\n var keyPath = store.keyPath;\n var primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || \"\", true, false, !!store.autoIncrement, keyPath && typeof keyPath !== \"string\", true);\n var indexes = [];\n for (var j = 0; j < store.indexNames.length; ++j) {\n var idbindex = store.index(store.indexNames[j]);\n keyPath = idbindex.keyPath;\n var index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== \"string\", false);\n indexes.push(index);\n }\n globalSchema[storeName] = createTableSchema(storeName, primKey, indexes);\n });\n return globalSchema;\n}\nfunction readGlobalSchema(db, idbdb, tmpTrans) {\n db.verno = idbdb.version / 10;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans);\n db._storeNames = slice(idbdb.objectStoreNames, 0);\n setApiOnPlace(db, [db._allTables], keys(globalSchema), globalSchema);\n}\nfunction verifyInstalledSchema(db, tmpTrans) {\n var installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans);\n var diff = getSchemaDiff(installedSchema, db._dbSchema);\n return !(diff.add.length || diff.change.some(function (ch) { return ch.add.length || ch.change.length; }));\n}\nfunction adjustToExistingIndexNames(db, schema, idbtrans) {\n var storeNames = idbtrans.db.objectStoreNames;\n for (var i = 0; i < storeNames.length; ++i) {\n var storeName = storeNames[i];\n var store = idbtrans.objectStore(storeName);\n db._hasGetAll = 'getAll' in store;\n for (var j = 0; j < store.indexNames.length; ++j) {\n var indexName = store.indexNames[j];\n var keyPath = store.index(indexName).keyPath;\n var dexieName = typeof keyPath === 'string' ? keyPath : \"[\" + slice(keyPath).join('+') + \"]\";\n if (schema[storeName]) {\n var indexSpec = schema[storeName].idxByName[dexieName];\n if (indexSpec) {\n indexSpec.name = indexName;\n delete schema[storeName].idxByName[dexieName];\n schema[storeName].idxByName[indexName] = indexSpec;\n }\n }\n }\n }\n if (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n _global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604) {\n db._hasGetAll = false;\n }\n}\nfunction parseIndexSyntax(primKeyAndIndexes) {\n return primKeyAndIndexes.split(',').map(function (index, indexNum) {\n index = index.trim();\n var name = index.replace(/([&*]|\\+\\+)/g, \"\");\n var keyPath = /^\\[/.test(name) ? name.match(/^\\[(.*)\\]$/)[1].split('+') : name;\n return createIndexSpec(name, keyPath || null, /\\&/.test(index), /\\*/.test(index), /\\+\\+/.test(index), isArray(keyPath), indexNum === 0);\n });\n}\n\nvar Version = (function () {\n function Version() {\n }\n Version.prototype._parseStoresSpec = function (stores, outSchema) {\n keys(stores).forEach(function (tableName) {\n if (stores[tableName] !== null) {\n var indexes = parseIndexSyntax(stores[tableName]);\n var primKey = indexes.shift();\n primKey.unique = true;\n if (primKey.multi)\n throw new exceptions.Schema(\"Primary key cannot be multi-valued\");\n indexes.forEach(function (idx) {\n if (idx.auto)\n throw new exceptions.Schema(\"Only primary key can be marked as autoIncrement (++)\");\n if (!idx.keyPath)\n throw new exceptions.Schema(\"Index must have a name and cannot be an empty string\");\n });\n outSchema[tableName] = createTableSchema(tableName, primKey, indexes);\n }\n });\n };\n Version.prototype.stores = function (stores) {\n var db = this.db;\n this._cfg.storesSource = this._cfg.storesSource ?\n extend(this._cfg.storesSource, stores) :\n stores;\n var versions = db._versions;\n var storesSpec = {};\n var dbschema = {};\n versions.forEach(function (version) {\n extend(storesSpec, version._cfg.storesSource);\n dbschema = (version._cfg.dbschema = {});\n version._parseStoresSpec(storesSpec, dbschema);\n });\n db._dbSchema = dbschema;\n removeTablesApi(db, [db._allTables, db, db.Transaction.prototype]);\n setApiOnPlace(db, [db._allTables, db, db.Transaction.prototype, this._cfg.tables], keys(dbschema), dbschema);\n db._storeNames = keys(dbschema);\n return this;\n };\n Version.prototype.upgrade = function (upgradeFunction) {\n this._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction);\n return this;\n };\n return Version;\n}());\n\nfunction createVersionConstructor(db) {\n return makeClassConstructor(Version.prototype, function Version(versionNumber) {\n this.db = db;\n this._cfg = {\n version: versionNumber,\n storesSource: null,\n dbschema: {},\n tables: {},\n contentUpgrade: null\n };\n });\n}\n\nfunction getDbNamesTable(indexedDB, IDBKeyRange) {\n var dbNamesDB = indexedDB[\"_dbNamesDB\"];\n if (!dbNamesDB) {\n dbNamesDB = indexedDB[\"_dbNamesDB\"] = new Dexie$1(DBNAMES_DB, {\n addons: [],\n indexedDB: indexedDB,\n IDBKeyRange: IDBKeyRange,\n });\n dbNamesDB.version(1).stores({ dbnames: \"name\" });\n }\n return dbNamesDB.table(\"dbnames\");\n}\nfunction hasDatabasesNative(indexedDB) {\n return indexedDB && typeof indexedDB.databases === \"function\";\n}\nfunction getDatabaseNames(_a) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n return hasDatabasesNative(indexedDB)\n ? Promise.resolve(indexedDB.databases()).then(function (infos) {\n return infos\n .map(function (info) { return info.name; })\n .filter(function (name) { return name !== DBNAMES_DB; });\n })\n : getDbNamesTable(indexedDB, IDBKeyRange).toCollection().primaryKeys();\n}\nfunction _onDatabaseCreated(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).put({ name: name }).catch(nop);\n}\nfunction _onDatabaseDeleted(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).delete(name).catch(nop);\n}\n\nfunction vip(fn) {\n return newScope(function () {\n PSD.letThrough = true;\n return fn();\n });\n}\n\nfunction idbReady() {\n var isSafari = !navigator.userAgentData &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\//.test(navigator.userAgent);\n if (!isSafari || !indexedDB.databases)\n return Promise.resolve();\n var intervalId;\n return new Promise(function (resolve) {\n var tryIdb = function () { return indexedDB.databases().finally(resolve); };\n intervalId = setInterval(tryIdb, 100);\n tryIdb();\n }).finally(function () { return clearInterval(intervalId); });\n}\n\nvar _a;\nfunction isEmptyRange(node) {\n return !(\"from\" in node);\n}\nvar RangeSet = function (fromOrTree, to) {\n if (this) {\n extend(this, arguments.length ? { d: 1, from: fromOrTree, to: arguments.length > 1 ? to : fromOrTree } : { d: 0 });\n }\n else {\n var rv = new RangeSet();\n if (fromOrTree && (\"d\" in fromOrTree)) {\n extend(rv, fromOrTree);\n }\n return rv;\n }\n};\nprops(RangeSet.prototype, (_a = {\n add: function (rangeSet) {\n mergeRanges(this, rangeSet);\n return this;\n },\n addKey: function (key) {\n addRange(this, key, key);\n return this;\n },\n addKeys: function (keys) {\n var _this = this;\n keys.forEach(function (key) { return addRange(_this, key, key); });\n return this;\n },\n hasKey: function (key) {\n var node = getRangeSetIterator(this).next(key).value;\n return node && cmp(node.from, key) <= 0 && cmp(node.to, key) >= 0;\n }\n },\n _a[iteratorSymbol] = function () {\n return getRangeSetIterator(this);\n },\n _a));\nfunction addRange(target, from, to) {\n var diff = cmp(from, to);\n if (isNaN(diff))\n return;\n if (diff > 0)\n throw RangeError();\n if (isEmptyRange(target))\n return extend(target, { from: from, to: to, d: 1 });\n var left = target.l;\n var right = target.r;\n if (cmp(to, target.from) < 0) {\n left\n ? addRange(left, from, to)\n : (target.l = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.to) > 0) {\n right\n ? addRange(right, from, to)\n : (target.r = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.from) < 0) {\n target.from = from;\n target.l = null;\n target.d = right ? right.d + 1 : 1;\n }\n if (cmp(to, target.to) > 0) {\n target.to = to;\n target.r = null;\n target.d = target.l ? target.l.d + 1 : 1;\n }\n var rightWasCutOff = !target.r;\n if (left && !target.l) {\n mergeRanges(target, left);\n }\n if (right && rightWasCutOff) {\n mergeRanges(target, right);\n }\n}\nfunction mergeRanges(target, newSet) {\n function _addRangeSet(target, _a) {\n var from = _a.from, to = _a.to, l = _a.l, r = _a.r;\n addRange(target, from, to);\n if (l)\n _addRangeSet(target, l);\n if (r)\n _addRangeSet(target, r);\n }\n if (!isEmptyRange(newSet))\n _addRangeSet(target, newSet);\n}\nfunction rangesOverlap(rangeSet1, rangeSet2) {\n var i1 = getRangeSetIterator(rangeSet2);\n var nextResult1 = i1.next();\n if (nextResult1.done)\n return false;\n var a = nextResult1.value;\n var i2 = getRangeSetIterator(rangeSet1);\n var nextResult2 = i2.next(a.from);\n var b = nextResult2.value;\n while (!nextResult1.done && !nextResult2.done) {\n if (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0)\n return true;\n cmp(a.from, b.from) < 0\n ? (a = (nextResult1 = i1.next(b.from)).value)\n : (b = (nextResult2 = i2.next(a.from)).value);\n }\n return false;\n}\nfunction getRangeSetIterator(node) {\n var state = isEmptyRange(node) ? null : { s: 0, n: node };\n return {\n next: function (key) {\n var keyProvided = arguments.length > 0;\n while (state) {\n switch (state.s) {\n case 0:\n state.s = 1;\n if (keyProvided) {\n while (state.n.l && cmp(key, state.n.from) < 0)\n state = { up: state, n: state.n.l, s: 1 };\n }\n else {\n while (state.n.l)\n state = { up: state, n: state.n.l, s: 1 };\n }\n case 1:\n state.s = 2;\n if (!keyProvided || cmp(key, state.n.to) <= 0)\n return { value: state.n, done: false };\n case 2:\n if (state.n.r) {\n state.s = 3;\n state = { up: state, n: state.n.r, s: 0 };\n continue;\n }\n case 3:\n state = state.up;\n }\n }\n return { done: true };\n },\n };\n}\nfunction rebalance(target) {\n var _a, _b;\n var diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0);\n var r = diff > 1 ? \"r\" : diff < -1 ? \"l\" : \"\";\n if (r) {\n var l = r === \"r\" ? \"l\" : \"r\";\n var rootClone = __assign({}, target);\n var oldRootRight = target[r];\n target.from = oldRootRight.from;\n target.to = oldRootRight.to;\n target[r] = oldRootRight[r];\n rootClone[r] = oldRootRight[l];\n target[l] = rootClone;\n rootClone.d = computeDepth(rootClone);\n }\n target.d = computeDepth(target);\n}\nfunction computeDepth(_a) {\n var r = _a.r, l = _a.l;\n return (r ? (l ? Math.max(r.d, l.d) : r.d) : l ? l.d : 0) + 1;\n}\n\nfunction extendObservabilitySet(target, newSet) {\n keys(newSet).forEach(function (part) {\n if (target[part])\n mergeRanges(target[part], newSet[part]);\n else\n target[part] = cloneSimpleObjectTree(newSet[part]);\n });\n return target;\n}\n\nfunction obsSetsOverlap(os1, os2) {\n return os1.all || os2.all || Object.keys(os1).some(function (key) { return os2[key] && rangesOverlap(os2[key], os1[key]); });\n}\n\nvar cache = {};\n\nvar unsignaledParts = {};\nvar isTaskEnqueued = false;\nfunction signalSubscribersLazily(part, optimistic) {\n extendObservabilitySet(unsignaledParts, part);\n if (!isTaskEnqueued) {\n isTaskEnqueued = true;\n setTimeout(function () {\n isTaskEnqueued = false;\n var parts = unsignaledParts;\n unsignaledParts = {};\n signalSubscribersNow(parts, false);\n }, 0);\n }\n}\nfunction signalSubscribersNow(updatedParts, deleteAffectedCacheEntries) {\n if (deleteAffectedCacheEntries === void 0) { deleteAffectedCacheEntries = false; }\n var queriesToSignal = new Set();\n if (updatedParts.all) {\n for (var _i = 0, _a = Object.values(cache); _i < _a.length; _i++) {\n var tblCache = _a[_i];\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n else {\n for (var key in updatedParts) {\n var parts = /^idb\\:\\/\\/(.*)\\/(.*)\\//.exec(key);\n if (parts) {\n var dbName = parts[1], tableName = parts[2];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (tblCache)\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n }\n queriesToSignal.forEach(function (requery) { return requery(); });\n}\nfunction collectTableSubscribers(tblCache, updatedParts, outQueriesToSignal, deleteAffectedCacheEntries) {\n var updatedEntryLists = [];\n for (var _i = 0, _a = Object.entries(tblCache.queries.query); _i < _a.length; _i++) {\n var _b = _a[_i], indexName = _b[0], entries = _b[1];\n var filteredEntries = [];\n for (var _c = 0, entries_1 = entries; _c < entries_1.length; _c++) {\n var entry = entries_1[_c];\n if (obsSetsOverlap(updatedParts, entry.obsSet)) {\n entry.subscribers.forEach(function (requery) { return outQueriesToSignal.add(requery); });\n }\n else if (deleteAffectedCacheEntries) {\n filteredEntries.push(entry);\n }\n }\n if (deleteAffectedCacheEntries)\n updatedEntryLists.push([indexName, filteredEntries]);\n }\n if (deleteAffectedCacheEntries) {\n for (var _d = 0, updatedEntryLists_1 = updatedEntryLists; _d < updatedEntryLists_1.length; _d++) {\n var _e = updatedEntryLists_1[_d], indexName = _e[0], filteredEntries = _e[1];\n tblCache.queries.query[indexName] = filteredEntries;\n }\n }\n}\n\nfunction dexieOpen(db) {\n var state = db._state;\n var indexedDB = db._deps.indexedDB;\n if (state.isBeingOpened || db.idbdb)\n return state.dbReadyPromise.then(function () { return state.dbOpenError ?\n rejection(state.dbOpenError) :\n db; });\n state.isBeingOpened = true;\n state.dbOpenError = null;\n state.openComplete = false;\n var openCanceller = state.openCanceller;\n var nativeVerToOpen = Math.round(db.verno * 10);\n var schemaPatchMode = false;\n function throwIfCancelled() {\n if (state.openCanceller !== openCanceller)\n throw new exceptions.DatabaseClosed('db.open() was cancelled');\n }\n var resolveDbReady = state.dbReadyResolve,\n upgradeTransaction = null, wasCreated = false;\n var tryOpenDB = function () { return new DexiePromise(function (resolve, reject) {\n throwIfCancelled();\n if (!indexedDB)\n throw new exceptions.MissingAPI();\n var dbName = db.name;\n var req = state.autoSchema || !nativeVerToOpen ?\n indexedDB.open(dbName) :\n indexedDB.open(dbName, nativeVerToOpen);\n if (!req)\n throw new exceptions.MissingAPI();\n req.onerror = eventRejectHandler(reject);\n req.onblocked = wrap(db._fireOnBlocked);\n req.onupgradeneeded = wrap(function (e) {\n upgradeTransaction = req.transaction;\n if (state.autoSchema && !db._options.allowEmptyDB) {\n req.onerror = preventDefault;\n upgradeTransaction.abort();\n req.result.close();\n var delreq = indexedDB.deleteDatabase(dbName);\n delreq.onsuccess = delreq.onerror = wrap(function () {\n reject(new exceptions.NoSuchDatabase(\"Database \".concat(dbName, \" doesnt exist\")));\n });\n }\n else {\n upgradeTransaction.onerror = eventRejectHandler(reject);\n var oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion;\n wasCreated = oldVer < 1;\n db.idbdb = req.result;\n if (schemaPatchMode) {\n patchCurrentVersion(db, upgradeTransaction);\n }\n runUpgraders(db, oldVer / 10, upgradeTransaction, reject);\n }\n }, reject);\n req.onsuccess = wrap(function () {\n upgradeTransaction = null;\n var idbdb = db.idbdb = req.result;\n var objectStoreNames = slice(idbdb.objectStoreNames);\n if (objectStoreNames.length > 0)\n try {\n var tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly');\n if (state.autoSchema)\n readGlobalSchema(db, idbdb, tmpTrans);\n else {\n adjustToExistingIndexNames(db, db._dbSchema, tmpTrans);\n if (!verifyInstalledSchema(db, tmpTrans) && !schemaPatchMode) {\n console.warn(\"Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this.\");\n idbdb.close();\n nativeVerToOpen = idbdb.version + 1;\n schemaPatchMode = true;\n return resolve(tryOpenDB());\n }\n }\n generateMiddlewareStacks(db, tmpTrans);\n }\n catch (e) {\n }\n connections.push(db);\n idbdb.onversionchange = wrap(function (ev) {\n state.vcFired = true;\n db.on(\"versionchange\").fire(ev);\n });\n idbdb.onclose = wrap(function (ev) {\n db.on(\"close\").fire(ev);\n });\n if (wasCreated)\n _onDatabaseCreated(db._deps, dbName);\n resolve();\n }, reject);\n }).catch(function (err) {\n switch (err === null || err === void 0 ? void 0 : err.name) {\n case \"UnknownError\":\n if (state.PR1398_maxLoop > 0) {\n state.PR1398_maxLoop--;\n console.warn('Dexie: Workaround for Chrome UnknownError on open()');\n return tryOpenDB();\n }\n break;\n case \"VersionError\":\n if (nativeVerToOpen > 0) {\n nativeVerToOpen = 0;\n return tryOpenDB();\n }\n break;\n }\n return DexiePromise.reject(err);\n }); };\n return DexiePromise.race([\n openCanceller,\n (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(tryOpenDB)\n ]).then(function () {\n throwIfCancelled();\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return db.on.ready.fire(db.vip); })).then(function fireRemainders() {\n if (state.onReadyBeingFired.length > 0) {\n var remainders_1 = state.onReadyBeingFired.reduce(promisableChain, nop);\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return remainders_1(db.vip); })).then(fireRemainders);\n }\n });\n }).finally(function () {\n if (state.openCanceller === openCanceller) {\n state.onReadyBeingFired = null;\n state.isBeingOpened = false;\n }\n }).catch(function (err) {\n state.dbOpenError = err;\n try {\n upgradeTransaction && upgradeTransaction.abort();\n }\n catch (_a) { }\n if (openCanceller === state.openCanceller) {\n db._close();\n }\n return rejection(err);\n }).finally(function () {\n state.openComplete = true;\n resolveDbReady();\n }).then(function () {\n if (wasCreated) {\n var everything_1 = {};\n db.tables.forEach(function (table) {\n table.schema.indexes.forEach(function (idx) {\n if (idx.name)\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\").concat(idx.name)] = new RangeSet(-Infinity, [[[]]]);\n });\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\")] = everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/:dels\")] = new RangeSet(-Infinity, [[[]]]);\n });\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME).fire(everything_1);\n signalSubscribersNow(everything_1, true);\n }\n return db;\n });\n}\n\nfunction awaitIterator(iterator) {\n var callNext = function (result) { return iterator.next(result); }, doThrow = function (error) { return iterator.throw(error); }, onSuccess = step(callNext), onError = step(doThrow);\n function step(getNext) {\n return function (val) {\n var next = getNext(val), value = next.value;\n return next.done ? value :\n (!value || typeof value.then !== 'function' ?\n isArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) :\n value.then(onSuccess, onError));\n };\n }\n return step(callNext)();\n}\n\nfunction extractTransactionArgs(mode, _tableArgs_, scopeFunc) {\n var i = arguments.length;\n if (i < 2)\n throw new exceptions.InvalidArgument(\"Too few arguments\");\n var args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n scopeFunc = args.pop();\n var tables = flatten(args);\n return [mode, tables, scopeFunc];\n}\nfunction enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) {\n return DexiePromise.resolve().then(function () {\n var transless = PSD.transless || PSD;\n var trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction);\n trans.explicit = true;\n var zoneProps = {\n trans: trans,\n transless: transless\n };\n if (parentTransaction) {\n trans.idbtrans = parentTransaction.idbtrans;\n }\n else {\n try {\n trans.create();\n trans.idbtrans._explicit = true;\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return enterTransactionScope(db, mode, storeNames, null, scopeFunc); });\n }\n return rejection(ex);\n }\n }\n var scopeFuncIsAsync = isAsyncFunction(scopeFunc);\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var returnValue;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue = scopeFunc.call(trans, trans);\n if (returnValue) {\n if (scopeFuncIsAsync) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue.then(decrementor, decrementor);\n }\n else if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') {\n returnValue = awaitIterator(returnValue);\n }\n }\n }, zoneProps);\n return (returnValue && typeof returnValue.then === 'function' ?\n DexiePromise.resolve(returnValue).then(function (x) { return trans.active ?\n x\n : rejection(new exceptions.PrematureCommit(\"Transaction committed too early. See http://bit.ly/2kdckMn\")); })\n : promiseFollowed.then(function () { return returnValue; })).then(function (x) {\n if (parentTransaction)\n trans._resolve();\n return trans._completion.then(function () { return x; });\n }).catch(function (e) {\n trans._reject(e);\n return rejection(e);\n });\n });\n}\n\nfunction pad(a, value, count) {\n var result = isArray(a) ? a.slice() : [a];\n for (var i = 0; i < count; ++i)\n result.push(value);\n return result;\n}\nfunction createVirtualIndexMiddleware(down) {\n return __assign(__assign({}, down), { table: function (tableName) {\n var table = down.table(tableName);\n var schema = table.schema;\n var indexLookup = {};\n var allVirtualIndexes = [];\n function addVirtualIndexes(keyPath, keyTail, lowLevelIndex) {\n var keyPathAlias = getKeyPathAlias(keyPath);\n var indexList = (indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || []);\n var keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length;\n var isVirtual = keyTail > 0;\n var virtualIndex = __assign(__assign({}, lowLevelIndex), { name: isVirtual\n ? \"\".concat(keyPathAlias, \"(virtual-from:\").concat(lowLevelIndex.name, \")\")\n : lowLevelIndex.name, lowLevelIndex: lowLevelIndex, isVirtual: isVirtual, keyTail: keyTail, keyLength: keyLength, extractKey: getKeyExtractor(keyPath), unique: !isVirtual && lowLevelIndex.unique });\n indexList.push(virtualIndex);\n if (!virtualIndex.isPrimaryKey) {\n allVirtualIndexes.push(virtualIndex);\n }\n if (keyLength > 1) {\n var virtualKeyPath = keyLength === 2 ?\n keyPath[0] :\n keyPath.slice(0, keyLength - 1);\n addVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex);\n }\n indexList.sort(function (a, b) { return a.keyTail - b.keyTail; });\n return virtualIndex;\n }\n var primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey);\n indexLookup[\":id\"] = [primaryKey];\n for (var _i = 0, _a = schema.indexes; _i < _a.length; _i++) {\n var index = _a[_i];\n addVirtualIndexes(index.keyPath, 0, index);\n }\n function findBestIndex(keyPath) {\n var result = indexLookup[getKeyPathAlias(keyPath)];\n return result && result[0];\n }\n function translateRange(range, keyTail) {\n return {\n type: range.type === 1 ?\n 2 :\n range.type,\n lower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail),\n lowerOpen: true,\n upper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail),\n upperOpen: true\n };\n }\n function translateRequest(req) {\n var index = req.query.index;\n return index.isVirtual ? __assign(__assign({}, req), { query: {\n index: index.lowLevelIndex,\n range: translateRange(req.query.range, index.keyTail)\n } }) : req;\n }\n var result = __assign(__assign({}, table), { schema: __assign(__assign({}, schema), { primaryKey: primaryKey, indexes: allVirtualIndexes, getIndexByKeyPath: findBestIndex }), count: function (req) {\n return table.count(translateRequest(req));\n }, query: function (req) {\n return table.query(translateRequest(req));\n }, openCursor: function (req) {\n var _a = req.query.index, keyTail = _a.keyTail, isVirtual = _a.isVirtual, keyLength = _a.keyLength;\n if (!isVirtual)\n return table.openCursor(req);\n function createVirtualCursor(cursor) {\n function _continue(key) {\n key != null ?\n cursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) :\n req.unique ?\n cursor.continue(cursor.key.slice(0, keyLength)\n .concat(req.reverse\n ? down.MIN_KEY\n : down.MAX_KEY, keyTail)) :\n cursor.continue();\n }\n var virtualCursor = Object.create(cursor, {\n continue: { value: _continue },\n continuePrimaryKey: {\n value: function (key, primaryKey) {\n cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);\n }\n },\n primaryKey: {\n get: function () {\n return cursor.primaryKey;\n }\n },\n key: {\n get: function () {\n var key = cursor.key;\n return keyLength === 1 ?\n key[0] :\n key.slice(0, keyLength);\n }\n },\n value: {\n get: function () {\n return cursor.value;\n }\n }\n });\n return virtualCursor;\n }\n return table.openCursor(translateRequest(req))\n .then(function (cursor) { return cursor && createVirtualCursor(cursor); });\n } });\n return result;\n } });\n}\nvar virtualIndexMiddleware = {\n stack: \"dbcore\",\n name: \"VirtualIndexMiddleware\",\n level: 1,\n create: createVirtualIndexMiddleware\n};\n\nfunction getObjectDiff(a, b, rv, prfx) {\n rv = rv || {};\n prfx = prfx || '';\n keys(a).forEach(function (prop) {\n if (!hasOwn(b, prop)) {\n rv[prfx + prop] = undefined;\n }\n else {\n var ap = a[prop], bp = b[prop];\n if (typeof ap === 'object' && typeof bp === 'object' && ap && bp) {\n var apTypeName = toStringTag(ap);\n var bpTypeName = toStringTag(bp);\n if (apTypeName !== bpTypeName) {\n rv[prfx + prop] = b[prop];\n }\n else if (apTypeName === 'Object') {\n getObjectDiff(ap, bp, rv, prfx + prop + '.');\n }\n else if (ap !== bp) {\n rv[prfx + prop] = b[prop];\n }\n }\n else if (ap !== bp)\n rv[prfx + prop] = b[prop];\n }\n });\n keys(b).forEach(function (prop) {\n if (!hasOwn(a, prop)) {\n rv[prfx + prop] = b[prop];\n }\n });\n return rv;\n}\n\nfunction getEffectiveKeys(primaryKey, req) {\n if (req.type === 'delete')\n return req.keys;\n return req.keys || req.values.map(primaryKey.extractKey);\n}\n\nvar hooksMiddleware = {\n stack: \"dbcore\",\n name: \"HooksMiddleware\",\n level: 2,\n create: function (downCore) { return (__assign(__assign({}, downCore), { table: function (tableName) {\n var downTable = downCore.table(tableName);\n var primaryKey = downTable.schema.primaryKey;\n var tableMiddleware = __assign(__assign({}, downTable), { mutate: function (req) {\n var dxTrans = PSD.trans;\n var _a = dxTrans.table(tableName).hook, deleting = _a.deleting, creating = _a.creating, updating = _a.updating;\n switch (req.type) {\n case 'add':\n if (creating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'put':\n if (creating.fire === nop && updating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'delete':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'deleteRange':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return deleteRange(req); }, true);\n }\n return downTable.mutate(req);\n function addPutOrDelete(req) {\n var dxTrans = PSD.trans;\n var keys = req.keys || getEffectiveKeys(primaryKey, req);\n if (!keys)\n throw new Error(\"Keys missing\");\n req = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), { keys: keys }) : __assign({}, req);\n if (req.type !== 'delete')\n req.values = __spreadArray([], req.values, true);\n if (req.keys)\n req.keys = __spreadArray([], req.keys, true);\n return getExistingValues(downTable, req, keys).then(function (existingValues) {\n var contexts = keys.map(function (key, i) {\n var existingValue = existingValues[i];\n var ctx = { onerror: null, onsuccess: null };\n if (req.type === 'delete') {\n deleting.fire.call(ctx, key, existingValue, dxTrans);\n }\n else if (req.type === 'add' || existingValue === undefined) {\n var generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans);\n if (key == null && generatedPrimaryKey != null) {\n key = generatedPrimaryKey;\n req.keys[i] = key;\n if (!primaryKey.outbound) {\n setByKeyPath(req.values[i], primaryKey.keyPath, key);\n }\n }\n }\n else {\n var objectDiff = getObjectDiff(existingValue, req.values[i]);\n var additionalChanges_1 = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans);\n if (additionalChanges_1) {\n var requestedValue_1 = req.values[i];\n Object.keys(additionalChanges_1).forEach(function (keyPath) {\n if (hasOwn(requestedValue_1, keyPath)) {\n requestedValue_1[keyPath] = additionalChanges_1[keyPath];\n }\n else {\n setByKeyPath(requestedValue_1, keyPath, additionalChanges_1[keyPath]);\n }\n });\n }\n }\n return ctx;\n });\n return downTable.mutate(req).then(function (_a) {\n var failures = _a.failures, results = _a.results, numFailures = _a.numFailures, lastResult = _a.lastResult;\n for (var i = 0; i < keys.length; ++i) {\n var primKey = results ? results[i] : keys[i];\n var ctx = contexts[i];\n if (primKey == null) {\n ctx.onerror && ctx.onerror(failures[i]);\n }\n else {\n ctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ?\n req.values[i] :\n primKey\n );\n }\n }\n return { failures: failures, results: results, numFailures: numFailures, lastResult: lastResult };\n }).catch(function (error) {\n contexts.forEach(function (ctx) { return ctx.onerror && ctx.onerror(error); });\n return Promise.reject(error);\n });\n });\n }\n function deleteRange(req) {\n return deleteNextChunk(req.trans, req.range, 10000);\n }\n function deleteNextChunk(trans, range, limit) {\n return downTable.query({ trans: trans, values: false, query: { index: primaryKey, range: range }, limit: limit })\n .then(function (_a) {\n var result = _a.result;\n return addPutOrDelete({ type: 'delete', keys: result, trans: trans }).then(function (res) {\n if (res.numFailures > 0)\n return Promise.reject(res.failures[0]);\n if (result.length < limit) {\n return { failures: [], numFailures: 0, lastResult: undefined };\n }\n else {\n return deleteNextChunk(trans, __assign(__assign({}, range), { lower: result[result.length - 1], lowerOpen: true }), limit);\n }\n });\n });\n }\n } });\n return tableMiddleware;\n } })); }\n};\nfunction getExistingValues(table, req, effectiveKeys) {\n return req.type === \"add\"\n ? Promise.resolve([])\n : table.getMany({ trans: req.trans, keys: effectiveKeys, cache: \"immutable\" });\n}\n\nfunction getFromTransactionCache(keys, cache, clone) {\n try {\n if (!cache)\n return null;\n if (cache.keys.length < keys.length)\n return null;\n var result = [];\n for (var i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i) {\n if (cmp(cache.keys[i], keys[j]) !== 0)\n continue;\n result.push(clone ? deepClone(cache.values[i]) : cache.values[i]);\n ++j;\n }\n return result.length === keys.length ? result : null;\n }\n catch (_a) {\n return null;\n }\n}\nvar cacheExistingValuesMiddleware = {\n stack: \"dbcore\",\n level: -1,\n create: function (core) {\n return {\n table: function (tableName) {\n var table = core.table(tableName);\n return __assign(__assign({}, table), { getMany: function (req) {\n if (!req.cache) {\n return table.getMany(req);\n }\n var cachedResult = getFromTransactionCache(req.keys, req.trans[\"_cache\"], req.cache === \"clone\");\n if (cachedResult) {\n return DexiePromise.resolve(cachedResult);\n }\n return table.getMany(req).then(function (res) {\n req.trans[\"_cache\"] = {\n keys: req.keys,\n values: req.cache === \"clone\" ? deepClone(res) : res,\n };\n return res;\n });\n }, mutate: function (req) {\n if (req.type !== \"add\")\n req.trans[\"_cache\"] = null;\n return table.mutate(req);\n } });\n },\n };\n },\n};\n\nfunction isCachableContext(ctx, table) {\n return (ctx.trans.mode === 'readonly' &&\n !!ctx.subscr &&\n !ctx.trans.explicit &&\n ctx.trans.db._options.cache !== 'disabled' &&\n !table.schema.primaryKey.outbound);\n}\n\nfunction isCachableRequest(type, req) {\n switch (type) {\n case 'query':\n return req.values && !req.unique;\n case 'get':\n return false;\n case 'getMany':\n return false;\n case 'count':\n return false;\n case 'openCursor':\n return false;\n }\n}\n\nvar observabilityMiddleware = {\n stack: \"dbcore\",\n level: 0,\n name: \"Observability\",\n create: function (core) {\n var dbName = core.schema.name;\n var FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY);\n return __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n if (PSD.subscr && mode !== 'readonly') {\n throw new exceptions.ReadOnly(\"Readwrite transaction in liveQuery context. Querier source: \".concat(PSD.querier));\n }\n return core.transaction(stores, mode, options);\n }, table: function (tableName) {\n var table = core.table(tableName);\n var schema = table.schema;\n var primaryKey = schema.primaryKey, indexes = schema.indexes;\n var extractKey = primaryKey.extractKey, outbound = primaryKey.outbound;\n var indexesWithAutoIncPK = primaryKey.autoIncrement && indexes.filter(function (index) { return index.compound && index.keyPath.includes(primaryKey.keyPath); });\n var tableClone = __assign(__assign({}, table), { mutate: function (req) {\n var _a, _b;\n var trans = req.trans;\n var mutatedParts = req.mutatedParts || (req.mutatedParts = {});\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (mutatedParts[part] ||\n (mutatedParts[part] = new RangeSet()));\n };\n var pkRangeSet = getRangeSet(\"\");\n var delsRangeSet = getRangeSet(\":dels\");\n var type = req.type;\n var _c = req.type === \"deleteRange\"\n ? [req.range]\n : req.type === \"delete\"\n ? [req.keys]\n : req.values.length < 50\n ? [getEffectiveKeys(primaryKey, req).filter(function (id) { return id; }), req.values]\n : [], keys = _c[0], newObjs = _c[1];\n var oldCache = req.trans[\"_cache\"];\n if (isArray(keys)) {\n pkRangeSet.addKeys(keys);\n var oldObjs = type === 'delete' || keys.length === newObjs.length ? getFromTransactionCache(keys, oldCache) : null;\n if (!oldObjs) {\n delsRangeSet.addKeys(keys);\n }\n if (oldObjs || newObjs) {\n trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs);\n }\n }\n else if (keys) {\n var range = {\n from: (_a = keys.lower) !== null && _a !== void 0 ? _a : core.MIN_KEY,\n to: (_b = keys.upper) !== null && _b !== void 0 ? _b : core.MAX_KEY\n };\n delsRangeSet.add(range);\n pkRangeSet.add(range);\n }\n else {\n pkRangeSet.add(FULL_RANGE);\n delsRangeSet.add(FULL_RANGE);\n schema.indexes.forEach(function (idx) { return getRangeSet(idx.name).add(FULL_RANGE); });\n }\n return table.mutate(req).then(function (res) {\n if (keys && (req.type === 'add' || req.type === 'put')) {\n pkRangeSet.addKeys(res.results);\n if (indexesWithAutoIncPK) {\n indexesWithAutoIncPK.forEach(function (idx) {\n var idxVals = req.values.map(function (v) { return idx.extractKey(v); });\n var pkPos = idx.keyPath.findIndex(function (prop) { return prop === primaryKey.keyPath; });\n for (var i = 0, len = res.results.length; i < len; ++i) {\n idxVals[i][pkPos] = res.results[i];\n }\n getRangeSet(idx.name).addKeys(idxVals);\n });\n }\n }\n trans.mutatedParts = extendObservabilitySet(trans.mutatedParts || {}, mutatedParts);\n return res;\n });\n } });\n var getRange = function (_a) {\n var _b, _c;\n var _d = _a.query, index = _d.index, range = _d.range;\n return [\n index,\n new RangeSet((_b = range.lower) !== null && _b !== void 0 ? _b : core.MIN_KEY, (_c = range.upper) !== null && _c !== void 0 ? _c : core.MAX_KEY),\n ];\n };\n var readSubscribers = {\n get: function (req) { return [primaryKey, new RangeSet(req.key)]; },\n getMany: function (req) { return [primaryKey, new RangeSet().addKeys(req.keys)]; },\n count: getRange,\n query: getRange,\n openCursor: getRange,\n };\n keys(readSubscribers).forEach(function (method) {\n tableClone[method] = function (req) {\n var subscr = PSD.subscr;\n var isLiveQuery = !!subscr;\n var cachable = isCachableContext(PSD, table) && isCachableRequest(method, req);\n var obsSet = cachable\n ? req.obsSet = {}\n : subscr;\n if (isLiveQuery) {\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (obsSet[part] ||\n (obsSet[part] = new RangeSet()));\n };\n var pkRangeSet_1 = getRangeSet(\"\");\n var delsRangeSet_1 = getRangeSet(\":dels\");\n var _a = readSubscribers[method](req), queriedIndex = _a[0], queriedRanges = _a[1];\n if (method === 'query' && queriedIndex.isPrimaryKey && !req.values) {\n delsRangeSet_1.add(queriedRanges);\n }\n else {\n getRangeSet(queriedIndex.name || \"\").add(queriedRanges);\n }\n if (!queriedIndex.isPrimaryKey) {\n if (method === \"count\") {\n delsRangeSet_1.add(FULL_RANGE);\n }\n else {\n var keysPromise_1 = method === \"query\" &&\n outbound &&\n req.values &&\n table.query(__assign(__assign({}, req), { values: false }));\n return table[method].apply(this, arguments).then(function (res) {\n if (method === \"query\") {\n if (outbound && req.values) {\n return keysPromise_1.then(function (_a) {\n var resultingKeys = _a.result;\n pkRangeSet_1.addKeys(resultingKeys);\n return res;\n });\n }\n var pKeys = req.values\n ? res.result.map(extractKey)\n : res.result;\n if (req.values) {\n pkRangeSet_1.addKeys(pKeys);\n }\n else {\n delsRangeSet_1.addKeys(pKeys);\n }\n }\n else if (method === \"openCursor\") {\n var cursor_1 = res;\n var wantValues_1 = req.values;\n return (cursor_1 &&\n Object.create(cursor_1, {\n key: {\n get: function () {\n delsRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.key;\n },\n },\n primaryKey: {\n get: function () {\n var pkey = cursor_1.primaryKey;\n delsRangeSet_1.addKey(pkey);\n return pkey;\n },\n },\n value: {\n get: function () {\n wantValues_1 && pkRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.value;\n },\n },\n }));\n }\n return res;\n });\n }\n }\n }\n return table[method].apply(this, arguments);\n };\n });\n return tableClone;\n } });\n },\n};\nfunction trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) {\n function addAffectedIndex(ix) {\n var rangeSet = getRangeSet(ix.name || \"\");\n function extractKey(obj) {\n return obj != null ? ix.extractKey(obj) : null;\n }\n var addKeyOrKeys = function (key) { return ix.multiEntry && isArray(key)\n ? key.forEach(function (key) { return rangeSet.addKey(key); })\n : rangeSet.addKey(key); };\n (oldObjs || newObjs).forEach(function (_, i) {\n var oldKey = oldObjs && extractKey(oldObjs[i]);\n var newKey = newObjs && extractKey(newObjs[i]);\n if (cmp(oldKey, newKey) !== 0) {\n if (oldKey != null)\n addKeyOrKeys(oldKey);\n if (newKey != null)\n addKeyOrKeys(newKey);\n }\n });\n }\n schema.indexes.forEach(addAffectedIndex);\n}\n\nfunction adjustOptimisticFromFailures(tblCache, req, res) {\n if (res.numFailures === 0)\n return req;\n if (req.type === 'deleteRange') {\n return null;\n }\n var numBulkOps = req.keys\n ? req.keys.length\n : 'values' in req && req.values\n ? req.values.length\n : 1;\n if (res.numFailures === numBulkOps) {\n return null;\n }\n var clone = __assign({}, req);\n if (isArray(clone.keys)) {\n clone.keys = clone.keys.filter(function (_, i) { return !(i in res.failures); });\n }\n if ('values' in clone && isArray(clone.values)) {\n clone.values = clone.values.filter(function (_, i) { return !(i in res.failures); });\n }\n return clone;\n}\n\nfunction isAboveLower(key, range) {\n return range.lower === undefined\n ? true\n : range.lowerOpen\n ? cmp(key, range.lower) > 0\n : cmp(key, range.lower) >= 0;\n}\nfunction isBelowUpper(key, range) {\n return range.upper === undefined\n ? true\n : range.upperOpen\n ? cmp(key, range.upper) < 0\n : cmp(key, range.upper) <= 0;\n}\nfunction isWithinRange(key, range) {\n return isAboveLower(key, range) && isBelowUpper(key, range);\n}\n\nfunction applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {\n if (!ops || ops.length === 0)\n return result;\n var index = req.query.index;\n var multiEntry = index.multiEntry;\n var queryRange = req.query.range;\n var primaryKey = table.schema.primaryKey;\n var extractPrimKey = primaryKey.extractKey;\n var extractIndex = index.extractKey;\n var extractLowLevelIndex = (index.lowLevelIndex || index).extractKey;\n var finalResult = ops.reduce(function (result, op) {\n var modifedResult = result;\n var includedValues = [];\n if (op.type === 'add' || op.type === 'put') {\n var includedPKs = new RangeSet();\n for (var i = op.values.length - 1; i >= 0; --i) {\n var value = op.values[i];\n var pk = extractPrimKey(value);\n if (includedPKs.hasKey(pk))\n continue;\n var key = extractIndex(value);\n if (multiEntry && isArray(key)\n ? key.some(function (k) { return isWithinRange(k, queryRange); })\n : isWithinRange(key, queryRange)) {\n includedPKs.addKey(pk);\n includedValues.push(value);\n }\n }\n }\n switch (op.type) {\n case 'add': {\n var existingKeys_1 = new RangeSet().addKeys(req.values ? result.map(function (v) { return extractPrimKey(v); }) : result);\n modifedResult = result.concat(req.values\n ? includedValues.filter(function (v) {\n var key = extractPrimKey(v);\n if (existingKeys_1.hasKey(key))\n return false;\n existingKeys_1.addKey(key);\n return true;\n })\n : includedValues\n .map(function (v) { return extractPrimKey(v); })\n .filter(function (k) {\n if (existingKeys_1.hasKey(k))\n return false;\n existingKeys_1.addKey(k);\n return true;\n }));\n break;\n }\n case 'put': {\n var keySet_1 = new RangeSet().addKeys(op.values.map(function (v) { return extractPrimKey(v); }));\n modifedResult = result\n .filter(\n function (item) { return !keySet_1.hasKey(req.values ? extractPrimKey(item) : item); })\n .concat(\n req.values\n ? includedValues\n : includedValues.map(function (v) { return extractPrimKey(v); }));\n break;\n }\n case 'delete':\n var keysToDelete_1 = new RangeSet().addKeys(op.keys);\n modifedResult = result.filter(function (item) {\n return !keysToDelete_1.hasKey(req.values ? extractPrimKey(item) : item);\n });\n break;\n case 'deleteRange':\n var range_1 = op.range;\n modifedResult = result.filter(function (item) { return !isWithinRange(extractPrimKey(item), range_1); });\n break;\n }\n return modifedResult;\n }, result);\n if (finalResult === result)\n return result;\n finalResult.sort(function (a, b) {\n return cmp(extractLowLevelIndex(a), extractLowLevelIndex(b)) ||\n cmp(extractPrimKey(a), extractPrimKey(b));\n });\n if (req.limit && req.limit < Infinity) {\n if (finalResult.length > req.limit) {\n finalResult.length = req.limit;\n }\n else if (result.length === req.limit && finalResult.length < req.limit) {\n cacheEntry.dirty = true;\n }\n }\n return immutable ? Object.freeze(finalResult) : finalResult;\n}\n\nfunction areRangesEqual(r1, r2) {\n return (cmp(r1.lower, r2.lower) === 0 &&\n cmp(r1.upper, r2.upper) === 0 &&\n !!r1.lowerOpen === !!r2.lowerOpen &&\n !!r1.upperOpen === !!r2.upperOpen);\n}\n\nfunction compareLowers(lower1, lower2, lowerOpen1, lowerOpen2) {\n if (lower1 === undefined)\n return lower2 !== undefined ? -1 : 0;\n if (lower2 === undefined)\n return 1;\n var c = cmp(lower1, lower2);\n if (c === 0) {\n if (lowerOpen1 && lowerOpen2)\n return 0;\n if (lowerOpen1)\n return 1;\n if (lowerOpen2)\n return -1;\n }\n return c;\n}\nfunction compareUppers(upper1, upper2, upperOpen1, upperOpen2) {\n if (upper1 === undefined)\n return upper2 !== undefined ? 1 : 0;\n if (upper2 === undefined)\n return -1;\n var c = cmp(upper1, upper2);\n if (c === 0) {\n if (upperOpen1 && upperOpen2)\n return 0;\n if (upperOpen1)\n return -1;\n if (upperOpen2)\n return 1;\n }\n return c;\n}\nfunction isSuperRange(r1, r2) {\n return (compareLowers(r1.lower, r2.lower, r1.lowerOpen, r2.lowerOpen) <= 0 &&\n compareUppers(r1.upper, r2.upper, r1.upperOpen, r2.upperOpen) >= 0);\n}\n\nfunction findCompatibleQuery(dbName, tableName, type, req) {\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return [];\n var queries = tblCache.queries[type];\n if (!queries)\n return [null, false, tblCache, null];\n var indexName = req.query ? req.query.index.name : null;\n var entries = queries[indexName || ''];\n if (!entries)\n return [null, false, tblCache, null];\n switch (type) {\n case 'query':\n var equalEntry = entries.find(function (entry) {\n return entry.req.limit === req.limit &&\n entry.req.values === req.values &&\n areRangesEqual(entry.req.query.range, req.query.range);\n });\n if (equalEntry)\n return [\n equalEntry,\n true,\n tblCache,\n entries,\n ];\n var superEntry = entries.find(function (entry) {\n var limit = 'limit' in entry.req ? entry.req.limit : Infinity;\n return (limit >= req.limit &&\n (req.values ? entry.req.values : true) &&\n isSuperRange(entry.req.query.range, req.query.range));\n });\n return [superEntry, false, tblCache, entries];\n case 'count':\n var countQuery = entries.find(function (entry) {\n return areRangesEqual(entry.req.query.range, req.query.range);\n });\n return [countQuery, !!countQuery, tblCache, entries];\n }\n}\n\nfunction subscribeToCacheEntry(cacheEntry, container, requery, signal) {\n cacheEntry.subscribers.add(requery);\n signal.addEventListener(\"abort\", function () {\n cacheEntry.subscribers.delete(requery);\n if (cacheEntry.subscribers.size === 0) {\n enqueForDeletion(cacheEntry, container);\n }\n });\n}\nfunction enqueForDeletion(cacheEntry, container) {\n setTimeout(function () {\n if (cacheEntry.subscribers.size === 0) {\n delArrayItem(container, cacheEntry);\n }\n }, 3000);\n}\n\nvar cacheMiddleware = {\n stack: 'dbcore',\n level: 0,\n name: 'Cache',\n create: function (core) {\n var dbName = core.schema.name;\n var coreMW = __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n var idbtrans = core.transaction(stores, mode, options);\n if (mode === 'readwrite') {\n var ac_1 = new AbortController();\n var signal = ac_1.signal;\n var endTransaction = function (wasCommitted) { return function () {\n ac_1.abort();\n if (mode === 'readwrite') {\n var affectedSubscribers_1 = new Set();\n for (var _i = 0, stores_1 = stores; _i < stores_1.length; _i++) {\n var storeName = stores_1[_i];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(storeName)];\n if (tblCache) {\n var table = core.table(storeName);\n var ops = tblCache.optimisticOps.filter(function (op) { return op.trans === idbtrans; });\n if (idbtrans._explicit && wasCommitted && idbtrans.mutatedParts) {\n for (var _a = 0, _b = Object.values(tblCache.queries.query); _a < _b.length; _a++) {\n var entries = _b[_a];\n for (var _c = 0, _d = entries.slice(); _c < _d.length; _c++) {\n var entry = _d[_c];\n if (obsSetsOverlap(entry.obsSet, idbtrans.mutatedParts)) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n else if (ops.length > 0) {\n tblCache.optimisticOps = tblCache.optimisticOps.filter(function (op) { return op.trans !== idbtrans; });\n for (var _e = 0, _f = Object.values(tblCache.queries.query); _e < _f.length; _e++) {\n var entries = _f[_e];\n for (var _g = 0, _h = entries.slice(); _g < _h.length; _g++) {\n var entry = _h[_g];\n if (entry.res != null &&\n idbtrans.mutatedParts\n) {\n if (wasCommitted && !entry.dirty) {\n var freezeResults = Object.isFrozen(entry.res);\n var modRes = applyOptimisticOps(entry.res, entry.req, ops, table, entry, freezeResults);\n if (entry.dirty) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n else if (modRes !== entry.res) {\n entry.res = modRes;\n entry.promise = DexiePromise.resolve({ result: modRes });\n }\n }\n else {\n if (entry.dirty) {\n delArrayItem(entries, entry);\n }\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n }\n }\n }\n affectedSubscribers_1.forEach(function (requery) { return requery(); });\n }\n }; };\n idbtrans.addEventListener('abort', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('error', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('complete', endTransaction(true), {\n signal: signal,\n });\n }\n return idbtrans;\n }, table: function (tableName) {\n var downTable = core.table(tableName);\n var primKey = downTable.schema.primaryKey;\n var tableMW = __assign(__assign({}, downTable), { mutate: function (req) {\n var trans = PSD.trans;\n if (primKey.outbound ||\n trans.db._options.cache === 'disabled' ||\n trans.explicit ||\n trans.idbtrans.mode !== 'readwrite'\n ) {\n return downTable.mutate(req);\n }\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return downTable.mutate(req);\n var promise = downTable.mutate(req);\n if ((req.type === 'add' || req.type === 'put') && (req.values.length >= 50 || getEffectiveKeys(primKey, req).some(function (key) { return key == null; }))) {\n promise.then(function (res) {\n var reqWithResolvedKeys = __assign(__assign({}, req), { values: req.values.map(function (value, i) {\n var _a;\n if (res.failures[i])\n return value;\n var valueWithKey = ((_a = primKey.keyPath) === null || _a === void 0 ? void 0 : _a.includes('.'))\n ? deepClone(value)\n : __assign({}, value);\n setByKeyPath(valueWithKey, primKey.keyPath, res.results[i]);\n return valueWithKey;\n }) });\n var adjustedReq = adjustOptimisticFromFailures(tblCache, reqWithResolvedKeys, res);\n tblCache.optimisticOps.push(adjustedReq);\n queueMicrotask(function () { return req.mutatedParts && signalSubscribersLazily(req.mutatedParts); });\n });\n }\n else {\n tblCache.optimisticOps.push(req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n promise.then(function (res) {\n if (res.numFailures > 0) {\n delArrayItem(tblCache.optimisticOps, req);\n var adjustedReq = adjustOptimisticFromFailures(tblCache, req, res);\n if (adjustedReq) {\n tblCache.optimisticOps.push(adjustedReq);\n }\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n }\n });\n promise.catch(function () {\n delArrayItem(tblCache.optimisticOps, req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n });\n }\n return promise;\n }, query: function (req) {\n var _a;\n if (!isCachableContext(PSD, downTable) || !isCachableRequest(\"query\", req))\n return downTable.query(req);\n var freezeResults = ((_a = PSD.trans) === null || _a === void 0 ? void 0 : _a.db._options.cache) === 'immutable';\n var _b = PSD, requery = _b.requery, signal = _b.signal;\n var _c = findCompatibleQuery(dbName, tableName, 'query', req), cacheEntry = _c[0], exactMatch = _c[1], tblCache = _c[2], container = _c[3];\n if (cacheEntry && exactMatch) {\n cacheEntry.obsSet = req.obsSet;\n }\n else {\n var promise = downTable.query(req).then(function (res) {\n var result = res.result;\n if (cacheEntry)\n cacheEntry.res = result;\n if (freezeResults) {\n for (var i = 0, l = result.length; i < l; ++i) {\n Object.freeze(result[i]);\n }\n Object.freeze(result);\n }\n else {\n res.result = deepClone(result);\n }\n return res;\n }).catch(function (error) {\n if (container && cacheEntry)\n delArrayItem(container, cacheEntry);\n return Promise.reject(error);\n });\n cacheEntry = {\n obsSet: req.obsSet,\n promise: promise,\n subscribers: new Set(),\n type: 'query',\n req: req,\n dirty: false,\n };\n if (container) {\n container.push(cacheEntry);\n }\n else {\n container = [cacheEntry];\n if (!tblCache) {\n tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)] = {\n queries: {\n query: {},\n count: {},\n },\n objs: new Map(),\n optimisticOps: [],\n unsignaledParts: {}\n };\n }\n tblCache.queries.query[req.query.index.name || ''] = container;\n }\n }\n subscribeToCacheEntry(cacheEntry, container, requery, signal);\n return cacheEntry.promise.then(function (res) {\n return {\n result: applyOptimisticOps(res.result, req, tblCache === null || tblCache === void 0 ? void 0 : tblCache.optimisticOps, downTable, cacheEntry, freezeResults),\n };\n });\n } });\n return tableMW;\n } });\n return coreMW;\n },\n};\n\nfunction vipify(target, vipDb) {\n return new Proxy(target, {\n get: function (target, prop, receiver) {\n if (prop === 'db')\n return vipDb;\n return Reflect.get(target, prop, receiver);\n }\n });\n}\n\nvar Dexie$1 = (function () {\n function Dexie(name, options) {\n var _this = this;\n this._middlewares = {};\n this.verno = 0;\n var deps = Dexie.dependencies;\n this._options = options = __assign({\n addons: Dexie.addons, autoOpen: true,\n indexedDB: deps.indexedDB, IDBKeyRange: deps.IDBKeyRange, cache: 'cloned' }, options);\n this._deps = {\n indexedDB: options.indexedDB,\n IDBKeyRange: options.IDBKeyRange\n };\n var addons = options.addons;\n this._dbSchema = {};\n this._versions = [];\n this._storeNames = [];\n this._allTables = {};\n this.idbdb = null;\n this._novip = this;\n var state = {\n dbOpenError: null,\n isBeingOpened: false,\n onReadyBeingFired: null,\n openComplete: false,\n dbReadyResolve: nop,\n dbReadyPromise: null,\n cancelOpen: nop,\n openCanceller: null,\n autoSchema: true,\n PR1398_maxLoop: 3,\n autoOpen: options.autoOpen,\n };\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n this._state = state;\n this.name = name;\n this.on = Events(this, \"populate\", \"blocked\", \"versionchange\", \"close\", { ready: [promisableChain, nop] });\n this.on.ready.subscribe = override(this.on.ready.subscribe, function (subscribe) {\n return function (subscriber, bSticky) {\n Dexie.vip(function () {\n var state = _this._state;\n if (state.openComplete) {\n if (!state.dbOpenError)\n DexiePromise.resolve().then(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else if (state.onReadyBeingFired) {\n state.onReadyBeingFired.push(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else {\n subscribe(subscriber);\n var db_1 = _this;\n if (!bSticky)\n subscribe(function unsubscribe() {\n db_1.on.ready.unsubscribe(subscriber);\n db_1.on.ready.unsubscribe(unsubscribe);\n });\n }\n });\n };\n });\n this.Collection = createCollectionConstructor(this);\n this.Table = createTableConstructor(this);\n this.Transaction = createTransactionConstructor(this);\n this.Version = createVersionConstructor(this);\n this.WhereClause = createWhereClauseConstructor(this);\n this.on(\"versionchange\", function (ev) {\n if (ev.newVersion > 0)\n console.warn(\"Another connection wants to upgrade database '\".concat(_this.name, \"'. Closing db now to resume the upgrade.\"));\n else\n console.warn(\"Another connection wants to delete database '\".concat(_this.name, \"'. Closing db now to resume the delete request.\"));\n _this.close({ disableAutoOpen: false });\n });\n this.on(\"blocked\", function (ev) {\n if (!ev.newVersion || ev.newVersion < ev.oldVersion)\n console.warn(\"Dexie.delete('\".concat(_this.name, \"') was blocked\"));\n else\n console.warn(\"Upgrade '\".concat(_this.name, \"' blocked by other connection holding version \").concat(ev.oldVersion / 10));\n });\n this._maxKey = getMaxKey(options.IDBKeyRange);\n this._createTransaction = function (mode, storeNames, dbschema, parentTransaction) { return new _this.Transaction(mode, storeNames, dbschema, _this._options.chromeTransactionDurability, parentTransaction); };\n this._fireOnBlocked = function (ev) {\n _this.on(\"blocked\").fire(ev);\n connections\n .filter(function (c) { return c.name === _this.name && c !== _this && !c._state.vcFired; })\n .map(function (c) { return c.on(\"versionchange\").fire(ev); });\n };\n this.use(cacheExistingValuesMiddleware);\n this.use(cacheMiddleware);\n this.use(observabilityMiddleware);\n this.use(virtualIndexMiddleware);\n this.use(hooksMiddleware);\n var vipDB = new Proxy(this, {\n get: function (_, prop, receiver) {\n if (prop === '_vip')\n return true;\n if (prop === 'table')\n return function (tableName) { return vipify(_this.table(tableName), vipDB); };\n var rv = Reflect.get(_, prop, receiver);\n if (rv instanceof Table)\n return vipify(rv, vipDB);\n if (prop === 'tables')\n return rv.map(function (t) { return vipify(t, vipDB); });\n if (prop === '_createTransaction')\n return function () {\n var tx = rv.apply(this, arguments);\n return vipify(tx, vipDB);\n };\n return rv;\n }\n });\n this.vip = vipDB;\n addons.forEach(function (addon) { return addon(_this); });\n }\n Dexie.prototype.version = function (versionNumber) {\n if (isNaN(versionNumber) || versionNumber < 0.1)\n throw new exceptions.Type(\"Given version is not a positive number\");\n versionNumber = Math.round(versionNumber * 10) / 10;\n if (this.idbdb || this._state.isBeingOpened)\n throw new exceptions.Schema(\"Cannot add version when database is open\");\n this.verno = Math.max(this.verno, versionNumber);\n var versions = this._versions;\n var versionInstance = versions.filter(function (v) { return v._cfg.version === versionNumber; })[0];\n if (versionInstance)\n return versionInstance;\n versionInstance = new this.Version(versionNumber);\n versions.push(versionInstance);\n versions.sort(lowerVersionFirst);\n versionInstance.stores({});\n this._state.autoSchema = false;\n return versionInstance;\n };\n Dexie.prototype._whenReady = function (fn) {\n var _this = this;\n return (this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip)) ? fn() : new DexiePromise(function (resolve, reject) {\n if (_this._state.openComplete) {\n return reject(new exceptions.DatabaseClosed(_this._state.dbOpenError));\n }\n if (!_this._state.isBeingOpened) {\n if (!_this._state.autoOpen) {\n reject(new exceptions.DatabaseClosed());\n return;\n }\n _this.open().catch(nop);\n }\n _this._state.dbReadyPromise.then(resolve, reject);\n }).then(fn);\n };\n Dexie.prototype.use = function (_a) {\n var stack = _a.stack, create = _a.create, level = _a.level, name = _a.name;\n if (name)\n this.unuse({ stack: stack, name: name });\n var middlewares = this._middlewares[stack] || (this._middlewares[stack] = []);\n middlewares.push({ stack: stack, create: create, level: level == null ? 10 : level, name: name });\n middlewares.sort(function (a, b) { return a.level - b.level; });\n return this;\n };\n Dexie.prototype.unuse = function (_a) {\n var stack = _a.stack, name = _a.name, create = _a.create;\n if (stack && this._middlewares[stack]) {\n this._middlewares[stack] = this._middlewares[stack].filter(function (mw) {\n return create ? mw.create !== create :\n name ? mw.name !== name :\n false;\n });\n }\n return this;\n };\n Dexie.prototype.open = function () {\n var _this = this;\n return usePSD(globalPSD,\n function () { return dexieOpen(_this); });\n };\n Dexie.prototype._close = function () {\n var state = this._state;\n var idx = connections.indexOf(this);\n if (idx >= 0)\n connections.splice(idx, 1);\n if (this.idbdb) {\n try {\n this.idbdb.close();\n }\n catch (e) { }\n this.idbdb = null;\n }\n if (!state.isBeingOpened) {\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n }\n };\n Dexie.prototype.close = function (_a) {\n var _b = _a === void 0 ? { disableAutoOpen: true } : _a, disableAutoOpen = _b.disableAutoOpen;\n var state = this._state;\n if (disableAutoOpen) {\n if (state.isBeingOpened) {\n state.cancelOpen(new exceptions.DatabaseClosed());\n }\n this._close();\n state.autoOpen = false;\n state.dbOpenError = new exceptions.DatabaseClosed();\n }\n else {\n this._close();\n state.autoOpen = this._options.autoOpen ||\n state.isBeingOpened;\n state.openComplete = false;\n state.dbOpenError = null;\n }\n };\n Dexie.prototype.delete = function (closeOptions) {\n var _this = this;\n if (closeOptions === void 0) { closeOptions = { disableAutoOpen: true }; }\n var hasInvalidArguments = arguments.length > 0 && typeof arguments[0] !== 'object';\n var state = this._state;\n return new DexiePromise(function (resolve, reject) {\n var doDelete = function () {\n _this.close(closeOptions);\n var req = _this._deps.indexedDB.deleteDatabase(_this.name);\n req.onsuccess = wrap(function () {\n _onDatabaseDeleted(_this._deps, _this.name);\n resolve();\n });\n req.onerror = eventRejectHandler(reject);\n req.onblocked = _this._fireOnBlocked;\n };\n if (hasInvalidArguments)\n throw new exceptions.InvalidArgument(\"Invalid closeOptions argument to db.delete()\");\n if (state.isBeingOpened) {\n state.dbReadyPromise.then(doDelete);\n }\n else {\n doDelete();\n }\n });\n };\n Dexie.prototype.backendDB = function () {\n return this.idbdb;\n };\n Dexie.prototype.isOpen = function () {\n return this.idbdb !== null;\n };\n Dexie.prototype.hasBeenClosed = function () {\n var dbOpenError = this._state.dbOpenError;\n return dbOpenError && (dbOpenError.name === 'DatabaseClosed');\n };\n Dexie.prototype.hasFailed = function () {\n return this._state.dbOpenError !== null;\n };\n Dexie.prototype.dynamicallyOpened = function () {\n return this._state.autoSchema;\n };\n Object.defineProperty(Dexie.prototype, \"tables\", {\n get: function () {\n var _this = this;\n return keys(this._allTables).map(function (name) { return _this._allTables[name]; });\n },\n enumerable: false,\n configurable: true\n });\n Dexie.prototype.transaction = function () {\n var args = extractTransactionArgs.apply(this, arguments);\n return this._transaction.apply(this, args);\n };\n Dexie.prototype._transaction = function (mode, tables, scopeFunc) {\n var _this = this;\n var parentTransaction = PSD.trans;\n if (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1)\n parentTransaction = null;\n var onlyIfCompatible = mode.indexOf('?') !== -1;\n mode = mode.replace('!', '').replace('?', '');\n var idbMode, storeNames;\n try {\n storeNames = tables.map(function (table) {\n var storeName = table instanceof _this.Table ? table.name : table;\n if (typeof storeName !== 'string')\n throw new TypeError(\"Invalid table argument to Dexie.transaction(). Only Table or String are allowed\");\n return storeName;\n });\n if (mode == \"r\" || mode === READONLY)\n idbMode = READONLY;\n else if (mode == \"rw\" || mode == READWRITE)\n idbMode = READWRITE;\n else\n throw new exceptions.InvalidArgument(\"Invalid transaction mode: \" + mode);\n if (parentTransaction) {\n if (parentTransaction.mode === READONLY && idbMode === READWRITE) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY\");\n }\n if (parentTransaction) {\n storeNames.forEach(function (storeName) {\n if (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Table \" + storeName +\n \" not included in parent transaction.\");\n }\n });\n }\n if (onlyIfCompatible && parentTransaction && !parentTransaction.active) {\n parentTransaction = null;\n }\n }\n }\n catch (e) {\n return parentTransaction ?\n parentTransaction._promise(null, function (_, reject) { reject(e); }) :\n rejection(e);\n }\n var enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc);\n return (parentTransaction ?\n parentTransaction._promise(idbMode, enterTransaction, \"lock\") :\n PSD.trans ?\n usePSD(PSD.transless, function () { return _this._whenReady(enterTransaction); }) :\n this._whenReady(enterTransaction));\n };\n Dexie.prototype.table = function (tableName) {\n if (!hasOwn(this._allTables, tableName)) {\n throw new exceptions.InvalidTable(\"Table \".concat(tableName, \" does not exist\"));\n }\n return this._allTables[tableName];\n };\n return Dexie;\n}());\n\nvar symbolObservable = typeof Symbol !== \"undefined\" && \"observable\" in Symbol\n ? Symbol.observable\n : \"@@observable\";\nvar Observable = (function () {\n function Observable(subscribe) {\n this._subscribe = subscribe;\n }\n Observable.prototype.subscribe = function (x, error, complete) {\n return this._subscribe(!x || typeof x === \"function\" ? { next: x, error: error, complete: complete } : x);\n };\n Observable.prototype[symbolObservable] = function () {\n return this;\n };\n return Observable;\n}());\n\nvar domDeps;\ntry {\n domDeps = {\n indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,\n IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange\n };\n}\ncatch (e) {\n domDeps = { indexedDB: null, IDBKeyRange: null };\n}\n\nfunction liveQuery(querier) {\n var hasValue = false;\n var currentValue;\n var observable = new Observable(function (observer) {\n var scopeFuncIsAsync = isAsyncFunction(querier);\n function execute(ctx) {\n var wasRootExec = beginMicroTickScope();\n try {\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var rv = newScope(querier, ctx);\n if (scopeFuncIsAsync) {\n rv = rv.finally(decrementExpectedAwaits);\n }\n return rv;\n }\n finally {\n wasRootExec && endMicroTickScope();\n }\n }\n var closed = false;\n var abortController;\n var accumMuts = {};\n var currentObs = {};\n var subscription = {\n get closed() {\n return closed;\n },\n unsubscribe: function () {\n if (closed)\n return;\n closed = true;\n if (abortController)\n abortController.abort();\n if (startedListening)\n globalEvents.storagemutated.unsubscribe(mutationListener);\n },\n };\n observer.start && observer.start(subscription);\n var startedListening = false;\n var doQuery = function () { return execInGlobalContext(_doQuery); };\n function shouldNotify() {\n return obsSetsOverlap(currentObs, accumMuts);\n }\n var mutationListener = function (parts) {\n extendObservabilitySet(accumMuts, parts);\n if (shouldNotify()) {\n doQuery();\n }\n };\n var _doQuery = function () {\n if (closed ||\n !domDeps.indexedDB)\n {\n return;\n }\n accumMuts = {};\n var subscr = {};\n if (abortController)\n abortController.abort();\n abortController = new AbortController();\n var ctx = {\n subscr: subscr,\n signal: abortController.signal,\n requery: doQuery,\n querier: querier,\n trans: null\n };\n var ret = execute(ctx);\n Promise.resolve(ret).then(function (result) {\n hasValue = true;\n currentValue = result;\n if (closed || ctx.signal.aborted) {\n return;\n }\n accumMuts = {};\n currentObs = subscr;\n if (!objectIsEmpty(currentObs) && !startedListening) {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);\n startedListening = true;\n }\n execInGlobalContext(function () { return !closed && observer.next && observer.next(result); });\n }, function (err) {\n hasValue = false;\n if (!['DatabaseClosedError', 'AbortError'].includes(err === null || err === void 0 ? void 0 : err.name)) {\n if (!closed)\n execInGlobalContext(function () {\n if (closed)\n return;\n observer.error && observer.error(err);\n });\n }\n });\n };\n setTimeout(doQuery, 0);\n return subscription;\n });\n observable.hasValue = function () { return hasValue; };\n observable.getValue = function () { return currentValue; };\n return observable;\n}\n\nvar Dexie = Dexie$1;\nprops(Dexie, __assign(__assign({}, fullNameExceptions), {\n delete: function (databaseName) {\n var db = new Dexie(databaseName, { addons: [] });\n return db.delete();\n },\n exists: function (name) {\n return new Dexie(name, { addons: [] }).open().then(function (db) {\n db.close();\n return true;\n }).catch('NoSuchDatabaseError', function () { return false; });\n },\n getDatabaseNames: function (cb) {\n try {\n return getDatabaseNames(Dexie.dependencies).then(cb);\n }\n catch (_a) {\n return rejection(new exceptions.MissingAPI());\n }\n },\n defineClass: function () {\n function Class(content) {\n extend(this, content);\n }\n return Class;\n }, ignoreTransaction: function (scopeFunc) {\n return PSD.trans ?\n usePSD(PSD.transless, scopeFunc) :\n scopeFunc();\n }, vip: vip, async: function (generatorFn) {\n return function () {\n try {\n var rv = awaitIterator(generatorFn.apply(this, arguments));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n };\n }, spawn: function (generatorFn, args, thiz) {\n try {\n var rv = awaitIterator(generatorFn.apply(thiz, args || []));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n },\n currentTransaction: {\n get: function () { return PSD.trans || null; }\n }, waitFor: function (promiseOrFunction, optionalTimeout) {\n var promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ?\n Dexie.ignoreTransaction(promiseOrFunction) :\n promiseOrFunction)\n .timeout(optionalTimeout || 60000);\n return PSD.trans ?\n PSD.trans.waitFor(promise) :\n promise;\n },\n Promise: DexiePromise,\n debug: {\n get: function () { return debug; },\n set: function (value) {\n setDebug(value);\n }\n },\n derive: derive, extend: extend, props: props, override: override,\n Events: Events, on: globalEvents, liveQuery: liveQuery, extendObservabilitySet: extendObservabilitySet,\n getByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, cmp: cmp, asap: asap$1,\n minKey: minKey,\n addons: [],\n connections: connections,\n errnames: errnames,\n dependencies: domDeps, cache: cache,\n semVer: DEXIE_VERSION, version: DEXIE_VERSION.split('.')\n .map(function (n) { return parseInt(n); })\n .reduce(function (p, c, i) { return p + (c / Math.pow(10, i * 2)); }) }));\nDexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);\n\nif (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (updatedParts) {\n if (!propagatingLocally) {\n var event_1;\n event_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {\n detail: updatedParts\n });\n propagatingLocally = true;\n dispatchEvent(event_1);\n propagatingLocally = false;\n }\n });\n addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function (_a) {\n var detail = _a.detail;\n if (!propagatingLocally) {\n propagateLocally(detail);\n }\n });\n}\nfunction propagateLocally(updateParts) {\n var wasMe = propagatingLocally;\n try {\n propagatingLocally = true;\n globalEvents.storagemutated.fire(updateParts);\n signalSubscribersNow(updateParts, true);\n }\n finally {\n propagatingLocally = wasMe;\n }\n}\nvar propagatingLocally = false;\n\nvar bc;\nvar createBC = function () { };\nif (typeof BroadcastChannel !== 'undefined') {\n createBC = function () {\n bc = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);\n bc.onmessage = function (ev) { return ev.data && propagateLocally(ev.data); };\n };\n createBC();\n if (typeof bc.unref === 'function') {\n bc.unref();\n }\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {\n if (!propagatingLocally) {\n bc.postMessage(changedParts);\n }\n });\n}\n\nif (typeof addEventListener !== 'undefined') {\n addEventListener('pagehide', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pagehide');\n bc === null || bc === void 0 ? void 0 : bc.close();\n for (var _i = 0, connections_1 = connections; _i < connections_1.length; _i++) {\n var db = connections_1[_i];\n db.close({ disableAutoOpen: false });\n }\n }\n });\n addEventListener('pageshow', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pageshow');\n createBC();\n propagateLocally({ all: new RangeSet(-Infinity, [[]]) });\n }\n });\n}\n\nfunction add(value) {\n return new PropModification({ add: value });\n}\n\nfunction remove(value) {\n return new PropModification({ remove: value });\n}\n\nfunction replacePrefix(a, b) {\n return new PropModification({ replacePrefix: [a, b] });\n}\n\nDexiePromise.rejectionMapper = mapError;\nsetDebug(debug);\n\nexport { Dexie$1 as Dexie, Entity, PropModSymbol, PropModification, RangeSet, add, cmp, Dexie$1 as default, liveQuery, mergeRanges, rangesOverlap, remove, replacePrefix };\n//# sourceMappingURL=dexie.mjs.map\n","import { FlowStatus } from '../models/FlowStatus';\r\nimport Dexie, { Entity, EntityTable } from 'dexie';\r\nimport store from './store';\r\n\r\nexport class EctData extends Entity<EctDb> {\r\n orderId: string;\r\n redirectId: string;\r\n timestamp: Date;\r\n initialized: boolean;\r\n phoneNumber: string;\r\n refreshStarted: boolean;\r\n flowStatus: FlowStatus;\r\n modelsPath: string;\r\n citizenship: string;\r\n finished: boolean;\r\n}\r\n\r\nexport class EctDb extends Dexie {\r\n ectdata: EntityTable<EctData, 'orderId'>;\r\n\r\n constructor() {\r\n super('ectdb');\r\n this.version(1).stores({\r\n ectdata: 'orderId, redirectId, timestamp, initialized, phoneNumber, refreshStarted, flowStatus, modelsPath, citizenship',\r\n });\r\n this.ectdata.mapToClass(EctData);\r\n }\r\n\r\n async getLastEctData(finished: boolean): Promise<EctData> {\r\n var allFinished = await this.ectdata.where({ finished: finished }).sortBy('timestamp');\r\n if (allFinished.length > 0) {\r\n return allFinished.reverse()[0];\r\n }\r\n return null;\r\n }\r\n\r\n public async getAllEctData(): Promise<EctData[]> {\r\n return await this.ectdata.toArray();\r\n }\r\n\r\n public async getOrCreateEctData(orderId: string): Promise<EctData> {\r\n var ectData = await this.ectdata.get(orderId);\r\n if (store.debug) console.log('EctData found: ' + JSON.stringify(ectData));\r\n if (!ectData) {\r\n await this.ectdata.add({\r\n orderId: orderId,\r\n redirectId: '',\r\n timestamp: new Date(),\r\n initialized: false,\r\n finished: false,\r\n phoneNumber: '',\r\n refreshStarted: false,\r\n flowStatus: FlowStatus.NONE,\r\n modelsPath: '',\r\n citizenship: '',\r\n });\r\n ectData = await this.ectdata.get(orderId);\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n }\r\n return ectData;\r\n }\r\n}\r\n","import { EctDb } from './EctDb';\r\n\r\nexport const db = new EctDb();\r\n","import { createStore } from '@stencil/store';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\nimport { EctStore } from '../models/IEctStore';\r\nimport { db } from './db';\r\n\r\nconst { state, onChange } = createStore<EctStore>({\r\n flowStatus: FlowStatus.NONE,\r\n initialized: false,\r\n environment: 'PROD',\r\n debug: false,\r\n requestId: '',\r\n redirectId: '',\r\n token: '',\r\n cameraIds: [],\r\n cameraId: '',\r\n phoneNumber: '',\r\n apiBaseUrl: 'https://apiro.id-kyc.com',\r\n device: null,\r\n langIso: 'ro',\r\n logSteps: false,\r\n modelsPath: '',\r\n citizenship: '',\r\n idDocument: '',\r\n showCitizenshipSelector: false,\r\n scrollMode: false,\r\n});\r\n\r\nonChange('environment', value => {\r\n state.debug = value == 'QA';\r\n});\r\n\r\nonChange('flowStatus', async value => {\r\n state.flowStatus = value;\r\n if (state.flowStatus == FlowStatus.CITIZENSHIP) {\r\n return;\r\n }\r\n var ectData = await db.ectdata.get(state.requestId);\r\n if (ectData) {\r\n ectData.flowStatus = state.flowStatus;\r\n await db.ectdata.put(ectData);\r\n }\r\n});\r\n\r\nexport default state;\r\n","export enum FlowSteps {\r\n ComponentLoaded = <any>'component-loaded',\r\n MobileRedirect = <any>'mobile-redirect',\r\n Landing = <any>'landing',\r\n Agreements = <any>'agreements',\r\n OtpSend = <any>'otp-send',\r\n OtpCheck = <any>'otp-check',\r\n CiFront = <any>'ci-front',\r\n CiFrontHowTo = <any>'ci-front-how-to',\r\n CiFrontCapture = <any>'ci-front-capture',\r\n CiBack = <any>'ci-back',\r\n CiBackHowTo = <any>'ci-back-how-to',\r\n CiBackCapture = <any>'ci-back-capture',\r\n CiTilt = <any>'ci-tilt',\r\n CiTiltHowTo = <any>'ci-tilt-how-to',\r\n CiError = <any>'ci-error',\r\n SelfieHowTo = <any>'selfie-how-to',\r\n SelfieTilt = <any>'selfie-tilt',\r\n SelfieCapture = <any>'selfie-capture',\r\n Selfie = <any>'selfie',\r\n SelfieError = <any>'selfie-error',\r\n End = <any>'end',\r\n CameraError = <any>'camera-error',\r\n Default = <any>'default',\r\n}\r\n\r\nexport enum FlowMoments {\r\n Initialized = <any>'initialized',\r\n Finalized = <any>'finalized',\r\n None = <any>'none',\r\n}\r\n","export enum OrderStatuses {\r\n Capturing,\r\n FinishedCapturing,\r\n Waiting,\r\n NotFound,\r\n Aborted,\r\n}\r\n","import { FacePose } from '../libs/FaceML5Detector/FacePose';\r\nimport { IDPose } from '../libs/IDML5Detector/IDPose';\r\nimport store from './store';\r\n\r\nexport class IdCaptureValues {\r\n public static readonly IDPoseDemoMapping: { [key in IDPose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front_tilt.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_rotate.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back_tilt.mp4',\r\n };\r\n}\r\n\r\nexport class SelfieCaptureValues {\r\n public static readonly FacePoseDemoMapping: { [key in FacePose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_left.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_right.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_back.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_front.mp4',\r\n // 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_left.mp4',\r\n // 5: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_right.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_main.mp4',\r\n };\r\n}\r\n\r\nexport class ApiUrls {\r\n private readonly uriEnv: string = '/';\r\n public readonly OtpSend: string;\r\n public readonly OtpCheck: string;\r\n public readonly IdentityInsert: string;\r\n public readonly UploadCapture: string;\r\n public readonly GetAgreement: string;\r\n public readonly GenerateAgreement: string;\r\n public readonly SendLink: string;\r\n public readonly GetStatus: string;\r\n public readonly GetStatusUi: string;\r\n public readonly AddLog: string;\r\n public readonly AddStep: string;\r\n public readonly AbortRequest: string;\r\n public readonly Translations: string;\r\n public readonly StartFlow: string;\r\n public readonly NextFlowState: string;\r\n public readonly CurrentFlowState: string;\r\n public readonly NextStateForCaptureError: string;\r\n public readonly CitizenshipList: string;\r\n public readonly SetCitizenship: string;\r\n public readonly IdList: string;\r\n public readonly SetId: string;\r\n\r\n constructor() {\r\n this.uriEnv = ['QA', 'DEMO'].includes(store.environment) ? '/dev_' : '/';\r\n this.OtpSend = this.uriEnv + 'validation/otp/send';\r\n this.OtpCheck = this.uriEnv + 'validation/otp/check';\r\n this.IdentityInsert = this.uriEnv + 'validation/identity/insert';\r\n this.UploadCapture = this.uriEnv + 'validation/upload/capture';\r\n this.GetAgreement = this.uriEnv + 'validation/agreement/content';\r\n this.GenerateAgreement = this.uriEnv + 'validation/agreement/generate';\r\n this.SendLink = this.uriEnv + 'validation/otp/sendlink';\r\n this.GetStatus = this.uriEnv + 'validation/identity/status';\r\n this.GetStatusUi = this.uriEnv + 'validation/identity/statusui';\r\n this.AddLog = this.uriEnv + 'validation/logs/add';\r\n this.AddStep = this.uriEnv + 'validation/logs/step';\r\n this.AbortRequest = this.uriEnv + 'validation/identity/abort';\r\n this.Translations = this.uriEnv + 'validation/translations/get';\r\n this.StartFlow = this.uriEnv + 'validation/flowstate/startflow';\r\n this.NextFlowState = this.uriEnv + 'validation/flowstate/nextstate';\r\n this.CurrentFlowState = this.uriEnv + 'validation/flowstate/currentstate';\r\n this.NextStateForCaptureError = this.uriEnv + 'validation/flowstate/nextstateforcaptureerror';\r\n this.CitizenshipList = this.uriEnv + 'validation/flows/citizenships';\r\n this.IdList = this.uriEnv + 'validation/flows/ids';\r\n this.SetCitizenship = this.uriEnv + 'validation/identity/setcitizenship';\r\n this.SetId = this.uriEnv + 'validation/identity/setidentitydocument';\r\n }\r\n}\r\n","import { AddRequest } from '../models/IAddRequest';\r\nimport { Agreement } from '../models/IAgreement';\r\nimport { Generation } from '../models/IGeneration';\r\nimport { LinkSend } from '../models/ILinkSend';\r\nimport { OrderStatus } from '../models/IOrderStatus';\r\nimport { OtpCheck } from '../models/IOtpCheck';\r\nimport { OtpSend } from '../models/IOtpSend';\r\nimport { UploadFile } from '../models/IUploadFile';\r\nimport { OrderStatuses } from '../models/OrderStatuses';\r\nimport { LogResult } from '../models/ILogResult';\r\nimport store from './store';\r\nimport { ApiUrls } from './textValues';\r\nimport { FlowResult, FlowStatus } from '../models/FlowStatus';\r\nimport { AbortResult } from '../models/IAbortResult';\r\nimport { FlowMoments, FlowSteps } from '../models/FlowSteps';\r\nimport { DeviceState } from '../models/IDevice';\r\nimport { TranslationValues } from '../models/ITranslationValues';\r\nimport { Citizenship } from '../models/ICitizenship';\r\nimport { StateResult } from '../models/IStateResult';\r\nimport { IdentityDocument } from '../models/IIdentityDocument';\r\nexport class ApiCall {\r\n public static instance: ApiCall;\r\n public static getInstance(): ApiCall {\r\n if (!ApiCall.instance) {\r\n ApiCall.instance = new ApiCall();\r\n }\r\n\r\n return ApiCall.instance;\r\n }\r\n\r\n private urls: ApiUrls;\r\n private serviceErrors = ['Service Unavailable', 'Unauthorized'];\r\n constructor() {\r\n this.urls = new ApiUrls();\r\n }\r\n\r\n // private async http2<T>(method: string, url: string, data: string): Promise<T> {\r\n // return new Promise((resolve, reject) => {\r\n // var xhr = new XMLHttpRequest();\r\n // xhr.open(method, url);\r\n // xhr.onload = function () {\r\n // if (xhr.status >= 200 && xhr.status < 300) {\r\n // resolve(xhr.response);\r\n // } else {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // }\r\n // };\r\n // xhr.onerror = function () {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // };\r\n // xhr.send(data);\r\n // });\r\n // }\r\n\r\n private async http<T>(request: RequestInfo): Promise<T> {\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n let text = await response.text();\r\n throw new Error(text ?? response.statusText);\r\n }\r\n\r\n try {\r\n // may error if there is no body\r\n return await response.json();\r\n } catch (ex) {\r\n throw new Error('No json found in response ' + ex);\r\n }\r\n }\r\n\r\n private async post<T>(url: string, data: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in post ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in post ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n private async get<T>(url: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in get ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in get ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n public async SendOTPCode(requestId: string, phoneNumber: string): Promise<OtpSend> {\r\n let data = { requestId: requestId, phone: phoneNumber };\r\n let jsonResp = await this.post<OtpSend>(this.urls.OtpSend, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async CheckOTPCode(requestId: string, otpCode: string): Promise<OtpCheck> {\r\n let data = { requestId: requestId, otp: otpCode };\r\n let jsonResp = await this.post<OtpCheck>(this.urls.OtpCheck, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async AddIdentificationRequest(deviceInfo: DeviceState, version: string): Promise<boolean | Error> {\r\n if (store.debug) console.log('Calling identity request with store:' + JSON.stringify(store));\r\n let data = {\r\n requestId: store.requestId,\r\n clientDeviceInfo: JSON.stringify(deviceInfo),\r\n redirectId: store.redirectId,\r\n phoneNumber: store.phoneNumber,\r\n version: version,\r\n demoMode: store.environment == 'DEMO',\r\n };\r\n let jsonResp = await this.post<AddRequest>(this.urls.IdentityInsert, JSON.stringify(data));\r\n if (store.requestId == '') {\r\n store.requestId = jsonResp.requestId;\r\n }\r\n store.phoneNumber = jsonResp.phoneNumber;\r\n store.flowStatus = FlowStatus[jsonResp.state];\r\n store.logSteps = jsonResp.logSteps;\r\n store.debug = jsonResp.debug;\r\n store.modelsPath = jsonResp.modelsPath;\r\n store.citizenship = jsonResp.citizenship;\r\n store.initialized = true;\r\n return true;\r\n }\r\n\r\n public async UploadFileForRequestB64(requestId: string, type: string, b64Data: string): Promise<UploadFile> {\r\n let data = {\r\n requestId: requestId,\r\n type: type,\r\n data: b64Data,\r\n };\r\n let respJson = await this.post<UploadFile>(this.urls.UploadCapture, JSON.stringify(data));\r\n if (store.debug) console.log(`apicall | uploadfileforrequestb64 | ${respJson}`);\r\n return respJson;\r\n }\r\n\r\n public async GetAgreement(agreementType: string): Promise<string> {\r\n let resp = await this.get<Agreement>(this.urls.GetAgreement + '?type=' + agreementType + '&requestId=' + store.requestId);\r\n return resp.htmlText;\r\n }\r\n\r\n public async GenerateAgreement(agreementType: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, documentType: agreementType };\r\n let resp = await this.post<Generation>(this.urls.GenerateAgreement, JSON.stringify(data));\r\n return resp.generation;\r\n }\r\n\r\n public async GetStatus(requestId: string): Promise<OrderStatuses> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatus + '?orderId=' + requestId);\r\n return OrderStatuses[resp.status];\r\n }\r\n\r\n public async GetStatusUi(requestId: string): Promise<FlowStatus | null> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatusUi + '?orderId=' + requestId);\r\n if (resp.status == 'NOTFOUND') return null;\r\n return FlowStatus[resp.status];\r\n }\r\n\r\n public async SendLink(link: string, phoneNumber: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, link: link, phoneNumber: phoneNumber };\r\n let resp = await this.post<LinkSend>(this.urls.SendLink, JSON.stringify(data));\r\n return resp.sent;\r\n }\r\n\r\n public async GetCitizenshipList(): Promise<Citizenship[]> {\r\n let resp = await this.get<Citizenship[]>(this.urls.CitizenshipList);\r\n return resp;\r\n }\r\n\r\n public async GetIdList(): Promise<IdentityDocument[]> {\r\n let resp = await this.get<IdentityDocument[]>(this.urls.IdList + '?citizenship=' + store.citizenship);\r\n return resp;\r\n }\r\n\r\n public async SetCitizenship(): Promise<boolean> {\r\n var setCitReq = { requestId: store.requestId, citizenship: store.citizenship };\r\n var result = await this.post<StateResult>(this.urls.SetCitizenship, JSON.stringify(setCitReq));\r\n store.flowStatus = FlowStatus[result.state];\r\n return true;\r\n }\r\n\r\n public async SetIdentityDocument(): Promise<boolean> {\r\n var setIdReq = { requestId: store.requestId, identityDocument: store.idDocument };\r\n var result = await this.post<StateResult>(this.urls.SetId, JSON.stringify(setIdReq));\r\n store.flowStatus = FlowStatus[result.state];\r\n return true;\r\n }\r\n\r\n public async AddLog(error: any, context: any): Promise<boolean> {\r\n try {\r\n let data = {\r\n requestId: store.requestId,\r\n action: FlowStatus[store.flowStatus],\r\n message: JSON.stringify({ error, context }),\r\n };\r\n let result = await this.post<LogResult>(this.urls.AddLog, JSON.stringify(data), false);\r\n return result.saved;\r\n } catch {}\r\n }\r\n\r\n public async AddStep(step: FlowSteps, moment: FlowMoments): Promise<boolean> {\r\n if (store.logSteps == false) return;\r\n let data = { requestId: store.requestId, redirectId: store.redirectId, step: FlowSteps[step], moment: FlowMoments[moment], timestamp: new Date().toISOString() };\r\n let result = await this.post<LogResult>(this.urls.AddStep, JSON.stringify(data));\r\n return result.saved;\r\n }\r\n\r\n public async AbortRequest(): Promise<AbortResult> {\r\n let result = await this.post<AbortResult>(this.urls.AbortRequest, JSON.stringify({ requestId: store.requestId }));\r\n return result;\r\n }\r\n\r\n public async GetTranslations(langIso: string): Promise<TranslationValues> {\r\n let result = await this.get<TranslationValues>(this.urls.Translations + '?langIso=' + langIso);\r\n return result;\r\n }\r\n\r\n public async LandingValidationStartFlow(cameraIsAccessible: boolean): Promise<FlowStatus> {\r\n let result = await this.post<FlowResult>(this.urls.StartFlow, JSON.stringify({ requestId: store.requestId, cameraIsAccessible: cameraIsAccessible }));\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextFlowState + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.CurrentFlowState + '?requestId=' + store.requestId, false);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextStateForCaptureError(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextStateForCaptureError + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n}\r\n","import { TranslationValues } from '../models/ITranslationValues';\r\nimport { ApiCall } from './ApiCall';\r\nimport store from './store';\r\n\r\nclass TranslationsController {\r\n private values: TranslationValues;\r\n\r\n async getValues(): Promise<TranslationValues> {\r\n if (this.values) {\r\n return this.values;\r\n } else {\r\n this.values = await this.fetchTranslations();\r\n return this.values;\r\n }\r\n }\r\n\r\n getLocale(element: HTMLElement = document.body) {\r\n if (store.langIso && store.langIso != '') {\r\n return store.langIso;\r\n } else {\r\n const closestElement = element.closest('[lang]') as HTMLElement;\r\n return closestElement ? closestElement.lang : 'ro';\r\n }\r\n }\r\n\r\n async fetchTranslations(): Promise<TranslationValues> {\r\n const locale = this.getLocale();\r\n try {\r\n const result = ApiCall.instance.GetTranslations(locale);\r\n if (result) {\r\n return result;\r\n }\r\n } catch (exception) {\r\n console.error(`Error loading locale: ${locale}`, exception);\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport const Translations = new TranslationsController();\r\n"],"version":3}
|