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

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 (696) 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 -31
  4. package/dist/cjs/DocumentManager.js +44 -44
  5. package/dist/cjs/FakeWeakRef.d.ts +11 -11
  6. package/dist/cjs/FakeWeakRef.js +18 -18
  7. package/dist/cjs/IDBService.d.ts +9 -9
  8. package/dist/cjs/IDBService.js +63 -63
  9. package/dist/cjs/UndoHistory.d.ts +16 -16
  10. package/dist/cjs/UndoHistory.js +50 -50
  11. package/dist/cjs/__tests__/batching.test.d.ts +1 -1
  12. package/dist/cjs/__tests__/batching.test.js +44 -44
  13. package/dist/cjs/__tests__/documents.test.d.ts +1 -1
  14. package/dist/cjs/__tests__/documents.test.js +415 -415
  15. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +123 -123
  16. package/dist/cjs/__tests__/fixtures/testStorage.js +117 -117
  17. package/dist/cjs/__tests__/legacyOids.test.d.ts +1 -1
  18. package/dist/cjs/__tests__/legacyOids.test.js +290 -290
  19. package/dist/cjs/__tests__/mutations.test.d.ts +1 -1
  20. package/dist/cjs/__tests__/mutations.test.js +41 -41
  21. package/dist/cjs/__tests__/queries.test.d.ts +1 -1
  22. package/dist/cjs/__tests__/queries.test.js +318 -318
  23. package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
  24. package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
  25. package/dist/cjs/__tests__/undo.test.d.ts +1 -1
  26. package/dist/cjs/__tests__/undo.test.js +86 -86
  27. package/dist/cjs/client/Client.d.ts +99 -98
  28. package/dist/cjs/client/Client.js +227 -227
  29. package/dist/cjs/client/ClientDescriptor.d.ts +76 -76
  30. package/dist/cjs/client/ClientDescriptor.js +197 -197
  31. package/dist/cjs/client/constants.d.ts +1 -1
  32. package/dist/cjs/client/constants.js +4 -4
  33. package/dist/cjs/constants.d.ts +1 -1
  34. package/dist/cjs/constants.js +4 -4
  35. package/dist/cjs/context.d.ts +29 -29
  36. package/dist/cjs/context.js +2 -2
  37. package/dist/cjs/entities/DocumentFamiliyCache.d.ts +90 -90
  38. package/dist/cjs/entities/DocumentFamiliyCache.js +282 -282
  39. package/dist/cjs/entities/Entity.d.ts +206 -206
  40. package/dist/cjs/entities/Entity.js +520 -520
  41. package/dist/cjs/entities/EntityStore.d.ts +85 -85
  42. package/dist/cjs/entities/EntityStore.js +479 -479
  43. package/dist/cjs/files/EntityFile.d.ts +31 -31
  44. package/dist/cjs/files/EntityFile.js +76 -76
  45. package/dist/cjs/files/FileManager.d.ts +42 -42
  46. package/dist/cjs/files/FileManager.js +152 -152
  47. package/dist/cjs/files/FileStorage.d.ts +28 -28
  48. package/dist/cjs/files/FileStorage.js +104 -104
  49. package/dist/cjs/files/utils.d.ts +8 -8
  50. package/dist/cjs/files/utils.js +55 -55
  51. package/dist/cjs/files/utils.test.d.ts +1 -1
  52. package/dist/cjs/files/utils.test.js +80 -80
  53. package/dist/cjs/idb.d.ts +11 -11
  54. package/dist/cjs/idb.js +111 -111
  55. package/dist/cjs/index.d.ts +21 -21
  56. package/dist/cjs/index.js +23 -23
  57. package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
  58. package/dist/cjs/metadata/AckInfoStore.js +25 -25
  59. package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
  60. package/dist/cjs/metadata/BaselinesStore.js +89 -89
  61. package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
  62. package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
  63. package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
  64. package/dist/cjs/metadata/MessageCreator.js +127 -127
  65. package/dist/cjs/metadata/Metadata.d.ts +112 -112
  66. package/dist/cjs/metadata/Metadata.js +352 -352
  67. package/dist/cjs/metadata/OperationsStore.d.ts +53 -53
  68. package/dist/cjs/metadata/OperationsStore.js +152 -152
  69. package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
  70. package/dist/cjs/metadata/SchemaStore.js +38 -38
  71. package/dist/cjs/metadata/openMetadataDatabase.d.ts +19 -19
  72. package/dist/cjs/metadata/openMetadataDatabase.js +219 -219
  73. package/dist/cjs/migration/db.d.ts +8 -8
  74. package/dist/cjs/migration/db.js +111 -111
  75. package/dist/cjs/migration/errors.d.ts +5 -5
  76. package/dist/cjs/migration/errors.js +11 -11
  77. package/dist/cjs/migration/openDatabase.d.ts +20 -20
  78. package/dist/cjs/migration/openDatabase.js +428 -428
  79. package/dist/cjs/migration/paths.d.ts +6 -6
  80. package/dist/cjs/migration/paths.js +52 -52
  81. package/dist/cjs/migration/paths.test.d.ts +1 -1
  82. package/dist/cjs/migration/paths.test.js +90 -90
  83. package/dist/cjs/queries/BaseQuery.d.ts +53 -53
  84. package/dist/cjs/queries/BaseQuery.js +135 -135
  85. package/dist/cjs/queries/CollectionQueries.d.ts +55 -55
  86. package/dist/cjs/queries/CollectionQueries.js +91 -91
  87. package/dist/cjs/queries/FindAllQuery.d.ts +12 -12
  88. package/dist/cjs/queries/FindAllQuery.js +42 -42
  89. package/dist/cjs/queries/FindInfiniteQuery.d.ts +19 -19
  90. package/dist/cjs/queries/FindInfiniteQuery.js +69 -69
  91. package/dist/cjs/queries/FindOneQuery.d.ts +12 -12
  92. package/dist/cjs/queries/FindOneQuery.js +42 -42
  93. package/dist/cjs/queries/FindPageQuery.d.ts +24 -24
  94. package/dist/cjs/queries/FindPageQuery.js +76 -76
  95. package/dist/cjs/queries/GetQuery.d.ts +10 -10
  96. package/dist/cjs/queries/GetQuery.js +29 -29
  97. package/dist/cjs/queries/QueryCache.d.ts +16 -16
  98. package/dist/cjs/queries/QueryCache.js +41 -41
  99. package/dist/cjs/queries/dbQueries.d.ts +22 -22
  100. package/dist/cjs/queries/dbQueries.js +125 -125
  101. package/dist/cjs/queries/keys.d.ts +10 -10
  102. package/dist/cjs/queries/keys.js +33 -33
  103. package/dist/cjs/queries/ranges.d.ts +2 -2
  104. package/dist/cjs/queries/ranges.js +69 -69
  105. package/dist/cjs/queries/types.d.ts +6 -6
  106. package/dist/cjs/queries/types.js +2 -2
  107. package/dist/cjs/queries/utils.d.ts +3 -3
  108. package/dist/cjs/queries/utils.js +24 -24
  109. package/dist/cjs/sync/FileSync.d.ts +23 -23
  110. package/dist/cjs/sync/FileSync.js +84 -84
  111. package/dist/cjs/sync/Heartbeat.d.ts +25 -25
  112. package/dist/cjs/sync/Heartbeat.js +63 -63
  113. package/dist/cjs/sync/PresenceManager.d.ts +43 -43
  114. package/dist/cjs/sync/PresenceManager.js +119 -119
  115. package/dist/cjs/sync/PushPullSync.d.ts +36 -36
  116. package/dist/cjs/sync/PushPullSync.js +143 -143
  117. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
  118. package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
  119. package/dist/cjs/sync/Sync.d.ts +146 -146
  120. package/dist/cjs/sync/Sync.js +270 -270
  121. package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
  122. package/dist/cjs/sync/WebSocketSync.js +190 -190
  123. package/dist/cjs/types.d.ts +12 -12
  124. package/dist/cjs/types.js +2 -2
  125. package/dist/cjs/utils/Disposable.d.ts +6 -6
  126. package/dist/cjs/utils/Disposable.js +18 -18
  127. package/dist/cjs/utils/Resolvable.d.ts +8 -8
  128. package/dist/cjs/utils/Resolvable.js +22 -22
  129. package/dist/cjs/vanilla.d.ts +1 -1
  130. package/dist/cjs/vanilla.js +27 -27
  131. package/dist/esm/BackoffScheduler.d.ts +19 -19
  132. package/dist/esm/BackoffScheduler.js +39 -39
  133. package/dist/esm/DocumentManager.d.ts +28 -28
  134. package/dist/esm/DocumentManager.js +40 -40
  135. package/dist/esm/FakeWeakRef.d.ts +11 -11
  136. package/dist/esm/FakeWeakRef.js +14 -14
  137. package/dist/esm/IDBService.d.ts +9 -9
  138. package/dist/esm/IDBService.js +59 -59
  139. package/dist/esm/UndoHistory.d.ts +16 -16
  140. package/dist/esm/UndoHistory.js +46 -46
  141. package/dist/esm/__tests__/batching.test.d.ts +1 -1
  142. package/dist/esm/__tests__/batching.test.js +42 -42
  143. package/dist/esm/__tests__/documents.test.d.ts +1 -1
  144. package/dist/esm/__tests__/documents.test.js +413 -413
  145. package/dist/esm/__tests__/fixtures/testStorage.d.ts +123 -123
  146. package/dist/esm/__tests__/fixtures/testStorage.js +113 -113
  147. package/dist/esm/__tests__/legacyOids.test.d.ts +1 -1
  148. package/dist/esm/__tests__/legacyOids.test.js +288 -288
  149. package/dist/esm/__tests__/mutations.test.d.ts +1 -1
  150. package/dist/esm/__tests__/mutations.test.js +39 -39
  151. package/dist/esm/__tests__/queries.test.d.ts +1 -1
  152. package/dist/esm/__tests__/queries.test.js +316 -316
  153. package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
  154. package/dist/esm/__tests__/setup/indexedDB.js +1 -1
  155. package/dist/esm/__tests__/undo.test.d.ts +1 -1
  156. package/dist/esm/__tests__/undo.test.js +84 -84
  157. package/dist/esm/client/Client.d.ts +99 -99
  158. package/dist/esm/client/Client.js +223 -223
  159. package/dist/esm/client/ClientDescriptor.d.ts +76 -76
  160. package/dist/esm/client/ClientDescriptor.js +193 -193
  161. package/dist/esm/client/constants.d.ts +1 -1
  162. package/dist/esm/client/constants.js +1 -1
  163. package/dist/esm/constants.d.ts +1 -1
  164. package/dist/esm/constants.js +1 -1
  165. package/dist/esm/context.d.ts +29 -29
  166. package/dist/esm/context.js +1 -1
  167. package/dist/esm/entities/DocumentFamiliyCache.d.ts +90 -90
  168. package/dist/esm/entities/DocumentFamiliyCache.js +278 -278
  169. package/dist/esm/entities/Entity.d.ts +206 -206
  170. package/dist/esm/entities/Entity.js +515 -515
  171. package/dist/esm/entities/EntityStore.d.ts +85 -85
  172. package/dist/esm/entities/EntityStore.js +475 -475
  173. package/dist/esm/files/EntityFile.d.ts +31 -31
  174. package/dist/esm/files/EntityFile.js +72 -72
  175. package/dist/esm/files/FileManager.d.ts +42 -42
  176. package/dist/esm/files/FileManager.js +148 -148
  177. package/dist/esm/files/FileStorage.d.ts +28 -28
  178. package/dist/esm/files/FileStorage.js +99 -99
  179. package/dist/esm/files/utils.d.ts +8 -8
  180. package/dist/esm/files/utils.js +46 -46
  181. package/dist/esm/files/utils.test.d.ts +1 -1
  182. package/dist/esm/files/utils.test.js +78 -78
  183. package/dist/esm/idb.d.ts +11 -11
  184. package/dist/esm/idb.js +100 -100
  185. package/dist/esm/index.d.ts +21 -21
  186. package/dist/esm/index.js +12 -12
  187. package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
  188. package/dist/esm/metadata/AckInfoStore.js +21 -21
  189. package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
  190. package/dist/esm/metadata/BaselinesStore.js +85 -85
  191. package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
  192. package/dist/esm/metadata/LocalReplicaStore.js +40 -40
  193. package/dist/esm/metadata/MessageCreator.d.ts +19 -19
  194. package/dist/esm/metadata/MessageCreator.js +123 -123
  195. package/dist/esm/metadata/Metadata.d.ts +112 -112
  196. package/dist/esm/metadata/Metadata.js +348 -348
  197. package/dist/esm/metadata/OperationsStore.d.ts +53 -53
  198. package/dist/esm/metadata/OperationsStore.js +148 -148
  199. package/dist/esm/metadata/SchemaStore.d.ts +9 -9
  200. package/dist/esm/metadata/SchemaStore.js +34 -34
  201. package/dist/esm/metadata/openMetadataDatabase.d.ts +19 -19
  202. package/dist/esm/metadata/openMetadataDatabase.js +214 -214
  203. package/dist/esm/migration/db.d.ts +8 -8
  204. package/dist/esm/migration/db.js +103 -103
  205. package/dist/esm/migration/errors.d.ts +5 -5
  206. package/dist/esm/migration/errors.js +7 -7
  207. package/dist/esm/migration/openDatabase.d.ts +20 -20
  208. package/dist/esm/migration/openDatabase.js +423 -423
  209. package/dist/esm/migration/paths.d.ts +6 -6
  210. package/dist/esm/migration/paths.js +48 -48
  211. package/dist/esm/migration/paths.test.d.ts +1 -1
  212. package/dist/esm/migration/paths.test.js +88 -88
  213. package/dist/esm/queries/BaseQuery.d.ts +53 -53
  214. package/dist/esm/queries/BaseQuery.js +131 -131
  215. package/dist/esm/queries/CollectionQueries.d.ts +55 -55
  216. package/dist/esm/queries/CollectionQueries.js +87 -87
  217. package/dist/esm/queries/FindAllQuery.d.ts +12 -12
  218. package/dist/esm/queries/FindAllQuery.js +38 -38
  219. package/dist/esm/queries/FindInfiniteQuery.d.ts +19 -19
  220. package/dist/esm/queries/FindInfiniteQuery.js +65 -65
  221. package/dist/esm/queries/FindOneQuery.d.ts +12 -12
  222. package/dist/esm/queries/FindOneQuery.js +38 -38
  223. package/dist/esm/queries/FindPageQuery.d.ts +24 -24
  224. package/dist/esm/queries/FindPageQuery.js +72 -72
  225. package/dist/esm/queries/GetQuery.d.ts +10 -10
  226. package/dist/esm/queries/GetQuery.js +25 -25
  227. package/dist/esm/queries/QueryCache.d.ts +16 -16
  228. package/dist/esm/queries/QueryCache.js +37 -37
  229. package/dist/esm/queries/dbQueries.d.ts +22 -22
  230. package/dist/esm/queries/dbQueries.js +119 -119
  231. package/dist/esm/queries/keys.d.ts +10 -10
  232. package/dist/esm/queries/keys.js +29 -29
  233. package/dist/esm/queries/ranges.d.ts +2 -2
  234. package/dist/esm/queries/ranges.js +65 -65
  235. package/dist/esm/queries/types.d.ts +6 -6
  236. package/dist/esm/queries/types.js +1 -1
  237. package/dist/esm/queries/utils.d.ts +3 -3
  238. package/dist/esm/queries/utils.js +19 -19
  239. package/dist/esm/sync/FileSync.d.ts +23 -23
  240. package/dist/esm/sync/FileSync.js +80 -80
  241. package/dist/esm/sync/Heartbeat.d.ts +25 -25
  242. package/dist/esm/sync/Heartbeat.js +59 -59
  243. package/dist/esm/sync/PresenceManager.d.ts +43 -43
  244. package/dist/esm/sync/PresenceManager.js +115 -115
  245. package/dist/esm/sync/PushPullSync.d.ts +36 -36
  246. package/dist/esm/sync/PushPullSync.js +139 -139
  247. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
  248. package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
  249. package/dist/esm/sync/Sync.d.ts +146 -146
  250. package/dist/esm/sync/Sync.js +265 -265
  251. package/dist/esm/sync/{WebsocketSync.d.ts → WebSocketSync.d.ts} +41 -41
  252. package/dist/esm/sync/{WebsocketSync.js → WebSocketSync.js} +186 -186
  253. package/dist/esm/types.d.ts +12 -12
  254. package/dist/esm/types.js +1 -1
  255. package/dist/esm/utils/Disposable.d.ts +6 -6
  256. package/dist/esm/utils/Disposable.js +14 -14
  257. package/dist/esm/utils/Resolvable.d.ts +8 -8
  258. package/dist/esm/utils/Resolvable.js +18 -18
  259. package/dist/esm/vanilla.d.ts +1 -1
  260. package/dist/esm/vanilla.js +2 -2
  261. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  262. package/dist/tsconfig.tsbuildinfo +1 -1
  263. package/package.json +2 -2
  264. package/dist/cjs/AckInfoStore.d.ts +0 -10
  265. package/dist/cjs/AckInfoStore.js +0 -26
  266. package/dist/cjs/AckInfoStore.js.map +0 -1
  267. package/dist/cjs/BaselinesStore.d.ts +0 -10
  268. package/dist/cjs/BaselinesStore.js +0 -36
  269. package/dist/cjs/BaselinesStore.js.map +0 -1
  270. package/dist/cjs/Entity.d.ts +0 -96
  271. package/dist/cjs/Entity.js +0 -345
  272. package/dist/cjs/Entity.js.map +0 -1
  273. package/dist/cjs/EntityStore.d.ts +0 -36
  274. package/dist/cjs/EntityStore.js +0 -172
  275. package/dist/cjs/EntityStore.js.map +0 -1
  276. package/dist/cjs/LocalHistoryStore.d.ts +0 -15
  277. package/dist/cjs/LocalHistoryStore.js +0 -53
  278. package/dist/cjs/LocalHistoryStore.js.map +0 -1
  279. package/dist/cjs/LocalReplicaStore.d.ts +0 -13
  280. package/dist/cjs/LocalReplicaStore.js +0 -49
  281. package/dist/cjs/LocalReplicaStore.js.map +0 -1
  282. package/dist/cjs/MessageCreator.d.ts +0 -19
  283. package/dist/cjs/MessageCreator.js +0 -104
  284. package/dist/cjs/MessageCreator.js.map +0 -1
  285. package/dist/cjs/Metadata.d.ts +0 -91
  286. package/dist/cjs/Metadata.js +0 -250
  287. package/dist/cjs/Metadata.js.map +0 -1
  288. package/dist/cjs/OperationsStore.d.ts +0 -38
  289. package/dist/cjs/OperationsStore.js +0 -146
  290. package/dist/cjs/OperationsStore.js.map +0 -1
  291. package/dist/cjs/PresenceManager.d.ts +0 -30
  292. package/dist/cjs/PresenceManager.js +0 -89
  293. package/dist/cjs/PresenceManager.js.map +0 -1
  294. package/dist/cjs/Query.d.ts +0 -26
  295. package/dist/cjs/Query.js +0 -86
  296. package/dist/cjs/Query.js.map +0 -1
  297. package/dist/cjs/QueryMaker.d.ts +0 -18
  298. package/dist/cjs/QueryMaker.js +0 -98
  299. package/dist/cjs/QueryMaker.js.map +0 -1
  300. package/dist/cjs/QueryStore.d.ts +0 -38
  301. package/dist/cjs/QueryStore.js +0 -146
  302. package/dist/cjs/QueryStore.js.map +0 -1
  303. package/dist/cjs/SchemaStore.d.ts +0 -9
  304. package/dist/cjs/SchemaStore.js +0 -35
  305. package/dist/cjs/SchemaStore.js.map +0 -1
  306. package/dist/cjs/Storage.d.ts +0 -147
  307. package/dist/cjs/Storage.js +0 -346
  308. package/dist/cjs/Storage.js.map +0 -1
  309. package/dist/cjs/Sync.d.ts +0 -117
  310. package/dist/cjs/Sync.js +0 -561
  311. package/dist/cjs/Sync.js.map +0 -1
  312. package/dist/cjs/SyncHarness.d.ts +0 -45
  313. package/dist/cjs/SyncHarness.js +0 -110
  314. package/dist/cjs/SyncHarness.js.map +0 -1
  315. package/dist/cjs/indexes.d.ts +0 -3
  316. package/dist/cjs/indexes.js +0 -20
  317. package/dist/cjs/indexes.js.map +0 -1
  318. package/dist/cjs/metadata/LocalHistoryStore.d.ts +0 -15
  319. package/dist/cjs/metadata/LocalHistoryStore.js +0 -53
  320. package/dist/cjs/metadata/LocalHistoryStore.js.map +0 -1
  321. package/dist/cjs/openDocumentDatabase.d.ts +0 -12
  322. package/dist/cjs/openDocumentDatabase.js +0 -432
  323. package/dist/cjs/openDocumentDatabase.js.map +0 -1
  324. package/dist/cjs/queries/LiveQuery.d.ts +0 -28
  325. package/dist/cjs/queries/LiveQuery.js +0 -96
  326. package/dist/cjs/queries/LiveQuery.js.map +0 -1
  327. package/dist/cjs/queries/LiveQueryMaker.d.ts +0 -15
  328. package/dist/cjs/queries/LiveQueryMaker.js +0 -42
  329. package/dist/cjs/queries/LiveQueryMaker.js.map +0 -1
  330. package/dist/cjs/queries/LiveQueryStore.d.ts +0 -33
  331. package/dist/cjs/queries/LiveQueryStore.js +0 -85
  332. package/dist/cjs/queries/LiveQueryStore.js.map +0 -1
  333. package/dist/cjs/queries/Query.d.ts +0 -18
  334. package/dist/cjs/queries/Query.js +0 -36
  335. package/dist/cjs/queries/Query.js.map +0 -1
  336. package/dist/cjs/queries/QueryMaker.d.ts +0 -14
  337. package/dist/cjs/queries/QueryMaker.js +0 -42
  338. package/dist/cjs/queries/QueryMaker.js.map +0 -1
  339. package/dist/cjs/queries/QueryStore.d.ts +0 -35
  340. package/dist/cjs/queries/QueryStore.js +0 -130
  341. package/dist/cjs/queries/QueryStore.js.map +0 -1
  342. package/dist/cjs/queries2/BaseQuery.d.ts +0 -39
  343. package/dist/cjs/queries2/BaseQuery.js +0 -99
  344. package/dist/cjs/queries2/BaseQuery.js.map +0 -1
  345. package/dist/cjs/queries2/CollectionQueries.d.ts +0 -55
  346. package/dist/cjs/queries2/CollectionQueries.js +0 -83
  347. package/dist/cjs/queries2/CollectionQueries.js.map +0 -1
  348. package/dist/cjs/queries2/FindAllQuery.d.ts +0 -11
  349. package/dist/cjs/queries2/FindAllQuery.js +0 -34
  350. package/dist/cjs/queries2/FindAllQuery.js.map +0 -1
  351. package/dist/cjs/queries2/FindInfiniteQuery.d.ts +0 -18
  352. package/dist/cjs/queries2/FindInfiniteQuery.js +0 -61
  353. package/dist/cjs/queries2/FindInfiniteQuery.js.map +0 -1
  354. package/dist/cjs/queries2/FindOneQuery.d.ts +0 -11
  355. package/dist/cjs/queries2/FindOneQuery.js +0 -34
  356. package/dist/cjs/queries2/FindOneQuery.js.map +0 -1
  357. package/dist/cjs/queries2/FindPageQuery.d.ts +0 -23
  358. package/dist/cjs/queries2/FindPageQuery.js +0 -68
  359. package/dist/cjs/queries2/FindPageQuery.js.map +0 -1
  360. package/dist/cjs/queries2/GetQuery.d.ts +0 -10
  361. package/dist/cjs/queries2/GetQuery.js +0 -30
  362. package/dist/cjs/queries2/GetQuery.js.map +0 -1
  363. package/dist/cjs/queries2/QueryCache.d.ts +0 -16
  364. package/dist/cjs/queries2/QueryCache.js +0 -40
  365. package/dist/cjs/queries2/QueryCache.js.map +0 -1
  366. package/dist/cjs/queries2/dbQueries.d.ts +0 -22
  367. package/dist/cjs/queries2/dbQueries.js +0 -126
  368. package/dist/cjs/queries2/dbQueries.js.map +0 -1
  369. package/dist/cjs/queries2/keys.d.ts +0 -10
  370. package/dist/cjs/queries2/keys.js +0 -34
  371. package/dist/cjs/queries2/keys.js.map +0 -1
  372. package/dist/cjs/queries2/ranges.d.ts +0 -2
  373. package/dist/cjs/queries2/ranges.js +0 -70
  374. package/dist/cjs/queries2/ranges.js.map +0 -1
  375. package/dist/cjs/queries2/types.d.ts +0 -6
  376. package/dist/cjs/queries2/types.js +0 -3
  377. package/dist/cjs/queries2/types.js.map +0 -1
  378. package/dist/cjs/queries2/utils.d.ts +0 -1
  379. package/dist/cjs/queries2/utils.js +0 -20
  380. package/dist/cjs/queries2/utils.js.map +0 -1
  381. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +0 -47
  382. package/dist/cjs/reactives/DocumentFamiliyCache.js +0 -211
  383. package/dist/cjs/reactives/DocumentFamiliyCache.js.map +0 -1
  384. package/dist/cjs/reactives/Entity.d.ts +0 -191
  385. package/dist/cjs/reactives/Entity.js +0 -463
  386. package/dist/cjs/reactives/Entity.js.map +0 -1
  387. package/dist/cjs/reactives/EntityStore.d.ts +0 -84
  388. package/dist/cjs/reactives/EntityStore.js +0 -422
  389. package/dist/cjs/reactives/EntityStore.js.map +0 -1
  390. package/dist/cjs/reactives/FakeWeakRef.d.ts +0 -11
  391. package/dist/cjs/reactives/FakeWeakRef.js +0 -19
  392. package/dist/cjs/reactives/FakeWeakRef.js.map +0 -1
  393. package/dist/cjs/v2/AckInfoStore.d.ts +0 -10
  394. package/dist/cjs/v2/AckInfoStore.js +0 -26
  395. package/dist/cjs/v2/AckInfoStore.js.map +0 -1
  396. package/dist/cjs/v2/BaselinesStore.d.ts +0 -10
  397. package/dist/cjs/v2/BaselinesStore.js +0 -36
  398. package/dist/cjs/v2/BaselinesStore.js.map +0 -1
  399. package/dist/cjs/v2/DocumentManager.d.ts +0 -19
  400. package/dist/cjs/v2/DocumentManager.js +0 -47
  401. package/dist/cjs/v2/DocumentManager.js.map +0 -1
  402. package/dist/cjs/v2/Entity.d.ts +0 -87
  403. package/dist/cjs/v2/Entity.js +0 -305
  404. package/dist/cjs/v2/Entity.js.map +0 -1
  405. package/dist/cjs/v2/EntityStore.d.ts +0 -37
  406. package/dist/cjs/v2/EntityStore.js +0 -165
  407. package/dist/cjs/v2/EntityStore.js.map +0 -1
  408. package/dist/cjs/v2/IDBService.d.ts +0 -7
  409. package/dist/cjs/v2/IDBService.js +0 -26
  410. package/dist/cjs/v2/IDBService.js.map +0 -1
  411. package/dist/cjs/v2/LocalHistoryStore.d.ts +0 -15
  412. package/dist/cjs/v2/LocalHistoryStore.js +0 -53
  413. package/dist/cjs/v2/LocalHistoryStore.js.map +0 -1
  414. package/dist/cjs/v2/LocalReplicaStore.d.ts +0 -14
  415. package/dist/cjs/v2/LocalReplicaStore.js +0 -49
  416. package/dist/cjs/v2/LocalReplicaStore.js.map +0 -1
  417. package/dist/cjs/v2/MessageCreator.d.ts +0 -19
  418. package/dist/cjs/v2/MessageCreator.js +0 -99
  419. package/dist/cjs/v2/MessageCreator.js.map +0 -1
  420. package/dist/cjs/v2/Metadata.d.ts +0 -90
  421. package/dist/cjs/v2/Metadata.js +0 -251
  422. package/dist/cjs/v2/Metadata.js.map +0 -1
  423. package/dist/cjs/v2/OperationsStore.d.ts +0 -38
  424. package/dist/cjs/v2/OperationsStore.js +0 -146
  425. package/dist/cjs/v2/OperationsStore.js.map +0 -1
  426. package/dist/cjs/v2/PresenceManager.d.ts +0 -24
  427. package/dist/cjs/v2/PresenceManager.js +0 -73
  428. package/dist/cjs/v2/PresenceManager.js.map +0 -1
  429. package/dist/cjs/v2/Query.d.ts +0 -24
  430. package/dist/cjs/v2/Query.js +0 -79
  431. package/dist/cjs/v2/Query.js.map +0 -1
  432. package/dist/cjs/v2/QueryMaker.d.ts +0 -16
  433. package/dist/cjs/v2/QueryMaker.js +0 -84
  434. package/dist/cjs/v2/QueryMaker.js.map +0 -1
  435. package/dist/cjs/v2/QueryStore.d.ts +0 -26
  436. package/dist/cjs/v2/QueryStore.js +0 -136
  437. package/dist/cjs/v2/QueryStore.js.map +0 -1
  438. package/dist/cjs/v2/SchemaStore.d.ts +0 -9
  439. package/dist/cjs/v2/SchemaStore.js +0 -35
  440. package/dist/cjs/v2/SchemaStore.js.map +0 -1
  441. package/dist/cjs/v2/Storage.d.ts +0 -80
  442. package/dist/cjs/v2/Storage.js +0 -154
  443. package/dist/cjs/v2/Storage.js.map +0 -1
  444. package/dist/cjs/v2/Sync.d.ts +0 -42
  445. package/dist/cjs/v2/Sync.js +0 -98
  446. package/dist/cjs/v2/Sync.js.map +0 -1
  447. package/dist/cjs/v2/SyncHarness.d.ts +0 -45
  448. package/dist/cjs/v2/SyncHarness.js +0 -110
  449. package/dist/cjs/v2/SyncHarness.js.map +0 -1
  450. package/dist/cjs/v2/__tests__/documents.test.d.ts +0 -1
  451. package/dist/cjs/v2/__tests__/documents.test.js +0 -185
  452. package/dist/cjs/v2/__tests__/documents.test.js.map +0 -1
  453. package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +0 -189
  454. package/dist/cjs/v2/__tests__/fixtures/testStorage.js +0 -93
  455. package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +0 -1
  456. package/dist/cjs/v2/__tests__/queries.test.d.ts +0 -1
  457. package/dist/cjs/v2/__tests__/queries.test.js +0 -92
  458. package/dist/cjs/v2/__tests__/queries.test.js.map +0 -1
  459. package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +0 -1
  460. package/dist/cjs/v2/__tests__/setup/indexedDB.js +0 -4
  461. package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +0 -1
  462. package/dist/cjs/v2/constants.d.ts +0 -1
  463. package/dist/cjs/v2/constants.js +0 -5
  464. package/dist/cjs/v2/constants.js.map +0 -1
  465. package/dist/cjs/v2/idb.d.ts +0 -6
  466. package/dist/cjs/v2/idb.js +0 -71
  467. package/dist/cjs/v2/idb.js.map +0 -1
  468. package/dist/cjs/v2/index.d.ts +0 -6
  469. package/dist/cjs/v2/index.js +0 -14
  470. package/dist/cjs/v2/index.js.map +0 -1
  471. package/dist/cjs/v2/indexes.d.ts +0 -3
  472. package/dist/cjs/v2/indexes.js +0 -20
  473. package/dist/cjs/v2/indexes.js.map +0 -1
  474. package/dist/cjs/v2/openDocumentDatabase.d.ts +0 -9
  475. package/dist/cjs/v2/openDocumentDatabase.js +0 -100
  476. package/dist/cjs/v2/openDocumentDatabase.js.map +0 -1
  477. package/dist/cjs/v2/types.d.ts +0 -3
  478. package/dist/cjs/v2/types.js +0 -3
  479. package/dist/cjs/v2/types.js.map +0 -1
  480. package/dist/esm/AckInfoStore.d.ts +0 -10
  481. package/dist/esm/AckInfoStore.js +0 -22
  482. package/dist/esm/AckInfoStore.js.map +0 -1
  483. package/dist/esm/BaselinesStore.d.ts +0 -10
  484. package/dist/esm/BaselinesStore.js +0 -32
  485. package/dist/esm/BaselinesStore.js.map +0 -1
  486. package/dist/esm/Entity.d.ts +0 -96
  487. package/dist/esm/Entity.js +0 -337
  488. package/dist/esm/Entity.js.map +0 -1
  489. package/dist/esm/EntityStore.d.ts +0 -36
  490. package/dist/esm/EntityStore.js +0 -168
  491. package/dist/esm/EntityStore.js.map +0 -1
  492. package/dist/esm/LocalHistoryStore.d.ts +0 -15
  493. package/dist/esm/LocalHistoryStore.js +0 -49
  494. package/dist/esm/LocalHistoryStore.js.map +0 -1
  495. package/dist/esm/LocalReplicaStore.d.ts +0 -13
  496. package/dist/esm/LocalReplicaStore.js +0 -42
  497. package/dist/esm/LocalReplicaStore.js.map +0 -1
  498. package/dist/esm/MessageCreator.d.ts +0 -19
  499. package/dist/esm/MessageCreator.js +0 -97
  500. package/dist/esm/MessageCreator.js.map +0 -1
  501. package/dist/esm/Metadata.d.ts +0 -91
  502. package/dist/esm/Metadata.js +0 -245
  503. package/dist/esm/Metadata.js.map +0 -1
  504. package/dist/esm/OperationsStore.d.ts +0 -38
  505. package/dist/esm/OperationsStore.js +0 -142
  506. package/dist/esm/OperationsStore.js.map +0 -1
  507. package/dist/esm/PresenceManager.d.ts +0 -30
  508. package/dist/esm/PresenceManager.js +0 -85
  509. package/dist/esm/PresenceManager.js.map +0 -1
  510. package/dist/esm/Query.d.ts +0 -26
  511. package/dist/esm/Query.js +0 -82
  512. package/dist/esm/Query.js.map +0 -1
  513. package/dist/esm/QueryMaker.d.ts +0 -18
  514. package/dist/esm/QueryMaker.js +0 -94
  515. package/dist/esm/QueryMaker.js.map +0 -1
  516. package/dist/esm/QueryStore.d.ts +0 -38
  517. package/dist/esm/QueryStore.js +0 -142
  518. package/dist/esm/QueryStore.js.map +0 -1
  519. package/dist/esm/SchemaStore.d.ts +0 -9
  520. package/dist/esm/SchemaStore.js +0 -31
  521. package/dist/esm/SchemaStore.js.map +0 -1
  522. package/dist/esm/Storage.d.ts +0 -147
  523. package/dist/esm/Storage.js +0 -341
  524. package/dist/esm/Storage.js.map +0 -1
  525. package/dist/esm/Sync.d.ts +0 -117
  526. package/dist/esm/Sync.js +0 -553
  527. package/dist/esm/Sync.js.map +0 -1
  528. package/dist/esm/SyncHarness.d.ts +0 -45
  529. package/dist/esm/SyncHarness.js +0 -105
  530. package/dist/esm/SyncHarness.js.map +0 -1
  531. package/dist/esm/indexes.d.ts +0 -3
  532. package/dist/esm/indexes.js +0 -15
  533. package/dist/esm/indexes.js.map +0 -1
  534. package/dist/esm/metadata/LocalHistoryStore.d.ts +0 -15
  535. package/dist/esm/metadata/LocalHistoryStore.js +0 -49
  536. package/dist/esm/metadata/LocalHistoryStore.js.map +0 -1
  537. package/dist/esm/openDocumentDatabase.d.ts +0 -12
  538. package/dist/esm/openDocumentDatabase.js +0 -428
  539. package/dist/esm/openDocumentDatabase.js.map +0 -1
  540. package/dist/esm/queries/LiveQuery.d.ts +0 -28
  541. package/dist/esm/queries/LiveQuery.js +0 -92
  542. package/dist/esm/queries/LiveQuery.js.map +0 -1
  543. package/dist/esm/queries/LiveQueryMaker.d.ts +0 -15
  544. package/dist/esm/queries/LiveQueryMaker.js +0 -38
  545. package/dist/esm/queries/LiveQueryMaker.js.map +0 -1
  546. package/dist/esm/queries/LiveQueryStore.d.ts +0 -33
  547. package/dist/esm/queries/LiveQueryStore.js +0 -81
  548. package/dist/esm/queries/LiveQueryStore.js.map +0 -1
  549. package/dist/esm/queries/Query.d.ts +0 -18
  550. package/dist/esm/queries/Query.js +0 -32
  551. package/dist/esm/queries/Query.js.map +0 -1
  552. package/dist/esm/queries/QueryMaker.d.ts +0 -14
  553. package/dist/esm/queries/QueryMaker.js +0 -38
  554. package/dist/esm/queries/QueryMaker.js.map +0 -1
  555. package/dist/esm/queries/QueryStore.d.ts +0 -35
  556. package/dist/esm/queries/QueryStore.js +0 -126
  557. package/dist/esm/queries/QueryStore.js.map +0 -1
  558. package/dist/esm/queries2/BaseQuery.d.ts +0 -39
  559. package/dist/esm/queries2/BaseQuery.js +0 -95
  560. package/dist/esm/queries2/BaseQuery.js.map +0 -1
  561. package/dist/esm/queries2/CollectionQueries.d.ts +0 -55
  562. package/dist/esm/queries2/CollectionQueries.js +0 -79
  563. package/dist/esm/queries2/CollectionQueries.js.map +0 -1
  564. package/dist/esm/queries2/FindAllQuery.d.ts +0 -11
  565. package/dist/esm/queries2/FindAllQuery.js +0 -30
  566. package/dist/esm/queries2/FindAllQuery.js.map +0 -1
  567. package/dist/esm/queries2/FindInfiniteQuery.d.ts +0 -18
  568. package/dist/esm/queries2/FindInfiniteQuery.js +0 -57
  569. package/dist/esm/queries2/FindInfiniteQuery.js.map +0 -1
  570. package/dist/esm/queries2/FindOneQuery.d.ts +0 -11
  571. package/dist/esm/queries2/FindOneQuery.js +0 -30
  572. package/dist/esm/queries2/FindOneQuery.js.map +0 -1
  573. package/dist/esm/queries2/FindPageQuery.d.ts +0 -23
  574. package/dist/esm/queries2/FindPageQuery.js +0 -64
  575. package/dist/esm/queries2/FindPageQuery.js.map +0 -1
  576. package/dist/esm/queries2/GetQuery.d.ts +0 -10
  577. package/dist/esm/queries2/GetQuery.js +0 -26
  578. package/dist/esm/queries2/GetQuery.js.map +0 -1
  579. package/dist/esm/queries2/QueryCache.d.ts +0 -16
  580. package/dist/esm/queries2/QueryCache.js +0 -36
  581. package/dist/esm/queries2/QueryCache.js.map +0 -1
  582. package/dist/esm/queries2/dbQueries.d.ts +0 -22
  583. package/dist/esm/queries2/dbQueries.js +0 -120
  584. package/dist/esm/queries2/dbQueries.js.map +0 -1
  585. package/dist/esm/queries2/keys.d.ts +0 -10
  586. package/dist/esm/queries2/keys.js +0 -30
  587. package/dist/esm/queries2/keys.js.map +0 -1
  588. package/dist/esm/queries2/ranges.d.ts +0 -2
  589. package/dist/esm/queries2/ranges.js +0 -66
  590. package/dist/esm/queries2/ranges.js.map +0 -1
  591. package/dist/esm/queries2/types.d.ts +0 -6
  592. package/dist/esm/queries2/types.js +0 -2
  593. package/dist/esm/queries2/types.js.map +0 -1
  594. package/dist/esm/queries2/utils.d.ts +0 -1
  595. package/dist/esm/queries2/utils.js +0 -16
  596. package/dist/esm/queries2/utils.js.map +0 -1
  597. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +0 -47
  598. package/dist/esm/reactives/DocumentFamiliyCache.js +0 -207
  599. package/dist/esm/reactives/DocumentFamiliyCache.js.map +0 -1
  600. package/dist/esm/reactives/Entity.d.ts +0 -191
  601. package/dist/esm/reactives/Entity.js +0 -458
  602. package/dist/esm/reactives/Entity.js.map +0 -1
  603. package/dist/esm/reactives/EntityStore.d.ts +0 -84
  604. package/dist/esm/reactives/EntityStore.js +0 -418
  605. package/dist/esm/reactives/EntityStore.js.map +0 -1
  606. package/dist/esm/reactives/FakeWeakRef.d.ts +0 -11
  607. package/dist/esm/reactives/FakeWeakRef.js +0 -15
  608. package/dist/esm/reactives/FakeWeakRef.js.map +0 -1
  609. package/dist/esm/v2/AckInfoStore.d.ts +0 -10
  610. package/dist/esm/v2/AckInfoStore.js +0 -22
  611. package/dist/esm/v2/AckInfoStore.js.map +0 -1
  612. package/dist/esm/v2/BaselinesStore.d.ts +0 -10
  613. package/dist/esm/v2/BaselinesStore.js +0 -32
  614. package/dist/esm/v2/BaselinesStore.js.map +0 -1
  615. package/dist/esm/v2/DocumentManager.d.ts +0 -19
  616. package/dist/esm/v2/DocumentManager.js +0 -43
  617. package/dist/esm/v2/DocumentManager.js.map +0 -1
  618. package/dist/esm/v2/Entity.d.ts +0 -91
  619. package/dist/esm/v2/Entity.js +0 -305
  620. package/dist/esm/v2/Entity.js.map +0 -1
  621. package/dist/esm/v2/EntityStore.d.ts +0 -37
  622. package/dist/esm/v2/EntityStore.js +0 -166
  623. package/dist/esm/v2/EntityStore.js.map +0 -1
  624. package/dist/esm/v2/IDBService.d.ts +0 -7
  625. package/dist/esm/v2/IDBService.js +0 -22
  626. package/dist/esm/v2/IDBService.js.map +0 -1
  627. package/dist/esm/v2/LocalHistoryStore.d.ts +0 -15
  628. package/dist/esm/v2/LocalHistoryStore.js +0 -49
  629. package/dist/esm/v2/LocalHistoryStore.js.map +0 -1
  630. package/dist/esm/v2/LocalReplicaStore.d.ts +0 -14
  631. package/dist/esm/v2/LocalReplicaStore.js +0 -42
  632. package/dist/esm/v2/LocalReplicaStore.js.map +0 -1
  633. package/dist/esm/v2/MessageCreator.d.ts +0 -19
  634. package/dist/esm/v2/MessageCreator.js +0 -92
  635. package/dist/esm/v2/MessageCreator.js.map +0 -1
  636. package/dist/esm/v2/Metadata.d.ts +0 -90
  637. package/dist/esm/v2/Metadata.js +0 -246
  638. package/dist/esm/v2/Metadata.js.map +0 -1
  639. package/dist/esm/v2/OperationsStore.d.ts +0 -38
  640. package/dist/esm/v2/OperationsStore.js +0 -142
  641. package/dist/esm/v2/OperationsStore.js.map +0 -1
  642. package/dist/esm/v2/PresenceManager.d.ts +0 -24
  643. package/dist/esm/v2/PresenceManager.js +0 -69
  644. package/dist/esm/v2/PresenceManager.js.map +0 -1
  645. package/dist/esm/v2/Query.d.ts +0 -24
  646. package/dist/esm/v2/Query.js +0 -75
  647. package/dist/esm/v2/Query.js.map +0 -1
  648. package/dist/esm/v2/QueryMaker.d.ts +0 -16
  649. package/dist/esm/v2/QueryMaker.js +0 -80
  650. package/dist/esm/v2/QueryMaker.js.map +0 -1
  651. package/dist/esm/v2/QueryStore.d.ts +0 -26
  652. package/dist/esm/v2/QueryStore.js +0 -132
  653. package/dist/esm/v2/QueryStore.js.map +0 -1
  654. package/dist/esm/v2/SchemaStore.d.ts +0 -9
  655. package/dist/esm/v2/SchemaStore.js +0 -31
  656. package/dist/esm/v2/SchemaStore.js.map +0 -1
  657. package/dist/esm/v2/Storage.d.ts +0 -80
  658. package/dist/esm/v2/Storage.js +0 -149
  659. package/dist/esm/v2/Storage.js.map +0 -1
  660. package/dist/esm/v2/Sync.d.ts +0 -42
  661. package/dist/esm/v2/Sync.js +0 -94
  662. package/dist/esm/v2/Sync.js.map +0 -1
  663. package/dist/esm/v2/SyncHarness.d.ts +0 -45
  664. package/dist/esm/v2/SyncHarness.js +0 -105
  665. package/dist/esm/v2/SyncHarness.js.map +0 -1
  666. package/dist/esm/v2/__tests__/documents.test.d.ts +0 -1
  667. package/dist/esm/v2/__tests__/documents.test.js +0 -208
  668. package/dist/esm/v2/__tests__/documents.test.js.map +0 -1
  669. package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +0 -223
  670. package/dist/esm/v2/__tests__/fixtures/testStorage.js +0 -106
  671. package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +0 -1
  672. package/dist/esm/v2/__tests__/queries.test.d.ts +0 -1
  673. package/dist/esm/v2/__tests__/queries.test.js +0 -90
  674. package/dist/esm/v2/__tests__/queries.test.js.map +0 -1
  675. package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +0 -1
  676. package/dist/esm/v2/__tests__/setup/indexedDB.js +0 -2
  677. package/dist/esm/v2/__tests__/setup/indexedDB.js.map +0 -1
  678. package/dist/esm/v2/constants.d.ts +0 -1
  679. package/dist/esm/v2/constants.js +0 -2
  680. package/dist/esm/v2/constants.js.map +0 -1
  681. package/dist/esm/v2/idb.d.ts +0 -6
  682. package/dist/esm/v2/idb.js +0 -65
  683. package/dist/esm/v2/idb.js.map +0 -1
  684. package/dist/esm/v2/index.d.ts +0 -6
  685. package/dist/esm/v2/index.js +0 -5
  686. package/dist/esm/v2/index.js.map +0 -1
  687. package/dist/esm/v2/indexes.d.ts +0 -3
  688. package/dist/esm/v2/indexes.js +0 -15
  689. package/dist/esm/v2/indexes.js.map +0 -1
  690. package/dist/esm/v2/openDocumentDatabase.d.ts +0 -9
  691. package/dist/esm/v2/openDocumentDatabase.js +0 -96
  692. package/dist/esm/v2/openDocumentDatabase.js.map +0 -1
  693. package/dist/esm/v2/types.d.ts +0 -3
  694. package/dist/esm/v2/types.js +0 -2
  695. package/dist/esm/v2/types.js.map +0 -1
  696. /package/dist/esm/sync/{WebsocketSync.js.map → WebSocketSync.js.map} +0 -0
