@verdant-web/store 2.0.1 → 2.0.3

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