@verdant-web/store 2.0.1 → 2.0.2

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 (560) hide show
  1. package/dist/cjs/BackoffScheduler.d.ts +19 -19
  2. package/dist/cjs/BackoffScheduler.js +44 -44
  3. package/dist/cjs/DocumentManager.d.ts +28 -28
  4. package/dist/cjs/DocumentManager.js +44 -44
  5. package/dist/cjs/IDBService.d.ts +9 -9
  6. package/dist/cjs/IDBService.js +46 -46
  7. package/dist/cjs/UndoHistory.d.ts +16 -16
  8. package/dist/cjs/UndoHistory.js +50 -50
  9. package/dist/cjs/__tests__/batching.test.d.ts +1 -1
  10. package/dist/cjs/__tests__/batching.test.js +44 -44
  11. package/dist/cjs/__tests__/documents.test.d.ts +1 -1
  12. package/dist/cjs/__tests__/documents.test.js +398 -398
  13. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +118 -118
  14. package/dist/cjs/__tests__/fixtures/testStorage.js +115 -115
  15. package/dist/cjs/__tests__/queries.test.d.ts +1 -1
  16. package/dist/cjs/__tests__/queries.test.js +262 -262
  17. package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
  18. package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
  19. package/dist/cjs/__tests__/undo.test.d.ts +1 -1
  20. package/dist/cjs/__tests__/undo.test.js +86 -86
  21. package/dist/cjs/client/Client.d.ts +86 -86
  22. package/dist/cjs/client/Client.js +226 -226
  23. package/dist/cjs/client/ClientDescriptor.d.ts +62 -62
  24. package/dist/cjs/client/ClientDescriptor.js +108 -108
  25. package/dist/cjs/constants.d.ts +1 -1
  26. package/dist/cjs/constants.js +4 -4
  27. package/dist/cjs/context.d.ts +17 -17
  28. package/dist/cjs/context.js +2 -2
  29. package/dist/cjs/files/EntityFile.d.ts +27 -27
  30. package/dist/cjs/files/EntityFile.js +71 -71
  31. package/dist/cjs/files/FileManager.d.ts +42 -42
  32. package/dist/cjs/files/FileManager.js +145 -145
  33. package/dist/cjs/files/FileStorage.d.ts +27 -27
  34. package/dist/cjs/files/FileStorage.js +93 -93
  35. package/dist/cjs/files/utils.d.ts +8 -8
  36. package/dist/cjs/files/utils.js +55 -55
  37. package/dist/cjs/files/utils.test.d.ts +1 -1
  38. package/dist/cjs/files/utils.test.js +80 -80
  39. package/dist/cjs/idb.d.ts +8 -8
  40. package/dist/cjs/idb.js +87 -87
  41. package/dist/cjs/index.d.ts +19 -19
  42. package/dist/cjs/index.js +20 -20
  43. package/dist/cjs/indexes.d.ts +3 -3
  44. package/dist/cjs/indexes.js +19 -19
  45. package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
  46. package/dist/cjs/metadata/AckInfoStore.js +25 -25
  47. package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
  48. package/dist/cjs/metadata/BaselinesStore.js +59 -59
  49. package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
  50. package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
  51. package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
  52. package/dist/cjs/metadata/MessageCreator.js +127 -127
  53. package/dist/cjs/metadata/Metadata.d.ts +106 -106
  54. package/dist/cjs/metadata/Metadata.js +336 -336
  55. package/dist/cjs/metadata/OperationsStore.d.ts +50 -50
  56. package/dist/cjs/metadata/OperationsStore.js +145 -145
  57. package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
  58. package/dist/cjs/metadata/SchemaStore.js +38 -38
  59. package/dist/cjs/metadata/openMetadataDatabase.d.ts +8 -8
  60. package/dist/cjs/metadata/openMetadataDatabase.js +105 -105
  61. package/dist/cjs/openDocumentDatabase.d.ts +12 -12
  62. package/dist/cjs/openDocumentDatabase.js +424 -424
  63. package/dist/cjs/queries2/BaseQuery.d.ts +39 -39
  64. package/dist/cjs/queries2/BaseQuery.js +98 -98
  65. package/dist/cjs/queries2/CollectionQueries.d.ts +55 -55
  66. package/dist/cjs/queries2/CollectionQueries.js +82 -82
  67. package/dist/cjs/queries2/FindAllQuery.d.ts +11 -11
  68. package/dist/cjs/queries2/FindAllQuery.js +33 -33
  69. package/dist/cjs/queries2/FindInfiniteQuery.d.ts +18 -18
  70. package/dist/cjs/queries2/FindInfiniteQuery.js +60 -60
  71. package/dist/cjs/queries2/FindOneQuery.d.ts +11 -11
  72. package/dist/cjs/queries2/FindOneQuery.js +33 -33
  73. package/dist/cjs/queries2/FindPageQuery.d.ts +23 -23
  74. package/dist/cjs/queries2/FindPageQuery.js +67 -67
  75. package/dist/cjs/queries2/GetQuery.d.ts +10 -10
  76. package/dist/cjs/queries2/GetQuery.js +29 -29
  77. package/dist/cjs/queries2/QueryCache.d.ts +16 -16
  78. package/dist/cjs/queries2/QueryCache.js +39 -39
  79. package/dist/cjs/queries2/dbQueries.d.ts +22 -22
  80. package/dist/cjs/queries2/dbQueries.js +125 -125
  81. package/dist/cjs/queries2/keys.d.ts +10 -10
  82. package/dist/cjs/queries2/keys.js +33 -33
  83. package/dist/cjs/queries2/ranges.d.ts +2 -2
  84. package/dist/cjs/queries2/ranges.js +69 -69
  85. package/dist/cjs/queries2/types.d.ts +6 -6
  86. package/dist/cjs/queries2/types.js +2 -2
  87. package/dist/cjs/queries2/utils.d.ts +1 -1
  88. package/dist/cjs/queries2/utils.js +19 -19
  89. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +47 -47
  90. package/dist/cjs/reactives/DocumentFamiliyCache.js +210 -210
  91. package/dist/cjs/reactives/Entity.d.ts +191 -191
  92. package/dist/cjs/reactives/Entity.js +462 -462
  93. package/dist/cjs/reactives/EntityStore.d.ts +84 -84
  94. package/dist/cjs/reactives/EntityStore.js +421 -421
  95. package/dist/cjs/reactives/FakeWeakRef.d.ts +11 -11
  96. package/dist/cjs/reactives/FakeWeakRef.js +18 -18
  97. package/dist/cjs/sync/FileSync.d.ts +23 -23
  98. package/dist/cjs/sync/FileSync.js +84 -84
  99. package/dist/cjs/sync/Heartbeat.d.ts +24 -24
  100. package/dist/cjs/sync/Heartbeat.js +55 -55
  101. package/dist/cjs/sync/PresenceManager.d.ts +41 -41
  102. package/dist/cjs/sync/PresenceManager.js +107 -107
  103. package/dist/cjs/sync/PushPullSync.d.ts +36 -36
  104. package/dist/cjs/sync/PushPullSync.js +141 -141
  105. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
  106. package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
  107. package/dist/cjs/sync/Sync.d.ts +127 -127
  108. package/dist/cjs/sync/Sync.js +244 -244
  109. package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
  110. package/dist/cjs/sync/WebSocketSync.js +183 -183
  111. package/dist/cjs/types.d.ts +5 -5
  112. package/dist/cjs/types.js +2 -2
  113. package/dist/cjs/utils/Disposable.d.ts +6 -6
  114. package/dist/cjs/utils/Disposable.js +18 -18
  115. package/dist/cjs/utils/Resolvable.d.ts +8 -8
  116. package/dist/cjs/utils/Resolvable.js +22 -22
  117. package/dist/esm/BackoffScheduler.d.ts +19 -19
  118. package/dist/esm/BackoffScheduler.js +39 -39
  119. package/dist/esm/DocumentManager.d.ts +28 -28
  120. package/dist/esm/DocumentManager.js +40 -40
  121. package/dist/esm/IDBService.d.ts +9 -9
  122. package/dist/esm/IDBService.js +42 -42
  123. package/dist/esm/UndoHistory.d.ts +16 -16
  124. package/dist/esm/UndoHistory.js +46 -46
  125. package/dist/esm/__tests__/batching.test.d.ts +1 -1
  126. package/dist/esm/__tests__/batching.test.js +42 -42
  127. package/dist/esm/__tests__/documents.test.d.ts +1 -1
  128. package/dist/esm/__tests__/documents.test.js +396 -396
  129. package/dist/esm/__tests__/fixtures/testStorage.d.ts +118 -118
  130. package/dist/esm/__tests__/fixtures/testStorage.js +111 -111
  131. package/dist/esm/__tests__/queries.test.d.ts +1 -1
  132. package/dist/esm/__tests__/queries.test.js +260 -260
  133. package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
  134. package/dist/esm/__tests__/setup/indexedDB.js +1 -1
  135. package/dist/esm/__tests__/undo.test.d.ts +1 -1
  136. package/dist/esm/__tests__/undo.test.js +84 -84
  137. package/dist/esm/client/Client.d.ts +86 -86
  138. package/dist/esm/client/Client.js +222 -222
  139. package/dist/esm/client/ClientDescriptor.d.ts +62 -62
  140. package/dist/esm/client/ClientDescriptor.js +104 -104
  141. package/dist/esm/constants.d.ts +1 -1
  142. package/dist/esm/constants.js +1 -1
  143. package/dist/esm/context.d.ts +17 -17
  144. package/dist/esm/context.js +1 -1
  145. package/dist/esm/files/EntityFile.d.ts +27 -27
  146. package/dist/esm/files/EntityFile.js +67 -67
  147. package/dist/esm/files/FileManager.d.ts +42 -42
  148. package/dist/esm/files/FileManager.js +141 -141
  149. package/dist/esm/files/FileStorage.d.ts +27 -27
  150. package/dist/esm/files/FileStorage.js +88 -88
  151. package/dist/esm/files/utils.d.ts +8 -8
  152. package/dist/esm/files/utils.js +46 -46
  153. package/dist/esm/files/utils.test.d.ts +1 -1
  154. package/dist/esm/files/utils.test.js +78 -78
  155. package/dist/esm/idb.d.ts +8 -8
  156. package/dist/esm/idb.js +79 -79
  157. package/dist/esm/index.d.ts +19 -19
  158. package/dist/esm/index.js +11 -11
  159. package/dist/esm/indexes.d.ts +3 -3
  160. package/dist/esm/indexes.js +14 -14
  161. package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
  162. package/dist/esm/metadata/AckInfoStore.js +21 -21
  163. package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
  164. package/dist/esm/metadata/BaselinesStore.js +55 -55
  165. package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
  166. package/dist/esm/metadata/LocalReplicaStore.js +40 -40
  167. package/dist/esm/metadata/MessageCreator.d.ts +19 -19
  168. package/dist/esm/metadata/MessageCreator.js +123 -123
  169. package/dist/esm/metadata/Metadata.d.ts +106 -106
  170. package/dist/esm/metadata/Metadata.js +332 -332
  171. package/dist/esm/metadata/OperationsStore.d.ts +50 -50
  172. package/dist/esm/metadata/OperationsStore.js +141 -141
  173. package/dist/esm/metadata/SchemaStore.d.ts +9 -9
  174. package/dist/esm/metadata/SchemaStore.js +34 -34
  175. package/dist/esm/metadata/openMetadataDatabase.d.ts +8 -8
  176. package/dist/esm/metadata/openMetadataDatabase.js +101 -101
  177. package/dist/esm/openDocumentDatabase.d.ts +12 -12
  178. package/dist/esm/openDocumentDatabase.js +420 -420
  179. package/dist/esm/queries2/BaseQuery.d.ts +39 -39
  180. package/dist/esm/queries2/BaseQuery.js +94 -94
  181. package/dist/esm/queries2/CollectionQueries.d.ts +55 -55
  182. package/dist/esm/queries2/CollectionQueries.js +78 -78
  183. package/dist/esm/queries2/FindAllQuery.d.ts +11 -11
  184. package/dist/esm/queries2/FindAllQuery.js +29 -29
  185. package/dist/esm/queries2/FindInfiniteQuery.d.ts +18 -18
  186. package/dist/esm/queries2/FindInfiniteQuery.js +56 -56
  187. package/dist/esm/queries2/FindOneQuery.d.ts +11 -11
  188. package/dist/esm/queries2/FindOneQuery.js +29 -29
  189. package/dist/esm/queries2/FindPageQuery.d.ts +23 -23
  190. package/dist/esm/queries2/FindPageQuery.js +63 -63
  191. package/dist/esm/queries2/GetQuery.d.ts +10 -10
  192. package/dist/esm/queries2/GetQuery.js +25 -25
  193. package/dist/esm/queries2/QueryCache.d.ts +16 -16
  194. package/dist/esm/queries2/QueryCache.js +35 -35
  195. package/dist/esm/queries2/dbQueries.d.ts +22 -22
  196. package/dist/esm/queries2/dbQueries.js +119 -119
  197. package/dist/esm/queries2/keys.d.ts +10 -10
  198. package/dist/esm/queries2/keys.js +29 -29
  199. package/dist/esm/queries2/ranges.d.ts +2 -2
  200. package/dist/esm/queries2/ranges.js +65 -65
  201. package/dist/esm/queries2/types.d.ts +6 -6
  202. package/dist/esm/queries2/types.js +1 -1
  203. package/dist/esm/queries2/utils.d.ts +1 -1
  204. package/dist/esm/queries2/utils.js +15 -15
  205. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +47 -47
  206. package/dist/esm/reactives/DocumentFamiliyCache.js +206 -206
  207. package/dist/esm/reactives/Entity.d.ts +191 -191
  208. package/dist/esm/reactives/Entity.js +457 -457
  209. package/dist/esm/reactives/EntityStore.d.ts +84 -84
  210. package/dist/esm/reactives/EntityStore.js +417 -417
  211. package/dist/esm/reactives/FakeWeakRef.d.ts +11 -11
  212. package/dist/esm/reactives/FakeWeakRef.js +14 -14
  213. package/dist/esm/sync/FileSync.d.ts +23 -23
  214. package/dist/esm/sync/FileSync.js +80 -80
  215. package/dist/esm/sync/Heartbeat.d.ts +24 -24
  216. package/dist/esm/sync/Heartbeat.js +51 -51
  217. package/dist/esm/sync/PresenceManager.d.ts +41 -41
  218. package/dist/esm/sync/PresenceManager.js +103 -103
  219. package/dist/esm/sync/PushPullSync.d.ts +36 -36
  220. package/dist/esm/sync/PushPullSync.js +137 -137
  221. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
  222. package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
  223. package/dist/esm/sync/Sync.d.ts +127 -127
  224. package/dist/esm/sync/Sync.js +239 -239
  225. package/dist/esm/sync/{WebsocketSync.d.ts → WebSocketSync.d.ts} +41 -41
  226. package/dist/esm/sync/{WebsocketSync.js → WebSocketSync.js} +179 -179
  227. package/dist/esm/types.d.ts +5 -5
  228. package/dist/esm/types.js +1 -1
  229. package/dist/esm/utils/Disposable.d.ts +6 -6
  230. package/dist/esm/utils/Disposable.js +14 -14
  231. package/dist/esm/utils/Resolvable.d.ts +8 -8
  232. package/dist/esm/utils/Resolvable.js +18 -18
  233. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  234. package/dist/tsconfig.tsbuildinfo +1 -1
  235. package/package.json +2 -2
  236. package/dist/cjs/AckInfoStore.d.ts +0 -10
  237. package/dist/cjs/AckInfoStore.js +0 -26
  238. package/dist/cjs/AckInfoStore.js.map +0 -1
  239. package/dist/cjs/BaselinesStore.d.ts +0 -10
  240. package/dist/cjs/BaselinesStore.js +0 -36
  241. package/dist/cjs/BaselinesStore.js.map +0 -1
  242. package/dist/cjs/Entity.d.ts +0 -96
  243. package/dist/cjs/Entity.js +0 -345
  244. package/dist/cjs/Entity.js.map +0 -1
  245. package/dist/cjs/EntityStore.d.ts +0 -36
  246. package/dist/cjs/EntityStore.js +0 -172
  247. package/dist/cjs/EntityStore.js.map +0 -1
  248. package/dist/cjs/LocalHistoryStore.d.ts +0 -15
  249. package/dist/cjs/LocalHistoryStore.js +0 -53
  250. package/dist/cjs/LocalHistoryStore.js.map +0 -1
  251. package/dist/cjs/LocalReplicaStore.d.ts +0 -13
  252. package/dist/cjs/LocalReplicaStore.js +0 -49
  253. package/dist/cjs/LocalReplicaStore.js.map +0 -1
  254. package/dist/cjs/MessageCreator.d.ts +0 -19
  255. package/dist/cjs/MessageCreator.js +0 -104
  256. package/dist/cjs/MessageCreator.js.map +0 -1
  257. package/dist/cjs/Metadata.d.ts +0 -91
  258. package/dist/cjs/Metadata.js +0 -250
  259. package/dist/cjs/Metadata.js.map +0 -1
  260. package/dist/cjs/OperationsStore.d.ts +0 -38
  261. package/dist/cjs/OperationsStore.js +0 -146
  262. package/dist/cjs/OperationsStore.js.map +0 -1
  263. package/dist/cjs/PresenceManager.d.ts +0 -30
  264. package/dist/cjs/PresenceManager.js +0 -89
  265. package/dist/cjs/PresenceManager.js.map +0 -1
  266. package/dist/cjs/Query.d.ts +0 -26
  267. package/dist/cjs/Query.js +0 -86
  268. package/dist/cjs/Query.js.map +0 -1
  269. package/dist/cjs/QueryMaker.d.ts +0 -18
  270. package/dist/cjs/QueryMaker.js +0 -98
  271. package/dist/cjs/QueryMaker.js.map +0 -1
  272. package/dist/cjs/QueryStore.d.ts +0 -38
  273. package/dist/cjs/QueryStore.js +0 -146
  274. package/dist/cjs/QueryStore.js.map +0 -1
  275. package/dist/cjs/SchemaStore.d.ts +0 -9
  276. package/dist/cjs/SchemaStore.js +0 -35
  277. package/dist/cjs/SchemaStore.js.map +0 -1
  278. package/dist/cjs/Storage.d.ts +0 -147
  279. package/dist/cjs/Storage.js +0 -346
  280. package/dist/cjs/Storage.js.map +0 -1
  281. package/dist/cjs/Sync.d.ts +0 -117
  282. package/dist/cjs/Sync.js +0 -561
  283. package/dist/cjs/Sync.js.map +0 -1
  284. package/dist/cjs/SyncHarness.d.ts +0 -45
  285. package/dist/cjs/SyncHarness.js +0 -110
  286. package/dist/cjs/SyncHarness.js.map +0 -1
  287. package/dist/cjs/metadata/LocalHistoryStore.d.ts +0 -15
  288. package/dist/cjs/metadata/LocalHistoryStore.js +0 -53
  289. package/dist/cjs/metadata/LocalHistoryStore.js.map +0 -1
  290. package/dist/cjs/queries/LiveQuery.d.ts +0 -28
  291. package/dist/cjs/queries/LiveQuery.js +0 -96
  292. package/dist/cjs/queries/LiveQuery.js.map +0 -1
  293. package/dist/cjs/queries/LiveQueryMaker.d.ts +0 -15
  294. package/dist/cjs/queries/LiveQueryMaker.js +0 -42
  295. package/dist/cjs/queries/LiveQueryMaker.js.map +0 -1
  296. package/dist/cjs/queries/LiveQueryStore.d.ts +0 -33
  297. package/dist/cjs/queries/LiveQueryStore.js +0 -85
  298. package/dist/cjs/queries/LiveQueryStore.js.map +0 -1
  299. package/dist/cjs/queries/Query.d.ts +0 -18
  300. package/dist/cjs/queries/Query.js +0 -36
  301. package/dist/cjs/queries/Query.js.map +0 -1
  302. package/dist/cjs/queries/QueryMaker.d.ts +0 -14
  303. package/dist/cjs/queries/QueryMaker.js +0 -42
  304. package/dist/cjs/queries/QueryMaker.js.map +0 -1
  305. package/dist/cjs/queries/QueryStore.d.ts +0 -35
  306. package/dist/cjs/queries/QueryStore.js +0 -130
  307. package/dist/cjs/queries/QueryStore.js.map +0 -1
  308. package/dist/cjs/queries/ranges.d.ts +0 -2
  309. package/dist/cjs/queries/ranges.js +0 -70
  310. package/dist/cjs/queries/ranges.js.map +0 -1
  311. package/dist/cjs/v2/AckInfoStore.d.ts +0 -10
  312. package/dist/cjs/v2/AckInfoStore.js +0 -26
  313. package/dist/cjs/v2/AckInfoStore.js.map +0 -1
  314. package/dist/cjs/v2/BaselinesStore.d.ts +0 -10
  315. package/dist/cjs/v2/BaselinesStore.js +0 -36
  316. package/dist/cjs/v2/BaselinesStore.js.map +0 -1
  317. package/dist/cjs/v2/DocumentManager.d.ts +0 -19
  318. package/dist/cjs/v2/DocumentManager.js +0 -47
  319. package/dist/cjs/v2/DocumentManager.js.map +0 -1
  320. package/dist/cjs/v2/Entity.d.ts +0 -87
  321. package/dist/cjs/v2/Entity.js +0 -305
  322. package/dist/cjs/v2/Entity.js.map +0 -1
  323. package/dist/cjs/v2/EntityStore.d.ts +0 -37
  324. package/dist/cjs/v2/EntityStore.js +0 -165
  325. package/dist/cjs/v2/EntityStore.js.map +0 -1
  326. package/dist/cjs/v2/IDBService.d.ts +0 -7
  327. package/dist/cjs/v2/IDBService.js +0 -26
  328. package/dist/cjs/v2/IDBService.js.map +0 -1
  329. package/dist/cjs/v2/LocalHistoryStore.d.ts +0 -15
  330. package/dist/cjs/v2/LocalHistoryStore.js +0 -53
  331. package/dist/cjs/v2/LocalHistoryStore.js.map +0 -1
  332. package/dist/cjs/v2/LocalReplicaStore.d.ts +0 -14
  333. package/dist/cjs/v2/LocalReplicaStore.js +0 -49
  334. package/dist/cjs/v2/LocalReplicaStore.js.map +0 -1
  335. package/dist/cjs/v2/MessageCreator.d.ts +0 -19
  336. package/dist/cjs/v2/MessageCreator.js +0 -99
  337. package/dist/cjs/v2/MessageCreator.js.map +0 -1
  338. package/dist/cjs/v2/Metadata.d.ts +0 -90
  339. package/dist/cjs/v2/Metadata.js +0 -251
  340. package/dist/cjs/v2/Metadata.js.map +0 -1
  341. package/dist/cjs/v2/OperationsStore.d.ts +0 -38
  342. package/dist/cjs/v2/OperationsStore.js +0 -146
  343. package/dist/cjs/v2/OperationsStore.js.map +0 -1
  344. package/dist/cjs/v2/PresenceManager.d.ts +0 -24
  345. package/dist/cjs/v2/PresenceManager.js +0 -73
  346. package/dist/cjs/v2/PresenceManager.js.map +0 -1
  347. package/dist/cjs/v2/Query.d.ts +0 -24
  348. package/dist/cjs/v2/Query.js +0 -79
  349. package/dist/cjs/v2/Query.js.map +0 -1
  350. package/dist/cjs/v2/QueryMaker.d.ts +0 -16
  351. package/dist/cjs/v2/QueryMaker.js +0 -84
  352. package/dist/cjs/v2/QueryMaker.js.map +0 -1
  353. package/dist/cjs/v2/QueryStore.d.ts +0 -26
  354. package/dist/cjs/v2/QueryStore.js +0 -136
  355. package/dist/cjs/v2/QueryStore.js.map +0 -1
  356. package/dist/cjs/v2/SchemaStore.d.ts +0 -9
  357. package/dist/cjs/v2/SchemaStore.js +0 -35
  358. package/dist/cjs/v2/SchemaStore.js.map +0 -1
  359. package/dist/cjs/v2/Storage.d.ts +0 -80
  360. package/dist/cjs/v2/Storage.js +0 -154
  361. package/dist/cjs/v2/Storage.js.map +0 -1
  362. package/dist/cjs/v2/Sync.d.ts +0 -42
  363. package/dist/cjs/v2/Sync.js +0 -98
  364. package/dist/cjs/v2/Sync.js.map +0 -1
  365. package/dist/cjs/v2/SyncHarness.d.ts +0 -45
  366. package/dist/cjs/v2/SyncHarness.js +0 -110
  367. package/dist/cjs/v2/SyncHarness.js.map +0 -1
  368. package/dist/cjs/v2/__tests__/documents.test.d.ts +0 -1
  369. package/dist/cjs/v2/__tests__/documents.test.js +0 -185
  370. package/dist/cjs/v2/__tests__/documents.test.js.map +0 -1
  371. package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +0 -189
  372. package/dist/cjs/v2/__tests__/fixtures/testStorage.js +0 -93
  373. package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +0 -1
  374. package/dist/cjs/v2/__tests__/queries.test.d.ts +0 -1
  375. package/dist/cjs/v2/__tests__/queries.test.js +0 -92
  376. package/dist/cjs/v2/__tests__/queries.test.js.map +0 -1
  377. package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +0 -1
  378. package/dist/cjs/v2/__tests__/setup/indexedDB.js +0 -4
  379. package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +0 -1
  380. package/dist/cjs/v2/constants.d.ts +0 -1
  381. package/dist/cjs/v2/constants.js +0 -5
  382. package/dist/cjs/v2/constants.js.map +0 -1
  383. package/dist/cjs/v2/idb.d.ts +0 -6
  384. package/dist/cjs/v2/idb.js +0 -71
  385. package/dist/cjs/v2/idb.js.map +0 -1
  386. package/dist/cjs/v2/index.d.ts +0 -6
  387. package/dist/cjs/v2/index.js +0 -14
  388. package/dist/cjs/v2/index.js.map +0 -1
  389. package/dist/cjs/v2/indexes.d.ts +0 -3
  390. package/dist/cjs/v2/indexes.js +0 -20
  391. package/dist/cjs/v2/indexes.js.map +0 -1
  392. package/dist/cjs/v2/openDocumentDatabase.d.ts +0 -9
  393. package/dist/cjs/v2/openDocumentDatabase.js +0 -100
  394. package/dist/cjs/v2/openDocumentDatabase.js.map +0 -1
  395. package/dist/cjs/v2/types.d.ts +0 -3
  396. package/dist/cjs/v2/types.js +0 -3
  397. package/dist/cjs/v2/types.js.map +0 -1
  398. package/dist/esm/AckInfoStore.d.ts +0 -10
  399. package/dist/esm/AckInfoStore.js +0 -22
  400. package/dist/esm/AckInfoStore.js.map +0 -1
  401. package/dist/esm/BaselinesStore.d.ts +0 -10
  402. package/dist/esm/BaselinesStore.js +0 -32
  403. package/dist/esm/BaselinesStore.js.map +0 -1
  404. package/dist/esm/Entity.d.ts +0 -96
  405. package/dist/esm/Entity.js +0 -337
  406. package/dist/esm/Entity.js.map +0 -1
  407. package/dist/esm/EntityStore.d.ts +0 -36
  408. package/dist/esm/EntityStore.js +0 -168
  409. package/dist/esm/EntityStore.js.map +0 -1
  410. package/dist/esm/LocalHistoryStore.d.ts +0 -15
  411. package/dist/esm/LocalHistoryStore.js +0 -49
  412. package/dist/esm/LocalHistoryStore.js.map +0 -1
  413. package/dist/esm/LocalReplicaStore.d.ts +0 -13
  414. package/dist/esm/LocalReplicaStore.js +0 -42
  415. package/dist/esm/LocalReplicaStore.js.map +0 -1
  416. package/dist/esm/MessageCreator.d.ts +0 -19
  417. package/dist/esm/MessageCreator.js +0 -97
  418. package/dist/esm/MessageCreator.js.map +0 -1
  419. package/dist/esm/Metadata.d.ts +0 -91
  420. package/dist/esm/Metadata.js +0 -245
  421. package/dist/esm/Metadata.js.map +0 -1
  422. package/dist/esm/OperationsStore.d.ts +0 -38
  423. package/dist/esm/OperationsStore.js +0 -142
  424. package/dist/esm/OperationsStore.js.map +0 -1
  425. package/dist/esm/PresenceManager.d.ts +0 -30
  426. package/dist/esm/PresenceManager.js +0 -85
  427. package/dist/esm/PresenceManager.js.map +0 -1
  428. package/dist/esm/Query.d.ts +0 -26
  429. package/dist/esm/Query.js +0 -82
  430. package/dist/esm/Query.js.map +0 -1
  431. package/dist/esm/QueryMaker.d.ts +0 -18
  432. package/dist/esm/QueryMaker.js +0 -94
  433. package/dist/esm/QueryMaker.js.map +0 -1
  434. package/dist/esm/QueryStore.d.ts +0 -38
  435. package/dist/esm/QueryStore.js +0 -142
  436. package/dist/esm/QueryStore.js.map +0 -1
  437. package/dist/esm/SchemaStore.d.ts +0 -9
  438. package/dist/esm/SchemaStore.js +0 -31
  439. package/dist/esm/SchemaStore.js.map +0 -1
  440. package/dist/esm/Storage.d.ts +0 -147
  441. package/dist/esm/Storage.js +0 -341
  442. package/dist/esm/Storage.js.map +0 -1
  443. package/dist/esm/Sync.d.ts +0 -117
  444. package/dist/esm/Sync.js +0 -553
  445. package/dist/esm/Sync.js.map +0 -1
  446. package/dist/esm/SyncHarness.d.ts +0 -45
  447. package/dist/esm/SyncHarness.js +0 -105
  448. package/dist/esm/SyncHarness.js.map +0 -1
  449. package/dist/esm/metadata/LocalHistoryStore.d.ts +0 -15
  450. package/dist/esm/metadata/LocalHistoryStore.js +0 -49
  451. package/dist/esm/metadata/LocalHistoryStore.js.map +0 -1
  452. package/dist/esm/queries/LiveQuery.d.ts +0 -28
  453. package/dist/esm/queries/LiveQuery.js +0 -92
  454. package/dist/esm/queries/LiveQuery.js.map +0 -1
  455. package/dist/esm/queries/LiveQueryMaker.d.ts +0 -15
  456. package/dist/esm/queries/LiveQueryMaker.js +0 -38
  457. package/dist/esm/queries/LiveQueryMaker.js.map +0 -1
  458. package/dist/esm/queries/LiveQueryStore.d.ts +0 -33
  459. package/dist/esm/queries/LiveQueryStore.js +0 -81
  460. package/dist/esm/queries/LiveQueryStore.js.map +0 -1
  461. package/dist/esm/queries/Query.d.ts +0 -18
  462. package/dist/esm/queries/Query.js +0 -32
  463. package/dist/esm/queries/Query.js.map +0 -1
  464. package/dist/esm/queries/QueryMaker.d.ts +0 -14
  465. package/dist/esm/queries/QueryMaker.js +0 -38
  466. package/dist/esm/queries/QueryMaker.js.map +0 -1
  467. package/dist/esm/queries/QueryStore.d.ts +0 -35
  468. package/dist/esm/queries/QueryStore.js +0 -126
  469. package/dist/esm/queries/QueryStore.js.map +0 -1
  470. package/dist/esm/queries/ranges.d.ts +0 -2
  471. package/dist/esm/queries/ranges.js +0 -66
  472. package/dist/esm/queries/ranges.js.map +0 -1
  473. package/dist/esm/v2/AckInfoStore.d.ts +0 -10
  474. package/dist/esm/v2/AckInfoStore.js +0 -22
  475. package/dist/esm/v2/AckInfoStore.js.map +0 -1
  476. package/dist/esm/v2/BaselinesStore.d.ts +0 -10
  477. package/dist/esm/v2/BaselinesStore.js +0 -32
  478. package/dist/esm/v2/BaselinesStore.js.map +0 -1
  479. package/dist/esm/v2/DocumentManager.d.ts +0 -19
  480. package/dist/esm/v2/DocumentManager.js +0 -43
  481. package/dist/esm/v2/DocumentManager.js.map +0 -1
  482. package/dist/esm/v2/Entity.d.ts +0 -91
  483. package/dist/esm/v2/Entity.js +0 -305
  484. package/dist/esm/v2/Entity.js.map +0 -1
  485. package/dist/esm/v2/EntityStore.d.ts +0 -37
  486. package/dist/esm/v2/EntityStore.js +0 -166
  487. package/dist/esm/v2/EntityStore.js.map +0 -1
  488. package/dist/esm/v2/IDBService.d.ts +0 -7
  489. package/dist/esm/v2/IDBService.js +0 -22
  490. package/dist/esm/v2/IDBService.js.map +0 -1
  491. package/dist/esm/v2/LocalHistoryStore.d.ts +0 -15
  492. package/dist/esm/v2/LocalHistoryStore.js +0 -49
  493. package/dist/esm/v2/LocalHistoryStore.js.map +0 -1
  494. package/dist/esm/v2/LocalReplicaStore.d.ts +0 -14
  495. package/dist/esm/v2/LocalReplicaStore.js +0 -42
  496. package/dist/esm/v2/LocalReplicaStore.js.map +0 -1
  497. package/dist/esm/v2/MessageCreator.d.ts +0 -19
  498. package/dist/esm/v2/MessageCreator.js +0 -92
  499. package/dist/esm/v2/MessageCreator.js.map +0 -1
  500. package/dist/esm/v2/Metadata.d.ts +0 -90
  501. package/dist/esm/v2/Metadata.js +0 -246
  502. package/dist/esm/v2/Metadata.js.map +0 -1
  503. package/dist/esm/v2/OperationsStore.d.ts +0 -38
  504. package/dist/esm/v2/OperationsStore.js +0 -142
  505. package/dist/esm/v2/OperationsStore.js.map +0 -1
  506. package/dist/esm/v2/PresenceManager.d.ts +0 -24
  507. package/dist/esm/v2/PresenceManager.js +0 -69
  508. package/dist/esm/v2/PresenceManager.js.map +0 -1
  509. package/dist/esm/v2/Query.d.ts +0 -24
  510. package/dist/esm/v2/Query.js +0 -75
  511. package/dist/esm/v2/Query.js.map +0 -1
  512. package/dist/esm/v2/QueryMaker.d.ts +0 -16
  513. package/dist/esm/v2/QueryMaker.js +0 -80
  514. package/dist/esm/v2/QueryMaker.js.map +0 -1
  515. package/dist/esm/v2/QueryStore.d.ts +0 -26
  516. package/dist/esm/v2/QueryStore.js +0 -132
  517. package/dist/esm/v2/QueryStore.js.map +0 -1
  518. package/dist/esm/v2/SchemaStore.d.ts +0 -9
  519. package/dist/esm/v2/SchemaStore.js +0 -31
  520. package/dist/esm/v2/SchemaStore.js.map +0 -1
  521. package/dist/esm/v2/Storage.d.ts +0 -80
  522. package/dist/esm/v2/Storage.js +0 -149
  523. package/dist/esm/v2/Storage.js.map +0 -1
  524. package/dist/esm/v2/Sync.d.ts +0 -42
  525. package/dist/esm/v2/Sync.js +0 -94
  526. package/dist/esm/v2/Sync.js.map +0 -1
  527. package/dist/esm/v2/SyncHarness.d.ts +0 -45
  528. package/dist/esm/v2/SyncHarness.js +0 -105
  529. package/dist/esm/v2/SyncHarness.js.map +0 -1
  530. package/dist/esm/v2/__tests__/documents.test.d.ts +0 -1
  531. package/dist/esm/v2/__tests__/documents.test.js +0 -208
  532. package/dist/esm/v2/__tests__/documents.test.js.map +0 -1
  533. package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +0 -223
  534. package/dist/esm/v2/__tests__/fixtures/testStorage.js +0 -106
  535. package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +0 -1
  536. package/dist/esm/v2/__tests__/queries.test.d.ts +0 -1
  537. package/dist/esm/v2/__tests__/queries.test.js +0 -90
  538. package/dist/esm/v2/__tests__/queries.test.js.map +0 -1
  539. package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +0 -1
  540. package/dist/esm/v2/__tests__/setup/indexedDB.js +0 -2
  541. package/dist/esm/v2/__tests__/setup/indexedDB.js.map +0 -1
  542. package/dist/esm/v2/constants.d.ts +0 -1
  543. package/dist/esm/v2/constants.js +0 -2
  544. package/dist/esm/v2/constants.js.map +0 -1
  545. package/dist/esm/v2/idb.d.ts +0 -6
  546. package/dist/esm/v2/idb.js +0 -65
  547. package/dist/esm/v2/idb.js.map +0 -1
  548. package/dist/esm/v2/index.d.ts +0 -6
  549. package/dist/esm/v2/index.js +0 -5
  550. package/dist/esm/v2/index.js.map +0 -1
  551. package/dist/esm/v2/indexes.d.ts +0 -3
  552. package/dist/esm/v2/indexes.js +0 -15
  553. package/dist/esm/v2/indexes.js.map +0 -1
  554. package/dist/esm/v2/openDocumentDatabase.d.ts +0 -9
  555. package/dist/esm/v2/openDocumentDatabase.js +0 -96
  556. package/dist/esm/v2/openDocumentDatabase.js.map +0 -1
  557. package/dist/esm/v2/types.d.ts +0 -3
  558. package/dist/esm/v2/types.js +0 -2
  559. package/dist/esm/v2/types.js.map +0 -1
  560. /package/dist/esm/sync/{WebsocketSync.js.map → WebSocketSync.js.map} +0 -0
@@ -1,341 +0,0 @@
1
- import { NoSync, ServerSync } from './sync/Sync.js';
2
- import { Metadata } from './metadata/Metadata.js';
3
- import { LiveQueryMaker } from './queries/LiveQueryMaker.js';
4
- import { LiveQueryStore } from './queries/LiveQueryStore.js';
5
- import { openDocumentDatabase } from './openDocumentDatabase.js';
6
- import { DocumentManager } from './DocumentManager.js';
7
- import { EntityStore } from './reactives/EntityStore.js';
8
- import { closeDatabase, getSizeOfObjectStore } from './idb.js';
9
- import { openMetadataDatabase } from './metadata/openMetadataDatabase.js';
10
- import { UndoHistory } from './UndoHistory.js';
11
- export class Storage {
12
- constructor(config, context, components) {
13
- var _a;
14
- this.config = config;
15
- this.context = context;
16
- this.initialize = () => {
17
- this._entities = new EntityStore({
18
- context: this.context,
19
- meta: this.meta,
20
- });
21
- this._queryStore = new LiveQueryStore(this._entities, this.context);
22
- this._queryMaker = new LiveQueryMaker(this._queryStore, this.context);
23
- this._documentManager = new DocumentManager(this.meta, this.schema, this._entities);
24
- this._sync = this.config.syncConfig
25
- ? new ServerSync(this.config.syncConfig, {
26
- meta: this.meta,
27
- entities: this._entities,
28
- log: this.config.log,
29
- })
30
- : new NoSync();
31
- this.documentDb.addEventListener('versionchange', () => {
32
- var _a, _b;
33
- (_b = (_a = this.config).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
34
- this.documentDb.close();
35
- if (typeof window !== 'undefined') {
36
- window.location.reload();
37
- }
38
- });
39
- this.metaDb.addEventListener('versionchange', () => {
40
- var _a, _b;
41
- (_b = (_a = this.config).log) === null || _b === void 0 ? void 0 : _b.call(_a, `Another tab has requested a version change for ${this.namespace}`);
42
- this.metaDb.close();
43
- if (typeof window !== 'undefined') {
44
- window.location.reload();
45
- }
46
- });
47
- };
48
- /**
49
- * @deprecated - use put
50
- */
51
- this.create = async (...args) => {
52
- return this._documentManager.create(...args);
53
- };
54
- this.put = async (...args) => {
55
- return this._documentManager.create(...args);
56
- };
57
- this.delete = async (...args) => {
58
- return this._documentManager.delete(...args);
59
- };
60
- this.get = (...args) => {
61
- return this._queryMaker.get(...args);
62
- };
63
- this.findOne = (...args) => {
64
- return this._queryMaker.findOne(...args);
65
- };
66
- this.findAll = (...args) => {
67
- return this._queryMaker.findAll(...args);
68
- };
69
- this.stats = async () => {
70
- const collectionNames = Object.keys(this.schema.collections);
71
- let collections = {};
72
- for (const collectionName of collectionNames) {
73
- collections[collectionName] = await getSizeOfObjectStore(this.documentDb, collectionName);
74
- }
75
- const meta = await this.meta.stats();
76
- const storage = typeof navigator !== 'undefined' &&
77
- typeof navigator.storage !== 'undefined' &&
78
- 'estimate' in navigator.storage
79
- ? await navigator.storage.estimate()
80
- : undefined;
81
- // determine data:metadata ratio for total size of all collections vs metadata
82
- const totalCollectionsSize = Object.values(collections).reduce((acc, { size }) => acc + size, 0);
83
- const totalMetaSize = meta.baselinesSize.size + meta.operationsSize.size;
84
- const metaToDataRatio = totalMetaSize / totalCollectionsSize;
85
- return {
86
- collections,
87
- meta,
88
- storage,
89
- totalMetaSize,
90
- totalCollectionsSize,
91
- metaToDataRatio,
92
- quotaUsage: (storage === null || storage === void 0 ? void 0 : storage.usage) && (storage === null || storage === void 0 ? void 0 : storage.quota)
93
- ? storage.usage / storage.quota
94
- : undefined,
95
- };
96
- };
97
- this.close = async () => {
98
- var _a, _b;
99
- this.sync.stop();
100
- this.sync.dispose();
101
- this.meta.close();
102
- this._queryStore.destroy();
103
- this._entities.destroy();
104
- await closeDatabase(this.documentDb);
105
- await closeDatabase(this.metaDb);
106
- (_b = (_a = this.config).log) === null || _b === void 0 ? void 0 : _b.call(_a, 'Client closed');
107
- };
108
- this.__dangerous__resetLocal = async () => {
109
- this.sync.stop();
110
- const req1 = indexedDB.deleteDatabase([this.namespace, 'meta'].join('_'));
111
- const req2 = indexedDB.deleteDatabase([this.namespace, 'collections'].join('_'));
112
- await Promise.all([
113
- new Promise((resolve, reject) => {
114
- req1.onsuccess = resolve;
115
- req1.onerror = reject;
116
- }),
117
- new Promise((resolve, reject) => {
118
- req2.onsuccess = resolve;
119
- req2.onerror = reject;
120
- }),
121
- ]);
122
- window.location.reload();
123
- };
124
- this.export = async () => {
125
- const metaExport = await this.meta.export();
126
- return Buffer.from(JSON.stringify(metaExport));
127
- };
128
- this.import = async (buffer) => {
129
- this.context.log('Importing data...');
130
- // close the document DB
131
- await closeDatabase(this.context.documentDb);
132
- const metaExport = JSON.parse(buffer.toString());
133
- await this.meta.resetFrom(metaExport);
134
- // now reset the document DB to the specified version
135
- // and run migrations to get it to the latest version
136
- const version = metaExport.schema.version;
137
- const deleteReq = indexedDB.deleteDatabase([this.namespace, 'collections'].join('_'));
138
- await new Promise((resolve, reject) => {
139
- deleteReq.onsuccess = resolve;
140
- deleteReq.onerror = reject;
141
- });
142
- // reset our context to the imported schema for now
143
- const currentSchema = this.context.schema;
144
- this.context.schema = metaExport.schema;
145
- // now open the document DB empty at the specified version
146
- // and initialize it from the meta DB
147
- this.context.documentDb = await openDocumentDatabase({
148
- meta: this.meta,
149
- migrations: this.config.migrations,
150
- context: this.context,
151
- version,
152
- });
153
- // re-initialize data
154
- this.context.log('Re-initializing data from imported data...');
155
- await this._entities.addData({
156
- operations: metaExport.operations,
157
- baselines: metaExport.baselines,
158
- reset: true,
159
- });
160
- // close the database and reopen to latest version, applying
161
- // migrations
162
- await closeDatabase(this.context.documentDb);
163
- this.context.log('Migrating up to latest schema...');
164
- // put the schema back
165
- this.context.schema = currentSchema;
166
- this.context.documentDb = await openDocumentDatabase({
167
- meta: this.meta,
168
- migrations: this.config.migrations,
169
- context: this.context,
170
- version: currentSchema.version,
171
- });
172
- // re-initialize query store
173
- this._queryStore.updateAll();
174
- };
175
- this.meta = components.meta;
176
- this.collectionNames = Object.keys(context.schema.collections);
177
- this.initialize();
178
- // self-assign collection shortcuts. these are not typed
179
- // here but are typed in the generated code...
180
- for (const [name, _collection] of Object.entries(context.schema.collections)) {
181
- const collection = _collection;
182
- const collectionName = (_a = collection.pluralName) !== null && _a !== void 0 ? _a : collection.name + 's';
183
- // @ts-ignore
184
- this[collectionName] = {
185
- /** @deprecated - use put */
186
- create: (doc) => this._documentManager.create(name, doc),
187
- put: (doc) => this._documentManager.create(name, doc),
188
- delete: (id) => this._documentManager.delete(name, id),
189
- deleteAll: (ids) => this._documentManager.deleteAll(ids.map((id) => [name, id])),
190
- get: (id) => this._queryMaker.get(name, id),
191
- findOne: (query) => this._queryMaker.findOne(name, query),
192
- findAll: (query) => this._queryMaker.findAll(name, query),
193
- };
194
- }
195
- }
196
- get queryMaker() {
197
- return this._queryMaker;
198
- }
199
- get sync() {
200
- return this._sync;
201
- }
202
- get entities() {
203
- return this._entities;
204
- }
205
- get queryStore() {
206
- return this._queryStore;
207
- }
208
- get documentManager() {
209
- return this._documentManager;
210
- }
211
- get documentDb() {
212
- return this.context.documentDb;
213
- }
214
- get metaDb() {
215
- return this.context.metaDb;
216
- }
217
- get schema() {
218
- return this.context.schema;
219
- }
220
- get namespace() {
221
- return this.context.namespace;
222
- }
223
- get undoHistory() {
224
- return this.context.undoHistory;
225
- }
226
- /**
227
- * @deprecated - use client.sync.presence instead
228
- */
229
- get presence() {
230
- return this.sync.presence;
231
- }
232
- /**
233
- * Batch multiple operations together to be executed in a single transaction.
234
- * The changes made will not be included in the same undo history step as
235
- * any other changes made outside of the batch. You can also disable undo
236
- * for your batch to omit changes from undo history.
237
- *
238
- * Provide a batch name to apply multiple changes to the same batch
239
- * across different invocations. Batches will automatically flush after
240
- * a short delay or if they reach a maximum size.
241
- */
242
- get batch() {
243
- return this.entities.batch;
244
- }
245
- }
246
- /**
247
- * Since storage initialization is async, this class wraps the core
248
- * Storage creation promise and exposes some metadata which can
249
- * be useful immediately.
250
- */
251
- export class StorageDescriptor {
252
- constructor(init) {
253
- this.init = init;
254
- this._initializing = false;
255
- this.initialize = async (init) => {
256
- // if server-side, return an interminable promise
257
- if (typeof window === 'undefined') {
258
- return new Promise(() => { });
259
- }
260
- if (this._initializing || this._resolvedValue) {
261
- return this._readyPromise;
262
- }
263
- this._initializing = true;
264
- try {
265
- const metaDbName = [init.namespace, 'meta'].join('_');
266
- const { db: metaDb } = await openMetadataDatabase(this._namespace, {
267
- indexedDB: init.indexedDb,
268
- log: init.log,
269
- databaseName: metaDbName,
270
- });
271
- const context = {
272
- namespace: this._namespace,
273
- metaDb,
274
- schema: init.schema,
275
- log: init.log || (() => { }),
276
- undoHistory: init.undoHistory || new UndoHistory(),
277
- };
278
- const meta = new Metadata({
279
- context,
280
- disableRebasing: init.disableRebasing,
281
- });
282
- // verify schema integrity
283
- await meta.updateSchema(init.schema, init.overrideSchemaConflict);
284
- const documentDb = await openDocumentDatabase({
285
- context,
286
- version: init.schema.version,
287
- meta,
288
- migrations: init.migrations,
289
- indexedDB: init.indexedDb,
290
- });
291
- const fullContext = Object.assign(context, { documentDb });
292
- const storage = new Storage({
293
- syncConfig: init.sync,
294
- migrations: init.migrations,
295
- }, fullContext, {
296
- meta,
297
- });
298
- this.resolveReady(storage);
299
- this._resolvedValue = storage;
300
- return storage;
301
- }
302
- catch (err) {
303
- this.rejectReady(err);
304
- throw err;
305
- }
306
- finally {
307
- this._initializing = false;
308
- }
309
- };
310
- this.open = () => this.initialize(this.init);
311
- this.close = async () => {
312
- if (this._resolvedValue) {
313
- this._resolvedValue.close();
314
- }
315
- if (this._initializing) {
316
- (await this._readyPromise).close();
317
- }
318
- };
319
- this._readyPromise = new Promise((resolve, reject) => {
320
- this.resolveReady = resolve;
321
- this.rejectReady = reject;
322
- });
323
- this._namespace = init.namespace;
324
- }
325
- get namespace() {
326
- return this._namespace;
327
- }
328
- get current() {
329
- // exposing an immediate value if already resolved lets us
330
- // skip the promise microtask when accessing this externally if
331
- // the initialization has been completed.
332
- return this._resolvedValue;
333
- }
334
- get readyPromise() {
335
- return this._readyPromise;
336
- }
337
- get schema() {
338
- return this.init.schema;
339
- }
340
- }
341
- //# sourceMappingURL=Storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../src/Storage.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import { ClientMessage, EventSubscriber } from '@lo-fi/common';
2
- import { EntityStore } from './reactives/EntityStore.js';
3
- import { Metadata } from './metadata/Metadata.js';
4
- import { PresenceManager } from './PresenceManager.js';
5
- declare type SyncEvents = {
6
- onlineChange: (isOnline: boolean) => void;
7
- };
8
- export interface SyncTransport {
9
- subscribe(event: 'onlineChange', handler: (online: boolean) => void): () => void;
10
- readonly presence: PresenceManager;
11
- readonly mode: SyncTransportMode;
12
- send(message: ClientMessage): void;
13
- start(): void;
14
- stop(): void;
15
- dispose(): void;
16
- reconnect(): void;
17
- readonly isConnected: boolean;
18
- readonly status: 'active' | 'paused';
19
- }
20
- export interface Sync extends SyncTransport {
21
- setMode(mode: SyncTransportMode): void;
22
- }
23
- export declare class NoSync extends EventSubscriber<SyncEvents> implements Sync {
24
- readonly mode = "pull";
25
- send(): void;
26
- start(): void;
27
- stop(): void;
28
- dispose: () => void;
29
- reconnect(): void;
30
- setMode(): void;
31
- readonly isConnected = false;
32
- readonly status = "paused";
33
- readonly presence: PresenceManager<{}, {}>;
34
- }
35
- export interface ServerSyncEndpointProviderConfig {
36
- /**
37
- * The location of the endpoint used to retrieve an
38
- * authorization token for the client.
39
- */
40
- authEndpoint?: string;
41
- /**
42
- * A custom fetch function to retrieve authorization
43
- * data.
44
- */
45
- fetchAuth?: () => Promise<{
46
- accessToken: string;
47
- }>;
48
- }
49
- export declare type SyncTransportMode = 'realtime' | 'pull';
50
- export interface ServerSyncOptions<Profile = any, Presence = any> extends ServerSyncEndpointProviderConfig {
51
- /**
52
- * When a client first connects, it will use this presence value.
53
- */
54
- initialPresence: Presence;
55
- /**
56
- * Before connecting to the server, the local client will have
57
- * this value for their profile data. You can either cache and store
58
- * profile data from a previous connection or provide defaults like
59
- * empty strings.
60
- */
61
- defaultProfile: Profile;
62
- /**
63
- * Provide `false` to disable transport selection. Transport selection
64
- * automatically switches between HTTP and WebSocket based sync depending
65
- * on the number of peers connected. If a user is alone, they will use
66
- * HTTP push/pull to sync changes. If another user joins, both users will
67
- * be upgraded to websockets.
68
- *
69
- * Turning off this feature allows you more control over the transport
70
- * which can be useful for low-power devices or to save server traffic.
71
- * To modify transport modes manually, utilize `client.sync.setMode`.
72
- * The built-in behavior is essentially switching modes based on
73
- * the number of peers detected by client.sync.presence.
74
- */
75
- automaticTransportSelection?: boolean;
76
- initialTransport?: SyncTransportMode;
77
- autoStart?: boolean;
78
- /**
79
- * Optionally specify an interval, in milliseconds, to poll the server
80
- * when in pull mode.
81
- */
82
- pullInterval?: number;
83
- /**
84
- * Presence updates are batched to reduce number of requests / messages
85
- * sent to the server. You can specify the batching time slice, in milliseconds,
86
- */
87
- presenceUpdateBatchTimeout?: number;
88
- }
89
- export declare class ServerSync<Profile = any, Presence = any> extends EventSubscriber<SyncEvents> implements Sync {
90
- private webSocketSync;
91
- private pushPullSync;
92
- private activeSync;
93
- private endpointProvider;
94
- private meta;
95
- private entities;
96
- readonly presence: PresenceManager<Profile, Presence>;
97
- private log;
98
- constructor({ authEndpoint, fetchAuth, initialPresence, automaticTransportSelection, autoStart, initialTransport, pullInterval, presenceUpdateBatchTimeout, defaultProfile, }: ServerSyncOptions<Profile, Presence>, { meta, entities, log, }: {
99
- meta: Metadata;
100
- entities: EntityStore;
101
- log?: (...args: any[]) => void;
102
- });
103
- get canDoRealtime(): boolean;
104
- private handleMessage;
105
- private echoOnlineChange;
106
- private handlePresenceUpdate;
107
- setMode: (transport: SyncTransportMode) => void;
108
- send: (message: ClientMessage) => void;
109
- start: () => void;
110
- stop: () => void;
111
- dispose: () => void;
112
- reconnect: () => void;
113
- get isConnected(): boolean;
114
- get status(): "active" | "paused";
115
- get mode(): SyncTransportMode;
116
- }
117
- export {};