dexie-cloud-addon 4.0.1-beta.46 → 4.0.1-beta.48

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.
Files changed (264) hide show
  1. package/dist/{types → modern}/DexieCloudAPI.d.ts +3 -0
  2. package/dist/{types → modern}/DexieCloudOptions.d.ts +1 -0
  3. package/dist/modern/InvalidLicenseError.d.ts +5 -0
  4. package/dist/{types → modern}/TSON.d.ts +1 -1
  5. package/dist/modern/authentication/TokenErrorResponseError.d.ts +10 -0
  6. package/dist/{types → modern}/authentication/authenticate.d.ts +3 -3
  7. package/dist/{types → modern}/authentication/interactWithUser.d.ts +3 -0
  8. package/dist/modern/authentication/logout.d.ts +5 -0
  9. package/dist/modern/authentication/waitUntil.d.ts +3 -0
  10. package/dist/{types → modern}/currentUserEmitter.d.ts +1 -1
  11. package/dist/{types → modern}/db/entities/UserLogin.d.ts +6 -0
  12. package/dist/modern/default-ui/LoginDialog.d.ts +3 -0
  13. package/dist/modern/dexie-cloud-addon.d.ts +3 -0
  14. package/dist/modern/dexie-cloud-addon.js +488 -367
  15. package/dist/modern/dexie-cloud-addon.js.map +1 -1
  16. package/dist/modern/dexie-cloud-addon.min.js +2 -2
  17. package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
  18. package/dist/{types → modern}/dexie-cloud-client.d.ts +2 -0
  19. package/dist/modern/helpers/resolveText.d.ts +16 -0
  20. package/dist/modern/isEagerSyncDisabled.d.ts +2 -0
  21. package/dist/{types → modern}/middlewares/createMutationTrackingMiddleware.d.ts +1 -1
  22. package/dist/modern/prodLog.d.ts +9 -0
  23. package/dist/modern/service-worker.js +2027 -268
  24. package/dist/modern/service-worker.js.map +1 -1
  25. package/dist/modern/service-worker.min.js +2 -2
  26. package/dist/modern/service-worker.min.js.map +1 -1
  27. package/dist/modern/sync/performGuardedJob.d.ts +2 -0
  28. package/dist/modern/sync/ratelimit.d.ts +3 -0
  29. package/dist/{types → modern}/sync/sync.d.ts +0 -1
  30. package/dist/{types → modern}/types/DXCAlert.d.ts +1 -1
  31. package/dist/{types → modern}/types/DXCUserInteraction.d.ts +40 -2
  32. package/dist/{types → modern}/types/SyncState.d.ts +1 -0
  33. package/dist/umd/DISABLE_SERVICEWORKER_STRATEGY.d.ts +1 -0
  34. package/dist/umd/DXCWebSocketStatus.d.ts +1 -0
  35. package/dist/umd/DexieCloudAPI.d.ts +72 -0
  36. package/dist/umd/DexieCloudOptions.d.ts +22 -0
  37. package/dist/umd/DexieCloudSyncOptions.d.ts +4 -0
  38. package/dist/umd/DexieCloudTable.d.ts +18 -0
  39. package/dist/umd/InvalidLicenseError.d.ts +5 -0
  40. package/dist/umd/Invite.d.ts +8 -0
  41. package/dist/umd/PermissionChecker.d.ts +15 -0
  42. package/dist/umd/TSON.d.ts +17 -0
  43. package/dist/umd/WSObservable.d.ts +68 -0
  44. package/dist/umd/associate.d.ts +1 -0
  45. package/dist/umd/authentication/AuthPersistedContext.d.ts +9 -0
  46. package/dist/umd/authentication/TokenErrorResponseError.d.ts +10 -0
  47. package/dist/umd/authentication/TokenExpiredError.d.ts +3 -0
  48. package/dist/umd/authentication/UNAUTHORIZED_USER.d.ts +2 -0
  49. package/dist/umd/authentication/authenticate.d.ts +20 -0
  50. package/dist/umd/authentication/currentUserObservable.d.ts +1 -0
  51. package/dist/umd/authentication/interactWithUser.d.ts +21 -0
  52. package/dist/umd/authentication/login.d.ts +6 -0
  53. package/dist/umd/authentication/logout.d.ts +5 -0
  54. package/dist/umd/authentication/otpFetchTokenCallback.d.ts +3 -0
  55. package/dist/umd/authentication/setCurrentUser.d.ts +14 -0
  56. package/dist/umd/authentication/waitUntil.d.ts +3 -0
  57. package/dist/umd/computeSyncState.d.ts +4 -0
  58. package/dist/umd/createSharedValueObservable.d.ts +3 -0
  59. package/dist/umd/currentUserEmitter.d.ts +3 -0
  60. package/dist/umd/db/DexieCloudDB.d.ts +59 -0
  61. package/dist/umd/db/entities/BaseRevisionMapEntry.d.ts +5 -0
  62. package/dist/umd/db/entities/EntityCommon.d.ts +5 -0
  63. package/dist/umd/db/entities/GuardedJob.d.ts +5 -0
  64. package/dist/umd/db/entities/Member.d.ts +19 -0
  65. package/dist/umd/db/entities/PersistedSyncState.d.ts +14 -0
  66. package/dist/umd/db/entities/Realm.d.ts +16 -0
  67. package/dist/umd/db/entities/Role.d.ts +11 -0
  68. package/dist/umd/db/entities/UserLogin.d.ts +22 -0
  69. package/dist/umd/default-ui/Dialog.d.ts +5 -0
  70. package/dist/umd/default-ui/LoginDialog.d.ts +3 -0
  71. package/dist/umd/default-ui/Styles.d.ts +3 -0
  72. package/dist/umd/default-ui/index.d.ts +24 -0
  73. package/dist/umd/dexie-cloud-addon.d.ts +3 -0
  74. package/dist/umd/dexie-cloud-addon.js +505 -388
  75. package/dist/umd/dexie-cloud-addon.js.map +1 -1
  76. package/dist/umd/dexie-cloud-client.d.ts +13 -0
  77. package/dist/umd/errors/HttpError.d.ts +5 -0
  78. package/dist/umd/extend-dexie-interface.d.ts +23 -0
  79. package/dist/umd/getGlobalRolesObservable.d.ts +5 -0
  80. package/dist/umd/getInternalAccessControlObservable.d.ts +12 -0
  81. package/dist/umd/getInvitesObservable.d.ts +23 -0
  82. package/dist/umd/getPermissionsLookupObservable.d.ts +16 -0
  83. package/dist/umd/getTiedRealmId.d.ts +2 -0
  84. package/dist/umd/helpers/BroadcastedAndLocalEvent.d.ts +8 -0
  85. package/dist/umd/helpers/CancelToken.d.ts +4 -0
  86. package/dist/umd/helpers/IS_SERVICE_WORKER.d.ts +1 -0
  87. package/dist/umd/helpers/SWBroadcastChannel.d.ts +12 -0
  88. package/dist/umd/helpers/allSettled.d.ts +1 -0
  89. package/dist/umd/helpers/bulkUpdate.d.ts +4 -0
  90. package/dist/umd/helpers/computeRealmSetHash.d.ts +2 -0
  91. package/dist/umd/helpers/date-constants.d.ts +5 -0
  92. package/dist/umd/helpers/dbOnClosed.d.ts +2 -0
  93. package/dist/umd/helpers/flatten.d.ts +1 -0
  94. package/dist/umd/helpers/getMutationTable.d.ts +1 -0
  95. package/dist/umd/helpers/getSyncableTables.d.ts +4 -0
  96. package/dist/umd/helpers/getTableFromMutationTable.d.ts +1 -0
  97. package/dist/umd/helpers/makeArray.d.ts +1 -0
  98. package/dist/umd/helpers/randomString.d.ts +1 -0
  99. package/dist/umd/helpers/resolveText.d.ts +16 -0
  100. package/dist/umd/helpers/throwVersionIncrementNeeded.d.ts +1 -0
  101. package/dist/umd/helpers/visibilityState.d.ts +1 -0
  102. package/dist/umd/isEagerSyncDisabled.d.ts +2 -0
  103. package/dist/umd/isFirefox.d.ts +1 -0
  104. package/dist/umd/isSafari.d.ts +2 -0
  105. package/dist/umd/mapValueObservable.d.ts +5 -0
  106. package/dist/umd/mergePermissions.d.ts +2 -0
  107. package/dist/umd/middleware-helpers/guardedTable.d.ts +11 -0
  108. package/dist/umd/middleware-helpers/idGenerationHelpers.d.ts +18 -0
  109. package/dist/umd/middlewares/createIdGenerationMiddleware.d.ts +3 -0
  110. package/dist/umd/middlewares/createImplicitPropSetterMiddleware.d.ts +3 -0
  111. package/dist/umd/middlewares/createMutationTrackingMiddleware.d.ts +17 -0
  112. package/dist/umd/middlewares/outstandingTransaction.d.ts +4 -0
  113. package/dist/umd/overrideParseStoresSpec.d.ts +4 -0
  114. package/dist/umd/performInitialSync.d.ts +4 -0
  115. package/dist/umd/permissions.d.ts +9 -0
  116. package/dist/umd/prodLog.d.ts +9 -0
  117. package/dist/umd/service-worker.d.ts +1 -0
  118. package/dist/umd/service-worker.js +2078 -322
  119. package/dist/umd/service-worker.js.map +1 -1
  120. package/dist/umd/sync/LocalSyncWorker.d.ts +7 -0
  121. package/dist/umd/sync/SyncRequiredError.d.ts +3 -0
  122. package/dist/umd/sync/applyServerChanges.d.ts +3 -0
  123. package/dist/umd/sync/connectWebSocket.d.ts +2 -0
  124. package/dist/umd/sync/encodeIdsForServer.d.ts +4 -0
  125. package/dist/umd/sync/extractRealm.d.ts +2 -0
  126. package/dist/umd/sync/getLatestRevisionsPerTable.d.ts +6 -0
  127. package/dist/umd/sync/getTablesToSyncify.d.ts +3 -0
  128. package/dist/umd/sync/isOnline.d.ts +1 -0
  129. package/dist/umd/sync/isSyncNeeded.d.ts +2 -0
  130. package/dist/umd/sync/listClientChanges.d.ts +9 -0
  131. package/dist/umd/sync/listSyncifiedChanges.d.ts +5 -0
  132. package/dist/umd/sync/messageConsumerIsReady.d.ts +2 -0
  133. package/dist/umd/sync/messagesFromServerQueue.d.ts +8 -0
  134. package/dist/umd/sync/modifyLocalObjectsWithNewUserId.d.ts +4 -0
  135. package/dist/umd/sync/myId.d.ts +1 -0
  136. package/dist/umd/sync/numUnsyncedMutations.d.ts +2 -0
  137. package/dist/umd/sync/old_startSyncingClientChanges.d.ts +39 -0
  138. package/dist/umd/sync/performGuardedJob.d.ts +2 -0
  139. package/dist/umd/sync/ratelimit.d.ts +3 -0
  140. package/dist/umd/sync/registerSyncEvent.d.ts +3 -0
  141. package/dist/umd/sync/sync.d.ts +15 -0
  142. package/dist/umd/sync/syncIfPossible.d.ts +5 -0
  143. package/dist/umd/sync/syncWithServer.d.ts +6 -0
  144. package/dist/umd/sync/triggerSync.d.ts +2 -0
  145. package/dist/umd/sync/updateBaseRevs.d.ts +5 -0
  146. package/dist/umd/types/DXCAlert.d.ts +25 -0
  147. package/dist/umd/types/DXCInputField.d.ts +11 -0
  148. package/dist/umd/types/DXCUserInteraction.d.ts +93 -0
  149. package/dist/umd/types/NewIdOptions.d.ts +3 -0
  150. package/dist/umd/types/SWMessageEvent.d.ts +3 -0
  151. package/dist/umd/types/SWSyncEvent.d.ts +4 -0
  152. package/dist/umd/types/SyncState.d.ts +9 -0
  153. package/dist/umd/types/TXExpandos.d.ts +11 -0
  154. package/dist/umd/updateSchemaFromOptions.d.ts +3 -0
  155. package/dist/umd/userIsActive.d.ts +7 -0
  156. package/dist/umd/verifyConfig.d.ts +2 -0
  157. package/dist/umd/verifySchema.d.ts +2 -0
  158. package/package.json +14 -48
  159. package/LICENSE +0 -202
  160. package/copydts.sh +0 -5
  161. package/dist/types/default-ui/LoginDialog.d.ts +0 -6
  162. package/dist/types/helpers/resolveText.d.ts +0 -2
  163. package/dist/types/sync/performGuardedJob.d.ts +0 -4
  164. package/dist/umd/dexie-cloud-addon.min.js +0 -2
  165. package/dist/umd/dexie-cloud-addon.min.js.map +0 -1
  166. package/dist/umd/service-worker.min.js +0 -2
  167. package/dist/umd/service-worker.min.js.map +0 -1
  168. /package/dist/{types → modern}/DISABLE_SERVICEWORKER_STRATEGY.d.ts +0 -0
  169. /package/dist/{types → modern}/DXCWebSocketStatus.d.ts +0 -0
  170. /package/dist/{types → modern}/DexieCloudSyncOptions.d.ts +0 -0
  171. /package/dist/{types → modern}/DexieCloudTable.d.ts +0 -0
  172. /package/dist/{types → modern}/Invite.d.ts +0 -0
  173. /package/dist/{types → modern}/PermissionChecker.d.ts +0 -0
  174. /package/dist/{types → modern}/WSObservable.d.ts +0 -0
  175. /package/dist/{types → modern}/associate.d.ts +0 -0
  176. /package/dist/{types → modern}/authentication/AuthPersistedContext.d.ts +0 -0
  177. /package/dist/{types → modern}/authentication/TokenExpiredError.d.ts +0 -0
  178. /package/dist/{types → modern}/authentication/UNAUTHORIZED_USER.d.ts +0 -0
  179. /package/dist/{types → modern}/authentication/currentUserObservable.d.ts +0 -0
  180. /package/dist/{types → modern}/authentication/login.d.ts +0 -0
  181. /package/dist/{types → modern}/authentication/otpFetchTokenCallback.d.ts +0 -0
  182. /package/dist/{types → modern}/authentication/setCurrentUser.d.ts +0 -0
  183. /package/dist/{types → modern}/computeSyncState.d.ts +0 -0
  184. /package/dist/{types → modern}/createSharedValueObservable.d.ts +0 -0
  185. /package/dist/{types → modern}/db/DexieCloudDB.d.ts +0 -0
  186. /package/dist/{types → modern}/db/entities/BaseRevisionMapEntry.d.ts +0 -0
  187. /package/dist/{types → modern}/db/entities/EntityCommon.d.ts +0 -0
  188. /package/dist/{types → modern}/db/entities/GuardedJob.d.ts +0 -0
  189. /package/dist/{types → modern}/db/entities/Member.d.ts +0 -0
  190. /package/dist/{types → modern}/db/entities/PersistedSyncState.d.ts +0 -0
  191. /package/dist/{types → modern}/db/entities/Realm.d.ts +0 -0
  192. /package/dist/{types → modern}/db/entities/Role.d.ts +0 -0
  193. /package/dist/{types → modern}/default-ui/Dialog.d.ts +0 -0
  194. /package/dist/{types → modern}/default-ui/Styles.d.ts +0 -0
  195. /package/dist/{types → modern}/default-ui/index.d.ts +0 -0
  196. /package/dist/{types → modern}/errors/HttpError.d.ts +0 -0
  197. /package/dist/{types → modern}/extend-dexie-interface.d.ts +0 -0
  198. /package/dist/{types → modern}/getGlobalRolesObservable.d.ts +0 -0
  199. /package/dist/{types → modern}/getInternalAccessControlObservable.d.ts +0 -0
  200. /package/dist/{types → modern}/getInvitesObservable.d.ts +0 -0
  201. /package/dist/{types → modern}/getPermissionsLookupObservable.d.ts +0 -0
  202. /package/dist/{types → modern}/getTiedRealmId.d.ts +0 -0
  203. /package/dist/{types → modern}/helpers/BroadcastedAndLocalEvent.d.ts +0 -0
  204. /package/dist/{types → modern}/helpers/CancelToken.d.ts +0 -0
  205. /package/dist/{types → modern}/helpers/IS_SERVICE_WORKER.d.ts +0 -0
  206. /package/dist/{types → modern}/helpers/SWBroadcastChannel.d.ts +0 -0
  207. /package/dist/{types → modern}/helpers/allSettled.d.ts +0 -0
  208. /package/dist/{types → modern}/helpers/bulkUpdate.d.ts +0 -0
  209. /package/dist/{types → modern}/helpers/computeRealmSetHash.d.ts +0 -0
  210. /package/dist/{types → modern}/helpers/date-constants.d.ts +0 -0
  211. /package/dist/{types → modern}/helpers/dbOnClosed.d.ts +0 -0
  212. /package/dist/{types → modern}/helpers/flatten.d.ts +0 -0
  213. /package/dist/{types → modern}/helpers/getMutationTable.d.ts +0 -0
  214. /package/dist/{types → modern}/helpers/getSyncableTables.d.ts +0 -0
  215. /package/dist/{types → modern}/helpers/getTableFromMutationTable.d.ts +0 -0
  216. /package/dist/{types → modern}/helpers/makeArray.d.ts +0 -0
  217. /package/dist/{types → modern}/helpers/randomString.d.ts +0 -0
  218. /package/dist/{types → modern}/helpers/throwVersionIncrementNeeded.d.ts +0 -0
  219. /package/dist/{types → modern}/helpers/visibilityState.d.ts +0 -0
  220. /package/dist/{types → modern}/isFirefox.d.ts +0 -0
  221. /package/dist/{types → modern}/isSafari.d.ts +0 -0
  222. /package/dist/{types → modern}/mapValueObservable.d.ts +0 -0
  223. /package/dist/{types → modern}/mergePermissions.d.ts +0 -0
  224. /package/dist/{types → modern}/middleware-helpers/guardedTable.d.ts +0 -0
  225. /package/dist/{types → modern}/middleware-helpers/idGenerationHelpers.d.ts +0 -0
  226. /package/dist/{types → modern}/middlewares/createIdGenerationMiddleware.d.ts +0 -0
  227. /package/dist/{types → modern}/middlewares/createImplicitPropSetterMiddleware.d.ts +0 -0
  228. /package/dist/{types → modern}/middlewares/outstandingTransaction.d.ts +0 -0
  229. /package/dist/{types → modern}/overrideParseStoresSpec.d.ts +0 -0
  230. /package/dist/{types → modern}/performInitialSync.d.ts +0 -0
  231. /package/dist/{types → modern}/permissions.d.ts +0 -0
  232. /package/dist/{types → modern}/service-worker.d.ts +0 -0
  233. /package/dist/{types → modern}/sync/LocalSyncWorker.d.ts +0 -0
  234. /package/dist/{types → modern}/sync/SyncRequiredError.d.ts +0 -0
  235. /package/dist/{types → modern}/sync/applyServerChanges.d.ts +0 -0
  236. /package/dist/{types → modern}/sync/connectWebSocket.d.ts +0 -0
  237. /package/dist/{types → modern}/sync/encodeIdsForServer.d.ts +0 -0
  238. /package/dist/{types → modern}/sync/extractRealm.d.ts +0 -0
  239. /package/dist/{types → modern}/sync/getLatestRevisionsPerTable.d.ts +0 -0
  240. /package/dist/{types → modern}/sync/getTablesToSyncify.d.ts +0 -0
  241. /package/dist/{types → modern}/sync/isOnline.d.ts +0 -0
  242. /package/dist/{types → modern}/sync/isSyncNeeded.d.ts +0 -0
  243. /package/dist/{types → modern}/sync/listClientChanges.d.ts +0 -0
  244. /package/dist/{types → modern}/sync/listSyncifiedChanges.d.ts +0 -0
  245. /package/dist/{types → modern}/sync/messageConsumerIsReady.d.ts +0 -0
  246. /package/dist/{types → modern}/sync/messagesFromServerQueue.d.ts +0 -0
  247. /package/dist/{types → modern}/sync/modifyLocalObjectsWithNewUserId.d.ts +0 -0
  248. /package/dist/{types → modern}/sync/myId.d.ts +0 -0
  249. /package/dist/{types → modern}/sync/numUnsyncedMutations.d.ts +0 -0
  250. /package/dist/{types → modern}/sync/old_startSyncingClientChanges.d.ts +0 -0
  251. /package/dist/{types → modern}/sync/registerSyncEvent.d.ts +0 -0
  252. /package/dist/{types → modern}/sync/syncIfPossible.d.ts +0 -0
  253. /package/dist/{types → modern}/sync/syncWithServer.d.ts +0 -0
  254. /package/dist/{types → modern}/sync/triggerSync.d.ts +0 -0
  255. /package/dist/{types → modern}/sync/updateBaseRevs.d.ts +0 -0
  256. /package/dist/{types → modern}/types/DXCInputField.d.ts +0 -0
  257. /package/dist/{types → modern}/types/NewIdOptions.d.ts +0 -0
  258. /package/dist/{types → modern}/types/SWMessageEvent.d.ts +0 -0
  259. /package/dist/{types → modern}/types/SWSyncEvent.d.ts +0 -0
  260. /package/dist/{types → modern}/types/TXExpandos.d.ts +0 -0
  261. /package/dist/{types → modern}/updateSchemaFromOptions.d.ts +0 -0
  262. /package/dist/{types → modern}/userIsActive.d.ts +0 -0
  263. /package/dist/{types → modern}/verifyConfig.d.ts +0 -0
  264. /package/dist/{types → modern}/verifySchema.d.ts +0 -0
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("dexie"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define(["dexie","rxjs","rxjs/operators"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Dexie,e.rxjs,e.rxjs.operators)}(this,(function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(e);function s(e,t,n,r){return new(n||(n=Promise))((function(o,s){function i(e){try{c(r.next(e))}catch(e){s(e)}}function a(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))}const i={userId:"unauthorized",name:"Unauthorized",claims:{sub:"unauthorized"},lastLogin:new Date(0)};try{Object.freeze(i),Object.freeze(i.claims)}catch(e){}const a={},c="undefined"!=typeof self&&self.document&&"undefined"!=typeof navigator&&navigator.serviceWorker;c&&c.ready.then((e=>a.registration=e)),"undefined"!=typeof self&&"clients"in self&&!self.document&&addEventListener("message",(e=>{var t,n;(null===(n=null===(t=e.data)||void 0===t?void 0:t.type)||void 0===n?void 0:n.startsWith("sw-broadcast-"))&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>{var n;return t.id!==(null===(n=e.source)||void 0===n?void 0:n.id)&&t.postMessage(e.data)}))}));class l{constructor(e){this.name=e}subscribe(e){if(!c)return()=>{};const t=t=>{var n;(null===(n=t.data)||void 0===n?void 0:n.type)===`sw-broadcast-${this.name}`&&e(t.data.message)};return c.addEventListener("message",t),()=>c.removeEventListener("message",t)}postMessage(e){var t;"object"==typeof self.clients?[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:`sw-broadcast-${this.name}`,message:e}))):a.registration&&(null===(t=a.registration.active)||void 0===t||t.postMessage({type:`sw-broadcast-${this.name}`,message:e}))}}const u=globalThis["lbc-events"]||(globalThis["lbc-events"]=new Map);class d extends t.Observable{constructor(e){const t="undefined"==typeof BroadcastChannel?new l(e):new BroadcastChannel(e);super((n=>{function r(e){n.next(e.detail)}function o(e){console.debug("BroadcastedAndLocalEvent: onMessageEvent",e),n.next(e.data)}let s;!function(e,t){u.has(e)?u.get(e).push(t):u.set(e,[t])}(`lbc-${e}`,r);try{t instanceof l?s=t.subscribe((e=>n.next(e))):(console.debug("BroadcastedAndLocalEvent: bc.addEventListener()",e,"bc is a",t),t.addEventListener("message",o))}catch(e){console.warn("Failed to subscribe to broadcast channel",e)}return()=>{!function(e,t){const n=u.get(e);if(n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}(`lbc-${e}`,r),t instanceof l?s():t.removeEventListener("message",o)}})),this.name=e,this.bc=t}next(e){console.debug("BroadcastedAndLocalEvent: bc.postMessage()",Object.assign({},e),"bc is a",this.bc),this.bc.postMessage(e);!function(e){const t=u.get(e.type);t&&t.forEach((t=>{try{t(e)}catch(e){}}))}(new CustomEvent(`lbc-${this.name}`,{detail:e}))}}let f=!1;function p(e,t){return s(this,void 0,void 0,(function*(){try{const n=yield navigator.serviceWorker.ready;if("push"===t&&n.sync&&(yield n.sync.register(`dexie-cloud:${e.name}`)),!n.active)throw new Error("Failed to trigger sync - there's no active service worker");return void n.active.postMessage({type:"dexie-cloud-sync",dbName:e.name,purpose:t})}catch(e){f||(console.debug("Dexie Cloud: Could not register sync event",e),f=!0)}}))}function h(e,t){e.cloud.usingServiceWorker?p(e,t):e.localSyncEvent.next({purpose:t})}const y="undefined"!=typeof Buffer?e=>Buffer.from(e,"base64"):e=>{const t=atob(e),n=t.length,r=new Uint8Array(n);for(var o=0;o<n;o++)r[o]=t.charCodeAt(o);return r},m="undefined"!=typeof Buffer?e=>ArrayBuffer.isView(e)?Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64"):Buffer.from(e).toString("base64"):e=>btoa(String.fromCharCode.apply(null,ArrayBuffer.isView(e)?e:new Uint8Array(e)));function v({realms:e,inviteRealms:t}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify([...e.map((e=>({realmId:e,accepted:!0}))),...t.map((e=>({realmId:e,accepted:!1})))].sort(((e,t)=>e.realmId<t.realmId?-1:e.realmId>t.realmId?1:0))),r=(new TextEncoder).encode(n),o=yield crypto.subtle.digest("SHA-1",r);return m(o)}))}function b(e){return Object.entries(e.cloud.schema||{}).filter((([,{markedForSync:e}])=>e)).map((([t])=>e.tables.filter((({name:e})=>e===t))[0])).filter((e=>e))}function g(e){return`$${e}_mutations`}function _(e){var t;const n=null===(t=/^\$(.*)_mutations$/.exec(e))||void 0===t?void 0:t[1];if(!n)throw new Error(`Given mutationTable ${e} is not correct`);return n}const w=[].concat;function S(e){return w.apply([],e)}function k(e,t,{since:n={},limit:r=1/0}={}){return s(this,void 0,void 0,(function*(){const t=S(yield Promise.all(e.map((e=>s(this,void 0,void 0,(function*(){const t=_(e.name),o=n[t];let s=o?e.where("rev").above(o):e;r<1/0&&(s=s.limit(r));return(yield s.toArray()).map((e=>({table:t,mut:e})))})))))).sort(((e,t)=>e.mut.txid===t.mut.txid?e.mut.opNo-t.mut.opNo:e.mut.ts-t.mut.ts)),o=[];let i=null,a=null;for(const{table:e,mut:n}of t)i&&i.table===e&&a===n.txid?i.muts.push(n):(i={table:e,muts:[n]},a=n.txid,o.push(i));return o}))}function E(e){const t=new Uint8Array(e);if("undefined"!=typeof crypto)crypto.getRandomValues(t);else for(let n=0;n<e;n++)t[n]=Math.floor(256*Math.random());if("undefined"!=typeof Buffer&&Buffer.from)return Buffer.from(t).toString("base64");if("undefined"!=typeof btoa)return btoa(String.fromCharCode.apply(null,t));throw new Error("No btoa or Buffer available")}function x(e){if(!e)throw new Error("Assertion Failed")}const I={}.hasOwnProperty;function C(e,t,n){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){x("string"!=typeof n&&"length"in n);for(var r=0,o=t.length;r<o;++r)C(e,t[r],n[r])}else{var s=t.indexOf(".");if(-1!==s){var i=t.substr(0,s),a=t.substr(s+1);if(""===a)void 0===n?Array.isArray(e)?isNaN(parseInt(i))||e.splice(parseInt(i),1):delete e[i]:e[i]=n;else{var c=e[i];c&&function(e,t){return I.call(e,t)}(e,i)||(c=e[i]={}),C(c,a,n)}}else void 0===n?Array.isArray(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}const O="undefined"!=typeof self&&"undefined"!=typeof crypto?(e,t=crypto.getRandomValues.bind(crypto))=>{const n=new Uint8Array(e);return t(n),self.btoa(String.fromCharCode.apply(null,n))}:"undefined"!=typeof Buffer?(e,t=j)=>{const n=Buffer.alloc(e);return t(n),n.toString("base64")}:()=>{throw new Error("No implementation of randomString was found")};function j(e){for(let t=0;t<e.length;++t)e[t]=Math.floor(256*Math.random())}function T(e){return"string"==typeof e||!!(Array.isArray(e)&&e.some((e=>T(e)))&&e.every(A))}function A(e){return"string"==typeof e||"number"==typeof e||Array.isArray(e)&&e.every(A)}function U(e,t,n){const r=e[t]||(e[t]={}),o=n.keys.map((e=>"string"==typeof e?e:JSON.stringify(e)));switch(n.type){case"insert":case"upsert":o.forEach(((e,t)=>{r[e]={type:"ups",val:n.values[t]}}));break;case"update":case"modify":o.forEach(((e,t)=>{const o="update"===n.type?n.changeSpecs[t]:n.changeSpec,s=r[e];if(s)switch(s.type){case"ups":for(const[e,t]of Object.entries(o))C(s.val,e,t);break;case"del":break;case"upd":Object.assign(s.mod,o)}else r[e]={type:"upd",mod:o}}));break;case"delete":o.forEach((e=>{r[e]={type:"del"}}))}return e}function $(e,t){for(const{table:n,muts:r}of t)for(const t of r)U(e,n,t)}function P(e,t){return new Promise(((n,r)=>{const s=Object.assign(Object.assign({},t),{onSubmit:t=>{e.next(void 0),n(t)},onCancel:()=>{e.next(void 0),r(new o.default.AbortError("User cancelled"))}});e.next(s)}))}function D(e,t,...n){return P(e,{type:"message-alert",title:t,alerts:n,fields:{}})}function N(e,t,n){return s(this,void 0,void 0,(function*(){let r=n||"";for(;!r||!/^[\w-\.]+@([\w-]+\.)+[\w-]{2,10}$/.test(r);)r=(yield P(e,{type:"email",title:t,alerts:r?[{type:"error",messageCode:"INVALID_EMAIL",message:"Please enter a valid email address",messageParams:{}}]:[],fields:{email:{type:"email",placeholder:"you@somedomain.com"}}})).email;return r}))}function R(e,t,n){return s(this,void 0,void 0,(function*(){const r=[{type:"info",messageCode:"OTP_SENT",message:"A One-Time password has been sent to {email}",messageParams:{email:t}}];n&&r.push(n);const{otp:o}=yield P(e,{type:"otp",title:"Enter OTP",alerts:r,fields:{otp:{type:"otp",label:"OTP",placeholder:"Paste OTP here"}}});return o}))}function L(e,t,n,r,o){return s(this,void 0,void 0,(function*(){return t.accessToken&&t.accessTokenExpiration.getTime()>Date.now()?t:t.refreshToken&&(!t.refreshTokenExpiration||t.refreshTokenExpiration.getTime()>Date.now())?yield B(e,t):yield function(e,t,n,r){return s(this,void 0,void 0,(function*(){if(!crypto.subtle)throw"undefined"!=typeof location&&"http:"===location.protocol?new Error("Dexie Cloud Addon needs to use WebCrypto, but your browser has disabled it due to being served from an insecure location. Please serve it from https or http://localhost:<port> (See https://stackoverflow.com/questions/46670556/how-to-enable-crypto-subtle-for-unsecure-origins-in-chrome/46671627#46671627)"):new Error("This browser does not support WebCrypto.");const{privateKey:o,publicKey:s}=yield crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!1,["sign","verify"]);if(!o||!s)throw new Error("Could not generate RSA keypair");e.nonExportablePrivateKey=o;const i=function(e){const t=m(e);return function(e){let t="-----BEGIN PUBLIC KEY-----\n";for(;e.length>0;)t+=e.substring(0,64)+"\n",e=e.substring(64);return t+="-----END PUBLIC KEY-----",t}(t)}(yield crypto.subtle.exportKey("spki",s));e.publicKey=s;try{const o=yield t({public_key:i,hints:r});if("tokens"!==o.type)throw new Error(`Unexpected response type from token endpoint: ${o.type}`);return e.accessToken=o.accessToken,e.accessTokenExpiration=new Date(o.accessTokenExpiration),e.refreshToken=o.refreshToken,o.refreshTokenExpiration&&(e.refreshTokenExpiration=new Date(o.refreshTokenExpiration)),e.userId=o.claims.sub,e.email=o.claims.email,e.name=o.claims.name,e.claims=o.claims,o.alerts&&o.alerts.length>0&&(yield P(n,{type:"message-alert",title:"Authentication Alert",fields:{},alerts:o.alerts})),e}catch(e){throw yield D(n,"Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:"We're having a problem authenticating right now.",messageParams:{}}).catch((()=>{})),e}}))}(t,n,r,o)}))}function B(e,t){return s(this,void 0,void 0,(function*(){if(!t.refreshToken)throw new Error("Cannot refresh token - refresh token is missing.");if(!t.nonExportablePrivateKey)throw new Error("login.nonExportablePrivateKey is missing - cannot sign refresh token without a private key.");const n=Date.now(),r="RSASSA-PKCS1-v1_5",o=(new TextEncoder).encode(t.refreshToken+n),s=yield crypto.subtle.sign(r,t.nonExportablePrivateKey,o),i=m(s),a={grant_type:"refresh_token",refresh_token:t.refreshToken,scopes:["ACCESS_DB"],signature:i,signing_algorithm:r,time_stamp:n},c=yield fetch(`${e}/token`,{body:JSON.stringify(a),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"});if(200!==c.status)throw new Error(`RefreshToken: Status ${c.status} from ${e}/token`);const l=yield c.json();return t.accessToken=l.accessToken,t.accessTokenExpiration=l.accessTokenExpiration?new Date(l.accessTokenExpiration):void 0,t}))}const{toString:W}={};const M={replace:function(e){const t=Object.keys(e);let n=null;for(let e=0,r=t.length;e<r;++e)"$"===t[e][0]&&(n=n||[],n.push(t[e]));if(!n)return e;const r={...e};for(const e of n)delete r[e];for(const t of n)r["$"+t]=e[t];return r}};function F(...e){const t=e.reduce(((e,t)=>({...e,...t})),e.reduce(((e,t)=>({...t,...e})),{})),n=new WeakMap;return{stringify(e,r,o){const s=JSON.stringify(e,(function(e){const o=this[e],s=function(e){const r=typeof e;switch(typeof e){case"object":case"function":{if(null===e)return null;const r=Object.getPrototypeOf(e);if(!r)return M;let s=n.get(r);if(void 0!==s)return s;const i=(o=e,W.call(o).slice(8,-1)),a=Object.entries(t).find((([t,n])=>{var r,o;return null!==(o=null===(r=null==n?void 0:n.test)||void 0===r?void 0:r.call(n,e,i))&&void 0!==o?o:t===i}));return s=null==a?void 0:a[1],s||(s=Array.isArray(e)?null:"function"==typeof e?t.function||null:M),n.set(r,s),s}default:return t[r]}var o}(o);return s?s.replace(o,r,t):o}),o);return s},parse(e,n){const r=[];return JSON.parse(e,(function(e,o){const s=null==o?void 0:o.$t;if(s){const e=t[s];o=e?e.revive(o,n,t):o}let i=r[r.length-1];if(i&&i[0]===o){o={...o};for(const e of i[1])delete o[e];for(const[e,t]of Object.entries(i[2]))o[e]=t;r.pop()}if(void 0===o||"$"===e[0]&&"$t"!==e){let t,n;i=r[r.length-1],i&&i[0]===this?(t=i[1],n=i[2]):r.push([this,t=[],n={}]),"$"===e[0]&&"$t"!==e?(t.push(e),n[e.substr(1)]=o):n[e]=void 0}return o}))}}}const K={Blob:{test:(e,t)=>"Blob"===t,replace:(e,t)=>{const n=t.length;return t.push(e),{$t:"Blob",mimeType:e.type,i:n}},revive:({i:e,mimeType:t},n)=>new Blob([n[e]],{type:t})}};var H={number:{replace:e=>{switch(!0){case isNaN(e):return{$t:"number",v:"NaN"};case e===1/0:return{$t:"number",v:"Infinity"};case e===-1/0:return{$t:"number",v:"-Infinity"};default:return e}},revive:({v:e})=>Number(e)}};const V={bigint:{replace:e=>({$t:"bigint",v:""+e}),revive:e=>BigInt(e.v)}};var q={Date:{replace:e=>({$t:"Date",v:isNaN(e.getTime())?"NaN":e.toISOString()}),revive:({v:e})=>new Date("NaN"===e?NaN:Date.parse(e))}},J={Set:{replace:e=>({$t:"Set",v:Array.from(e.entries())}),revive:({v:e})=>new Set(e)}},z={Map:{replace:e=>({$t:"Map",v:Array.from(e.entries())}),revive:({v:e})=>new Map(e)}};const G="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"==typeof global?global:void 0;var Q=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","DataView","BigInt64Array","BigUint64Array"].reduce(((e,t)=>({...e,[t]:{replace:(e,n,r)=>({$t:t,v:r.ArrayBuffer.replace(0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n,r).v}),revive:({v:e},n,r)=>{const o=G[t];return o&&new o(r.ArrayBuffer.revive({v:e},n,r))}}})),{});function Y(e){return function(e){for(var t="",n=0,r=e.length;n<r;n++)t+=ee[e[n]];return t}(m(e))}function Z(e){return y(function(e){if("string"!=typeof e)throw new Error("invalid decoder input: "+e);for(var t="",n=0,r=e.length;n<r;n++)t+=X[e[n]];return t}(e))}const X={"-":"=",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",A:"K",B:"L",C:"M",D:"N",E:"O",F:"P",G:"Q",H:"R",I:"S",J:"T",K:"U",L:"V",M:"W",N:"X",O:"Y",P:"Z",Q:"a",R:"b",S:"c",T:"d",U:"e",V:"f",W:"g",X:"h",Y:"i",Z:"j",_:"k",a:"l",b:"m",c:"n",d:"o",e:"p",f:"q",g:"r",h:"s",i:"t",j:"u",k:"v",l:"w",m:"x",n:"y",o:"z",p:"0",q:"1",r:"2",s:"3",t:"4",u:"5",v:"6",w:"7",x:"8",y:"9",z:"+","|":"/"},ee={};for(const e of Object.keys(X))ee[X[e]]=e;var te={ArrayBuffer:{replace:e=>({$t:"ArrayBuffer",v:Y(e)}),revive:({v:e})=>{const t=Z(e);return t.buffer.byteLength===t.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}}};class ne{constructor(e,t){this.buf=e,this.type=t}}function re(e){const t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return t.responseText}function oe(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t.buffer}var se={Blob:{test:(e,t)=>"Blob"===t||e instanceof ne,replace:e=>({$t:"Blob",v:m(e instanceof ne?e.buf:oe(re(e))),type:e.type}),revive:({type:e,v:t})=>{const n=y(t);return void 0!==typeof Blob?new Blob([n]):new ne(n.buffer,e)}}};const ie={...H,...V,...q,...J,...z,...Q,...te,...se};function ae(e){return new Promise(((t,n)=>{const r=new FileReader;r.onabort=e=>n(new Error("file read aborted")),r.onerror=e=>n(e.target.error),r.onload=e=>t(e.target.result),r.readAsArrayBuffer(e)}))}var ce={undefined:{replace:()=>({$t:"undefined"}),revive:()=>{}}};const le="function"==typeof BigInt&&"bigint"==typeof BigInt(0);class ue{toString(){return this.v}constructor(e){this.v=e}}const de=Object.assign(Object.assign({},ce),le?{}:{bigint:{test:e=>e instanceof ue,replace:e=>Object.assign({$t:"bigint"},e),revive:({v:e})=>new ue(e)}}),fe=F(ie,de),pe=function(...e){const t=F(ie,K,...e);return{toBinary(e){const[t,n]=this.stringify(e),r=new ArrayBuffer(4);return new DataView(r).setUint32(0,t.size),new Blob([r,t,n])},stringify(e){const n=[],r=t.stringify(e,n),o=new Blob(n.map((e=>{const t=new ArrayBuffer(4);return new DataView(t).setUint32(0,"byteLength"in e?e.byteLength:e.size),new Blob([t,e])})));return[o,r]},async parse(e,n){let r=0;const o=[],s=await ae(n),i=new DataView(s);for(;r<s.byteLength;){const e=i.getUint32(r);r+=4;const t=s.slice(r,r+e);r+=e,o.push(t)}return t.parse(e,o)},async fromBinary(e){const t=new DataView(await ae(e.slice(0,4))).getUint32(0),n=e.slice(4,t+4),r=await function(e){return new Promise(((t,n)=>{const r=new FileReader;r.onabort=e=>n(new Error("file read aborted")),r.onerror=e=>n(e.target.error),r.onload=e=>t(e.target.result),r.readAsText(e)}))}(e.slice(t+4));return await this.parse(r,n)}}}(de);class he extends Error{constructor(e,t){super(t||`${e.status} ${e.statusText}`),this.httpStatus=e.status}get name(){return"HttpError"}}function ye(e,t,n){const r=[];for(let s of n){const{table:n,muts:i}=s,a=e.tables.find((e=>e.name===n));if(!a)throw new Error(`Internal error: table ${n} not found in DBCore schema`);const{primaryKey:c}=a;let l=s;i.forEach(((e,n)=>{const r=!c.outbound&&("upsert"===e.type||"insert"===e.type);e.keys.forEach(((e,i)=>{if(Array.isArray(e)){l===s&&(l=me(s,r));const t=l.muts[n],o=JSON.stringify(e);t.keys[i]=o}else if("#"===e[0]){l===s&&(l=me(s,r));const a=l.muts[n];if(!t.isLoggedIn)throw new Error("Internal error: Cannot sync private IDs before authenticated");const u=`${e}:${t.userId}`;a.keys[i]=u,r&&o.default.setByKeyPath(a.values[i],c.keyPath,u)}}))})),r.push(l)}return r}function me(e,t){return Object.assign(Object.assign({},e),{muts:t?e.muts.map((e=>"insert"!==e.type&&"upsert"!==e.type||!e.values?Object.assign(Object.assign({},e),{keys:e.keys.slice()}):Object.assign(Object.assign({},e),{keys:e.keys.slice(),values:e.values.slice()}))):e.muts.map((e=>Object.assign(Object.assign({},e),{keys:e.keys.slice()})))})}function ve(e,t,n,r,o,i,a,c){return s(this,void 0,void 0,(function*(){const l={Accept:"application/json, application/x-bison, application/x-bison-stream","Content-Type":"application/tson"},u=yield function(e){var t,n;return s(this,void 0,void 0,(function*(){const r=yield e.getCurrentUser(),{accessToken:o,accessTokenExpiration:s,refreshToken:i,refreshTokenExpiration:a,claims:c}=r;if(!o)return;if((null!==(t=null==s?void 0:s.getTime())&&void 0!==t?t:1/0)>Date.now())return o;if(!i)throw new Error("Refresh token missing");if((null!==(n=null==a?void 0:a.getTime())&&void 0!==n?n:1/0)<=Date.now())throw new Error("Refresh token has expired");const l=yield B(e.cloud.options.databaseUrl,r);return yield e.table("$logins").update(c.sub,{accessToken:l.accessToken,accessTokenExpiration:l.accessTokenExpiration}),l.accessToken}))}(r);u&&(l.Authorization=`Bearer ${u}`);const d={v:2,dbID:null==t?void 0:t.remoteDbId,clientIdentity:a,schema:i||{},lastPull:t?{serverRevision:t.serverRevision,realms:t.realms,inviteRealms:t.inviteRealms}:void 0,baseRevs:n,changes:ye(r.dx.core.schema,c,e)};console.debug("Sync request",d),r.syncStateChangedEvent.next({phase:"pushing"});const f=yield fetch(`${o}/sync`,{method:"post",headers:l,body:fe.stringify(d)});if(r.syncStateChangedEvent.next({phase:"pulling"}),!f.ok)throw new he(f);if("application/x-bison"===f.headers.get("content-type"))return pe.fromBinary(yield f.blob());{const e=yield f.text();return fe.parse(e)}}))}function be(e){if(null==e?void 0:e.cancelled)throw new o.default.AbortError("Operation was cancelled")}let ge=!1;function _e(e,t,n,r){return s(this,void 0,void 0,(function*(){yield e.$baseRevs.bulkPut(Object.keys(t).filter((e=>t[e].markedForSync)).map((e=>({tableName:e,clientRev:(n[e]||0)+1,serverRev:r}))))}))}function we(e,t={}){for(const{table:n,muts:r}of e){const e=r.length>0?r[r.length-1].rev:null;t[n]=e||t[n]||0}return t}function Se(t,n,r){return s(this,void 0,void 0,(function*(){const s=yield t.bulkGet(n),i=[],a=[];n.forEach(((n,c)=>{const l=s[c];if(l){for(const[s,i]of Object.entries(r[c]))if(s===t.schema.primKey.keyPath){if(0!==e.cmp(i,n))throw new Error("Cannot change primary key")}else o.default.setByKeyPath(l,s,i);i.push(n),a.push(l)}})),yield null==t.schema.primKey.keyPath?t.bulkPut(a,i):t.bulkPut(a)}))}function ke(e,t){return s(this,void 0,void 0,(function*(){console.debug("Applying server changes",e,o.default.currentTransaction);for(const{table:n,muts:r}of e){const e=t.table(n);if(!e)continue;const{primaryKey:s}=e.core.schema,i=e=>{switch(e[0]){case"[":if(e.endsWith("]"))try{return JSON.parse(e)}catch(e){}return e;case"#":return e.endsWith(":"+t.cloud.currentUserId)?e.substr(0,e.length-t.cloud.currentUserId.length-1):e;default:return e}};for(const t of r){const n=t.keys.map(i);switch(t.type){case"insert":s.outbound?yield e.bulkAdd(t.values,n):(n.forEach(((e,n)=>{o.default.setByKeyPath(t.values[n],s.keyPath,e)})),yield e.bulkAdd(t.values));break;case"upsert":s.outbound?yield e.bulkPut(t.values,n):(n.forEach(((e,n)=>{o.default.setByKeyPath(t.values[n],s.keyPath,e)})),yield e.bulkPut(t.values));break;case"modify":1===n.length?yield e.update(n[0],t.changeSpec):yield e.where(":id").anyOf(n).modify(t.changeSpec);break;case"update":yield Se(e,n,t.changeSpecs);break;case"delete":yield e.bulkDelete(n)}}}}))}"undefined"!=typeof self&&"undefined"!=typeof navigator&&(ge=navigator.onLine,self.addEventListener("online",(()=>ge=!0)),self.addEventListener("offline",(()=>ge=!1)));function Ee(e,t,n,r){return xe.apply(this,arguments).then((()=>{(null==r?void 0:r.justCheckIfNeeded)||e.syncStateChangedEvent.next({phase:"in-sync"})})).catch((o=>s(this,void 0,void 0,(function*(){return(null==r?void 0:r.justCheckIfNeeded)?Promise.reject(o):(console.debug("Error from _sync",{isOnline:ge,syncOptions:r,error:o}),ge&&(null==r?void 0:r.retryImmediatelyOnFetchError)&&"TypeError"===(null==o?void 0:o.name)&&/fetch/.test(null==o?void 0:o.message)?(e.syncStateChangedEvent.next({phase:"error",error:o}),yield new Promise((e=>setTimeout(e,500))),yield Ee(e,t,n,Object.assign(Object.assign({},r),{retryImmediatelyOnFetchError:!1}))):(yield e.$syncState.update("syncState",{timestamp:new Date,error:""+o}),e.syncStateChangedEvent.next({phase:ge?"error":"offline",error:new Error(""+(null==o?void 0:o.message)||o)}),Promise.reject(o)))}))))}function xe(e,t,n,{isInitialSync:r,cancelToken:o,justCheckIfNeeded:a,purpose:c}={isInitialSync:!1}){var l;return s(this,void 0,void 0,(function*(){if(a||console.debug("SYNC STARTED",{isInitialSync:r,purpose:c}),!(null===(l=e.cloud.options)||void 0===l?void 0:l.databaseUrl))throw new Error("Internal error: sync must not be called when no databaseUrl is configured");const{databaseUrl:u}=t,d=yield e.getCurrentUser(),f=d.isLoggedIn?b(e):[],p=f.map((t=>e.table(g(t.name)))),h=yield e.getPersistedSyncState(),y=!r&&d.isLoggedIn,m=y?function(e,t){const n=(null==t?void 0:t.syncedTables)||[];return b(e).filter((e=>!n.includes(e.name)))}(e,h):[];be(o);const v=m.length>0;if(v){if(a)return!0;yield e.transaction("rw",m,(e=>s(this,void 0,void 0,(function*(){e.idbtrans.disableChangeTracking=!0,e.idbtrans.disableAccessControl=!0,yield function(e,t,n){return s(this,void 0,void 0,(function*(){const r=new Set(n||[]);for(const n of e)"members"===n.name?yield n.toCollection().modify((e=>{r.has(e.realmId)||e.userId&&e.userId!==i.userId||(e.userId=t.userId)})):"roles"===n.name||("realms"===n.name?yield n.toCollection().modify((e=>{r.has(e.realmId)||void 0!==e.owner&&e.owner!==i.userId||(e.owner=t.userId)})):yield n.toCollection().modify((e=>{e.realmId&&r.has(e.realmId)||(e.owner&&e.owner!==i.userId||(e.owner=t.userId),e.realmId&&e.realmId!==i.userId||(e.realmId=t.userId))})))}))}(m,d,null==h?void 0:h.realms)})))),be(o)}const[w,S,x]=yield e.transaction("r",e.tables,(()=>s(this,void 0,void 0,(function*(){const t=yield e.getPersistedSyncState(),r=yield e.$baseRevs.toArray();let i=yield k(p);if(be(o),v){const e=[...(null==h?void 0:h.realms)||[],...(null==h?void 0:h.inviteRealms)||[]],a=yield function(e,t,n,r){return s(this,void 0,void 0,(function*(){const o=`upload-${E(8)}`;if(t.isLoggedIn&&e.length>0){const i=new Set(r||[]);return(yield Promise.all(e.map((e=>s(this,void 0,void 0,(function*(){const{extractKey:r}=e.core.schema.primaryKey;if(!r)return{table:e.name,muts:[]};const s=n[e.name],a=(null==s?void 0:s.generatedGlobalId)?e.filter((e=>{return r(e),!i.has(e.realmId||"")&&(t=r(e),!(n=null==s?void 0:s.idPrefix)||"string"==typeof t&&t.startsWith(n));var t,n})):e.filter((e=>{const t=r(e);return!i.has(e.realmId||"")&&T(t)})),c=yield a.toArray();if(c.length>0){const n={type:"upsert",values:c,keys:c.map(r),userId:t.userId,txid:o};return{table:e.name,muts:[n]}}return{table:e.name,muts:[]}})))))).filter((e=>e.muts.length>0))}return[]}))}(m,d,n,e);return be(o),i=i.concat(a),[i,t,r]}return[i,t,r]})))),I=w.some((e=>e.muts.some((e=>e.keys.length>0))));if(a)return console.debug("Sync is needed:",I),I;if("push"===c&&!I)return!1;const C=we(w,null==S?void 0:S.latestRevisions),j=(null==S?void 0:S.clientIdentity)||O(16);be(o);const A=yield ve(w,S,x,e,u,n,j,d);console.debug("Sync response",A);const U=yield e.transaction("rw",e.tables,(t=>s(this,void 0,void 0,(function*(){t.idbtrans.disableChangeTracking=!0,t.idbtrans.disableAccessControl=!0;for(const e of Object.keys(n))A.schema[e]&&(n[e]=A.schema[e]);yield e.$syncState.put(n,"schema");const r=yield k(p,0,{since:C});for(const t of p){const n=_(t.name);if(r.some((e=>e.table===n&&e.muts.length>0))){if(C[n]){const r=C[n]||0;yield Promise.all([t.where("rev").belowOrEqual(r).delete(),e.$baseRevs.where(":id").between([n,-1/0],[n,r+1],!0,!0).reverse().offset(1).delete()])}}else yield Promise.all([t.clear(),e.$baseRevs.where({tableName:n}).delete()])}we(r,C),yield _e(e,n,C,A.serverRevision);const o=yield e.getPersistedSyncState();yield function(e,t,n){return s(this,void 0,void 0,(function*(){const r=new Set,o=new Set,s=n?n.realms:[],i=n?n.inviteRealms:[],a=new Set(t.realms),c=new Set(t.realms.concat(t.inviteRealms));for(const e of s)a.has(e)||(o.add(e),c.has(e)||r.add(e));for(const e of i.concat(s))c.has(e)||r.add(e);if(r.size>0||o.size>0){const t=b(e);for(const e of t){let t=["realms","members","roles"].includes(e.name)?r:o;0!==t.size&&(e.schema.indexes.some((e=>"realmId"===e.keyPath||Array.isArray(e.keyPath)&&"realmId"===e.keyPath[0]))?yield e.where("realmId").anyOf([...t]).delete():yield e.filter((e=>!!(null==e?void 0:e.realmId)&&t.has(e.realmId))).delete())}}}))}(e,A,o);const i=o||{syncedTables:[],latestRevisions:{},realms:[],inviteRealms:[],clientIdentity:j};y&&(i.syncedTables=f.map((e=>e.name)).concat(m.map((e=>e.name)))),i.latestRevisions=C,i.remoteDbId=A.dbId,i.initiallySynced=!0,i.realms=A.realms,i.inviteRealms=A.inviteRealms,i.serverRevision=A.serverRevision,i.timestamp=new Date,delete i.error;const a=Ie(A.changes,r);return yield ke(a,e),e.$syncState.put(i,"syncState"),0===r.length}))));return U?(console.debug("SYNC DONE",{isInitialSync:r}),e.syncCompleteEvent.next(),!1):(console.debug("MORE SYNC NEEDED. Go for it again!"),yield xe(e,t,n,{isInitialSync:r,cancelToken:o}))}))}function Ie(e,t){const n={};$(n,e);const r={};return $(r,t),function(e,t){var n,r,o;for(const[s,i]of Object.entries(t))for(const[t,a]of Object.entries(i))switch(a.type){case"ups":{const r=null===(n=e[s])||void 0===n?void 0:n[t];if(r)switch(r.type){case"ups":case"upd":delete e[s][t]}}break;case"del":null===(r=e[s])||void 0===r||delete r[t];break;case"upd":{const n=null===(o=e[s])||void 0===o?void 0:o[t];if(n)switch(n.type){case"ups":for(const[e,t]of Object.entries(a.mod))C(n.val,e,t);break;case"del":break;case"upd":for(const e of Object.keys(a.mod))delete n.mod[e]}break}}}(n,r),function(e,t=""){t||(t=O(16));const n={};for(const[t,r]of Object.entries(e))for(const[e,o]of Object.entries(r)){const r=n[t]||(n[t]={});(r[o.type]||(r[o.type]=[])).push(Object.assign({key:e},o))}const r=[];for(const[e,o]of Object.entries(n)){const n={table:e,muts:[]};for(const[e,r]of Object.entries(o))switch(e){case"ups":{const e={type:"upsert",keys:r.map((e=>e.key)),values:r.map((e=>e.val)),txid:t};n.muts.push(e);break}case"upd":{const e={type:"update",keys:r.map((e=>e.key)),changeSpecs:r.map((e=>e.mod)),txid:t};n.muts.push(e);break}case"del":{const e={type:"delete",keys:r.map((e=>e.key)),txid:t};n.muts.push(e);break}}r.push(n)}return r}(n)}function Ce(e){const r=[],i=new t.BehaviorSubject(!0),a=new t.BehaviorSubject(null);let c=!1,l=0,u=[0,0,0,0,0,0,0,0,0,Date.now()];return a.subscribe((()=>s(this,void 0,void 0,(function*(){if(!c&&r.length>0){c=!0,u.shift(),u.push(Date.now()),i.next(!1);try{yield function(){var t,i,a,c,l,u;return s(this,void 0,void 0,(function*(){for(;r.length>0;){const d=r.shift();try{yield e.cloud.syncState.pipe(n.filter((({phase:e})=>"in-sync"===e||"error"===e)),n.take(1)).toPromise(),console.debug("processing msg",d);const r=e.cloud.persistedSyncState.value;if(!d)continue;switch(d.type){case"token-expired":console.debug("WebSocket observable: Token expired. Refreshing token...");const n=e.cloud.currentUser.value,f=yield B(e.cloud.options.databaseUrl,n);yield e.table("$logins").update(n.userId,{accessToken:f.accessToken,accessTokenExpiration:f.accessTokenExpiration});break;case"realm-added":(null===(t=null==r?void 0:r.realms)||void 0===t?void 0:t.includes(d.realm))||(null===(i=null==r?void 0:r.inviteRealms)||void 0===i?void 0:i.includes(d.realm))||(yield e.cloud.sync({purpose:"pull",wait:!0}));break;case"realm-accepted":(null===(a=null==r?void 0:r.realms)||void 0===a?void 0:a.includes(d.realm))||(yield e.cloud.sync({purpose:"pull",wait:!0}));break;case"realm-removed":((null===(c=null==r?void 0:r.realms)||void 0===c?void 0:c.includes(d.realm))||(null===(l=null==r?void 0:r.inviteRealms)||void 0===l?void 0:l.includes(d.realm)))&&(yield e.cloud.sync({purpose:"pull",wait:!0}));break;case"realms-changed":yield e.cloud.sync({purpose:"pull",wait:!0});break;case"changes":if(console.debug("changes"),"error"===(null===(u=e.cloud.syncState.value)||void 0===u?void 0:u.phase)){h(e,"pull");break}yield e.transaction("rw",e.dx.tables,(t=>s(this,void 0,void 0,(function*(){t.idbtrans.disableChangeTracking=!0,t.idbtrans.disableAccessControl=!0;const[n,r,s]=yield Promise.all([e.getSchema(),e.getPersistedSyncState(),e.getCurrentUser()]);if(console.debug("ws message queue: in transaction"),!r||!n||!s)return void console.debug("required vars not present",{syncState:r,schema:n,currentUser:s});if(d.baseRev!==r.serverRevision)return console.debug(`baseRev (${d.baseRev}) differs from our serverRevision in syncState (${r.serverRevision})`),void("string"!=typeof d.baseRev||"bigint"!=typeof r.serverRevision&&"object"!=typeof r.serverRevision||h(e,"pull"));const i=yield o.default.waitFor(v(r));if(console.debug("ourRealmSetHash",i),i!==d.realmSetHash)return console.debug("not same realmSetHash",d.realmSetHash),void h(e,"pull");let a=[];if(s.isLoggedIn){const t=b(e).map((t=>e.table(g(t.name))));a=yield k(t),console.debug("msg queue: client changes",a)}if(d.changes.length>0){const t=Ie(d.changes,a);console.debug("applying filtered server changes",t),yield ke(t,e)}r.latestRevisions=we(a,r.latestRevisions),r.serverRevision=d.newRev,console.debug("Updating baseRefs",r.latestRevisions),yield _e(e,n,r.latestRevisions,d.newRev),console.debug("Updating syncState",r),yield e.$syncState.put(r,"syncState")})))),console.debug("msg queue: done with rw transaction")}}catch(e){console.error("Error in msg queue",e)}}}))}()}finally{u[u.length-1]-u[0]<1e4&&(Date.now()-l<5e3?(console.warn("Slowing down websocket loop for one minute"),l=Date.now()+6e4,yield new Promise((e=>setTimeout(e,6e4)))):(console.warn("Slowing down websocket loop for 10 seconds"),l=Date.now()+1e4,yield new Promise((e=>setTimeout(e,1e4))))),c=!1,i.next(!0)}}})))),{enqueue:function(e){r.push(e),a.next(null)},readyToServe:i}}const Oe=new WeakMap,je={members:"@id, [userId+realmId], [email+realmId], realmId",roles:"[realmId+name]",realms:"@realmId",$jobs:"",$syncState:"",$baseRevs:"[tableName+clientRev]",$logins:"claims.sub, lastLogin"};let Te=0;function Ae(e){"vip"in e&&(e=e.vip);let n=Oe.get(e.cloud);if(!n){const r=new t.Subject;let o=new d(`syncstatechanged-${e.name}`),s=new d(`synccomplete-${e.name}`);r.id=++Te;let a=!1;n={get name(){return e.name},close:()=>e.close(),transaction:e.transaction.bind(e),table:e.table.bind(e),get tables(){return e.tables},cloud:e.cloud,get $jobs(){return e.table("$jobs")},get $syncState(){return e.table("$syncState")},get $baseRevs(){return e.table("$baseRevs")},get $logins(){return e.table("$logins")},get realms(){return e.realms},get members(){return e.members},get roles(){return e.roles},get initiallySynced(){return a},localSyncEvent:r,get syncStateChangedEvent(){return o},get syncCompleteEvent(){return s},dx:e};const c={getCurrentUser:()=>n.$logins.toArray().then((e=>e.find((e=>e.isLoggedIn))||i)),getPersistedSyncState:()=>n.$syncState.get("syncState"),getSchema:()=>n.$syncState.get("schema").then((e=>{if(e)for(const r of n.tables)r.schema.primKey&&r.schema.primKey.keyPath&&e[r.name]&&(e[r.name].primaryKey="string"==typeof(t=r.schema.primKey.keyPath)?t:t?"["+[].join.call(t,"+")+"]":"");var t;return e})),getOptions:()=>n.$syncState.get("options"),setInitiallySynced(e){a=e},reconfigure(){o=new d(`syncstatechanged-${e.name}`),s=new d(`synccomplete-${e.name}`)}};Object.assign(n,c),n.messageConsumer=Ce(n),Oe.set(e.cloud,n)}return n}const Ue=new WeakMap;class $e{constructor(e,t){Ue.set(this,e),Object.assign(this,t)}static load(e,t){return e.table("$logins").get(t).then((n=>new $e(e,n||{userId:t,claims:{sub:t},lastLogin:new Date(0)})))}save(){return s(this,void 0,void 0,(function*(){Ue.get(this).table("$logins").put(this)}))}}function Pe(e,t){return s(this,void 0,void 0,(function*(){if((yield e.getCurrentUser()).isLoggedIn){if(t){if(t.email&&e.cloud.currentUser.value.email!==t.email)throw new Error("Must logout before changing user");if(t.userId&&e.cloud.currentUserId!==t.userId)throw new Error("Must logout before changing user")}return!1}const n=new $e(e,{claims:{},lastLogin:new Date(0)});yield L(e.cloud.options.databaseUrl,n,e.cloud.options.fetchTokens||function(e){const{userInteraction:t}=e.cloud;return function({public_key:n,hints:r}){var o;return s(this,void 0,void 0,(function*(){let s;const i=null===(o=e.cloud.options)||void 0===o?void 0:o.databaseUrl;if(!i)throw new Error("No database URL given.");s="demo"===(null==r?void 0:r.grant_type)?{demo_user:yield N(t,"Enter a demo user email",(null==r?void 0:r.email)||(null==r?void 0:r.userId)),grant_type:"demo",scopes:["ACCESS_DB"],public_key:n}:{email:yield N(t,"Enter email address",null==r?void 0:r.email),grant_type:"otp",scopes:["ACCESS_DB"],public_key:n};const a=yield fetch(`${i}/token`,{body:JSON.stringify(s),method:"post",headers:{"Content-Type":"application/json",mode:"cors"}});if(200!==a.status){const e=yield a.text();throw yield D(t,"Token request failed",{type:"error",messageCode:"GENERIC_ERROR",message:e,messageParams:{}}).catch((()=>{})),new he(a,e)}const c=yield a.json();if("tokens"===c.type)return c;if("otp"===s.grant_type){if("otp-sent"!==c.type)throw new Error(`Unexpected response from ${i}/token`);const e=yield R(t,s.email);s.otp=e||"",s.otp_id=c.otp_id;let n=yield fetch(`${i}/token`,{body:JSON.stringify(s),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"});for(;401===n.status;){const e=yield n.text();s.otp=yield R(t,s.email,{type:"error",messageCode:"INVALID_OTP",message:e,messageParams:{}}),n=yield fetch(`${i}/token`,{body:JSON.stringify(s),method:"post",headers:{"Content-Type":"application/json"},mode:"cors"})}if(200!==n.status){const e=yield n.text();throw yield D(t,"OTP Authentication Failed",{type:"error",messageCode:"GENERIC_ERROR",message:e,messageParams:{}}).catch((()=>{})),new he(n,e)}return yield n.json()}throw new Error(`Unexpected response from ${i}/token`)}))}}(e),e.cloud.userInteraction,t);try{yield n.save()}catch(e){try{"DataCloneError"===e.name&&(console.debug("Login context property names:",Object.keys(n)),console.debug("Login context:",n),console.debug("Login context JSON:",JSON.stringify(n)))}catch(e){}throw e}return yield function(e,t){return s(this,void 0,void 0,(function*(){if(t.userId===e.cloud.currentUserId)return;const n=e.table("$logins");yield e.transaction("rw",n,(e=>s(this,void 0,void 0,(function*(){const e=yield n.toArray();yield Promise.all(e.filter((e=>e.userId!==t.userId&&e.isLoggedIn)).map((e=>(e.isLoggedIn=!1,n.put(e))))),t.isLoggedIn=!0,t.lastLogin=new Date,yield t.save(),console.debug("Saved new user",t.email)})))),yield new Promise((n=>{if(e.cloud.currentUserId===t.userId)n(null);else{const r=e.cloud.currentUser.subscribe((e=>{e.userId===t.userId&&(r.unsubscribe(),n(null))}))}}))}))}(e,n),h(e,"pull"),!0}))}const De="undefined"!=typeof InstallTrigger,Ne="undefined"!=typeof navigator&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\/|Edge\//.test(navigator.userAgent),Re=Ne?[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]:NaN,Le=Ne&&Re<=605||De;const Be="undefined"!=typeof self&&"clients"in self&&!self.document;function We(){throw new o.default.SchemaError("Version increment needed to allow dexie-cloud change tracking")}const{toString:Me}={};function Fe(e){return Me.call(e).slice(8,-1)}function Ke(e,t){var n;return"delete"===t.type?t.keys:(null===(n=t.keys)||void 0===n?void 0:n.slice())||t.values.map(e.extractKey)}const He=/b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|x|y|z/i;let Ve=0;function qe(e,t){const n=new Uint8Array(18),r=new Uint8Array(n.buffer,0,6),o=Date.now();Ve>=o?++Ve:Ve=o,r[0]=Ve/1099511627776,r[1]=Ve/4294967296,r[2]=Ve/16777216,r[3]=Ve/65536,r[4]=Ve/256,r[5]=Ve;const s=new Uint8Array(n.buffer,6);crypto.getRandomValues(s);return e+Y(new Uint8Array(n.buffer))+(t||"")}function Je(e){return{stack:"dbcore",name:"idGenerationMiddleware",level:1,create:t=>Object.assign(Object.assign({},t),{table:n=>{const r=t.table(n);return Object.assign(Object.assign({},r),{mutate:t=>{var s,i;if(t.trans.disableChangeTracking)return r.mutate(t);if("add"===t.type||"put"===t.type){const a=null===(s=e.cloud.schema)||void 0===s?void 0:s[n];if(null==a?void 0:a.generatedGlobalId){if((null===(i=e.cloud.options)||void 0===i?void 0:i.databaseUrl)&&!e.initiallySynced){const e=Ke(r.schema.primaryKey,t);return r.getMany({keys:e,trans:t.trans,cache:"immutable"}).then((n=>{if(n.length<e.length)throw new Error("Unable to create new objects without an initial sync having been performed.");return r.mutate(t)}))}return function(t,s){let i=null;const a=Ke(r.schema.primaryKey,t);return a.forEach(((c,l)=>{if(void 0===c){const n=t.values[l].realmId||e.cloud.currentUserId,c=n.substr(n.length-3);a[l]=qe(s,c),r.schema.primaryKey.outbound||(i||(i=t.values.slice()),i[l]=o.default.deepClone(i[l]),o.default.setByKeyPath(i[l],r.schema.primaryKey.keyPath,a[l]))}else if("string"!=typeof c||!c.startsWith(s)&&!c.startsWith("#"+s))throw new o.default.ConstraintError(`The ID "${c}" is not valid for table "${n}". Primary '@' keys requires the key to be prefixed with "${s}" (or "#${s}).\nIf you want to generate IDs programmatically, remove '@' from the schema to get rid of this constraint. Dexie Cloud supports custom IDs as long as they are random and globally unique.`)})),r.mutate(Object.assign(Object.assign({},t),{keys:a,values:i||t.values}))}(t,a.idPrefix)}if(null==a?void 0:a.markedForSync){Ke(r.schema.primaryKey,t).forEach(((e,t)=>{if(!T(e)){const t=Array.isArray(e)?e.map(Fe).join(","):Fe(e);throw new o.default.ConstraintError(`Invalid primary key type ${t} for table ${n}. Tables marked for sync has primary keys of type string or Array of string (and optional numbers)`)}}))}}return r.mutate(t)}})}})}}let ze=0;function Ge(e,t){return function(n){const{readers:r,writers:o}=n.trans[t]||(n.trans[t]={writers:[],readers:[]}),s=o.length,i=(s>0?o[s-1].then((()=>e(n)),(()=>e(n))):e(n)).finally((()=>r.splice(r.indexOf(i))));return r.push(i),i}}function Qe(e,t){return function(n){const{readers:r,writers:o}=n.trans[t]||(n.trans[t]={writers:[],readers:[]});let s=(o.length>0?o[o.length-1].then((()=>e(n)),(()=>e(n))):r.length>0?(i=r,new Promise((e=>{0===i.length&&e([]);let t=i.length;const n=new Array(t);i.forEach(((r,o)=>Promise.resolve(r).then((e=>n[o]={status:"fulfilled",value:e}),(e=>n[o]={status:"rejected",reason:e})).then((()=>--t||e(n)))))}))).then((()=>e(n))):e(n)).finally((()=>o.shift()));var i;return o.push(s),s}}const Ye=new t.BehaviorSubject(new Set);function Ze({currentUserObservable:e,db:t}){return{stack:"dbcore",name:"MutationTrackingMiddleware",level:1,create:n=>{const r=n.schema.tables.filter((e=>!/^\$/.test(e.name)));let o;try{o=new Map(r.map((e=>[e.name,n.table(`$${e.name}_mutations`)])))}catch(e){We()}return Object.assign(Object.assign({},n),{transaction:(r,o)=>{let s;if("readwrite"===o){const e=r.filter((e=>{var n,r;return null===(r=null===(n=t.cloud.schema)||void 0===n?void 0:n[e])||void 0===r?void 0:r.markedForSync})).map((e=>g(e)));s=n.transaction([...r,...e],o)}else s=n.transaction(r,o);if("readwrite"===o){s.txid=E(16),s.opCount=0,s.currentUser=e.value,Ye.value.add(s),Ye.next(Ye.value);const n=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",n),s.removeEventListener("abort",n),Ye.value.delete(s),Ye.next(Ye.value)},r=()=>{var e;s.mutationsAdded&&(null===(e=t.cloud.options)||void 0===e?void 0:e.databaseUrl)&&(t.cloud.usingServiceWorker?(console.debug("registering sync event"),p(t,"push")):t.localSyncEvent.next({purpose:"push"})),n()};s.addEventListener("complete",r),s.addEventListener("error",n),s.addEventListener("abort",n)}return s},table:e=>{const r=n.table(e);if(/^\$/.test(e))return e.endsWith("_mutations")?Object.assign(Object.assign({},r),{mutate:e=>("add"!==e.type&&"put"!==e.type||(e.trans.mutationsAdded=!0),r.mutate(e))}):"$logins"===e?Object.assign(Object.assign({},r),{mutate:e=>r.mutate(e).then((t=>(e.trans.mutationsAdded=!0,t))).catch((e=>(console.debug("Failed mutation $logins",e),Promise.reject(e))))}):r;const{schema:s}=r,i=o.get(e);return function(e){const t="$lock"+ ++ze;return Object.assign(Object.assign({},e),{count:Ge(e.count,t),get:Ge(e.get,t),getMany:Ge(e.getMany,t),openCursor:Ge(e.openCursor,t),query:Ge(e.query,t),mutate:Qe(e.mutate,t)})}(Object.assign(Object.assign({},r),{mutate:n=>{var o,i,c;const l=n.trans;return l.txid?l.disableChangeTracking?r.mutate(n):(null===(i=null===(o=t.cloud.schema)||void 0===o?void 0:o[e])||void 0===i?void 0:i.markedForSync)&&(null===(c=l.currentUser)||void 0===c?void 0:c.isLoggedIn)?"deleteRange"===n.type?r.query({query:{range:n.range,index:s.primaryKey},trans:n.trans,values:!1}).then((e=>a({type:"delete",keys:e.result,trans:n.trans,criteria:{index:null,range:n.range}}))):a(n):r.mutate(n):r.mutate(n)}}));function a(e){const t=e.trans;t.mutationsAdded=!0;const{txid:n,currentUser:{userId:o}}=t,{type:s}=e,a=++t.opCount;return r.mutate(e).then((r=>{const{numFailures:c,failures:l}=r;let u="delete"===s?e.keys:r.results,d="values"in e?e.values:[],f="updates"in e&&e.updates;c&&(u=u.filter(((e,t)=>!l[t])),d=d.filter(((e,t)=>!l[t])));const p=Date.now(),h="delete"===e.type?{type:"delete",ts:p,opNo:a,keys:u,criteria:e.criteria,txid:n,userId:o}:"add"===e.type?{type:"insert",ts:p,opNo:a,keys:u,txid:n,userId:o,values:d}:e.criteria&&e.changeSpec?{type:"modify",ts:p,opNo:a,keys:u,criteria:e.criteria,changeSpec:e.changeSpec,txid:n,userId:o}:f?{type:"update",ts:p,opNo:a,keys:f.keys,changeSpecs:f.changeSpecs,txid:n,userId:o}:{type:"upsert",ts:p,opNo:a,keys:u,values:d,txid:n,userId:o};return u.length>0||"criteria"in e&&e.criteria?i.mutate({type:"add",trans:t,values:[h]}).then((()=>r)):r}))}}})}}}function Xe(e,t){return function(n,r){const o=Object.assign(Object.assign({},je),n);Object.keys(je).forEach((e=>{const t=o[e];if(null==t)throw new Error(`Cannot delete table ${e} as it is needed for access control of Dexie Cloud`);if(!n[e])return;const r=t.split(",").map((e=>e.trim())),s=je[e].split(",").map((e=>e.trim())),i=new Set(r.map((e=>e.replace(/([&*]|\+\+)/g,""))));if(r[0]!==s[0])throw new Error(`Cannot override primary key of table ${e}. Please declare it as {${e}: ${JSON.stringify(je[e])}`);for(let t=1;t<s.length;++t){const n=s[t];i.has(n.replace(/([&*]|\+\+)/g,""))||(o[e]+=`,${n}`)}}));const s=t.cloud.schema||(t.cloud.schema={}),i=new Set;Object.keys(o).forEach((e=>{const t=o[e],n=s[e]||(s[e]={});null!=t?(/^\@/.test(t)&&(o[e]=o[e].substr(1),n.generatedGlobalId=!0,n.idPrefix=function(e,t){let n=e[0].toLocaleLowerCase();for(let t=1,o=e.length;t<o&&n.length<3;++t)(He.test(e[t])||(r=e[t])>="A"&&r<="Z")&&(n+=e[t].toLowerCase());for(var r,o,s;t.has(n);){if(/\d/g.test(n)){if(n=n.substr(0,n.length-1)+(n[n.length-1]+1),!(n.length>3))continue;n=n.substr(0,3)}else if(n.length<3){n+="2";continue}let e=1,r=n;for(;t.has(r)&&e<8;)o=n,r=(1&(s=e)?o[0].toUpperCase():o[0].toLowerCase())+(2&s?o[1].toUpperCase():o[1].toLowerCase())+(4&s?o[2].toUpperCase():o[2].toLowerCase()),++e;if(e<8)n=r;else{let e=n.charCodeAt(2)+1&127;n=n.substr(0,2)+String.fromCharCode(e)}}return n}(e,i),i.add(n.idPrefix)),/^\$/.test(e)||(o[`$${e}_mutations`]="++rev",n.markedForSync=!0),n.deleted&&(n.deleted=!1)):(n.deleted=!0,n.markedForSync=!1,o[`$${e}_mutations`]=null)}));return e.call(this,o,r)}}const et=new t.BehaviorSubject(!0),tt=new t.BehaviorSubject(!0);et.pipe(n.switchMap((e=>e?t.of(!0):t.of(!1).pipe(n.delay(2e4)))),n.distinctUntilChanged()).subscribe(tt);const nt="undefined"!=typeof document?t.fromEvent(document,"visibilitychange"):t.of({}),rt=nt.pipe(n.filter((()=>"hidden"===document.visibilityState))),ot=nt.pipe(n.filter((()=>"visible"===document.visibilityState))),st="undefined"!=typeof window?t.merge(ot,t.fromEvent(window,"mousedown"),t.fromEvent(window,"mousemove"),t.fromEvent(window,"keydown"),t.fromEvent(window,"wheel"),t.fromEvent(window,"touchmove")):t.of({});"undefined"!=typeof document&&t.merge(t.of(!0),rt,st).pipe(n.map((()=>"visible"===document.visibilityState)),n.tap((e=>{et.value!==e&&et.next(e)})),n.switchMap((e=>e?t.of(0).pipe(n.delay(16e4),n.tap((()=>et.next(!1)))):t.of(0)))).subscribe((()=>{}));class it extends Error{constructor(){super(...arguments),this.name="TokenExpiredError"}}class at extends t.Observable{constructor(e,t,n,r,o,s,i,a){super((c=>new lt(e,t,n,r,i,a,c,o,s)))}}let ct=0;class lt extends t.Subscription{constructor(e,t,n,r,o,s,i,a,c){super((()=>this.teardown())),this.id=++ct,this.reconnecting=!1,console.debug("New WebSocket Connection",this.id,o?"authorized":"unauthorized"),this.databaseUrl=e,this.rev=t,this.realmSetHash=n,this.clientIdentity=r,this.token=o,this.tokenExpiration=s,this.subscriber=i,this.lastUserActivity=new Date,this.messageProducer=a,this.messageProducerSubscription=null,this.webSocketStatus=c,this.connect()}teardown(){console.debug("Teardown WebSocket Connection",this.id),this.disconnect()}disconnect(){if(this.webSocketStatus.next("disconnected"),this.pinger&&(clearInterval(this.pinger),this.pinger=null),this.ws)try{this.ws.close()}catch(e){}this.ws=null,this.messageProducerSubscription&&(this.messageProducerSubscription.unsubscribe(),this.messageProducerSubscription=null)}reconnect(){if(!this.reconnecting){this.reconnecting=!0;try{this.disconnect()}catch(e){}this.connect().catch((()=>{})).then((()=>this.reconnecting=!1))}}connect(){return s(this,void 0,void 0,(function*(){if(this.lastServerActivity=new Date,this.pauseUntil&&this.pauseUntil>new Date)return void console.debug("WS not reconnecting just yet",{id:this.id,pauseUntil:this.pauseUntil});if(this.ws)throw new Error("Called connect() when a connection is already open");if(!this.databaseUrl)throw new Error("Cannot connect without a database URL");if(this.closed)return;if(this.tokenExpiration&&this.tokenExpiration<new Date)return void this.subscriber.error(new it);this.webSocketStatus.next("connecting"),this.pinger=setInterval((()=>s(this,void 0,void 0,(function*(){if(this.closed)return console.debug("pinger check",this.id,"CLOSED."),void this.teardown();if(this.ws)try{this.ws.send(JSON.stringify({type:"ping"})),setTimeout((()=>{if(console.debug("pinger setTimeout",this.id,this.pinger?"alive":"dead"),this.pinger)return this.closed?(console.debug("pinger setTimeout",this.id,"subscription is closed"),void this.teardown()):void(this.lastServerActivity<new Date(Date.now()-2e4)?(console.debug("pinger: server is inactive"),console.debug("pinger reconnecting"),this.reconnect()):console.debug("pinger: server still active"))}),2e4)}catch(e){console.debug("pinger catch error",this.id,"reconnecting"),this.reconnect()}else console.debug("pinger",this.id,"reconnecting"),this.reconnect()}))),3e4);const e=new URL(this.databaseUrl);e.protocol="http:"===e.protocol?"ws":"wss";const t=new URLSearchParams;if(this.subscriber.closed)return;t.set("v","2"),t.set("rev",this.rev),t.set("realmsHash",this.realmSetHash),t.set("clientId",this.clientIdentity),this.token&&t.set("token",this.token),console.debug("dexie-cloud WebSocket create");const n=this.ws=new WebSocket(`${e}/changes?${t}`);n.onclose=e=>{this.pinger&&(console.debug("dexie-cloud WebSocket onclosed",this.id),this.reconnect())},n.onmessage=e=>{if(this.pinger){console.debug("dexie-cloud WebSocket onmessage",e.data),this.lastServerActivity=new Date;try{const t=fe.parse(e.data);if("error"===t.type)throw new Error(`Error message from dexie-cloud: ${t.error}`);"rev"===t.type&&(this.rev=t.rev),"pong"!==t.type&&this.subscriber.next(t)}catch(e){this.subscriber.error(e)}}};try{let e=!1;yield new Promise(((t,r)=>{n.onopen=n=>{console.debug("dexie-cloud WebSocket onopen"),e=!0,t(null)},n.onerror=t=>{if(e)this.reconnect();else{const e=t.error||new Error("WebSocket Error");this.subscriber.error(e),this.webSocketStatus.next("error"),r(e)}}})),this.messageProducerSubscription=this.messageProducer.subscribe((e=>{var t;this.closed||("ready"===e.type&&"connected"!==this.webSocketStatus.value&&this.webSocketStatus.next("connected"),null===(t=this.ws)||void 0===t||t.send(fe.stringify(e)))}))}catch(e){this.pauseUntil=new Date(Date.now()+6e4)}}))}}function ut(e){return s(this,void 0,void 0,(function*(){var t;console.error("WebSocket observable: error but revive when user does some active thing...",e),yield(t=3e3,new Promise((e=>setTimeout(e,t)))),console.debug("waiting for someone to do something"),yield st.pipe(n.take(1)).toPromise(),console.debug("someone did something!")}))}function dt(e){var t;return s(this,void 0,void 0,(function*(){return!(!(null===(t=e.cloud.options)||void 0===t?void 0:t.databaseUrl)||!e.cloud.schema)&&(yield Ee(e,e.cloud.options,e.cloud.schema,{justCheckIfNeeded:!0}))}))}const ft=E(16);const pt=new WeakMap;function ht(r,o,i,a){const c=pt.get(r);if(c){if(c.pull||"push"===(null==a?void 0:a.purpose))return console.debug("syncIfPossible(): returning the ongoing sync promise."),c.promise;{let e=!1;const t=r.cloud.syncState.subscribe((t=>{"pulling"===t.phase&&(e=!0)}));return c.promise.then((()=>{t.unsubscribe()})).catch((e=>(t.unsubscribe(),Promise.reject(e)))).then((()=>{if(!e)return ht(r,o,i,a)}))}}const l=function(){return s(this,void 0,void 0,(function*(){try{if(r.cloud.isServiceWorkerDB)yield Ee(r,o,i,a);else{if(r.cloud.usingServiceWorker)throw x(!1),new Error("Internal _syncIfPossible() - invalid precondition - should not have been called.");yield function(r,o,i,a,{awaitRemoteJob:c}={}){return s(this,void 0,void 0,(function*(){const l=r.table(i);if(yield function a(){return s(this,void 0,void 0,(function*(){if(yield r.transaction("rw!",i,(()=>s(this,void 0,void 0,(function*(){const e=yield l.get(o);return e?e.heartbeat.getTime()<Date.now()-6e4&&(console.warn(`Latest ${o} worker seem to have died.\n`,"The dead job started:",e.started,"\n","Last heart beat was:",e.heartbeat,"\n","We're now taking over!"),yield l.put({nodeId:ft,started:new Date,heartbeat:new Date},o),!0):(yield l.add({nodeId:ft,started:new Date,heartbeat:new Date},o),!0)})))))return!0;if(c)try{const r=t.from(e.liveQuery((()=>l.get(o)))).pipe(n.timeout(6e4),n.filter((e=>!e)));return yield r.toPromise(),!1}catch(e){if("TimeoutError"!==e.name)throw e;return yield a()}return!1}))}()){const e=setInterval((()=>{l.update(o,(e=>{e.nodeId===ft&&(e.heartbeat=new Date)}))}),1e3);try{return yield a()}finally{clearInterval(e),yield r.transaction("rw!",i,(()=>s(this,void 0,void 0,(function*(){const e=yield l.get(o);e&&e.nodeId===ft&&(yield l.delete(o))}))))}}}))}(r,"currentSyncWorker","$jobs",(()=>Ee(r,o,i,a)))}pt.delete(r),console.debug("Done sync")}catch(e){throw pt.delete(r),console.error("Failed to sync client changes",e),e}}))}();return pt.set(r,{promise:l,pull:"push"!==(null==a?void 0:a.purpose)}),l}function yt(e,t,n){let r=null,o={cancelled:!1};function s(r,a=1){setTimeout((()=>{ht(e,t,n,{cancelToken:o,retryImmediatelyOnFetchError:!0,purpose:r}).catch((e=>{console.error("error in syncIfPossible()",e),o.cancelled?i():a<3&&setTimeout((()=>s(r,a+1)),6e4*[0,5,15][a])}))}),0)}const i=()=>{console.debug("Stopping LocalSyncWorker"),o.cancelled=!0,r&&r.unsubscribe()};return{start:()=>{console.debug("Starting LocalSyncWorker",e.localSyncEvent.id),r=e.localSyncEvent.subscribe((({purpose:e})=>{try{s(e||"pull")}catch(e){console.error("What-the....",e)}}))},stop:i}}function mt(e,t){if(e&&t&&t.unsyncedTables)for(const n of t.unsyncedTables)e[n]&&(e[n].markedForSync=!1)}var vt,bt,gt,_t,wt,St={},kt=[],Et=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function xt(e,t){for(var n in t)e[n]=t[n];return e}function It(e){var t=e.parentNode;t&&t.removeChild(e)}function Ct(e,t,n){var r,o,s,i={};for(s in t)"key"==s?r=t[s]:"ref"==s?o=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?vt.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(s in e.defaultProps)void 0===i[s]&&(i[s]=e.defaultProps[s]);return Ot(e,i,r,o,null)}function Ot(e,t,n,r,o){var s={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++gt:o};return null==o&&null!=bt.vnode&&bt.vnode(s),s}function jt(e){return e.children}function Tt(e,t){this.props=e,this.context=t}function At(e,t){if(null==t)return e.__?At(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?At(e):null}function Ut(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Ut(e)}}function $t(e){(!e.__d&&(e.__d=!0)&&_t.push(e)&&!Pt.__r++||wt!==bt.debounceRendering)&&((wt=bt.debounceRendering)||setTimeout)(Pt)}function Pt(){for(var e;Pt.__r=_t.length;)e=_t.sort((function(e,t){return e.__v.__b-t.__v.__b})),_t=[],e.some((function(e){var t,n,r,o,s,i;e.__d&&(s=(o=(t=e).__v).__e,(i=t.__P)&&(n=[],(r=xt({},o)).__v=o.__v+1,Ft(i,o,r,t.__n,void 0!==i.ownerSVGElement,null!=o.__h?[s]:null,n,null==s?At(o):s,o.__h),Kt(n,o),o.__e!=s&&Ut(o)))}))}function Dt(e,t,n,r,o,s,i,a,c,l){var u,d,f,p,h,y,m,v=r&&r.__k||kt,b=v.length;for(n.__k=[],u=0;u<t.length;u++)if(null!=(p=n.__k[u]=null==(p=t[u])||"boolean"==typeof p?null:"string"==typeof p||"number"==typeof p||"bigint"==typeof p?Ot(null,p,null,null,p):Array.isArray(p)?Ot(jt,{children:p},null,null,null):p.__b>0?Ot(p.type,p.props,p.key,null,p.__v):p)){if(p.__=n,p.__b=n.__b+1,null===(f=v[u])||f&&p.key==f.key&&p.type===f.type)v[u]=void 0;else for(d=0;d<b;d++){if((f=v[d])&&p.key==f.key&&p.type===f.type){v[d]=void 0;break}f=null}Ft(e,p,f=f||St,o,s,i,a,c,l),h=p.__e,(d=p.ref)&&f.ref!=d&&(m||(m=[]),f.ref&&m.push(f.ref,null,p),m.push(d,p.__c||h,p)),null!=h?(null==y&&(y=h),"function"==typeof p.type&&p.__k===f.__k?p.__d=c=Nt(p,c,e):c=Rt(e,p,f,v,h,c),"function"==typeof n.type&&(n.__d=c)):c&&f.__e==c&&c.parentNode!=e&&(c=At(f))}for(n.__e=y,u=b;u--;)null!=v[u]&&("function"==typeof n.type&&null!=v[u].__e&&v[u].__e==n.__d&&(n.__d=At(r,u+1)),qt(v[u],v[u]));if(m)for(u=0;u<m.length;u++)Vt(m[u],m[++u],m[++u])}function Nt(e,t,n){for(var r,o=e.__k,s=0;o&&s<o.length;s++)(r=o[s])&&(r.__=e,t="function"==typeof r.type?Nt(r,t,n):Rt(n,r,r,o,r.__e,t));return t}function Rt(e,t,n,r,o,s){var i,a,c;if(void 0!==t.__d)i=t.__d,t.__d=void 0;else if(null==n||o!=s||null==o.parentNode)e:if(null==s||s.parentNode!==e)e.appendChild(o),i=null;else{for(a=s,c=0;(a=a.nextSibling)&&c<r.length;c+=2)if(a==o)break e;e.insertBefore(o,s),i=s}return void 0!==i?i:o.nextSibling}function Lt(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||Et.test(t)?n:n+"px"}function Bt(e,t,n,r,o){var s;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Lt(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Lt(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])s=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+s]=n,n?r||e.addEventListener(t,s?Mt:Wt,s):e.removeEventListener(t,s?Mt:Wt,s);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function Wt(e){this.l[e.type+!1](bt.event?bt.event(e):e)}function Mt(e){this.l[e.type+!0](bt.event?bt.event(e):e)}function Ft(e,t,n,r,o,s,i,a,c){var l,u,d,f,p,h,y,m,v,b,g,_,w,S=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,a=t.__e=n.__e,t.__h=null,s=[a]),(l=bt.__b)&&l(t);try{e:if("function"==typeof S){if(m=t.props,v=(l=S.contextType)&&r[l.__c],b=l?v?v.props.value:l.__:r,n.__c?y=(u=t.__c=n.__c).__=u.__E:("prototype"in S&&S.prototype.render?t.__c=u=new S(m,b):(t.__c=u=new Tt(m,b),u.constructor=S,u.render=Jt),v&&v.sub(u),u.props=m,u.state||(u.state={}),u.context=b,u.__n=r,d=u.__d=!0,u.__h=[]),null==u.__s&&(u.__s=u.state),null!=S.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=xt({},u.__s)),xt(u.__s,S.getDerivedStateFromProps(m,u.__s))),f=u.props,p=u.state,d)null==S.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(null==S.getDerivedStateFromProps&&m!==f&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(m,b),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(m,u.__s,b)||t.__v===n.__v){u.props=m,u.state=u.__s,t.__v!==n.__v&&(u.__d=!1),u.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),u.__h.length&&i.push(u);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(m,u.__s,b),null!=u.componentDidUpdate&&u.__h.push((function(){u.componentDidUpdate(f,p,h)}))}if(u.context=b,u.props=m,u.__v=t,u.__P=e,g=bt.__r,_=0,"prototype"in S&&S.prototype.render)u.state=u.__s,u.__d=!1,g&&g(t),l=u.render(u.props,u.state,u.context);else do{u.__d=!1,g&&g(t),l=u.render(u.props,u.state,u.context),u.state=u.__s}while(u.__d&&++_<25);u.state=u.__s,null!=u.getChildContext&&(r=xt(xt({},r),u.getChildContext())),d||null==u.getSnapshotBeforeUpdate||(h=u.getSnapshotBeforeUpdate(f,p)),w=null!=l&&l.type===jt&&null==l.key?l.props.children:l,Dt(e,Array.isArray(w)?w:[w],t,n,r,o,s,i,a,c),u.base=t.__e,t.__h=null,u.__h.length&&i.push(u),y&&(u.__E=u.__=null),u.__e=!1}else null==s&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Ht(n.__e,t,n,r,o,s,i,c);(l=bt.diffed)&&l(t)}catch(e){t.__v=null,(c||null!=s)&&(t.__e=a,t.__h=!!c,s[s.indexOf(a)]=null),bt.__e(e,t,n)}}function Kt(e,t){bt.__c&&bt.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){bt.__e(e,t.__v)}}))}function Ht(e,t,n,r,o,s,i,a){var c,l,u,d=n.props,f=t.props,p=t.type,h=0;if("svg"===p&&(o=!0),null!=s)for(;h<s.length;h++)if((c=s[h])&&"setAttribute"in c==!!p&&(p?c.localName===p:3===c.nodeType)){e=c,s[h]=null;break}if(null==e){if(null===p)return document.createTextNode(f);e=o?document.createElementNS("http://www.w3.org/2000/svg",p):document.createElement(p,f.is&&f),s=null,a=!1}if(null===p)d===f||a&&e.data===f||(e.data=f);else{if(s=s&&vt.call(e.childNodes),l=(d=n.props||St).dangerouslySetInnerHTML,u=f.dangerouslySetInnerHTML,!a){if(null!=s)for(d={},h=0;h<e.attributes.length;h++)d[e.attributes[h].name]=e.attributes[h].value;(u||l)&&(u&&(l&&u.__html==l.__html||u.__html===e.innerHTML)||(e.innerHTML=u&&u.__html||""))}if(function(e,t,n,r,o){var s;for(s in n)"children"===s||"key"===s||s in t||Bt(e,s,null,n[s],r);for(s in t)o&&"function"!=typeof t[s]||"children"===s||"key"===s||"value"===s||"checked"===s||n[s]===t[s]||Bt(e,s,t[s],n[s],r)}(e,f,d,o,a),u)t.__k=[];else if(h=t.props.children,Dt(e,Array.isArray(h)?h:[h],t,n,r,o&&"foreignObject"!==p,s,i,s?s[0]:n.__k&&At(n,0),a),null!=s)for(h=s.length;h--;)null!=s[h]&&It(s[h]);a||("value"in f&&void 0!==(h=f.value)&&(h!==e.value||"progress"===p&&!h||"option"===p&&h!==d.value)&&Bt(e,"value",h,d.value,!1),"checked"in f&&void 0!==(h=f.checked)&&h!==e.checked&&Bt(e,"checked",h,d.checked,!1))}return e}function Vt(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){bt.__e(e,n)}}function qt(e,t,n){var r,o;if(bt.unmount&&bt.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Vt(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){bt.__e(e,t)}r.base=r.__P=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&qt(r[o],t,"function"!=typeof e.type);n||null==e.__e||It(e.__e),e.__e=e.__d=void 0}function Jt(e,t,n){return this.constructor(e,n)}function zt(e,t,n){var r,o,s;bt.__&&bt.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,s=[],Ft(t,e=(!r&&n||t).__k=Ct(jt,null,[e]),o||St,St,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?vt.call(t.childNodes):null,s,!r&&n?n:o?o.__e:t.firstChild,r),Kt(s,e)}vt=kt.slice,bt={__e:function(e,t,n,r){for(var o,s,i;t=t.__;)if((o=t.__c)&&!o.__)try{if((s=o.constructor)&&null!=s.getDerivedStateFromError&&(o.setState(s.getDerivedStateFromError(e)),i=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),i=o.__d),i)return o.__E=o}catch(t){e=t}throw e}},gt=0,Tt.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=xt({},this.state),"function"==typeof e&&(e=e(xt({},n),this.props)),e&&xt(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),$t(this))},Tt.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),$t(this))},Tt.prototype.render=jt,_t=[],Pt.__r=0;const Gt={Error:{color:"red"},Alert:{error:{color:"red"},warning:{color:"yellow"},info:{color:"black"}},Darken:{position:"fixed",top:0,left:0,opacity:.5,backgroundColor:"#000",width:"100vw",height:"100vh",zIndex:150,webkitBackdropFilter:"blur(2px)",backdropFilter:"blur(2px)"},DialogOuter:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:150,alignItems:"center",display:"flex",justifyContent:"center"},DialogInner:{position:"relative",color:"#222",backgroundColor:"#fff",padding:"30px",marginBottom:"2em",maxWidth:"90%",maxHeight:"90%",overflowY:"auto",border:"3px solid #3d3d5d",borderRadius:"8px",boxShadow:"0 0 80px 10px #666",width:"auto"},Input:{height:"35px",width:"17em",borderColor:"#ccf4",outline:"none",fontSize:"17pt",padding:"8px"}};function Qt({children:e,className:t}){return Ct("div",{className:t},Ct("div",{style:Gt.Darken}),Ct("div",{style:Gt.DialogOuter},Ct("div",{style:Gt.DialogInner},e)))}var Yt,Zt,Xt,en,tn=0,nn=[],rn=[],on=bt.__b,sn=bt.__r,an=bt.diffed,cn=bt.__c,ln=bt.unmount;function un(e,t){bt.__h&&bt.__h(Zt,e,tn||t),tn=0;var n=Zt.__H||(Zt.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:rn}),n.__[e]}function dn(e){return tn=1,function(e,t,n){var r=un(Yt++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):bn(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=Zt,!Zt.u)){Zt.u=!0;var o=Zt.shouldComponentUpdate;Zt.shouldComponentUpdate=function(e,t,n){if(!r.__c.__H)return!0;var s=r.__c.__H.__.filter((function(e){return e.__c}));if(s.every((function(e){return!e.__N})))return!o||o.call(this,e,t,n);var i=!1;return s.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!!i&&(!o||o.call(this,e,t,n))}}return r.__N||r.__}(bn,e)}function fn(e){return tn=5,function(e,t){var n=un(Yt++,7);return vn(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}((function(){return{current:e}}),[])}function pn(){for(var e;e=nn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(yn),e.__H.__h.forEach(mn),e.__H.__h=[]}catch(t){e.__H.__h=[],bt.__e(t,e.__v)}}bt.__b=function(e){Zt=null,on&&on(e)},bt.__r=function(e){sn&&sn(e),Yt=0;var t=(Zt=e.__c).__H;t&&(Xt===Zt?(t.__h=[],Zt.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=rn,e.__N=e.i=void 0}))):(t.__h.forEach(yn),t.__h.forEach(mn),t.__h=[])),Xt=Zt},bt.diffed=function(e){an&&an(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==nn.push(t)&&en===bt.requestAnimationFrame||((en=bt.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),hn&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);hn&&(t=requestAnimationFrame(n))})(pn)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==rn&&(e.__=e.__V),e.i=void 0,e.__V=rn}))),Xt=Zt=null},bt.__c=function(e,t){t.some((function(e){try{e.__h.forEach(yn),e.__h=e.__h.filter((function(e){return!e.__||mn(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],bt.__e(n,e.__v)}})),cn&&cn(e,t)},bt.unmount=function(e){ln&&ln(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{yn(e)}catch(e){t=e}})),t&&bt.__e(t,n.__v))};var hn="function"==typeof requestAnimationFrame;function yn(e){var t=Zt,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),Zt=t}function mn(e){var t=Zt;e.__c=e.__(),Zt=t}function vn(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function bn(e,t){return"function"==typeof t?t(e):t}function gn({title:e,alerts:t,fields:n,onCancel:r,onSubmit:o}){const[s,i]=dn({}),a=fn(null);return function(e,t){var n=un(Yt++,4);!bt.__s&&vn(n.__H,t)&&(n.__=e,n.i=t,Zt.__h.push(n))}((()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.focus()}),[]),Ct(Qt,{className:"dxc-login-dlg"},Ct(jt,null,Ct("h3",{style:Gt.WindowHeader},e),t.map((e=>Ct("p",{style:Gt.Alert[e.type]},function({message:e,messageCode:t,messageParams:n}){return e.replace(/\{\w+\}/gi,(e=>n[e.substr(1,e.length-2)]))}(e)))),Ct("form",{onSubmit:e=>{e.preventDefault(),o(s)}},Object.entries(n).map((([e,{type:t,label:n,placeholder:r}],o)=>Ct("label",{style:Gt.Label},n?`${n}: `:"",Ct("input",{ref:0===o?a:void 0,type:t,name:e,autoComplete:"on",style:Gt.Input,autoFocus:!0,placeholder:r,value:s[e]||"",onInput:n=>{var r;return i(Object.assign(Object.assign({},s),{[e]:_n(t,null===(r=n.target)||void 0===r?void 0:r.value)}))}})))))),Ct("div",{style:Gt.ButtonsDiv},Ct("button",{type:"submit",style:Gt.Button,onClick:()=>o(s)},"Submit"),Ct("button",{style:Gt.Button,onClick:r},"Cancel")))}function _n(e,t){switch(e){case"email":return t.toLowerCase();case"otp":return t.toUpperCase();default:return t}}class wn extends Tt{constructor(e){super(e),this.observer=e=>this.setState({userInteraction:e}),this.state={userInteraction:void 0}}componentDidMount(){this.subscription=t.from(this.props.db.cloud.userInteraction).subscribe(this.observer)}componentWillUnmount(){this.subscription&&(this.subscription.unsubscribe(),delete this.subscription)}render(e,{userInteraction:t}){return t?Ct(gn,Object.assign({},t)):null}}function Sn(e){const t=new WeakMap;return n=>{let r=t.get(n);return r||(r=e(n),t.set(n,r)),r}}function kn(e,n){let r=n,o=t.from(e).pipe(t.map((e=>r=e)),t.share({resetOnRefCountZero:()=>t.timer(1e3)}));const s=new t.Observable((e=>{let t=!1;const n=o.subscribe({next(n){t=!0,e.next(n)},error(t){e.error(t)},complete(){e.complete()}});return t||n.closed||e.next(r),n}));return s.getValue=()=>r,s}const En=Sn((t=>kn(e.liveQuery((()=>t.roles.where({realmId:"rlm-public"}).toArray().then((e=>{const t={};for(const n of e.slice().sort(((e,t)=>(e.sortOrder||0)-(t.sortOrder||0))))t[n.name]=n;return t})))),{}))),xn=Sn((e=>new t.BehaviorSubject(i))),In=Sn((t=>kn(xn(t._novip).pipe(n.switchMap((n=>e.liveQuery((()=>t.transaction("r","realms","members",(()=>Promise.all([t.members.where({userId:n.userId}).toArray(),t.realms.toArray(),n.userId]).then((([e,t,n])=>({selfMembers:e,realms:t,userId:n})))))))))),{selfMembers:[],realms:[],get userId(){return t.cloud.currentUserId}})));function Cn(...e){if(0===e.length)return{};const t=e.reduce(((e,t)=>{const n=Object.assign({},e);for(const[e,r]of Object.entries(t))if(e in n&&n[e]){if("*"===n[e])continue;if("*"===r)n[e]="*";else if(Array.isArray(r)&&Array.isArray(n[e])){const t=n,o=t[e];t[e]=[...new Set([...o,...r])]}else if("object"==typeof r&&r&&"object"==typeof n[e]){const t=n[e];for(const[e,n]of Object.entries(r))"*"!==t[e]&&("*"===n?t[e]="*":Array.isArray(t[e])&&Array.isArray(n)&&(t[e]=[...new Set([...t[e],...n])]))}}else n[e]=t[e];return n}));return t}const On=Sn((e=>function(e,n){let r;const o=e.pipe(t.map((e=>r=n(e))));return o.getValue=()=>void 0!==r?r:r=n(e.getValue()),o}(kn(t.combineLatest([In(e._novip),En(e._novip)]).pipe(n.map((([{selfMembers:e,realms:t,userId:n},r])=>({selfMembers:e,realms:t,userId:n,globalRoles:r})))),{selfMembers:[],realms:[],userId:i.userId,globalRoles:{}}),(({selfMembers:e,realms:t,userId:n,globalRoles:r})=>{const o=t.map((t=>{const o=e.filter((e=>e.realmId===t.realmId)),s=o.map((e=>e.permissions)).filter((e=>e)),i=S(o.map((e=>e.roles)).filter((e=>e))).map((e=>r[e])).filter((e=>e)).map((e=>e.permissions));return Object.assign(Object.assign({},t),{permissions:t.owner===n?{manage:"*"}:Cn(...s,...i)})})).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.realmId]:t})),{[n]:{realmId:n,owner:n,name:n,permissions:{manage:"*"}}});return o}))));class jn{constructor(e,t,n){this.permissions=e||{},this.tableName=t,this.isOwner=n}add(...e){var t;return"*"===this.permissions.manage||(!!(null===(t=this.permissions.manage)||void 0===t?void 0:t.includes(this.tableName))||("*"===this.permissions.add||!!e.every((e=>{var t;return null===(t=this.permissions.add)||void 0===t?void 0:t.includes(e)}))))}update(...e){var t,n;if(this.isOwner||"*"===this.permissions.manage)return!0;if(null===(t=this.permissions.manage)||void 0===t?void 0:t.includes(this.tableName))return!0;if("*"===this.permissions.update)return e.every((e=>"owner"!==e));const r=null===(n=this.permissions.update)||void 0===n?void 0:n[this.tableName];return"*"===r?e.every((e=>"owner"!==e)):e.every((e=>null==r?void 0:r.some((t=>t===e||"*"===t&&"owner"!==e))))}delete(){var e;return!(!this.isOwner&&"*"!==this.permissions.manage)||!!(null===(e=this.permissions.manage)||void 0===e?void 0:e.includes(this.tableName))}}const Tn=Sn((r=>{const o=xn(r._novip).pipe(n.switchMap((t=>e.liveQuery((()=>r.members.where({email:t.email||""}).toArray()))))),i=On(r._novip),a=In(r._novip);return kn(t.combineLatest([o,a,i]).pipe(n.map((([e,t,n])=>{const o=(e,t)=>Object.assign(Object.assign({},e),{[t.id]:Object.assign(Object.assign({},t),{realm:n[t.realmId]})}),i=e.reduce(o,{}),a=t.selfMembers.reduce(o,i);return Object.values(a).filter((e=>!e.accepted)).map((e=>Object.assign(Object.assign({},e),{accept(){return s(this,void 0,void 0,(function*(){yield r.members.update(e.id,{accepted:new Date})}))},reject(){return s(this,void 0,void 0,(function*(){yield r.members.update(e.id,{rejected:new Date})}))}})))}))),[])})),An={nameSuffix:!0};function Un(r){const a=r.name,c=xn(r),l=[];let u=!1,d=null;r.on("ready",(r=>s(this,void 0,void 0,(function*(){try{yield function(r){var i,a,b,g,_,w,S;return s(this,void 0,void 0,(function*(){f=!1;const k=Ae(r);"undefined"!=typeof window&&"undefined"!=typeof document&&((null===(i=k.cloud.options)||void 0===i?void 0:i.customLoginGui)||l.push(function(e){let t=!1;const n=document.createElement("div");return document.body?(document.body.appendChild(n),zt(Ct(wn,{db:e.vip}),n)):addEventListener("DOMContentLoaded",(()=>{t||(document.body.appendChild(n),zt(Ct(wn,{db:e.vip}),n))})),{unsubscribe(){try{n.remove()}catch(e){}t=!0},get closed(){return t}}}(r))),k.cloud.isServiceWorkerDB||l.push(function(e){let r=e.cloud.webSocketStatus.value;const o=e.cloud.webSocketStatus.pipe(n.switchMap((e=>{const o=r;r=e;const s=t.of(e);switch(e){case"disconnected":return et.value?s.pipe(n.debounceTime(500)):s;case"connecting":return"not-started"===o||"error"===o?s:s.pipe(n.debounceTime(4e3));default:return s}})));return t.combineLatest([o,e.syncStateChangedEvent.pipe(n.startWith({phase:"initial"})),tt]).pipe(n.map((([t,n,r])=>{let{phase:o,error:s,progress:i}=n,a=t;return"error"===o&&(a="error"),"not-started"===t&&("pushing"!==o&&"pulling"!==o||(a="connecting")),"error"!==e.cloud.syncState.value.phase||"pushing"!==n.phase&&"pulling"!==n.phase||(a="connecting"),r||(a="disconnected"),{phase:o,error:s,progress:i,status:ge?a:"offline"}})))}(k).subscribe(r.cloud.syncState)),l.push(k.syncCompleteEvent.subscribe(m)),k.tables.every((e=>e.core))||We();const E="serviceWorker"in navigator?yield navigator.serviceWorker.getRegistrations():[],x=yield k.transaction("rw",k.$syncState,(()=>s(this,void 0,void 0,(function*(){var e,t;const{options:n,schema:r}=k.cloud,[o,s,i]=yield Promise.all([k.getOptions(),k.getSchema(),k.getPersistedSyncState()]);if(u){if(!o||JSON.stringify(o)!==JSON.stringify(n)){if(!n)throw new Error("Internal error");const e=Object.assign({},n);delete e.fetchTokens,yield k.$syncState.put(e,"options")}}else k.cloud.options=o||null;if((null===(e=k.cloud.options)||void 0===e?void 0:e.tryUseServiceWorker)&&"serviceWorker"in navigator&&E.length>0&&!Le?(console.debug("Dexie Cloud Addon: Using service worker"),k.cloud.usingServiceWorker=!0):((null===(t=k.cloud.options)||void 0===t?void 0:t.tryUseServiceWorker)&&!k.cloud.isServiceWorkerDB&&console.debug("dexie-cloud-addon: Not using service worker.",0===E.length?"No SW registrations found.":"serviceWorker"in navigator&&Le?"Avoiding SW background sync and SW periodic bg sync for this browser due to browser bugs.":"navigator.serviceWorker not present"),k.cloud.usingServiceWorker=!1),mt(r,k.cloud.options),mt(s,k.cloud.options),r){if(!s||JSON.stringify(s)!==JSON.stringify(r)){const e=s||{};for(const[t,n]of Object.entries(r)){const r=e[t];r?(r.markedForSync=n.markedForSync,n.deleted=r.deleted,r.generatedGlobalId=n.generatedGlobalId):e[t]=Object.assign({},n)}yield k.$syncState.put(e,"schema"),Object.assign(r,e)}}else k.cloud.schema=s||null;return null==i?void 0:i.initiallySynced}))));x&&k.setInitiallySynced(!0),function(e){var t,n;for(const r of e.tables)if(null===(n=null===(t=e.cloud.schema)||void 0===t?void 0:t[r.name])||void 0===n?void 0:n.markedForSync){if(r.schema.primKey.auto)throw new o.default.SchemaError(`Table ${r.name} is both autoIncremented and synced. Use db.cloud.configure({unsyncedTables: [${JSON.stringify(r.name)}]}) to blacklist it from sync`);if(!r.schema.primKey.keyPath)throw new o.default.SchemaError(`Table ${r.name} cannot be both synced and outbound. Use db.cloud.configure({unsyncedTables: [${JSON.stringify(r.name)}]}) to blacklist it from sync`)}}(k),(null===(a=k.cloud.options)||void 0===a?void 0:a.databaseUrl)&&!x&&(yield function(e,t,n){return s(this,void 0,void 0,(function*(){console.debug("Performing initial sync"),yield Ee(e,t,n,{isInitialSync:!0}),console.debug("Done initial sync")}))}(k,k.cloud.options,k.cloud.schema),k.setInitiallySynced(!0)),y(),k.cloud.isServiceWorkerDB||(l.push(e.liveQuery((()=>k.getCurrentUser())).subscribe(c)),l.push(e.liveQuery((()=>k.getPersistedSyncState())).subscribe(k.cloud.persistedSyncState)),yield t.combineLatest([c.pipe(n.skip(1),n.take(1)),k.cloud.persistedSyncState.pipe(n.skip(1),n.take(1))]).toPromise());let I=!1;(null===(b=k.cloud.options)||void 0===b?void 0:b.requireAuth)&&(I=yield Pe(k)),d&&d.stop(),d=null,y(),k.cloud.usingServiceWorker&&(null===(g=k.cloud.options)||void 0===g?void 0:g.databaseUrl)?(p(k,I?"pull":"push").catch((()=>{})),function(e){var t;return s(this,void 0,void 0,(function*(){try{const{periodicSync:n}=yield navigator.serviceWorker.ready;if(n)try{yield n.register(`dexie-cloud:${e.name}`,null===(t=e.cloud.options)||void 0===t?void 0:t.periodicSync),console.debug(`Dexie Cloud: Successfully registered periodicsync event for ${e.name}`)}catch(e){console.debug("Dexie Cloud: Failed to register periodic sync. Your PWA must be installed to allow background sync.",e)}else console.debug("Dexie Cloud: periodicSync not supported.")}catch(t){console.debug(`Dexie Cloud: Could not register periodicSync for ${e.name}`,t)}}))}(k).catch((()=>{}))):(null===(_=k.cloud.options)||void 0===_?void 0:_.databaseUrl)&&k.cloud.schema&&!k.cloud.isServiceWorkerDB&&(d=yt(k,k.cloud.options,k.cloud.schema),d.start(),h(k,I?"pull":"push")),y(),k.cloud.isServiceWorkerDB||l.push(t.fromEvent(self,"online").subscribe((()=>{console.debug("online!"),k.syncStateChangedEvent.next({phase:"not-in-sync"}),h(k,"push")})),t.fromEvent(self,"offline").subscribe((()=>{console.debug("offline!"),k.syncStateChangedEvent.next({phase:"offline"})}))),!(null===(w=k.cloud.options)||void 0===w?void 0:w.databaseUrl)||(null===(S=k.cloud.options)||void 0===S?void 0:S.disableWebSocket)||Be||l.push(function(e){var r;if(!(null===(r=e.cloud.options)||void 0===r?void 0:r.databaseUrl))throw new Error("No database URL to connect WebSocket to");const o=e.messageConsumer.readyToServe.pipe(n.filter((e=>e)),n.switchMap((()=>e.getPersistedSyncState())),n.filter((e=>e&&e.serverRevision)),n.switchMap((e=>s(this,void 0,void 0,(function*(){return{type:"ready",rev:e.serverRevision,realmSetHash:yield v(e)}})))));return function r(){return e.cloud.persistedSyncState.pipe(n.filter((e=>null==e?void 0:e.serverRevision)),n.take(1),n.switchMap((t=>e.cloud.currentUser.pipe(n.map((e=>[e,t]))))),n.switchMap((([e,t])=>tt.pipe(n.map((n=>[n?e:null,t]))))),n.switchMap((([r,o])=>(null==r?void 0:r.isLoggedIn)&&!(null==o?void 0:o.realms.includes(r.userId))?e.cloud.persistedSyncState.pipe(n.filter((e=>(null==e?void 0:e.realms.includes(r.userId))||!1)),n.take(1),n.map((e=>[r,e]))):new t.BehaviorSubject([r,o]))),n.switchMap((([e,t])=>s(this,void 0,void 0,(function*(){return[e,yield v(t)]})))),n.distinctUntilChanged((([e,t],[n,r])=>e===n&&t===r)),n.switchMap((([n,r])=>n?new at(e.cloud.options.databaseUrl,e.cloud.persistedSyncState.value.serverRevision,r,e.cloud.persistedSyncState.value.clientIdentity,o,e.cloud.webSocketStatus,n.accessToken,n.accessTokenExpiration):t.from([]))),n.catchError((o=>"TokenExpiredError"===(null==o?void 0:o.name)?(console.debug("WebSocket observable: Token expired. Refreshing token..."),t.of(!0).pipe(n.switchMap((()=>s(this,void 0,void 0,(function*(){const t=yield e.getCurrentUser(),n=yield B(e.cloud.options.databaseUrl,t);yield e.table("$logins").update(t.userId,{accessToken:n.accessToken,accessTokenExpiration:n.accessTokenExpiration})})))),n.switchMap((()=>r())))):t.throwError(o))),n.catchError((o=>(e.cloud.webSocketStatus.next("error"),t.from(ut(o)).pipe(n.switchMap((()=>r())))))))}().subscribe({next:t=>{t&&(console.debug("WS got message",t),e.messageConsumer.enqueue(t))},error:e=>{console.error("WS got error",e)},complete:()=>{console.debug("WS observable completed")}})}(k))}))}(r)}catch(e){console.error(e)}}))),!0);let f=!1;function y(){if(f)throw new o.default.DatabaseClosedError}!function(e,t){e.on.close.subscribe(t);const n=e._close;e._close=function(){n.call(this),t()}}(r,(()=>{l.forEach((e=>e.unsubscribe())),f=!0,d&&d.stop(),d=null,c.next(i)}));const m=new t.Subject;var b;r.cloud={version:"4.0.1-beta.46",options:Object.assign({},An),schema:null,get currentUserId(){return c.value.userId||i.userId},currentUser:c,syncState:new t.BehaviorSubject({phase:"initial",status:"not-started"}),events:{syncComplete:m},persistedSyncState:new t.BehaviorSubject(void 0),userInteraction:new t.BehaviorSubject(void 0),webSocketStatus:new t.BehaviorSubject("not-started"),login(e){return s(this,void 0,void 0,(function*(){const t=Ae(r);yield t.cloud.sync(),yield Pe(t,e)}))},invites:Tn(r),roles:En(r),configure(e){e=r.cloud.options=Object.assign(Object.assign({},r.cloud.options),e),u=!0,e.databaseUrl&&e.nameSuffix&&(r.name=`${a}-${function(e){const t=new URL(e);return"/"===t.pathname?t.hostname.split(".")[0]:t.pathname.split("/")[1]}(e.databaseUrl)}`,Ae(r).reconfigure()),mt(r.cloud.schema,r.cloud.options)},sync({wait:o,purpose:i}={wait:!0,purpose:"push"}){return s(this,void 0,void 0,(function*(){void 0===o&&(o=!0);const a=Ae(r);if("pull"===i){const e=a.cloud.persistedSyncState.value;if(h(a,i),o){const t=yield a.cloud.persistedSyncState.pipe(n.filter((t=>null!=(null==t?void 0:t.timestamp)&&(!e||t.timestamp>e.timestamp))),n.take(1)).toPromise();if(null==t?void 0:t.error)throw new Error("Sync error: "+t.error)}}else if(yield dt(a)){const r=a.cloud.persistedSyncState.value;h(a,i),o&&(console.debug("db.cloud.login() is waiting for sync completion..."),yield t.from(e.liveQuery((()=>s(this,void 0,void 0,(function*(){const e=yield dt(a),t=yield a.getPersistedSyncState();if((null==t?void 0:t.timestamp)!==(null==r?void 0:r.timestamp)&&(null==t?void 0:t.error))throw new Error("Sync error: "+t.error);return e}))))).pipe(n.filter((e=>!e)),n.take(1)).toPromise(),console.debug("Done waiting for sync completion because we have nothing to push anymore"))}}))},permissions:(e,t)=>function(e,t,r){if(!t)throw new TypeError("Cannot check permissions of undefined or null. A Dexie Cloud object with realmId and owner expected.");const{owner:o,realmId:s}=t;if(!r){if("function"!=typeof t.table)throw new TypeError("Missing 'table' argument to permissions and table could not be extracted from entity");r=t.table()}const i=On(e),a=t=>{const n=t[s||e.cloud.currentUserId];return n?new jn(n.permissions,r,s===e.cloud.currentUserId||o===e.cloud.currentUserId):new jn({},r,!o||o===e.cloud.currentUserId)},c=i.pipe(n.map(a));return c.getValue=()=>a(i.getValue()),c}(r._novip,e,t)},r.Version.prototype._parseStoresSpec=o.default.override(r.Version.prototype._parseStoresSpec,(e=>Xe(e,r))),r.Table.prototype.newId=function({colocateWith:e}={}){const t=e&&e.substr(e.length-3);return qe(r.cloud.schema[this.name].idPrefix||"",t)},r.Table.prototype.idPrefix=function(){var e,t;return(null===(t=null===(e=this.db.cloud.schema)||void 0===e?void 0:e[this.name])||void 0===t?void 0:t.idPrefix)||""},r.use(Ze({currentUserObservable:r.cloud.currentUser,db:Ae(r)})),r.use((b=Ae(r),{stack:"dbcore",name:"implicitPropSetterMiddleware",level:1,create:e=>Object.assign(Object.assign({},e),{table:t=>{const n=e.table(t);return Object.assign(Object.assign({},n),{mutate:e=>{var r,o,s,i;if(e.trans.disableChangeTracking)return n.mutate(e);const a=e.trans;if((null===(o=null===(r=b.cloud.schema)||void 0===r?void 0:r[t])||void 0===o?void 0:o.markedForSync)&&("add"===e.type||"put"===e.type))for(const t of e.values){t.owner||(t.owner=a.currentUser.userId),t.realmId||(t.realmId=a.currentUser.userId);const r=null===(i=(s=n.schema.primaryKey).extractKey)||void 0===i?void 0:i.call(s,t);"string"==typeof r&&"#"===r[0]&&"put"===e.type&&(delete e.criteria,delete e.changeSpec,delete e.updates,t.$ts=Date.now())}return n.mutate(e)}})}})})),r.use(Je(Ae(r)))}Un.version="4.0.1-beta.46",o.default.Cloud=Un;const $n=new Map;function Pn(e){return e.startsWith("dexie-cloud:")&&e.split(":")[1]}const Dn=new Map;function Nn(e,t){let n=Dn.get(e+"/"+t);return n||(n=function e(t,n){var r;return s(this,void 0,void 0,(function*(){let s=$n.get(t);if(!s){console.debug("Dexie Cloud SW: Creating new Dexie instance for",t);const r=new o.default(t,{addons:[Un]});if(s=Ae(r),s.cloud.isServiceWorkerDB=!0,r.on("versionchange",i),yield s.dx.open(),$n.get(t))return s.close(),yield e(t,n);$n.set(t,s)}if(null===(r=s.cloud.options)||void 0===r?void 0:r.databaseUrl)if(s.cloud.schema)try{console.debug("Dexie Cloud SW: Syncing"),yield ht(s,s.cloud.options,s.cloud.schema,{retryImmediatelyOnFetchError:!0,purpose:n}),console.debug("Dexie Cloud SW: Done Syncing")}catch(e){if(console.error("Dexie Cloud SW Error",e),i(),e.name!==o.default.errnames.NoSuchDatabase)throw e}else console.error("Dexie Cloud: No schema persisted");else console.error("Dexie Cloud: No databaseUrl configured");function i(){return s.dx.on.versionchange.unsubscribe(i),$n.get(s.name)===s&&$n.delete(s.name),console.debug(`Dexie Cloud SW: Closing Dexie instance for ${t}`),s.dx.close(),!1}}))}(e,t).then((()=>{Dn.delete(e+"/"+t)})).catch((n=>(Dn.delete(e+"/"+t),Promise.reject(n)))),Dn.set(e+"/"+t,n)),n}Le||(self.addEventListener("sync",(e=>{console.debug('SW "sync" Event',e.tag);const t=Pn(e.tag);t&&e.waitUntil(Nn(t,"push"))})),self.addEventListener("periodicsync",(e=>{console.debug('SW "periodicsync" Event',e.tag);const t=Pn(e.tag);t&&e.waitUntil(Nn(t,"pull"))})),self.addEventListener("message",(e=>{if(console.debug('SW "message" Event',e.data),"dexie-cloud-sync"===e.data.type){const{dbName:t}=e.data,n=(r=1)=>Nn(t,e.data.purpose||"pull").catch((e=>s(void 0,void 0,void 0,(function*(){if(3===r)throw e;var t;yield(t=6e4,new Promise((e=>setTimeout(e,t)))),n(r+1)}))));"waitUntil"in e?e.waitUntil(n().catch((e=>console.error(e)))):n().catch((e=>console.error(e)))}})))}));
2
- //# sourceMappingURL=service-worker.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["dist/umd/service-worker.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","Dexie","rxjs","operators","this","_interopDefaultLegacy","e","default","Dexie__default","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","apply","UNAUTHORIZED_USER","userId","name","claims","sub","lastLogin","Date","Object","freeze","_a","swHolder","swContainer","document","navigator","serviceWorker","ready","registration","addEventListener","ev","_b","data","type","startsWith","matchAll","includeUncontrolled","forEach","client","id","source","postMessage","SWBroadcastChannel","constructor","subscribe","listener","forwarder","message","removeEventListener","active","events","Map","BroadcastedAndLocalEvent","Observable","bc","BroadcastChannel","super","subscriber","onCustomEvent","detail","onMessageEvent","console","debug","unsubscribe","has","get","push","set","addListener","err","warn","listeners","idx","indexOf","splice","removeListener","assign","dispatch","CustomEvent","hasComplainedAboutSyncEvent","registerSyncEvent","db","purpose","sw","sync","register","Error","dbName","triggerSync","cloud","usingServiceWorker","localSyncEvent","b64decode","Buffer","base64","from","binary_string","atob","len","length","bytes","Uint8Array","i","charCodeAt","b64encode","b","ArrayBuffer","isView","buffer","byteOffset","byteLength","toString","btoa","String","fromCharCode","computeRealmSetHash","realms","inviteRealms","JSON","stringify","map","realmId","accepted","sort","a","byteArray","TextEncoder","encode","digestBytes","crypto","subtle","digest","getSyncableTables","entries","schema","filter","markedForSync","tbl","tables","cloudTableSchema","getMutationTable","tableName","getTableFromMutationTable","mutationTable","exec","concat","flatten","listClientChanges","mutationTables","since","limit","Infinity","sorted","all","lastRevision","query","where","above","toArray","mut","table","txid","opNo","ts","currentEntry","currentTxid","muts","randomString$1","buf","getRandomValues","Math","floor","random","assert","_hasOwn","hasOwnProperty","setByKeyPath","obj","keyPath","undefined","isFrozen","l","period","currentKeyPath","substr","remainingKeyPath","Array","isArray","isNaN","parseInt","innerObj","prop","call","hasOwn","randomString","randomFill","bind","simpleRandomFill","alloc","isValidSyncableID","some","key","every","isValidSyncableIDPart","part","applyOperation","target","op","keys","val","values","changeSpec","changeSpecs","entry","propPath","mod","applyOperations","ops","interactWithUser","userInteraction","req","interactionProps","onSubmit","res","onCancel","AbortError","alertUser","title","alerts","fields","promptForEmail","emailHint","email","test","messageCode","messageParams","placeholder","promptForOTP","alert","otp","label","authenticate","url","context","fetchToken","hints","accessToken","accessTokenExpiration","getTime","now","refreshToken","refreshTokenExpiration","refreshAccessToken","location","protocol","privateKey","publicKey","generateKey","modulusLength","publicExponent","hash","nonExportablePrivateKey","publicKeyPEM","keydata","keydataB64","str","finalString","substring","formatAsPem","spkiToPEM","exportKey","response2","public_key","error","catch","userAuthenticate","login","time_stamp","signing_algorithm","binarySignature","sign","signature","tokenRequest","grant_type","refresh_token","scopes","fetch","body","method","headers","mode","status","response","json","toStr","ObjectDef","replace","dollarKeys","clone","k","TypesonSimplified","typeDefsInputs","typeDefs","reduce","p","c","protoMap","WeakMap","alternateChannel","space","realVal","typeDef","proto","getPrototypeOf","toStringTag","slice","find","typeName","function","getTypeDef","parse","tson","stack","$t","revive","top","v","pop","deletes","mods","BisonBinaryTypes","Blob","blob","altChannel","mimeType","numberDef","number","num","Number","bigIntDef","bigint","BigInt","DateDef","date","toISOString","NaN","SetDef","Set","MapDef","_global","TypedArraysDefs","specs","_","TypedArray","b64LexEncode","encoded","ENCODE_TABLE","b64ToLex","b64LexDecode","b64Lex","base64lex","DECODE_TABLE","lexToB64","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","Q","R","S","T","U","V","W","X","Y","Z","d","f","g","h","j","m","n","o","q","r","s","t","u","w","x","y","z","ArrayBufferDef","ab","ba","FakeBlob","readBlobSync","XMLHttpRequest","overrideMimeType","open","URL","createObjectURL","send","responseText","string2ArrayBuffer","array","BlobDef","builtin","readBlobBinary","reader","FileReader","onabort","onerror","onload","readAsArrayBuffer","undefinedDef","hasBigIntSupport","FakeBigInt","defs","fakeBigInt","TSON","BISON","toBinary","lenBuf","DataView","setUint32","size","binaries","async","binData","pos","arrayBuffers","view","getUint32","readAsText","readBlob","Bison","HttpError","statusText","httpStatus","encodeIdsForServer","currentUser","changes","rv","change","tableSchema","primaryKey","changeClone","mutIndex","rewriteValues","outbound","keyIndex","cloneChange","mutClone","rewrittenKey","isLoggedIn","syncWithServer","syncState","baseRevs","databaseUrl","clientIdentity","Accept","getCurrentUser","refreshedLogin","options","update","loadAccessToken","Authorization","syncRequest","dbID","remoteDbId","lastPull","serverRevision","dx","core","syncStateChangedEvent","phase","ok","fromBinary","text","throwIfCancelled","cancelToken","cancelled","isOnline","updateBaseRevs","latestRevisions","serverRev","$baseRevs","bulkPut","clientRev","getLatestRevisionsPerTable","clientChangeSet","lastRevisions","lastRev","rev","bulkUpdate","objs","bulkGet","resultKeys","resultObjs","primKey","cmp","applyServerChanges","currentTransaction","keyDecoder","endsWith","currentUserId","bulkAdd","anyOf","modify","bulkDelete","onLine","syncOptions","_sync","arguments","justCheckIfNeeded","retryImmediatelyOnFetchError","setTimeout","$syncState","timestamp","isInitialSync","tablesToSync","persistedSyncState","getPersistedSyncState","readyForSyncification","tablesToSyncify","syncedTables","includes","getTablesToSyncify","doSyncify","transaction","tx","idbtrans","disableChangeTracking","disableAccessControl","syncifiedTables","alreadySyncedRealms","ignoredRealms","toCollection","member","realm","owner","modifyLocalObjectsWithNewUserId","clientChanges","syncificationInserts","extractKey","dexieCloudTableSchema","generatedGlobalId","item","idPrefix","unsyncedObjects","listSyncifiedChanges","pushSyncIsNeeded","put","addedClientChanges","mutTable","ch","latestRev","belowOrEqual","delete","between","reverse","offset","clear","prevState","deletedRealms","rejectedRealms","previousRealmSet","previousInviteRealmSet","updatedRealmSet","updatedTotalRealmSet","add","realmsToDelete","indexes","deleteObjectsFromRemovedRealms","newSyncState","dbId","initiallySynced","filteredChanges","filterServerChangesThroughAddedClientChanges","syncCompleteEvent","serverChanges","localPostChanges","changesToSubtract","_c","mutationSet","targetMut","subtractChanges","inSet","mapEntry","resultEntry","optype","toDBOperationSet","MessagesFromServerConsumer","queue","readyToServe","BehaviorSubject","event","isWorking","loopWarning","loopDetection","shift","_d","_e","_f","msg","pipe","take","toPromise","user","wait","getSchema","baseRev","ourRealmSetHash","waitFor","realmSetHash","newRev","consumeQueue","enqueue","wm$1","DEXIE_CLOUD_SCHEMA","members","roles","$jobs","$logins","static_counter","DexieCloudDB","Subject","close","helperMethods","logins","join","getOptions","setInitiallySynced","reconfigure","messageConsumer","wm","AuthPersistedContext","userLogin","static","save","fetchTokens","demo_user","res1","errMsg","otp_id","res2","errorText","otpFetchTokenCallback","existingLogins","subscription","setCurrentUser","isFirefox","InstallTrigger","isSafari","userAgent","safariVersion","match","DISABLE_SERVICEWORKER_STRATEGY","IS_SERVICE_WORKER","throwVersionIncrementNeeded","SchemaError","getEffectiveKeys","consonants","time","prefix","shardKey","timePart","randomPart","createIdGenerationMiddleware","level","create","mutate","trans","getMany","cache","results","valueClones","colocatedId","deepClone","ConstraintError","generateOrVerifyAtKeys","counter$1","readLock","fn","readers","writers","numWriters","promise","finally","writeLock","possiblePromises","remaining","reason","outstandingTransactions","createMutationTrackingMiddleware","currentUserObservable","ordinaryTables","mutTableMap","opCount","removeTransaction","txComplete","mutationsAdded","mutsTable","count","openCursor","guardedTable","range","index","mutateAndLog","criteria","numFailures","hasFailures","failures","updates","overrideParseStoresSpec","origFunc","dexie","stores","dbSchema","storesClone","schemaSrc","requestedIndexes","split","spec","trim","builtInIndexes","requestedIndexSet","builtInIndex","cloudSchema","allPrefixes","toLocaleLowerCase","toLowerCase","orig","bits","bitFix","upperFixed","toUpperCase","nextChar","generateTablePrefix","deleted","userIsActive","userIsReallyActive","switchMap","isActive","of","delay","distinctUntilChanged","visibilityStateIsChanged","fromEvent","documentBecomesHidden","visibilityState","documentBecomesVisible","userDoesSomething","window","merge","tap","USER_INACTIVITY_TIMEOUT","TokenExpiredError","WSObservable","messageProducer","webSocketStatus","token","tokenExpiration","WSConnection","counter","Subscription","teardown","reconnecting","lastUserActivity","messageProducerSubscription","connect","disconnect","pinger","clearInterval","ws","reconnect","lastServerActivity","pauseUntil","closed","setInterval","wsUrl","searchParams","URLSearchParams","WebSocket","onclose","onmessage","everConnected","onopen","waitAndReconnectWhenUserDoesSomething","ms","isSyncNeeded","myId","ongoingSyncs","syncIfPossible","cloudOptions","ongoing","pull","hasPullTakenPlace","isServiceWorkerDB","jobName","jobsTableName","job","awaitRemoteJob","jobsTable","aquireLock","currentWork","heartbeat","started","nodeId","jobDoneObservable","liveQuery","timeout","performGuardedJob","_syncIfPossible","LocalSyncWorker","localSyncEventSubscription","syncAndRetry","retryNum","stop","start","updateSchemaFromOptions","unsyncedTables","l$1","u$1","t$1","o$1","f$1","e$1","c$1","s$1","a$1","parentNode","removeChild","children","defaultProps","v$1","props","ref","__k","__","__b","__e","__d","__c","__h","__v","vnode","p$1","d$1","_$1","k$1","base","b$1","g$1","__r","debounceRendering","__P","j$1","__n","ownerSVGElement","z$1","w$1","m$1","appendChild","nextSibling","insertBefore","$","setProperty","style","cssText","setAttribute","removeAttribute","contextType","__E","prototype","render","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffed","localName","nodeType","createTextNode","createElementNS","createElement","is","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","checked","current","unmount","componentWillUnmount","firstChild","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Styles","color","Alert","warning","info","Darken","position","left","opacity","backgroundColor","width","height","zIndex","webkitBackdropFilter","backdropFilter","DialogOuter","alignItems","display","justifyContent","DialogInner","padding","marginBottom","maxWidth","maxHeight","overflowY","border","borderRadius","boxShadow","Input","borderColor","outline","fontSize","Dialog","className","__H","__V","__N","requestAnimationFrame","clearTimeout","cancelAnimationFrame","LoginDialog","params","setParams","firstFieldRef","focus","WindowHeader","resolveText","preventDefault","fieldName","Label","autoComplete","autoFocus","onInput","valueTransformer","ButtonsDiv","Button","onClick","LoginGui","observer","associate","createSharedValueObservable","defaultValue","currentValue","shared","share","resetOnRefCountZero","timer","didEmit","complete","getValue","getGlobalRolesObservable","role","sortOrder","getCurrentUserEmitter","getInternalAccessControlObservable","_novip","selfMembers","mergePermissions","permissions","reduced","ret","verb","rights","retVerb","mergedRights","tableRights","getPermissionsLookupObservable","mapper","mapValueObservable","combineLatest","globalRoles","selfRealmMembers","directPermissionSets","rolePermissionSets","roleName","manage","PermissionChecker","isOwner","tableNames","tablePermissions","permittedProp","getInvitesObservable","membersByEmail","accessControl","realmLookup","reducer","emailMembersById","membersById","invite","accept","DEFAULT_OPTIONS","nameSuffix","dexieCloud","origIdbName","currentUserEmitter","subscriptions","configuredProgramatically","localSyncWorker","on","_g","customLoginGui","el","vip","remove","setupDefaultGUI","_prevStatus","lazyWebSocketStatus","prevStatus","debounceTime","startWith","progress","adjustedStatus","computeSyncState","syncComplete","swRegistrations","getRegistrations","_h","_j","persistedOptions","persistedSchema","newPersistedOptions","tryUseServiceWorker","newPersistedSchema","tblSchema","newTblSchema","auto","verifySchema","performInitialSync","throwIfClosed","skip","changedUser","requireAuth","periodicSync","registerPeriodicSyncEvent","disableWebSocket","isReady","createObservable","prevUser","prevHash","currUser","currHash","catchError","throwError","connectWebSocket","onDbReady","DatabaseClosedError","handler","origClose","_close","dbOnClosed","version","hint","invites","configure","dbUrl","pathname","hostname","getDbNameFromDbUrl","syncNeeded","isNeeded","TypeError","permissionsLookup","Version","override","Table","newId","colocateWith","use","$ts","Cloud","managedDBs","getDbNameFromTag","tag","syncDBSemaphore","syncDB","_syncDB","addons","stopManagingDB","errnames","NoSuchDatabase","versionchange","waitUntil"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes