@verdant-web/store 2.7.5 → 2.7.7-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/dist/bundle/index.js +9 -9
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/cjs/AckInfoStore.d.ts +10 -0
  4. package/dist/cjs/AckInfoStore.js +26 -0
  5. package/dist/cjs/AckInfoStore.js.map +1 -0
  6. package/dist/cjs/BackoffScheduler.d.ts +19 -19
  7. package/dist/cjs/BackoffScheduler.js +44 -44
  8. package/dist/cjs/BaselinesStore.d.ts +10 -0
  9. package/dist/cjs/BaselinesStore.js +36 -0
  10. package/dist/cjs/BaselinesStore.js.map +1 -0
  11. package/dist/cjs/DocumentManager.d.ts +31 -28
  12. package/dist/cjs/DocumentManager.js +44 -44
  13. package/dist/cjs/Entity.d.ts +96 -0
  14. package/dist/cjs/Entity.js +345 -0
  15. package/dist/cjs/Entity.js.map +1 -0
  16. package/dist/cjs/EntityStore.d.ts +36 -0
  17. package/dist/cjs/EntityStore.js +172 -0
  18. package/dist/cjs/EntityStore.js.map +1 -0
  19. package/dist/cjs/FakeWeakRef.d.ts +11 -11
  20. package/dist/cjs/FakeWeakRef.js +18 -18
  21. package/dist/cjs/IDBService.d.ts +9 -9
  22. package/dist/cjs/IDBService.js +63 -63
  23. package/dist/cjs/LocalHistoryStore.d.ts +15 -0
  24. package/dist/cjs/LocalHistoryStore.js +53 -0
  25. package/dist/cjs/LocalHistoryStore.js.map +1 -0
  26. package/dist/cjs/LocalReplicaStore.d.ts +13 -0
  27. package/dist/cjs/LocalReplicaStore.js +49 -0
  28. package/dist/cjs/LocalReplicaStore.js.map +1 -0
  29. package/dist/cjs/MessageCreator.d.ts +19 -0
  30. package/dist/cjs/MessageCreator.js +104 -0
  31. package/dist/cjs/MessageCreator.js.map +1 -0
  32. package/dist/cjs/Metadata.d.ts +91 -0
  33. package/dist/cjs/Metadata.js +250 -0
  34. package/dist/cjs/Metadata.js.map +1 -0
  35. package/dist/cjs/OperationsStore.d.ts +38 -0
  36. package/dist/cjs/OperationsStore.js +146 -0
  37. package/dist/cjs/OperationsStore.js.map +1 -0
  38. package/dist/cjs/PresenceManager.d.ts +30 -0
  39. package/dist/cjs/PresenceManager.js +89 -0
  40. package/dist/cjs/PresenceManager.js.map +1 -0
  41. package/dist/cjs/Query.d.ts +26 -0
  42. package/dist/cjs/Query.js +86 -0
  43. package/dist/cjs/Query.js.map +1 -0
  44. package/dist/cjs/QueryMaker.d.ts +18 -0
  45. package/dist/cjs/QueryMaker.js +98 -0
  46. package/dist/cjs/QueryMaker.js.map +1 -0
  47. package/dist/cjs/QueryStore.d.ts +38 -0
  48. package/dist/cjs/QueryStore.js +146 -0
  49. package/dist/cjs/QueryStore.js.map +1 -0
  50. package/dist/cjs/SchemaStore.d.ts +9 -0
  51. package/dist/cjs/SchemaStore.js +35 -0
  52. package/dist/cjs/SchemaStore.js.map +1 -0
  53. package/dist/cjs/Storage.d.ts +147 -0
  54. package/dist/cjs/Storage.js +346 -0
  55. package/dist/cjs/Storage.js.map +1 -0
  56. package/dist/cjs/Sync.d.ts +117 -0
  57. package/dist/cjs/Sync.js +561 -0
  58. package/dist/cjs/Sync.js.map +1 -0
  59. package/dist/cjs/SyncHarness.d.ts +45 -0
  60. package/dist/cjs/SyncHarness.js +110 -0
  61. package/dist/cjs/SyncHarness.js.map +1 -0
  62. package/dist/cjs/UndoHistory.d.ts +16 -16
  63. package/dist/cjs/UndoHistory.js +50 -50
  64. package/dist/cjs/__tests__/batching.test.d.ts +1 -1
  65. package/dist/cjs/__tests__/batching.test.js +44 -44
  66. package/dist/cjs/__tests__/documents.test.d.ts +1 -1
  67. package/dist/cjs/__tests__/documents.test.js +415 -415
  68. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +123 -122
  69. package/dist/cjs/__tests__/fixtures/testStorage.js +117 -115
  70. package/dist/cjs/__tests__/fixtures/testStorage.js.map +1 -1
  71. package/dist/cjs/__tests__/legacyOids.test.d.ts +1 -1
  72. package/dist/cjs/__tests__/legacyOids.test.js +309 -123
  73. package/dist/cjs/__tests__/legacyOids.test.js.map +1 -1
  74. package/dist/cjs/__tests__/mutations.test.d.ts +1 -1
  75. package/dist/cjs/__tests__/mutations.test.js +41 -41
  76. package/dist/cjs/__tests__/queries.test.d.ts +1 -1
  77. package/dist/cjs/__tests__/queries.test.js +318 -318
  78. package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
  79. package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
  80. package/dist/cjs/__tests__/undo.test.d.ts +1 -1
  81. package/dist/cjs/__tests__/undo.test.js +86 -86
  82. package/dist/cjs/client/Client.d.ts +98 -99
  83. package/dist/cjs/client/Client.js +227 -227
  84. package/dist/cjs/client/ClientDescriptor.d.ts +76 -74
  85. package/dist/cjs/client/ClientDescriptor.js +197 -194
  86. package/dist/cjs/client/ClientDescriptor.js.map +1 -1
  87. package/dist/cjs/client/constants.d.ts +1 -0
  88. package/dist/cjs/client/constants.js +5 -0
  89. package/dist/cjs/client/constants.js.map +1 -0
  90. package/dist/cjs/constants.d.ts +1 -1
  91. package/dist/cjs/constants.js +4 -4
  92. package/dist/cjs/context.d.ts +29 -29
  93. package/dist/cjs/context.js +2 -2
  94. package/dist/cjs/entities/DocumentFamiliyCache.d.ts +90 -90
  95. package/dist/cjs/entities/DocumentFamiliyCache.js +282 -282
  96. package/dist/cjs/entities/Entity.d.ts +206 -203
  97. package/dist/cjs/entities/Entity.js +520 -520
  98. package/dist/cjs/entities/EntityStore.d.ts +85 -85
  99. package/dist/cjs/entities/EntityStore.js +479 -479
  100. package/dist/cjs/files/EntityFile.d.ts +31 -31
  101. package/dist/cjs/files/EntityFile.js +76 -76
  102. package/dist/cjs/files/FileManager.d.ts +42 -42
  103. package/dist/cjs/files/FileManager.js +152 -152
  104. package/dist/cjs/files/FileStorage.d.ts +28 -28
  105. package/dist/cjs/files/FileStorage.js +104 -104
  106. package/dist/cjs/files/utils.d.ts +8 -8
  107. package/dist/cjs/files/utils.js +55 -55
  108. package/dist/cjs/files/utils.test.d.ts +1 -1
  109. package/dist/cjs/files/utils.test.js +80 -80
  110. package/dist/cjs/idb.d.ts +11 -11
  111. package/dist/cjs/idb.js +111 -111
  112. package/dist/cjs/index.d.ts +21 -21
  113. package/dist/cjs/index.js +23 -23
  114. package/dist/cjs/indexes.d.ts +3 -0
  115. package/dist/cjs/indexes.js +20 -0
  116. package/dist/cjs/indexes.js.map +1 -0
  117. package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
  118. package/dist/cjs/metadata/AckInfoStore.js +25 -25
  119. package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
  120. package/dist/cjs/metadata/BaselinesStore.js +89 -89
  121. package/dist/cjs/metadata/LocalHistoryStore.d.ts +15 -0
  122. package/dist/cjs/metadata/LocalHistoryStore.js +53 -0
  123. package/dist/cjs/metadata/LocalHistoryStore.js.map +1 -0
  124. package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
  125. package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
  126. package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
  127. package/dist/cjs/metadata/MessageCreator.js +127 -127
  128. package/dist/cjs/metadata/Metadata.d.ts +112 -112
  129. package/dist/cjs/metadata/Metadata.js +352 -352
  130. package/dist/cjs/metadata/OperationsStore.d.ts +53 -53
  131. package/dist/cjs/metadata/OperationsStore.js +152 -152
  132. package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
  133. package/dist/cjs/metadata/SchemaStore.js +38 -38
  134. package/dist/cjs/metadata/openMetadataDatabase.d.ts +19 -17
  135. package/dist/cjs/metadata/openMetadataDatabase.js +219 -158
  136. package/dist/cjs/metadata/openMetadataDatabase.js.map +1 -1
  137. package/dist/cjs/migration/db.d.ts +8 -8
  138. package/dist/cjs/migration/db.js +111 -111
  139. package/dist/cjs/migration/errors.d.ts +5 -5
  140. package/dist/cjs/migration/errors.js +11 -11
  141. package/dist/cjs/migration/openDatabase.d.ts +20 -20
  142. package/dist/cjs/migration/openDatabase.js +428 -428
  143. package/dist/cjs/migration/paths.d.ts +6 -6
  144. package/dist/cjs/migration/paths.js +52 -52
  145. package/dist/cjs/migration/paths.test.d.ts +1 -1
  146. package/dist/cjs/migration/paths.test.js +90 -90
  147. package/dist/cjs/openDocumentDatabase.d.ts +12 -0
  148. package/dist/cjs/openDocumentDatabase.js +432 -0
  149. package/dist/cjs/openDocumentDatabase.js.map +1 -0
  150. package/dist/cjs/queries/BaseQuery.d.ts +53 -53
  151. package/dist/cjs/queries/BaseQuery.js +135 -135
  152. package/dist/cjs/queries/CollectionQueries.d.ts +55 -55
  153. package/dist/cjs/queries/CollectionQueries.js +91 -91
  154. package/dist/cjs/queries/FindAllQuery.d.ts +12 -12
  155. package/dist/cjs/queries/FindAllQuery.js +42 -42
  156. package/dist/cjs/queries/FindInfiniteQuery.d.ts +19 -19
  157. package/dist/cjs/queries/FindInfiniteQuery.js +69 -69
  158. package/dist/cjs/queries/FindOneQuery.d.ts +12 -12
  159. package/dist/cjs/queries/FindOneQuery.js +42 -42
  160. package/dist/cjs/queries/FindPageQuery.d.ts +24 -24
  161. package/dist/cjs/queries/FindPageQuery.js +76 -76
  162. package/dist/cjs/queries/GetQuery.d.ts +10 -10
  163. package/dist/cjs/queries/GetQuery.js +29 -29
  164. package/dist/cjs/queries/LiveQuery.d.ts +28 -0
  165. package/dist/cjs/queries/LiveQuery.js +96 -0
  166. package/dist/cjs/queries/LiveQuery.js.map +1 -0
  167. package/dist/cjs/queries/LiveQueryMaker.d.ts +15 -0
  168. package/dist/cjs/queries/LiveQueryMaker.js +42 -0
  169. package/dist/cjs/queries/LiveQueryMaker.js.map +1 -0
  170. package/dist/cjs/queries/LiveQueryStore.d.ts +33 -0
  171. package/dist/cjs/queries/LiveQueryStore.js +85 -0
  172. package/dist/cjs/queries/LiveQueryStore.js.map +1 -0
  173. package/dist/cjs/queries/Query.d.ts +18 -0
  174. package/dist/cjs/queries/Query.js +36 -0
  175. package/dist/cjs/queries/Query.js.map +1 -0
  176. package/dist/cjs/queries/QueryCache.d.ts +16 -16
  177. package/dist/cjs/queries/QueryCache.js +41 -41
  178. package/dist/cjs/queries/QueryMaker.d.ts +14 -0
  179. package/dist/cjs/queries/QueryMaker.js +42 -0
  180. package/dist/cjs/queries/QueryMaker.js.map +1 -0
  181. package/dist/cjs/queries/QueryStore.d.ts +35 -0
  182. package/dist/cjs/queries/QueryStore.js +130 -0
  183. package/dist/cjs/queries/QueryStore.js.map +1 -0
  184. package/dist/cjs/queries/dbQueries.d.ts +22 -22
  185. package/dist/cjs/queries/dbQueries.js +125 -125
  186. package/dist/cjs/queries/keys.d.ts +10 -10
  187. package/dist/cjs/queries/keys.js +33 -33
  188. package/dist/cjs/queries/ranges.d.ts +2 -2
  189. package/dist/cjs/queries/ranges.js +69 -69
  190. package/dist/cjs/queries/types.d.ts +6 -6
  191. package/dist/cjs/queries/types.js +2 -2
  192. package/dist/cjs/queries/utils.d.ts +3 -3
  193. package/dist/cjs/queries/utils.js +24 -24
  194. package/dist/cjs/queries2/BaseQuery.d.ts +39 -0
  195. package/dist/cjs/queries2/BaseQuery.js +99 -0
  196. package/dist/cjs/queries2/BaseQuery.js.map +1 -0
  197. package/dist/cjs/queries2/CollectionQueries.d.ts +55 -0
  198. package/dist/cjs/queries2/CollectionQueries.js +83 -0
  199. package/dist/cjs/queries2/CollectionQueries.js.map +1 -0
  200. package/dist/cjs/queries2/FindAllQuery.d.ts +11 -0
  201. package/dist/cjs/queries2/FindAllQuery.js +34 -0
  202. package/dist/cjs/queries2/FindAllQuery.js.map +1 -0
  203. package/dist/cjs/queries2/FindInfiniteQuery.d.ts +18 -0
  204. package/dist/cjs/queries2/FindInfiniteQuery.js +61 -0
  205. package/dist/cjs/queries2/FindInfiniteQuery.js.map +1 -0
  206. package/dist/cjs/queries2/FindOneQuery.d.ts +11 -0
  207. package/dist/cjs/queries2/FindOneQuery.js +34 -0
  208. package/dist/cjs/queries2/FindOneQuery.js.map +1 -0
  209. package/dist/cjs/queries2/FindPageQuery.d.ts +23 -0
  210. package/dist/cjs/queries2/FindPageQuery.js +68 -0
  211. package/dist/cjs/queries2/FindPageQuery.js.map +1 -0
  212. package/dist/cjs/queries2/GetQuery.d.ts +10 -0
  213. package/dist/cjs/queries2/GetQuery.js +30 -0
  214. package/dist/cjs/queries2/GetQuery.js.map +1 -0
  215. package/dist/cjs/queries2/QueryCache.d.ts +16 -0
  216. package/dist/cjs/queries2/QueryCache.js +40 -0
  217. package/dist/cjs/queries2/QueryCache.js.map +1 -0
  218. package/dist/cjs/queries2/dbQueries.d.ts +22 -0
  219. package/dist/cjs/queries2/dbQueries.js +126 -0
  220. package/dist/cjs/queries2/dbQueries.js.map +1 -0
  221. package/dist/cjs/queries2/keys.d.ts +10 -0
  222. package/dist/cjs/queries2/keys.js +34 -0
  223. package/dist/cjs/queries2/keys.js.map +1 -0
  224. package/dist/cjs/queries2/ranges.d.ts +2 -0
  225. package/dist/cjs/queries2/ranges.js +70 -0
  226. package/dist/cjs/queries2/ranges.js.map +1 -0
  227. package/dist/cjs/queries2/types.d.ts +6 -0
  228. package/dist/cjs/queries2/types.js +3 -0
  229. package/dist/cjs/queries2/types.js.map +1 -0
  230. package/dist/cjs/queries2/utils.d.ts +1 -0
  231. package/dist/cjs/queries2/utils.js +20 -0
  232. package/dist/cjs/queries2/utils.js.map +1 -0
  233. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +47 -0
  234. package/dist/cjs/reactives/DocumentFamiliyCache.js +211 -0
  235. package/dist/cjs/reactives/DocumentFamiliyCache.js.map +1 -0
  236. package/dist/cjs/reactives/Entity.d.ts +191 -0
  237. package/dist/cjs/reactives/Entity.js +463 -0
  238. package/dist/cjs/reactives/Entity.js.map +1 -0
  239. package/dist/cjs/reactives/EntityStore.d.ts +84 -0
  240. package/dist/cjs/reactives/EntityStore.js +422 -0
  241. package/dist/cjs/reactives/EntityStore.js.map +1 -0
  242. package/dist/cjs/reactives/FakeWeakRef.d.ts +11 -0
  243. package/dist/cjs/reactives/FakeWeakRef.js +19 -0
  244. package/dist/cjs/reactives/FakeWeakRef.js.map +1 -0
  245. package/dist/cjs/sync/FileSync.d.ts +23 -23
  246. package/dist/cjs/sync/FileSync.js +84 -84
  247. package/dist/cjs/sync/Heartbeat.d.ts +25 -25
  248. package/dist/cjs/sync/Heartbeat.js +63 -63
  249. package/dist/cjs/sync/PresenceManager.d.ts +43 -43
  250. package/dist/cjs/sync/PresenceManager.js +119 -119
  251. package/dist/cjs/sync/PushPullSync.d.ts +36 -36
  252. package/dist/cjs/sync/PushPullSync.js +143 -143
  253. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
  254. package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
  255. package/dist/cjs/sync/Sync.d.ts +146 -146
  256. package/dist/cjs/sync/Sync.js +270 -270
  257. package/dist/cjs/sync/Sync.js.map +1 -1
  258. package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
  259. package/dist/cjs/sync/WebSocketSync.js +190 -190
  260. package/dist/cjs/types.d.ts +12 -12
  261. package/dist/cjs/types.js +2 -2
  262. package/dist/cjs/utils/Disposable.d.ts +6 -6
  263. package/dist/cjs/utils/Disposable.js +18 -18
  264. package/dist/cjs/utils/Resolvable.d.ts +8 -8
  265. package/dist/cjs/utils/Resolvable.js +22 -22
  266. package/dist/cjs/v2/AckInfoStore.d.ts +10 -0
  267. package/dist/cjs/v2/AckInfoStore.js +26 -0
  268. package/dist/cjs/v2/AckInfoStore.js.map +1 -0
  269. package/dist/cjs/v2/BaselinesStore.d.ts +10 -0
  270. package/dist/cjs/v2/BaselinesStore.js +36 -0
  271. package/dist/cjs/v2/BaselinesStore.js.map +1 -0
  272. package/dist/cjs/v2/DocumentManager.d.ts +19 -0
  273. package/dist/cjs/v2/DocumentManager.js +47 -0
  274. package/dist/cjs/v2/DocumentManager.js.map +1 -0
  275. package/dist/cjs/v2/Entity.d.ts +87 -0
  276. package/dist/cjs/v2/Entity.js +305 -0
  277. package/dist/cjs/v2/Entity.js.map +1 -0
  278. package/dist/cjs/v2/EntityStore.d.ts +37 -0
  279. package/dist/cjs/v2/EntityStore.js +165 -0
  280. package/dist/cjs/v2/EntityStore.js.map +1 -0
  281. package/dist/cjs/v2/IDBService.d.ts +7 -0
  282. package/dist/cjs/v2/IDBService.js +26 -0
  283. package/dist/cjs/v2/IDBService.js.map +1 -0
  284. package/dist/cjs/v2/LocalHistoryStore.d.ts +15 -0
  285. package/dist/cjs/v2/LocalHistoryStore.js +53 -0
  286. package/dist/cjs/v2/LocalHistoryStore.js.map +1 -0
  287. package/dist/cjs/v2/LocalReplicaStore.d.ts +14 -0
  288. package/dist/cjs/v2/LocalReplicaStore.js +49 -0
  289. package/dist/cjs/v2/LocalReplicaStore.js.map +1 -0
  290. package/dist/cjs/v2/MessageCreator.d.ts +19 -0
  291. package/dist/cjs/v2/MessageCreator.js +99 -0
  292. package/dist/cjs/v2/MessageCreator.js.map +1 -0
  293. package/dist/cjs/v2/Metadata.d.ts +90 -0
  294. package/dist/cjs/v2/Metadata.js +251 -0
  295. package/dist/cjs/v2/Metadata.js.map +1 -0
  296. package/dist/cjs/v2/OperationsStore.d.ts +38 -0
  297. package/dist/cjs/v2/OperationsStore.js +146 -0
  298. package/dist/cjs/v2/OperationsStore.js.map +1 -0
  299. package/dist/cjs/v2/PresenceManager.d.ts +24 -0
  300. package/dist/cjs/v2/PresenceManager.js +73 -0
  301. package/dist/cjs/v2/PresenceManager.js.map +1 -0
  302. package/dist/cjs/v2/Query.d.ts +24 -0
  303. package/dist/cjs/v2/Query.js +79 -0
  304. package/dist/cjs/v2/Query.js.map +1 -0
  305. package/dist/cjs/v2/QueryMaker.d.ts +16 -0
  306. package/dist/cjs/v2/QueryMaker.js +84 -0
  307. package/dist/cjs/v2/QueryMaker.js.map +1 -0
  308. package/dist/cjs/v2/QueryStore.d.ts +26 -0
  309. package/dist/cjs/v2/QueryStore.js +136 -0
  310. package/dist/cjs/v2/QueryStore.js.map +1 -0
  311. package/dist/cjs/v2/SchemaStore.d.ts +9 -0
  312. package/dist/cjs/v2/SchemaStore.js +35 -0
  313. package/dist/cjs/v2/SchemaStore.js.map +1 -0
  314. package/dist/cjs/v2/Storage.d.ts +80 -0
  315. package/dist/cjs/v2/Storage.js +154 -0
  316. package/dist/cjs/v2/Storage.js.map +1 -0
  317. package/dist/cjs/v2/Sync.d.ts +42 -0
  318. package/dist/cjs/v2/Sync.js +98 -0
  319. package/dist/cjs/v2/Sync.js.map +1 -0
  320. package/dist/cjs/v2/SyncHarness.d.ts +45 -0
  321. package/dist/cjs/v2/SyncHarness.js +110 -0
  322. package/dist/cjs/v2/SyncHarness.js.map +1 -0
  323. package/dist/cjs/v2/__tests__/documents.test.d.ts +1 -0
  324. package/dist/cjs/v2/__tests__/documents.test.js +185 -0
  325. package/dist/cjs/v2/__tests__/documents.test.js.map +1 -0
  326. package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +189 -0
  327. package/dist/cjs/v2/__tests__/fixtures/testStorage.js +93 -0
  328. package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +1 -0
  329. package/dist/cjs/v2/__tests__/queries.test.d.ts +1 -0
  330. package/dist/cjs/v2/__tests__/queries.test.js +92 -0
  331. package/dist/cjs/v2/__tests__/queries.test.js.map +1 -0
  332. package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +1 -0
  333. package/dist/cjs/v2/__tests__/setup/indexedDB.js +4 -0
  334. package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +1 -0
  335. package/dist/cjs/v2/constants.d.ts +1 -0
  336. package/dist/cjs/v2/constants.js +5 -0
  337. package/dist/cjs/v2/constants.js.map +1 -0
  338. package/dist/cjs/v2/idb.d.ts +6 -0
  339. package/dist/cjs/v2/idb.js +71 -0
  340. package/dist/cjs/v2/idb.js.map +1 -0
  341. package/dist/cjs/v2/index.d.ts +6 -0
  342. package/dist/cjs/v2/index.js +14 -0
  343. package/dist/cjs/v2/index.js.map +1 -0
  344. package/dist/cjs/v2/indexes.d.ts +3 -0
  345. package/dist/cjs/v2/indexes.js +20 -0
  346. package/dist/cjs/v2/indexes.js.map +1 -0
  347. package/dist/cjs/v2/openDocumentDatabase.d.ts +9 -0
  348. package/dist/cjs/v2/openDocumentDatabase.js +100 -0
  349. package/dist/cjs/v2/openDocumentDatabase.js.map +1 -0
  350. package/dist/cjs/v2/types.d.ts +3 -0
  351. package/dist/cjs/v2/types.js +3 -0
  352. package/dist/cjs/v2/types.js.map +1 -0
  353. package/dist/cjs/vanilla.d.ts +1 -1
  354. package/dist/cjs/vanilla.js +27 -27
  355. package/dist/esm/AckInfoStore.d.ts +10 -0
  356. package/dist/esm/AckInfoStore.js +22 -0
  357. package/dist/esm/AckInfoStore.js.map +1 -0
  358. package/dist/esm/BackoffScheduler.d.ts +19 -19
  359. package/dist/esm/BackoffScheduler.js +39 -39
  360. package/dist/esm/BaselinesStore.d.ts +10 -0
  361. package/dist/esm/BaselinesStore.js +32 -0
  362. package/dist/esm/BaselinesStore.js.map +1 -0
  363. package/dist/esm/DocumentManager.d.ts +28 -28
  364. package/dist/esm/DocumentManager.js +40 -40
  365. package/dist/esm/Entity.d.ts +96 -0
  366. package/dist/esm/Entity.js +337 -0
  367. package/dist/esm/Entity.js.map +1 -0
  368. package/dist/esm/EntityStore.d.ts +36 -0
  369. package/dist/esm/EntityStore.js +168 -0
  370. package/dist/esm/EntityStore.js.map +1 -0
  371. package/dist/esm/FakeWeakRef.d.ts +11 -11
  372. package/dist/esm/FakeWeakRef.js +14 -14
  373. package/dist/esm/IDBService.d.ts +9 -9
  374. package/dist/esm/IDBService.js +59 -59
  375. package/dist/esm/LocalHistoryStore.d.ts +15 -0
  376. package/dist/esm/LocalHistoryStore.js +49 -0
  377. package/dist/esm/LocalHistoryStore.js.map +1 -0
  378. package/dist/esm/LocalReplicaStore.d.ts +13 -0
  379. package/dist/esm/LocalReplicaStore.js +42 -0
  380. package/dist/esm/LocalReplicaStore.js.map +1 -0
  381. package/dist/esm/MessageCreator.d.ts +19 -0
  382. package/dist/esm/MessageCreator.js +97 -0
  383. package/dist/esm/MessageCreator.js.map +1 -0
  384. package/dist/esm/Metadata.d.ts +91 -0
  385. package/dist/esm/Metadata.js +245 -0
  386. package/dist/esm/Metadata.js.map +1 -0
  387. package/dist/esm/OperationsStore.d.ts +38 -0
  388. package/dist/esm/OperationsStore.js +142 -0
  389. package/dist/esm/OperationsStore.js.map +1 -0
  390. package/dist/esm/PresenceManager.d.ts +30 -0
  391. package/dist/esm/PresenceManager.js +85 -0
  392. package/dist/esm/PresenceManager.js.map +1 -0
  393. package/dist/esm/Query.d.ts +26 -0
  394. package/dist/esm/Query.js +82 -0
  395. package/dist/esm/Query.js.map +1 -0
  396. package/dist/esm/QueryMaker.d.ts +18 -0
  397. package/dist/esm/QueryMaker.js +94 -0
  398. package/dist/esm/QueryMaker.js.map +1 -0
  399. package/dist/esm/QueryStore.d.ts +38 -0
  400. package/dist/esm/QueryStore.js +142 -0
  401. package/dist/esm/QueryStore.js.map +1 -0
  402. package/dist/esm/SchemaStore.d.ts +9 -0
  403. package/dist/esm/SchemaStore.js +31 -0
  404. package/dist/esm/SchemaStore.js.map +1 -0
  405. package/dist/esm/Storage.d.ts +147 -0
  406. package/dist/esm/Storage.js +341 -0
  407. package/dist/esm/Storage.js.map +1 -0
  408. package/dist/esm/Sync.d.ts +117 -0
  409. package/dist/esm/Sync.js +553 -0
  410. package/dist/esm/Sync.js.map +1 -0
  411. package/dist/esm/SyncHarness.d.ts +45 -0
  412. package/dist/esm/SyncHarness.js +105 -0
  413. package/dist/esm/SyncHarness.js.map +1 -0
  414. package/dist/esm/UndoHistory.d.ts +16 -16
  415. package/dist/esm/UndoHistory.js +46 -46
  416. package/dist/esm/__tests__/batching.test.d.ts +1 -1
  417. package/dist/esm/__tests__/batching.test.js +42 -42
  418. package/dist/esm/__tests__/documents.test.d.ts +1 -1
  419. package/dist/esm/__tests__/documents.test.js +413 -413
  420. package/dist/esm/__tests__/fixtures/testStorage.d.ts +123 -122
  421. package/dist/esm/__tests__/fixtures/testStorage.js +113 -111
  422. package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
  423. package/dist/esm/__tests__/legacyOids.test.d.ts +1 -1
  424. package/dist/esm/__tests__/legacyOids.test.js +307 -121
  425. package/dist/esm/__tests__/legacyOids.test.js.map +1 -1
  426. package/dist/esm/__tests__/mutations.test.d.ts +1 -1
  427. package/dist/esm/__tests__/mutations.test.js +39 -39
  428. package/dist/esm/__tests__/queries.test.d.ts +1 -1
  429. package/dist/esm/__tests__/queries.test.js +316 -316
  430. package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
  431. package/dist/esm/__tests__/setup/indexedDB.js +1 -1
  432. package/dist/esm/__tests__/undo.test.d.ts +1 -1
  433. package/dist/esm/__tests__/undo.test.js +84 -84
  434. package/dist/esm/client/Client.d.ts +99 -99
  435. package/dist/esm/client/Client.js +223 -223
  436. package/dist/esm/client/ClientDescriptor.d.ts +76 -74
  437. package/dist/esm/client/ClientDescriptor.js +193 -190
  438. package/dist/esm/client/ClientDescriptor.js.map +1 -1
  439. package/dist/esm/client/constants.d.ts +1 -0
  440. package/dist/esm/client/constants.js +2 -0
  441. package/dist/esm/client/constants.js.map +1 -0
  442. package/dist/esm/constants.d.ts +1 -1
  443. package/dist/esm/constants.js +1 -1
  444. package/dist/esm/context.d.ts +29 -29
  445. package/dist/esm/context.js +1 -1
  446. package/dist/esm/entities/DocumentFamiliyCache.d.ts +90 -90
  447. package/dist/esm/entities/DocumentFamiliyCache.js +278 -278
  448. package/dist/esm/entities/Entity.d.ts +206 -203
  449. package/dist/esm/entities/Entity.js +515 -515
  450. package/dist/esm/entities/EntityStore.d.ts +85 -85
  451. package/dist/esm/entities/EntityStore.js +475 -475
  452. package/dist/esm/files/EntityFile.d.ts +31 -31
  453. package/dist/esm/files/EntityFile.js +72 -72
  454. package/dist/esm/files/FileManager.d.ts +42 -42
  455. package/dist/esm/files/FileManager.js +148 -148
  456. package/dist/esm/files/FileStorage.d.ts +28 -28
  457. package/dist/esm/files/FileStorage.js +99 -99
  458. package/dist/esm/files/utils.d.ts +8 -8
  459. package/dist/esm/files/utils.js +46 -46
  460. package/dist/esm/files/utils.test.d.ts +1 -1
  461. package/dist/esm/files/utils.test.js +78 -78
  462. package/dist/esm/idb.d.ts +11 -11
  463. package/dist/esm/idb.js +100 -100
  464. package/dist/esm/index.d.ts +21 -21
  465. package/dist/esm/index.js +12 -12
  466. package/dist/esm/indexes.d.ts +3 -0
  467. package/dist/esm/indexes.js +15 -0
  468. package/dist/esm/indexes.js.map +1 -0
  469. package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
  470. package/dist/esm/metadata/AckInfoStore.js +21 -21
  471. package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
  472. package/dist/esm/metadata/BaselinesStore.js +85 -85
  473. package/dist/esm/metadata/LocalHistoryStore.d.ts +15 -0
  474. package/dist/esm/metadata/LocalHistoryStore.js +49 -0
  475. package/dist/esm/metadata/LocalHistoryStore.js.map +1 -0
  476. package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
  477. package/dist/esm/metadata/LocalReplicaStore.js +40 -40
  478. package/dist/esm/metadata/MessageCreator.d.ts +19 -19
  479. package/dist/esm/metadata/MessageCreator.js +123 -123
  480. package/dist/esm/metadata/Metadata.d.ts +112 -112
  481. package/dist/esm/metadata/Metadata.js +348 -348
  482. package/dist/esm/metadata/OperationsStore.d.ts +53 -53
  483. package/dist/esm/metadata/OperationsStore.js +148 -148
  484. package/dist/esm/metadata/SchemaStore.d.ts +9 -9
  485. package/dist/esm/metadata/SchemaStore.js +34 -34
  486. package/dist/esm/metadata/openMetadataDatabase.d.ts +19 -17
  487. package/dist/esm/metadata/openMetadataDatabase.js +214 -153
  488. package/dist/esm/metadata/openMetadataDatabase.js.map +1 -1
  489. package/dist/esm/migration/db.d.ts +8 -8
  490. package/dist/esm/migration/db.js +103 -103
  491. package/dist/esm/migration/errors.d.ts +5 -5
  492. package/dist/esm/migration/errors.js +7 -7
  493. package/dist/esm/migration/openDatabase.d.ts +20 -20
  494. package/dist/esm/migration/openDatabase.js +423 -423
  495. package/dist/esm/migration/paths.d.ts +6 -6
  496. package/dist/esm/migration/paths.js +48 -48
  497. package/dist/esm/migration/paths.test.d.ts +1 -1
  498. package/dist/esm/migration/paths.test.js +88 -88
  499. package/dist/esm/openDocumentDatabase.d.ts +12 -0
  500. package/dist/esm/openDocumentDatabase.js +428 -0
  501. package/dist/esm/openDocumentDatabase.js.map +1 -0
  502. package/dist/esm/queries/BaseQuery.d.ts +53 -53
  503. package/dist/esm/queries/BaseQuery.js +131 -131
  504. package/dist/esm/queries/CollectionQueries.d.ts +55 -55
  505. package/dist/esm/queries/CollectionQueries.js +87 -87
  506. package/dist/esm/queries/FindAllQuery.d.ts +12 -12
  507. package/dist/esm/queries/FindAllQuery.js +38 -38
  508. package/dist/esm/queries/FindInfiniteQuery.d.ts +19 -19
  509. package/dist/esm/queries/FindInfiniteQuery.js +65 -65
  510. package/dist/esm/queries/FindOneQuery.d.ts +12 -12
  511. package/dist/esm/queries/FindOneQuery.js +38 -38
  512. package/dist/esm/queries/FindPageQuery.d.ts +24 -24
  513. package/dist/esm/queries/FindPageQuery.js +72 -72
  514. package/dist/esm/queries/GetQuery.d.ts +10 -10
  515. package/dist/esm/queries/GetQuery.js +25 -25
  516. package/dist/esm/queries/LiveQuery.d.ts +28 -0
  517. package/dist/esm/queries/LiveQuery.js +92 -0
  518. package/dist/esm/queries/LiveQuery.js.map +1 -0
  519. package/dist/esm/queries/LiveQueryMaker.d.ts +15 -0
  520. package/dist/esm/queries/LiveQueryMaker.js +38 -0
  521. package/dist/esm/queries/LiveQueryMaker.js.map +1 -0
  522. package/dist/esm/queries/LiveQueryStore.d.ts +33 -0
  523. package/dist/esm/queries/LiveQueryStore.js +81 -0
  524. package/dist/esm/queries/LiveQueryStore.js.map +1 -0
  525. package/dist/esm/queries/Query.d.ts +18 -0
  526. package/dist/esm/queries/Query.js +32 -0
  527. package/dist/esm/queries/Query.js.map +1 -0
  528. package/dist/esm/queries/QueryCache.d.ts +16 -16
  529. package/dist/esm/queries/QueryCache.js +37 -37
  530. package/dist/esm/queries/QueryMaker.d.ts +14 -0
  531. package/dist/esm/queries/QueryMaker.js +38 -0
  532. package/dist/esm/queries/QueryMaker.js.map +1 -0
  533. package/dist/esm/queries/QueryStore.d.ts +35 -0
  534. package/dist/esm/queries/QueryStore.js +126 -0
  535. package/dist/esm/queries/QueryStore.js.map +1 -0
  536. package/dist/esm/queries/dbQueries.d.ts +22 -22
  537. package/dist/esm/queries/dbQueries.js +119 -119
  538. package/dist/esm/queries/keys.d.ts +10 -10
  539. package/dist/esm/queries/keys.js +29 -29
  540. package/dist/esm/queries/ranges.d.ts +2 -2
  541. package/dist/esm/queries/ranges.js +65 -65
  542. package/dist/esm/queries/types.d.ts +6 -6
  543. package/dist/esm/queries/types.js +1 -1
  544. package/dist/esm/queries/utils.d.ts +3 -3
  545. package/dist/esm/queries/utils.js +19 -19
  546. package/dist/esm/queries2/BaseQuery.d.ts +39 -0
  547. package/dist/esm/queries2/BaseQuery.js +95 -0
  548. package/dist/esm/queries2/BaseQuery.js.map +1 -0
  549. package/dist/esm/queries2/CollectionQueries.d.ts +55 -0
  550. package/dist/esm/queries2/CollectionQueries.js +79 -0
  551. package/dist/esm/queries2/CollectionQueries.js.map +1 -0
  552. package/dist/esm/queries2/FindAllQuery.d.ts +11 -0
  553. package/dist/esm/queries2/FindAllQuery.js +30 -0
  554. package/dist/esm/queries2/FindAllQuery.js.map +1 -0
  555. package/dist/esm/queries2/FindInfiniteQuery.d.ts +18 -0
  556. package/dist/esm/queries2/FindInfiniteQuery.js +57 -0
  557. package/dist/esm/queries2/FindInfiniteQuery.js.map +1 -0
  558. package/dist/esm/queries2/FindOneQuery.d.ts +11 -0
  559. package/dist/esm/queries2/FindOneQuery.js +30 -0
  560. package/dist/esm/queries2/FindOneQuery.js.map +1 -0
  561. package/dist/esm/queries2/FindPageQuery.d.ts +23 -0
  562. package/dist/esm/queries2/FindPageQuery.js +64 -0
  563. package/dist/esm/queries2/FindPageQuery.js.map +1 -0
  564. package/dist/esm/queries2/GetQuery.d.ts +10 -0
  565. package/dist/esm/queries2/GetQuery.js +26 -0
  566. package/dist/esm/queries2/GetQuery.js.map +1 -0
  567. package/dist/esm/queries2/QueryCache.d.ts +16 -0
  568. package/dist/esm/queries2/QueryCache.js +36 -0
  569. package/dist/esm/queries2/QueryCache.js.map +1 -0
  570. package/dist/esm/queries2/dbQueries.d.ts +22 -0
  571. package/dist/esm/queries2/dbQueries.js +120 -0
  572. package/dist/esm/queries2/dbQueries.js.map +1 -0
  573. package/dist/esm/queries2/keys.d.ts +10 -0
  574. package/dist/esm/queries2/keys.js +30 -0
  575. package/dist/esm/queries2/keys.js.map +1 -0
  576. package/dist/esm/queries2/ranges.d.ts +2 -0
  577. package/dist/esm/queries2/ranges.js +66 -0
  578. package/dist/esm/queries2/ranges.js.map +1 -0
  579. package/dist/esm/queries2/types.d.ts +6 -0
  580. package/dist/esm/queries2/types.js +2 -0
  581. package/dist/esm/queries2/types.js.map +1 -0
  582. package/dist/esm/queries2/utils.d.ts +1 -0
  583. package/dist/esm/queries2/utils.js +16 -0
  584. package/dist/esm/queries2/utils.js.map +1 -0
  585. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +47 -0
  586. package/dist/esm/reactives/DocumentFamiliyCache.js +207 -0
  587. package/dist/esm/reactives/DocumentFamiliyCache.js.map +1 -0
  588. package/dist/esm/reactives/Entity.d.ts +191 -0
  589. package/dist/esm/reactives/Entity.js +458 -0
  590. package/dist/esm/reactives/Entity.js.map +1 -0
  591. package/dist/esm/reactives/EntityStore.d.ts +84 -0
  592. package/dist/esm/reactives/EntityStore.js +418 -0
  593. package/dist/esm/reactives/EntityStore.js.map +1 -0
  594. package/dist/esm/reactives/FakeWeakRef.d.ts +11 -0
  595. package/dist/esm/reactives/FakeWeakRef.js +15 -0
  596. package/dist/esm/reactives/FakeWeakRef.js.map +1 -0
  597. package/dist/esm/sync/FileSync.d.ts +23 -23
  598. package/dist/esm/sync/FileSync.js +80 -80
  599. package/dist/esm/sync/Heartbeat.d.ts +25 -25
  600. package/dist/esm/sync/Heartbeat.js +59 -59
  601. package/dist/esm/sync/PresenceManager.d.ts +43 -43
  602. package/dist/esm/sync/PresenceManager.js +115 -115
  603. package/dist/esm/sync/PushPullSync.d.ts +36 -36
  604. package/dist/esm/sync/PushPullSync.js +139 -139
  605. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
  606. package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
  607. package/dist/esm/sync/Sync.d.ts +146 -146
  608. package/dist/esm/sync/Sync.js +265 -265
  609. package/dist/esm/sync/Sync.js.map +1 -1
  610. package/dist/esm/sync/{WebSocketSync.d.ts → WebsocketSync.d.ts} +41 -41
  611. package/dist/esm/sync/{WebSocketSync.js → WebsocketSync.js} +186 -186
  612. package/dist/esm/types.d.ts +12 -12
  613. package/dist/esm/types.js +1 -1
  614. package/dist/esm/utils/Disposable.d.ts +6 -6
  615. package/dist/esm/utils/Disposable.js +14 -14
  616. package/dist/esm/utils/Resolvable.d.ts +8 -8
  617. package/dist/esm/utils/Resolvable.js +18 -18
  618. package/dist/esm/v2/AckInfoStore.d.ts +10 -0
  619. package/dist/esm/v2/AckInfoStore.js +22 -0
  620. package/dist/esm/v2/AckInfoStore.js.map +1 -0
  621. package/dist/esm/v2/BaselinesStore.d.ts +10 -0
  622. package/dist/esm/v2/BaselinesStore.js +32 -0
  623. package/dist/esm/v2/BaselinesStore.js.map +1 -0
  624. package/dist/esm/v2/DocumentManager.d.ts +19 -0
  625. package/dist/esm/v2/DocumentManager.js +43 -0
  626. package/dist/esm/v2/DocumentManager.js.map +1 -0
  627. package/dist/esm/v2/Entity.d.ts +91 -0
  628. package/dist/esm/v2/Entity.js +305 -0
  629. package/dist/esm/v2/Entity.js.map +1 -0
  630. package/dist/esm/v2/EntityStore.d.ts +37 -0
  631. package/dist/esm/v2/EntityStore.js +166 -0
  632. package/dist/esm/v2/EntityStore.js.map +1 -0
  633. package/dist/esm/v2/IDBService.d.ts +7 -0
  634. package/dist/esm/v2/IDBService.js +22 -0
  635. package/dist/esm/v2/IDBService.js.map +1 -0
  636. package/dist/esm/v2/LocalHistoryStore.d.ts +15 -0
  637. package/dist/esm/v2/LocalHistoryStore.js +49 -0
  638. package/dist/esm/v2/LocalHistoryStore.js.map +1 -0
  639. package/dist/esm/v2/LocalReplicaStore.d.ts +14 -0
  640. package/dist/esm/v2/LocalReplicaStore.js +42 -0
  641. package/dist/esm/v2/LocalReplicaStore.js.map +1 -0
  642. package/dist/esm/v2/MessageCreator.d.ts +19 -0
  643. package/dist/esm/v2/MessageCreator.js +92 -0
  644. package/dist/esm/v2/MessageCreator.js.map +1 -0
  645. package/dist/esm/v2/Metadata.d.ts +90 -0
  646. package/dist/esm/v2/Metadata.js +246 -0
  647. package/dist/esm/v2/Metadata.js.map +1 -0
  648. package/dist/esm/v2/OperationsStore.d.ts +38 -0
  649. package/dist/esm/v2/OperationsStore.js +142 -0
  650. package/dist/esm/v2/OperationsStore.js.map +1 -0
  651. package/dist/esm/v2/PresenceManager.d.ts +24 -0
  652. package/dist/esm/v2/PresenceManager.js +69 -0
  653. package/dist/esm/v2/PresenceManager.js.map +1 -0
  654. package/dist/esm/v2/Query.d.ts +24 -0
  655. package/dist/esm/v2/Query.js +75 -0
  656. package/dist/esm/v2/Query.js.map +1 -0
  657. package/dist/esm/v2/QueryMaker.d.ts +16 -0
  658. package/dist/esm/v2/QueryMaker.js +80 -0
  659. package/dist/esm/v2/QueryMaker.js.map +1 -0
  660. package/dist/esm/v2/QueryStore.d.ts +26 -0
  661. package/dist/esm/v2/QueryStore.js +132 -0
  662. package/dist/esm/v2/QueryStore.js.map +1 -0
  663. package/dist/esm/v2/SchemaStore.d.ts +9 -0
  664. package/dist/esm/v2/SchemaStore.js +31 -0
  665. package/dist/esm/v2/SchemaStore.js.map +1 -0
  666. package/dist/esm/v2/Storage.d.ts +80 -0
  667. package/dist/esm/v2/Storage.js +149 -0
  668. package/dist/esm/v2/Storage.js.map +1 -0
  669. package/dist/esm/v2/Sync.d.ts +42 -0
  670. package/dist/esm/v2/Sync.js +94 -0
  671. package/dist/esm/v2/Sync.js.map +1 -0
  672. package/dist/esm/v2/SyncHarness.d.ts +45 -0
  673. package/dist/esm/v2/SyncHarness.js +105 -0
  674. package/dist/esm/v2/SyncHarness.js.map +1 -0
  675. package/dist/esm/v2/__tests__/documents.test.d.ts +1 -0
  676. package/dist/esm/v2/__tests__/documents.test.js +208 -0
  677. package/dist/esm/v2/__tests__/documents.test.js.map +1 -0
  678. package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +223 -0
  679. package/dist/esm/v2/__tests__/fixtures/testStorage.js +106 -0
  680. package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +1 -0
  681. package/dist/esm/v2/__tests__/queries.test.d.ts +1 -0
  682. package/dist/esm/v2/__tests__/queries.test.js +90 -0
  683. package/dist/esm/v2/__tests__/queries.test.js.map +1 -0
  684. package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +1 -0
  685. package/dist/esm/v2/__tests__/setup/indexedDB.js +2 -0
  686. package/dist/esm/v2/__tests__/setup/indexedDB.js.map +1 -0
  687. package/dist/esm/v2/constants.d.ts +1 -0
  688. package/dist/esm/v2/constants.js +2 -0
  689. package/dist/esm/v2/constants.js.map +1 -0
  690. package/dist/esm/v2/idb.d.ts +6 -0
  691. package/dist/esm/v2/idb.js +65 -0
  692. package/dist/esm/v2/idb.js.map +1 -0
  693. package/dist/esm/v2/index.d.ts +6 -0
  694. package/dist/esm/v2/index.js +5 -0
  695. package/dist/esm/v2/index.js.map +1 -0
  696. package/dist/esm/v2/indexes.d.ts +3 -0
  697. package/dist/esm/v2/indexes.js +15 -0
  698. package/dist/esm/v2/indexes.js.map +1 -0
  699. package/dist/esm/v2/openDocumentDatabase.d.ts +9 -0
  700. package/dist/esm/v2/openDocumentDatabase.js +96 -0
  701. package/dist/esm/v2/openDocumentDatabase.js.map +1 -0
  702. package/dist/esm/v2/types.d.ts +3 -0
  703. package/dist/esm/v2/types.js +2 -0
  704. package/dist/esm/v2/types.js.map +1 -0
  705. package/dist/esm/vanilla.d.ts +1 -1
  706. package/dist/esm/vanilla.js +2 -2
  707. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  708. package/dist/tsconfig.tsbuildinfo +1 -1
  709. package/package.json +2 -2
  710. package/src/__tests__/fixtures/testStorage.ts +8 -1
  711. package/src/__tests__/legacyOids.test.ts +240 -49
  712. package/src/client/ClientDescriptor.ts +6 -0
  713. package/src/client/constants.ts +1 -0
  714. package/src/entities/Entity.ts +10 -2
  715. package/src/metadata/openMetadataDatabase.ts +65 -2
  716. package/src/sync/Sync.ts +1 -0
  717. /package/dist/esm/sync/{WebSocketSync.js.map → WebsocketSync.js.map} +0 -0
@@ -1,228 +1,228 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Client = void 0;
4
- const common_1 = require("@verdant-web/common");
5
- const DocumentManager_js_1 = require("../DocumentManager.js");
6
- const FileManager_js_1 = require("../files/FileManager.js");
7
- const idb_js_1 = require("../idb.js");
8
- const openDatabase_js_1 = require("../migration/openDatabase.js");
9
- const EntityStore_js_1 = require("../entities/EntityStore.js");
10
- const Sync_js_1 = require("../sync/Sync.js");
11
- const CollectionQueries_js_1 = require("../queries/CollectionQueries.js");
12
- const QueryCache_js_1 = require("../queries/QueryCache.js");
13
- class Client extends common_1.EventSubscriber {
14
- get sync() {
15
- return this._sync;
16
- }
17
- get entities() {
18
- return this._entities;
19
- }
20
- get documentManager() {
21
- return this._documentManager;
22
- }
23
- constructor(config, context, components) {
24
- super();
25
- this.config = config;
26
- this.context = context;
27
- this.addData = (data) => {
28
- return this._entities.addData(data);
29
- };
30
- this.stats = async () => {
31
- const collectionNames = Object.keys(this.schema.collections);
32
- let collections = {};
33
- for (const collectionName of collectionNames) {
34
- collections[collectionName] = await (0, idb_js_1.getSizeOfObjectStore)(this.documentDb, collectionName);
35
- }
36
- const meta = await this.meta.stats();
37
- const storage = typeof navigator !== 'undefined' &&
38
- typeof navigator.storage !== 'undefined' &&
39
- 'estimate' in navigator.storage
40
- ? await navigator.storage.estimate()
41
- : undefined;
42
- // determine data:metadata ratio for total size of all collections vs metadata
43
- const totalCollectionsSize = Object.values(collections).reduce((acc, { size }) => acc + size, 0);
44
- const totalMetaSize = meta.baselinesSize.size + meta.operationsSize.size;
45
- const metaToDataRatio = totalMetaSize / totalCollectionsSize;
46
- return {
47
- collections,
48
- meta,
49
- storage,
50
- totalMetaSize,
51
- totalCollectionsSize,
52
- metaToDataRatio,
53
- quotaUsage: (storage === null || storage === void 0 ? void 0 : storage.usage) && (storage === null || storage === void 0 ? void 0 : storage.quota)
54
- ? storage.usage / storage.quota
55
- : undefined,
56
- };
57
- };
58
- this.close = async () => {
59
- var _a, _b;
60
- this.sync.stop();
61
- this.sync.dispose();
62
- // this step does have the potential to flush
63
- // changes to storage, so don't close metadata db yet
64
- await this._entities.destroy();
65
- this.meta.close();
66
- // the idea here is to flush the microtask queue -
67
- // we may have queued tasks related to queries that
68
- // we want to settle before closing the databases
69
- // to avoid invalid state errors
70
- await new Promise(async (resolve) => {
71
- await (0, idb_js_1.closeDatabase)(this.documentDb);
72
- await (0, idb_js_1.closeDatabase)(this.metaDb);
73
- resolve();
74
- });
75
- (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, 'Client closed');
76
- };
77
- this.__dangerous__resetLocal = async () => {
78
- this.sync.stop();
79
- await (0, idb_js_1.deleteAllDatabases)(this.namespace, indexedDB);
80
- };
81
- this.export = async () => {
82
- const metaExport = await this.meta.export();
83
- return Buffer.from(JSON.stringify(metaExport));
84
- };
85
- this.import = async (buffer) => {
86
- this.context.log('Importing data...');
87
- // close the document DB
88
- await (0, idb_js_1.closeDatabase)(this.context.documentDb);
89
- const metaExport = JSON.parse(buffer.toString());
90
- await this.meta.resetFrom(metaExport);
91
- // now reset the document DB to the specified version
92
- // and run migrations to get it to the latest version
93
- const version = metaExport.schema.version;
94
- const deleteReq = indexedDB.deleteDatabase([this.namespace, 'collections'].join('_'));
95
- await new Promise((resolve, reject) => {
96
- deleteReq.onsuccess = resolve;
97
- deleteReq.onerror = reject;
98
- });
99
- // reset our context to the imported schema for now
100
- const currentSchema = this.context.schema;
101
- this.context.schema = metaExport.schema;
102
- // now open the document DB empty at the specified version
103
- // and initialize it from the meta DB
104
- this.context.documentDb = await (0, openDatabase_js_1.openDocumentDatabase)({
105
- meta: this.meta,
106
- migrations: this.config.migrations,
107
- context: this.context,
108
- version,
109
- });
110
- // re-initialize data
111
- this.context.log('Re-initializing data from imported data...');
112
- await this._entities.addData({
113
- operations: metaExport.operations,
114
- baselines: metaExport.baselines,
115
- reset: true,
116
- });
117
- // close the database and reopen to latest version, applying
118
- // migrations
119
- await (0, idb_js_1.closeDatabase)(this.context.documentDb);
120
- this.context.log('Migrating up to latest schema...');
121
- // put the schema back
122
- this.context.schema = currentSchema;
123
- this.context.documentDb = await (0, openDatabase_js_1.openDocumentDatabase)({
124
- meta: this.meta,
125
- migrations: this.config.migrations,
126
- context: this.context,
127
- version: currentSchema.version,
128
- });
129
- };
130
- this.meta = components.meta;
131
- this.collectionNames = Object.keys(context.schema.collections);
132
- this._sync =
133
- this.config.syncConfig && !context.schema.wip
134
- ? new Sync_js_1.ServerSync(this.config.syncConfig, {
135
- meta: this.meta,
136
- onData: this.addData,
137
- log: this.context.log,
138
- })
139
- : new Sync_js_1.NoSync();
140
- if (context.schema.wip && this.config.syncConfig) {
141
- context.log('warn', '⚠️⚠️ Sync is disabled for WIP schemas. Commit your schema changes to start syncing again. ⚠️⚠️');
142
- }
143
- this._fileManager = new FileManager_js_1.FileManager({
144
- db: this.metaDb,
145
- sync: this.sync,
146
- context: this.context,
147
- config: this.config.files,
148
- meta: this.meta,
149
- });
150
- this._entities = new EntityStore_js_1.EntityStore({
151
- context: this.context,
152
- meta: this.meta,
153
- files: this._fileManager,
154
- });
155
- this._queryCache = new QueryCache_js_1.QueryCache({
156
- context,
157
- });
158
- this._documentManager = new DocumentManager_js_1.DocumentManager(this.meta, this.schema, this._entities);
159
- const notifyFutureSeen = (0, common_1.debounce)(() => {
160
- this.emit('futureSeen');
161
- }, 300);
162
- this.context.globalEvents.subscribe('futureSeen', notifyFutureSeen);
163
- this.documentDb.addEventListener('versionchange', () => {
164
- var _a, _b;
165
- (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
166
- this.documentDb.close();
167
- if (typeof window !== 'undefined') {
168
- window.location.reload();
169
- }
170
- });
171
- this.metaDb.addEventListener('versionchange', () => {
172
- var _a, _b;
173
- (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
174
- this.metaDb.close();
175
- if (typeof window !== 'undefined') {
176
- window.location.reload();
177
- }
178
- });
179
- // self-assign collection shortcuts. these are not typed
180
- // here but are typed in the generated code...
181
- for (const [name, _collection] of Object.entries(context.schema.collections)) {
182
- const collectionName = name;
183
- this[collectionName] = new CollectionQueries_js_1.CollectionQueries({
184
- collection: collectionName,
185
- cache: this._queryCache,
186
- context: this.context,
187
- entities: this.entities,
188
- documentManager: this.documentManager,
189
- });
190
- }
191
- }
192
- get documentDb() {
193
- return this.context.documentDb;
194
- }
195
- get metaDb() {
196
- return this.context.metaDb;
197
- }
198
- get schema() {
199
- return this.context.schema;
200
- }
201
- get namespace() {
202
- return this.context.namespace;
203
- }
204
- get undoHistory() {
205
- return this.context.undoHistory;
206
- }
207
- /**
208
- * @deprecated - use client.sync.presence instead
209
- */
210
- get presence() {
211
- return this.sync.presence;
212
- }
213
- /**
214
- * Batch multiple operations together to be executed in a single transaction.
215
- * The changes made will not be included in the same undo history step as
216
- * any other changes made outside of the batch. You can also disable undo
217
- * for your batch to omit changes from undo history.
218
- *
219
- * Provide a batch name to apply multiple changes to the same batch
220
- * across different invocations. Batches will automatically flush after
221
- * a short delay or if they reach a maximum size.
222
- */
223
- get batch() {
224
- return this.entities.batch;
225
- }
226
- }
227
- exports.Client = Client;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Client = void 0;
4
+ const common_1 = require("@verdant-web/common");
5
+ const DocumentManager_js_1 = require("../DocumentManager.js");
6
+ const FileManager_js_1 = require("../files/FileManager.js");
7
+ const idb_js_1 = require("../idb.js");
8
+ const openDatabase_js_1 = require("../migration/openDatabase.js");
9
+ const EntityStore_js_1 = require("../entities/EntityStore.js");
10
+ const Sync_js_1 = require("../sync/Sync.js");
11
+ const CollectionQueries_js_1 = require("../queries/CollectionQueries.js");
12
+ const QueryCache_js_1 = require("../queries/QueryCache.js");
13
+ class Client extends common_1.EventSubscriber {
14
+ get sync() {
15
+ return this._sync;
16
+ }
17
+ get entities() {
18
+ return this._entities;
19
+ }
20
+ get documentManager() {
21
+ return this._documentManager;
22
+ }
23
+ constructor(config, context, components) {
24
+ super();
25
+ this.config = config;
26
+ this.context = context;
27
+ this.addData = (data) => {
28
+ return this._entities.addData(data);
29
+ };
30
+ this.stats = async () => {
31
+ const collectionNames = Object.keys(this.schema.collections);
32
+ let collections = {};
33
+ for (const collectionName of collectionNames) {
34
+ collections[collectionName] = await (0, idb_js_1.getSizeOfObjectStore)(this.documentDb, collectionName);
35
+ }
36
+ const meta = await this.meta.stats();
37
+ const storage = typeof navigator !== 'undefined' &&
38
+ typeof navigator.storage !== 'undefined' &&
39
+ 'estimate' in navigator.storage
40
+ ? await navigator.storage.estimate()
41
+ : undefined;
42
+ // determine data:metadata ratio for total size of all collections vs metadata
43
+ const totalCollectionsSize = Object.values(collections).reduce((acc, { size }) => acc + size, 0);
44
+ const totalMetaSize = meta.baselinesSize.size + meta.operationsSize.size;
45
+ const metaToDataRatio = totalMetaSize / totalCollectionsSize;
46
+ return {
47
+ collections,
48
+ meta,
49
+ storage,
50
+ totalMetaSize,
51
+ totalCollectionsSize,
52
+ metaToDataRatio,
53
+ quotaUsage: (storage === null || storage === void 0 ? void 0 : storage.usage) && (storage === null || storage === void 0 ? void 0 : storage.quota)
54
+ ? storage.usage / storage.quota
55
+ : undefined,
56
+ };
57
+ };
58
+ this.close = async () => {
59
+ var _a, _b;
60
+ this.sync.stop();
61
+ this.sync.dispose();
62
+ // this step does have the potential to flush
63
+ // changes to storage, so don't close metadata db yet
64
+ await this._entities.destroy();
65
+ this.meta.close();
66
+ // the idea here is to flush the microtask queue -
67
+ // we may have queued tasks related to queries that
68
+ // we want to settle before closing the databases
69
+ // to avoid invalid state errors
70
+ await new Promise(async (resolve) => {
71
+ await (0, idb_js_1.closeDatabase)(this.documentDb);
72
+ await (0, idb_js_1.closeDatabase)(this.metaDb);
73
+ resolve();
74
+ });
75
+ (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, 'Client closed');
76
+ };
77
+ this.__dangerous__resetLocal = async () => {
78
+ this.sync.stop();
79
+ await (0, idb_js_1.deleteAllDatabases)(this.namespace, indexedDB);
80
+ };
81
+ this.export = async () => {
82
+ const metaExport = await this.meta.export();
83
+ return Buffer.from(JSON.stringify(metaExport));
84
+ };
85
+ this.import = async (buffer) => {
86
+ this.context.log('Importing data...');
87
+ // close the document DB
88
+ await (0, idb_js_1.closeDatabase)(this.context.documentDb);
89
+ const metaExport = JSON.parse(buffer.toString());
90
+ await this.meta.resetFrom(metaExport);
91
+ // now reset the document DB to the specified version
92
+ // and run migrations to get it to the latest version
93
+ const version = metaExport.schema.version;
94
+ const deleteReq = indexedDB.deleteDatabase([this.namespace, 'collections'].join('_'));
95
+ await new Promise((resolve, reject) => {
96
+ deleteReq.onsuccess = resolve;
97
+ deleteReq.onerror = reject;
98
+ });
99
+ // reset our context to the imported schema for now
100
+ const currentSchema = this.context.schema;
101
+ this.context.schema = metaExport.schema;
102
+ // now open the document DB empty at the specified version
103
+ // and initialize it from the meta DB
104
+ this.context.documentDb = await (0, openDatabase_js_1.openDocumentDatabase)({
105
+ meta: this.meta,
106
+ migrations: this.config.migrations,
107
+ context: this.context,
108
+ version,
109
+ });
110
+ // re-initialize data
111
+ this.context.log('Re-initializing data from imported data...');
112
+ await this._entities.addData({
113
+ operations: metaExport.operations,
114
+ baselines: metaExport.baselines,
115
+ reset: true,
116
+ });
117
+ // close the database and reopen to latest version, applying
118
+ // migrations
119
+ await (0, idb_js_1.closeDatabase)(this.context.documentDb);
120
+ this.context.log('Migrating up to latest schema...');
121
+ // put the schema back
122
+ this.context.schema = currentSchema;
123
+ this.context.documentDb = await (0, openDatabase_js_1.openDocumentDatabase)({
124
+ meta: this.meta,
125
+ migrations: this.config.migrations,
126
+ context: this.context,
127
+ version: currentSchema.version,
128
+ });
129
+ };
130
+ this.meta = components.meta;
131
+ this.collectionNames = Object.keys(context.schema.collections);
132
+ this._sync =
133
+ this.config.syncConfig && !context.schema.wip
134
+ ? new Sync_js_1.ServerSync(this.config.syncConfig, {
135
+ meta: this.meta,
136
+ onData: this.addData,
137
+ log: this.context.log,
138
+ })
139
+ : new Sync_js_1.NoSync();
140
+ if (context.schema.wip && this.config.syncConfig) {
141
+ context.log('warn', '⚠️⚠️ Sync is disabled for WIP schemas. Commit your schema changes to start syncing again. ⚠️⚠️');
142
+ }
143
+ this._fileManager = new FileManager_js_1.FileManager({
144
+ db: this.metaDb,
145
+ sync: this.sync,
146
+ context: this.context,
147
+ config: this.config.files,
148
+ meta: this.meta,
149
+ });
150
+ this._entities = new EntityStore_js_1.EntityStore({
151
+ context: this.context,
152
+ meta: this.meta,
153
+ files: this._fileManager,
154
+ });
155
+ this._queryCache = new QueryCache_js_1.QueryCache({
156
+ context,
157
+ });
158
+ this._documentManager = new DocumentManager_js_1.DocumentManager(this.meta, this.schema, this._entities);
159
+ const notifyFutureSeen = (0, common_1.debounce)(() => {
160
+ this.emit('futureSeen');
161
+ }, 300);
162
+ this.context.globalEvents.subscribe('futureSeen', notifyFutureSeen);
163
+ this.documentDb.addEventListener('versionchange', () => {
164
+ var _a, _b;
165
+ (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
166
+ this.documentDb.close();
167
+ if (typeof window !== 'undefined') {
168
+ window.location.reload();
169
+ }
170
+ });
171
+ this.metaDb.addEventListener('versionchange', () => {
172
+ var _a, _b;
173
+ (_b = (_a = this.context).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
174
+ this.metaDb.close();
175
+ if (typeof window !== 'undefined') {
176
+ window.location.reload();
177
+ }
178
+ });
179
+ // self-assign collection shortcuts. these are not typed
180
+ // here but are typed in the generated code...
181
+ for (const [name, _collection] of Object.entries(context.schema.collections)) {
182
+ const collectionName = name;
183
+ this[collectionName] = new CollectionQueries_js_1.CollectionQueries({
184
+ collection: collectionName,
185
+ cache: this._queryCache,
186
+ context: this.context,
187
+ entities: this.entities,
188
+ documentManager: this.documentManager,
189
+ });
190
+ }
191
+ }
192
+ get documentDb() {
193
+ return this.context.documentDb;
194
+ }
195
+ get metaDb() {
196
+ return this.context.metaDb;
197
+ }
198
+ get schema() {
199
+ return this.context.schema;
200
+ }
201
+ get namespace() {
202
+ return this.context.namespace;
203
+ }
204
+ get undoHistory() {
205
+ return this.context.undoHistory;
206
+ }
207
+ /**
208
+ * @deprecated - use client.sync.presence instead
209
+ */
210
+ get presence() {
211
+ return this.sync.presence;
212
+ }
213
+ /**
214
+ * Batch multiple operations together to be executed in a single transaction.
215
+ * The changes made will not be included in the same undo history step as
216
+ * any other changes made outside of the batch. You can also disable undo
217
+ * for your batch to omit changes from undo history.
218
+ *
219
+ * Provide a batch name to apply multiple changes to the same batch
220
+ * across different invocations. Batches will automatically flush after
221
+ * a short delay or if they reach a maximum size.
222
+ */
223
+ get batch() {
224
+ return this.entities.batch;
225
+ }
226
+ }
227
+ exports.Client = Client;
228
228
  //# sourceMappingURL=Client.js.map
@@ -1,74 +1,76 @@
1
- import { Migration, StorageSchema } from '@verdant-web/common';
2
- import { FileManagerConfig } from '../files/FileManager.js';
3
- import { ServerSyncOptions } from '../sync/Sync.js';
4
- import { UndoHistory } from '../UndoHistory.js';
5
- import { Client } from './Client.js';
6
- export interface ClientDescriptorOptions<Presence = any, Profile = any> {
7
- /** The schema used to create this client */
8
- schema: StorageSchema<any>;
9
- /** Migrations, in order, to upgrade to each successive version of the schema */
10
- migrations: Migration<any>[];
11
- /** Provide a sync config to turn on synchronization with a server */
12
- sync?: ServerSyncOptions<Profile, Presence>;
13
- /** Optionally override the IndexedDB implementation */
14
- indexedDb?: IDBFactory;
15
- /**
16
- * Namespaces are used to separate data from different clients in IndexedDB.
17
- */
18
- namespace: string;
19
- /**
20
- * Provide your own UndoHistory to have a unified undo system across multiple
21
- * clients if you so desire.
22
- */
23
- undoHistory?: UndoHistory;
24
- /**
25
- * Provide a log function to log internal debug messages
26
- */
27
- log?: (...args: any[]) => void;
28
- disableRebasing?: boolean;
29
- /**
30
- * Provide a specific schema number to override the schema version
31
- * in the database. This is useful for testing migrations or recovering
32
- * from a mistakenly deployed incorrect schema. A specific version is required
33
- * so that you don't leave this on accidentally for all new schemas.
34
- */
35
- overrideSchemaConflict?: number;
36
- /**
37
- * Configuration for file management
38
- */
39
- files?: FileManagerConfig;
40
- /**
41
- * Enables experimental WeakRef usage to cull documents
42
- * from cache that aren't being used. This is a performance
43
- * optimization which has been tested under all Verdant's test
44
- * suites but I still want to keep testing it in the real world
45
- * before turning it on.
46
- */
47
- EXPERIMENTAL_weakRefs?: boolean;
48
- }
49
- /**
50
- * Since storage initialization is async, this class wraps the core
51
- * Storage creation promise and exposes some metadata which can
52
- * be useful immediately.
53
- */
54
- export declare class ClientDescriptor<Presence = any, Profile = any, ClientImpl extends Client = Client> {
55
- private readonly init;
56
- private readonly _readyPromise;
57
- private resolveReady;
58
- private rejectReady;
59
- private _resolvedValue;
60
- private _initializing;
61
- private _namespace;
62
- get namespace(): string;
63
- constructor(init: ClientDescriptorOptions<Presence, Profile>);
64
- private initialize;
65
- private initializeDatabases;
66
- private initializeWIPDatabases;
67
- private cleanupWIPDatabases;
68
- get current(): ClientImpl | undefined;
69
- get readyPromise(): Promise<ClientImpl>;
70
- get schema(): StorageSchema<any>;
71
- open: () => Promise<ClientImpl>;
72
- close: () => Promise<void>;
73
- __dangerous__resetLocal: () => Promise<void>;
74
- }
1
+ import { Migration, StorageSchema } from '@verdant-web/common';
2
+ import { FileManagerConfig } from '../files/FileManager.js';
3
+ import { ServerSyncOptions } from '../sync/Sync.js';
4
+ import { UndoHistory } from '../UndoHistory.js';
5
+ import { Client } from './Client.js';
6
+ import { METADATA_VERSION_KEY } from './constants.js';
7
+ export interface ClientDescriptorOptions<Presence = any, Profile = any> {
8
+ /** The schema used to create this client */
9
+ schema: StorageSchema<any>;
10
+ /** Migrations, in order, to upgrade to each successive version of the schema */
11
+ migrations: Migration<any>[];
12
+ /** Provide a sync config to turn on synchronization with a server */
13
+ sync?: ServerSyncOptions<Profile, Presence>;
14
+ /** Optionally override the IndexedDB implementation */
15
+ indexedDb?: IDBFactory;
16
+ /**
17
+ * Namespaces are used to separate data from different clients in IndexedDB.
18
+ */
19
+ namespace: string;
20
+ /**
21
+ * Provide your own UndoHistory to have a unified undo system across multiple
22
+ * clients if you so desire.
23
+ */
24
+ undoHistory?: UndoHistory;
25
+ /**
26
+ * Provide a log function to log internal debug messages
27
+ */
28
+ log?: (...args: any[]) => void;
29
+ disableRebasing?: boolean;
30
+ /**
31
+ * Provide a specific schema number to override the schema version
32
+ * in the database. This is useful for testing migrations or recovering
33
+ * from a mistakenly deployed incorrect schema. A specific version is required
34
+ * so that you don't leave this on accidentally for all new schemas.
35
+ */
36
+ overrideSchemaConflict?: number;
37
+ /**
38
+ * Configuration for file management
39
+ */
40
+ files?: FileManagerConfig;
41
+ /**
42
+ * Enables experimental WeakRef usage to cull documents
43
+ * from cache that aren't being used. This is a performance
44
+ * optimization which has been tested under all Verdant's test
45
+ * suites but I still want to keep testing it in the real world
46
+ * before turning it on.
47
+ */
48
+ EXPERIMENTAL_weakRefs?: boolean;
49
+ [METADATA_VERSION_KEY]?: number;
50
+ }
51
+ /**
52
+ * Since storage initialization is async, this class wraps the core
53
+ * Storage creation promise and exposes some metadata which can
54
+ * be useful immediately.
55
+ */
56
+ export declare class ClientDescriptor<Presence = any, Profile = any, ClientImpl extends Client = Client> {
57
+ private readonly init;
58
+ private readonly _readyPromise;
59
+ private resolveReady;
60
+ private rejectReady;
61
+ private _resolvedValue;
62
+ private _initializing;
63
+ private _namespace;
64
+ get namespace(): string;
65
+ constructor(init: ClientDescriptorOptions<Presence, Profile>);
66
+ private initialize;
67
+ private initializeDatabases;
68
+ private initializeWIPDatabases;
69
+ private cleanupWIPDatabases;
70
+ get current(): ClientImpl | undefined;
71
+ get readyPromise(): Promise<ClientImpl>;
72
+ get schema(): StorageSchema<any>;
73
+ open: () => Promise<ClientImpl>;
74
+ close: () => Promise<void>;
75
+ __dangerous__resetLocal: () => Promise<void>;
76
+ }