@@ -1,94 +0,0 @@
1
- import { HybridLogicalClockTimestampProvider, EventSubscriber, } from '@lo-fi/common';
2
- export class WebsocketSync extends EventSubscriber {
3
- constructor({ host, time: timestampProvider, }) {
4
- super();
5
- this.socket = null;
6
- this.messageQueue = [];
7
- this.reconnectBackoffTime = 100;
8
- this.reconnectAttempt = null;
9
- this.onOpen = () => {
10
- if (!this.socket) {
11
- throw new Error('Invalid sync state: online but socket is null');
12
- }
13
- if (this.messageQueue.length) {
14
- for (const msg of this.messageQueue) {
15
- this.socket.send(JSON.stringify(msg));
16
- }
17
- this.messageQueue = [];
18
- }
19
- this.reconnectBackoffTime = 100;
20
- console.info('Sync connected');
21
- if (this.reconnectAttempt) {
22
- clearTimeout(this.reconnectAttempt);
23
- }
24
- this.emit('onlineChange', true);
25
- };
26
- this.onMessage = (event) => {
27
- const message = JSON.parse(event.data);
28
- if (message.timestamp) {
29
- this.time.update(message.timestamp);
30
- }
31
- this.emit('message', message);
32
- };
33
- this.onError = (event) => {
34
- console.error(event);
35
- console.info(`Attempting reconnect in ${Math.round(this.reconnectBackoffTime / 1000)} seconds`);
36
- if (this.reconnectAttempt) {
37
- clearTimeout(this.reconnectAttempt);
38
- }
39
- this.reconnectAttempt = setTimeout(() => {
40
- console.info('Reconnecting...');
41
- this.reconnectBackoffTime *= 2;
42
- this.initializeSocket();
43
- }, this.reconnectBackoffTime);
44
- };
45
- this.onClose = (event) => {
46
- console.info('Sync disconnected');
47
- this.emit('onlineChange', false);
48
- this.onError(event);
49
- };
50
- this.initializeSocket = () => {
51
- this.socket = new WebSocket(this.host);
52
- this.socket.addEventListener('message', this.onMessage);
53
- this.socket.addEventListener('open', this.onOpen);
54
- this.socket.addEventListener('error', this.onError);
55
- this.socket.addEventListener('close', this.onClose);
56
- return this.socket;
57
- };
58
- this.reconnect = () => {
59
- this.stop();
60
- this.start();
61
- };
62
- this.send = (message) => {
63
- var _a;
64
- if (((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
65
- this.socket.send(JSON.stringify(message));
66
- }
67
- else {
68
- this.messageQueue.push(message);
69
- }
70
- };
71
- this.dispose = () => {
72
- var _a, _b;
73
- (_a = this.socket) === null || _a === void 0 ? void 0 : _a.removeEventListener('close', this.onClose);
74
- (_b = this.socket) === null || _b === void 0 ? void 0 : _b.close();
75
- };
76
- this.start = () => {
77
- if (this.socket) {
78
- return;
79
- }
80
- this.initializeSocket();
81
- };
82
- this.stop = () => {
83
- this.dispose();
84
- this.socket = null;
85
- };
86
- this.host = host;
87
- this.time = timestampProvider || new HybridLogicalClockTimestampProvider();
88
- }
89
- get active() {
90
- var _a;
91
- return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN;
92
- }
93
- }
94
- //# sourceMappingURL=Sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../../src/v2/Sync.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { ClientMessage, EventSubscriber } from '@lo-fi/common';
2
- import type { Sync } from './Sync.js';
3
- import { EntityStore } from './EntityStore.js';
4
- import { Metadata } from './Metadata.js';
5
- /**
6
- Bridges sync messages and the local storage, interpreting messages and
7
- handling initial sync and heartbeat.
8
- */
9
- export declare class SyncHarness {
10
- private sync;
11
- private meta;
12
- private initialPresence;
13
- private heartbeat;
14
- private entities;
15
- constructor({ sync, meta, initialPresence, entities, }: {
16
- sync: Sync;
17
- meta: Metadata;
18
- entities: EntityStore;
19
- initialPresence: any;
20
- });
21
- private handleOnlineChange;
22
- private handleMessage;
23
- send: (message: ClientMessage) => Promise<void>;
24
- }
25
- export declare class Heartbeat extends EventSubscriber<{
26
- missed: () => void;
27
- }> {
28
- private sync;
29
- private meta;
30
- private interval;
31
- private deadlineLength;
32
- private nextBeat;
33
- private deadline;
34
- constructor({ sync, meta, interval, deadlineLength, }: {
35
- sync: Sync;
36
- meta: Metadata;
37
- interval?: number;
38
- deadlineLength?: number;
39
- });
40
- private handleSyncMessage;
41
- start: () => void;
42
- stop: () => void;
43
- private beat;
44
- private onDeadline;
45
- }
@@ -1,105 +0,0 @@
1
- import { EventSubscriber, getOidRoot, } from '@lo-fi/common';
2
- /**
3
- Bridges sync messages and the local storage, interpreting messages and
4
- handling initial sync and heartbeat.
5
- */
6
- export class SyncHarness {
7
- constructor({ sync, meta, initialPresence, entities, }) {
8
- this.handleOnlineChange = async (online) => {
9
- if (!online) {
10
- this.heartbeat.stop();
11
- }
12
- else {
13
- const lastSyncTimestamp = await this.meta.lastSyncedTimestamp();
14
- this.sync.send(await this.meta.messageCreator.createSyncStep1(!lastSyncTimestamp));
15
- this.sync.send(await this.meta.messageCreator.createPresenceUpdate(this.initialPresence));
16
- this.heartbeat.start();
17
- }
18
- };
19
- this.handleMessage = async (message) => {
20
- let affectedOids = undefined;
21
- switch (message.type) {
22
- case 'op-re':
23
- // rebroadcasted operations
24
- affectedOids = await this.meta.insertRemoteOperations(message.operations);
25
- break;
26
- case 'sync-resp':
27
- if (message.overwriteLocalData) {
28
- await this.meta.reset();
29
- await this.entities.reset();
30
- }
31
- affectedOids = await this.meta.insertRemoteOperations(message.operations);
32
- await this.meta.ackInfo.setGlobalAck(message.globalAckTimestamp);
33
- // respond to the server
34
- this.sync.send(await this.meta.messageCreator.createSyncStep2(message.provideChangesSince));
35
- await this.meta.updateLastSynced();
36
- break;
37
- case 'rebases':
38
- const affectedSet = new Set();
39
- for (const rebase of message.rebases) {
40
- await this.meta.rebase(rebase.oid, rebase.upTo);
41
- affectedSet.add(getOidRoot(rebase.oid));
42
- }
43
- affectedOids = Array.from(affectedSet);
44
- break;
45
- }
46
- if (affectedOids === null || affectedOids === void 0 ? void 0 : affectedOids.length) {
47
- this.entities.refreshAll(affectedOids);
48
- }
49
- };
50
- this.send = async (message) => {
51
- this.sync.send(message);
52
- };
53
- this.sync = sync;
54
- this.meta = meta;
55
- this.initialPresence = initialPresence;
56
- this.entities = entities;
57
- this.heartbeat = new Heartbeat({
58
- sync: this.sync,
59
- meta: this.meta,
60
- });
61
- sync.subscribe('onlineChange', this.handleOnlineChange);
62
- sync.subscribe('message', this.handleMessage);
63
- }
64
- }
65
- export class Heartbeat extends EventSubscriber {
66
- constructor({ sync, meta, interval = 15 * 1000, deadlineLength = 3 * 1000, }) {
67
- super();
68
- this.nextBeat = null;
69
- this.deadline = null;
70
- this.handleSyncMessage = (message) => {
71
- if (message.type === 'heartbeat-response') {
72
- if (this.deadline) {
73
- clearTimeout(this.deadline);
74
- this.deadline = null;
75
- this.start();
76
- }
77
- }
78
- };
79
- this.start = () => {
80
- this.nextBeat = setTimeout(this.beat, this.interval);
81
- };
82
- this.stop = () => {
83
- if (this.nextBeat) {
84
- clearTimeout(this.nextBeat);
85
- }
86
- if (this.deadline) {
87
- clearTimeout(this.deadline);
88
- }
89
- };
90
- this.beat = async () => {
91
- this.sync.send(await this.meta.messageCreator.createHeartbeat());
92
- this.deadline = setTimeout(this.onDeadline, this.deadlineLength);
93
- };
94
- this.onDeadline = () => {
95
- this.deadline = null;
96
- this.emit('missed');
97
- };
98
- this.sync = sync;
99
- this.meta = meta;
100
- this.interval = interval;
101
- this.deadlineLength = deadlineLength;
102
- sync.subscribe('message', this.handleSyncMessage);
103
- }
104
- }
105
- //# sourceMappingURL=SyncHarness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncHarness.js","sourceRoot":"","sources":["../../../src/v2/SyncHarness.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,208 +0,0 @@
1
- import cuid from 'cuid';
2
- import { describe, it, expect, vi } from 'vitest';
3
- import { createTestStorage } from './fixtures/testStorage.js';
4
- async function waitForStoragePropagation(mock) {
5
- await new Promise((resolve, reject) => {
6
- // timeout after 3s waiting
7
- const timeout = setTimeout(() => reject(new Error('Waiting for storage change timed out')), 3000);
8
- const interval = setInterval(() => {
9
- if (mock.mock.calls.length > 0) {
10
- clearInterval(interval);
11
- clearTimeout(timeout);
12
- resolve();
13
- }
14
- }, 0);
15
- });
16
- }
17
- describe('storage documents', () => {
18
- it('should have a stable identity across different queries when subscribed', async () => {
19
- const storage = await createTestStorage();
20
- const item1 = await storage.create('todo', {
21
- id: cuid(),
22
- content: 'item 1',
23
- done: false,
24
- tags: [],
25
- category: 'general',
26
- attachments: [],
27
- });
28
- await storage.create('todo', {
29
- id: cuid(),
30
- content: 'item 2',
31
- done: true,
32
- tags: [],
33
- category: 'general',
34
- attachments: [],
35
- });
36
- const singleItemQuery = storage.queryMaker.get('todo', item1.get('id'));
37
- const singleItemResult = await singleItemQuery.resolved;
38
- expect(singleItemResult).toBeTruthy();
39
- singleItemResult.subscribe('change', vi.fn());
40
- const allItemsQuery = storage.queryMaker.findAll('todo');
41
- const allItemsResult = await allItemsQuery.resolved;
42
- const allItemsReferenceToItem1 = allItemsResult.find((item) => item.get('id') === item1.get('id'));
43
- expect(singleItemResult).toBe(allItemsReferenceToItem1);
44
- });
45
- it('should immediately reflect mutations', async () => {
46
- const storage = await createTestStorage();
47
- const item1 = await storage.create('todo', {
48
- id: cuid(),
49
- content: 'item 1',
50
- done: false,
51
- tags: [],
52
- category: 'general',
53
- attachments: [],
54
- });
55
- item1.set('done', true);
56
- expect(item1.get('done')).toBe(true);
57
- });
58
- it('should notify about changes', async () => {
59
- const storage = await createTestStorage();
60
- const item1 = await storage.create('todo', {
61
- id: cuid(),
62
- content: 'item 1',
63
- done: false,
64
- tags: [],
65
- category: 'general',
66
- attachments: [],
67
- });
68
- const liveItem1 = await storage.queryMaker.get('todo', item1.get('id'))
69
- .resolved;
70
- expect(liveItem1).toBeTruthy();
71
- const callback = vi.fn();
72
- liveItem1.subscribe('change', callback);
73
- liveItem1.set('done', true);
74
- liveItem1.set('content', 'item 1 updated');
75
- await waitForStoragePropagation(callback);
76
- // only 1 callback - changes are batched.
77
- // expect(callback).toBeCalledTimes(1); // FIXME: called twice, once for immediate in-memory change and once after propagation. can this be 1?
78
- expect(liveItem1.getSnapshot()).toEqual({
79
- id: liveItem1.get('id'),
80
- content: 'item 1 updated',
81
- done: true,
82
- tags: [],
83
- category: 'general',
84
- attachments: [],
85
- });
86
- });
87
- it('should expose array mutators on nested arrays', async () => {
88
- const storage = await createTestStorage();
89
- const item1 = await storage.create('todo', {
90
- id: cuid(),
91
- content: 'item 1',
92
- done: false,
93
- tags: [],
94
- category: 'general',
95
- attachments: [],
96
- });
97
- const callback = vi.fn();
98
- item1.subscribe('change', callback);
99
- item1.get('tags').push('tag 1');
100
- item1.get('tags').push('tag 2');
101
- item1.get('tags').push('tag 3');
102
- item1.get('tags').move(1, 2);
103
- // fields are immediately updated
104
- expect(item1.get('tags').get(0)).toEqual('tag 1');
105
- expect(item1.get('tags').get(1)).toEqual('tag 3');
106
- expect(item1.get('tags').get(2)).toEqual('tag 2');
107
- await waitForStoragePropagation(callback);
108
- expect(callback).toBeCalledTimes(1);
109
- expect(item1.getSnapshot()).toEqual({
110
- id: item1.get('id'),
111
- content: 'item 1',
112
- done: false,
113
- tags: ['tag 1', 'tag 3', 'tag 2'],
114
- category: 'general',
115
- attachments: [],
116
- });
117
- });
118
- it('should expose array accessors on nested arrays', async () => {
119
- const storage = await createTestStorage();
120
- const item1 = await storage.create('todo', {
121
- id: cuid(),
122
- content: 'item 1',
123
- done: false,
124
- tags: ['tag 1', 'tag 2'],
125
- category: 'general',
126
- attachments: [
127
- {
128
- name: 'attachment 1',
129
- },
130
- ],
131
- });
132
- for (const attachment of item1.get('attachments')) {
133
- expect(attachment.get('name')).toBe('attachment 1');
134
- }
135
- let i = 0;
136
- for (const tag of item1.get('tags')) {
137
- expect(tag).toBe('tag ' + ++i);
138
- }
139
- expect(item1.get('tags').filter((tag) => tag === 'tag 1')).toEqual([
140
- 'tag 1',
141
- ]);
142
- item1.get('attachments').push({
143
- name: 'attachment 2',
144
- });
145
- expect(item1.get('attachments').getSnapshot()).toEqual([
146
- { name: 'attachment 1' },
147
- { name: 'attachment 2' },
148
- ]);
149
- });
150
- it('should provide a reasonable way to interact with unknown data', async () => {
151
- /**
152
- * 'any' field types should basically just stop type checking, but still
153
- * provide full reactive entity access for nested data.
154
- */
155
- const storage = await createTestStorage();
156
- const item1 = await storage.create('weird', {
157
- id: cuid(),
158
- weird: {
159
- foo: 'bar',
160
- baz: [
161
- {
162
- corge: 3,
163
- },
164
- ],
165
- },
166
- map: {},
167
- objectMap: {},
168
- });
169
- expect(item1.get('weird').get('foo')).toBe('bar');
170
- expect(item1.get('weird').get('baz').get(0).get('corge')).toBe(3);
171
- expect(item1.get('weird').getSnapshot()).toEqual({
172
- foo: 'bar',
173
- baz: [{ corge: 3 }],
174
- });
175
- item1.get('weird').get('baz').push({ corge: 4 });
176
- expect(item1.get('weird').get('baz').getSnapshot()).toEqual([
177
- { corge: 3 },
178
- { corge: 4 },
179
- ]);
180
- });
181
- it('should provide access and updates for map-type fields', async () => {
182
- const storage = await createTestStorage();
183
- const item1 = await storage.create('weird', {
184
- id: cuid(),
185
- weird: null,
186
- map: {
187
- foo: 'bar',
188
- baz: 'qux',
189
- },
190
- objectMap: {
191
- foo: {
192
- content: 'bar',
193
- },
194
- },
195
- });
196
- expect(item1.get('map').get('foo')).toBe('bar');
197
- expect(item1.get('map').get('baz')).toBe('qux');
198
- expect(item1.get('map').getSnapshot()).toEqual({
199
- foo: 'bar',
200
- baz: 'qux',
201
- });
202
- expect(item1.get('objectMap').get('foo').get('content')).toBe('bar');
203
- expect(item1.get('objectMap').get('baz')).toBe(undefined);
204
- item1.get('objectMap').set('baz', { content: 'qux' });
205
- expect(item1.get('objectMap').get('baz').get('content')).toBe('qux');
206
- });
207
- });
208
- //# sourceMappingURL=documents.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documents.test.js","sourceRoot":"","sources":["../../../../src/v2/__tests__/documents.test.ts"],"names":[],"mappings":"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"}