@verdant-web/store 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/dist/cjs/BackoffScheduler.d.ts +19 -19
  2. package/dist/cjs/BackoffScheduler.js +44 -44
  3. package/dist/cjs/DocumentManager.d.ts +28 -28
  4. package/dist/cjs/DocumentManager.js +44 -44
  5. package/dist/cjs/IDBService.d.ts +9 -9
  6. package/dist/cjs/IDBService.js +46 -46
  7. package/dist/cjs/UndoHistory.d.ts +16 -16
  8. package/dist/cjs/UndoHistory.js +50 -50
  9. package/dist/cjs/__tests__/batching.test.d.ts +1 -1
  10. package/dist/cjs/__tests__/batching.test.js +44 -44
  11. package/dist/cjs/__tests__/documents.test.d.ts +1 -1
  12. package/dist/cjs/__tests__/documents.test.js +398 -398
  13. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +118 -118
  14. package/dist/cjs/__tests__/fixtures/testStorage.js +115 -115
  15. package/dist/cjs/__tests__/queries.test.d.ts +1 -1
  16. package/dist/cjs/__tests__/queries.test.js +262 -262
  17. package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
  18. package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
  19. package/dist/cjs/__tests__/undo.test.d.ts +1 -1
  20. package/dist/cjs/__tests__/undo.test.js +86 -86
  21. package/dist/cjs/client/Client.d.ts +86 -86
  22. package/dist/cjs/client/Client.js +226 -226
  23. package/dist/cjs/client/ClientDescriptor.d.ts +62 -62
  24. package/dist/cjs/client/ClientDescriptor.js +108 -108
  25. package/dist/cjs/constants.d.ts +1 -1
  26. package/dist/cjs/constants.js +4 -4
  27. package/dist/cjs/context.d.ts +17 -17
  28. package/dist/cjs/context.js +2 -2
  29. package/dist/cjs/files/EntityFile.d.ts +27 -27
  30. package/dist/cjs/files/EntityFile.js +71 -71
  31. package/dist/cjs/files/FileManager.d.ts +42 -42
  32. package/dist/cjs/files/FileManager.js +145 -145
  33. package/dist/cjs/files/FileStorage.d.ts +27 -27
  34. package/dist/cjs/files/FileStorage.js +93 -93
  35. package/dist/cjs/files/utils.d.ts +8 -8
  36. package/dist/cjs/files/utils.js +55 -55
  37. package/dist/cjs/files/utils.test.d.ts +1 -1
  38. package/dist/cjs/files/utils.test.js +80 -80
  39. package/dist/cjs/idb.d.ts +8 -8
  40. package/dist/cjs/idb.js +87 -87
  41. package/dist/cjs/index.d.ts +19 -19
  42. package/dist/cjs/index.js +20 -20
  43. package/dist/cjs/indexes.d.ts +3 -3
  44. package/dist/cjs/indexes.js +19 -19
  45. package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
  46. package/dist/cjs/metadata/AckInfoStore.js +25 -25
  47. package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
  48. package/dist/cjs/metadata/BaselinesStore.js +59 -59
  49. package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
  50. package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
  51. package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
  52. package/dist/cjs/metadata/MessageCreator.js +127 -127
  53. package/dist/cjs/metadata/Metadata.d.ts +106 -106
  54. package/dist/cjs/metadata/Metadata.js +336 -336
  55. package/dist/cjs/metadata/OperationsStore.d.ts +50 -50
  56. package/dist/cjs/metadata/OperationsStore.js +145 -145
  57. package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
  58. package/dist/cjs/metadata/SchemaStore.js +38 -38
  59. package/dist/cjs/metadata/openMetadataDatabase.d.ts +8 -8
  60. package/dist/cjs/metadata/openMetadataDatabase.js +105 -105
  61. package/dist/cjs/openDocumentDatabase.d.ts +12 -12
  62. package/dist/cjs/openDocumentDatabase.js +424 -424
  63. package/dist/cjs/queries2/BaseQuery.d.ts +39 -39
  64. package/dist/cjs/queries2/BaseQuery.js +98 -98
  65. package/dist/cjs/queries2/CollectionQueries.d.ts +55 -55
  66. package/dist/cjs/queries2/CollectionQueries.js +82 -82
  67. package/dist/cjs/queries2/FindAllQuery.d.ts +11 -11
  68. package/dist/cjs/queries2/FindAllQuery.js +33 -33
  69. package/dist/cjs/queries2/FindInfiniteQuery.d.ts +18 -18
  70. package/dist/cjs/queries2/FindInfiniteQuery.js +60 -60
  71. package/dist/cjs/queries2/FindOneQuery.d.ts +11 -11
  72. package/dist/cjs/queries2/FindOneQuery.js +33 -33
  73. package/dist/cjs/queries2/FindPageQuery.d.ts +23 -23
  74. package/dist/cjs/queries2/FindPageQuery.js +67 -67
  75. package/dist/cjs/queries2/GetQuery.d.ts +10 -10
  76. package/dist/cjs/queries2/GetQuery.js +29 -29
  77. package/dist/cjs/queries2/QueryCache.d.ts +16 -16
  78. package/dist/cjs/queries2/QueryCache.js +39 -39
  79. package/dist/cjs/queries2/dbQueries.d.ts +22 -22
  80. package/dist/cjs/queries2/dbQueries.js +125 -125
  81. package/dist/cjs/queries2/keys.d.ts +10 -10
  82. package/dist/cjs/queries2/keys.js +33 -33
  83. package/dist/cjs/queries2/ranges.d.ts +2 -2
  84. package/dist/cjs/queries2/ranges.js +69 -69
  85. package/dist/cjs/queries2/types.d.ts +6 -6
  86. package/dist/cjs/queries2/types.js +2 -2
  87. package/dist/cjs/queries2/utils.d.ts +1 -1
  88. package/dist/cjs/queries2/utils.js +19 -19
  89. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +47 -47
  90. package/dist/cjs/reactives/DocumentFamiliyCache.js +210 -210
  91. package/dist/cjs/reactives/Entity.d.ts +191 -191
  92. package/dist/cjs/reactives/Entity.js +462 -462
  93. package/dist/cjs/reactives/EntityStore.d.ts +84 -84
  94. package/dist/cjs/reactives/EntityStore.js +421 -421
  95. package/dist/cjs/reactives/FakeWeakRef.d.ts +11 -11
  96. package/dist/cjs/reactives/FakeWeakRef.js +18 -18
  97. package/dist/cjs/sync/FileSync.d.ts +23 -23
  98. package/dist/cjs/sync/FileSync.js +84 -84
  99. package/dist/cjs/sync/Heartbeat.d.ts +24 -24
  100. package/dist/cjs/sync/Heartbeat.js +55 -55
  101. package/dist/cjs/sync/PresenceManager.d.ts +41 -41
  102. package/dist/cjs/sync/PresenceManager.js +107 -107
  103. package/dist/cjs/sync/PushPullSync.d.ts +36 -36
  104. package/dist/cjs/sync/PushPullSync.js +141 -141
  105. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
  106. package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
  107. package/dist/cjs/sync/Sync.d.ts +127 -127
  108. package/dist/cjs/sync/Sync.js +244 -244
  109. package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
  110. package/dist/cjs/sync/WebSocketSync.js +183 -183
  111. package/dist/cjs/types.d.ts +5 -5
  112. package/dist/cjs/types.js +2 -2
  113. package/dist/cjs/utils/Disposable.d.ts +6 -6
  114. package/dist/cjs/utils/Disposable.js +18 -18
  115. package/dist/cjs/utils/Resolvable.d.ts +8 -8
  116. package/dist/cjs/utils/Resolvable.js +22 -22
  117. package/dist/esm/BackoffScheduler.d.ts +19 -19
  118. package/dist/esm/BackoffScheduler.js +39 -39
  119. package/dist/esm/DocumentManager.d.ts +28 -28
  120. package/dist/esm/DocumentManager.js +40 -40
  121. package/dist/esm/IDBService.d.ts +9 -9
  122. package/dist/esm/IDBService.js +42 -42
  123. package/dist/esm/UndoHistory.d.ts +16 -16
  124. package/dist/esm/UndoHistory.js +46 -46
  125. package/dist/esm/__tests__/batching.test.d.ts +1 -1
  126. package/dist/esm/__tests__/batching.test.js +42 -42
  127. package/dist/esm/__tests__/documents.test.d.ts +1 -1
  128. package/dist/esm/__tests__/documents.test.js +396 -396
  129. package/dist/esm/__tests__/fixtures/testStorage.d.ts +118 -118
  130. package/dist/esm/__tests__/fixtures/testStorage.js +111 -111
  131. package/dist/esm/__tests__/queries.test.d.ts +1 -1
  132. package/dist/esm/__tests__/queries.test.js +260 -260
  133. package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
  134. package/dist/esm/__tests__/setup/indexedDB.js +1 -1
  135. package/dist/esm/__tests__/undo.test.d.ts +1 -1
  136. package/dist/esm/__tests__/undo.test.js +84 -84
  137. package/dist/esm/client/Client.d.ts +86 -86
  138. package/dist/esm/client/Client.js +222 -222
  139. package/dist/esm/client/ClientDescriptor.d.ts +62 -62
  140. package/dist/esm/client/ClientDescriptor.js +104 -104
  141. package/dist/esm/constants.d.ts +1 -1
  142. package/dist/esm/constants.js +1 -1
  143. package/dist/esm/context.d.ts +17 -17
  144. package/dist/esm/context.js +1 -1
  145. package/dist/esm/files/EntityFile.d.ts +27 -27
  146. package/dist/esm/files/EntityFile.js +67 -67
  147. package/dist/esm/files/FileManager.d.ts +42 -42
  148. package/dist/esm/files/FileManager.js +141 -141
  149. package/dist/esm/files/FileStorage.d.ts +27 -27
  150. package/dist/esm/files/FileStorage.js +88 -88
  151. package/dist/esm/files/utils.d.ts +8 -8
  152. package/dist/esm/files/utils.js +46 -46
  153. package/dist/esm/files/utils.test.d.ts +1 -1
  154. package/dist/esm/files/utils.test.js +78 -78
  155. package/dist/esm/idb.d.ts +8 -8
  156. package/dist/esm/idb.js +79 -79
  157. package/dist/esm/index.d.ts +19 -19
  158. package/dist/esm/index.js +11 -11
  159. package/dist/esm/indexes.d.ts +3 -3
  160. package/dist/esm/indexes.js +14 -14
  161. package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
  162. package/dist/esm/metadata/AckInfoStore.js +21 -21
  163. package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
  164. package/dist/esm/metadata/BaselinesStore.js +55 -55
  165. package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
  166. package/dist/esm/metadata/LocalReplicaStore.js +40 -40
  167. package/dist/esm/metadata/MessageCreator.d.ts +19 -19
  168. package/dist/esm/metadata/MessageCreator.js +123 -123
  169. package/dist/esm/metadata/Metadata.d.ts +106 -106
  170. package/dist/esm/metadata/Metadata.js +332 -332
  171. package/dist/esm/metadata/OperationsStore.d.ts +50 -50
  172. package/dist/esm/metadata/OperationsStore.js +141 -141
  173. package/dist/esm/metadata/SchemaStore.d.ts +9 -9
  174. package/dist/esm/metadata/SchemaStore.js +34 -34
  175. package/dist/esm/metadata/openMetadataDatabase.d.ts +8 -8
  176. package/dist/esm/metadata/openMetadataDatabase.js +101 -101
  177. package/dist/esm/openDocumentDatabase.d.ts +12 -12
  178. package/dist/esm/openDocumentDatabase.js +420 -420
  179. package/dist/esm/queries2/BaseQuery.d.ts +39 -39
  180. package/dist/esm/queries2/BaseQuery.js +94 -94
  181. package/dist/esm/queries2/CollectionQueries.d.ts +55 -55
  182. package/dist/esm/queries2/CollectionQueries.js +78 -78
  183. package/dist/esm/queries2/FindAllQuery.d.ts +11 -11
  184. package/dist/esm/queries2/FindAllQuery.js +29 -29
  185. package/dist/esm/queries2/FindInfiniteQuery.d.ts +18 -18
  186. package/dist/esm/queries2/FindInfiniteQuery.js +56 -56
  187. package/dist/esm/queries2/FindOneQuery.d.ts +11 -11
  188. package/dist/esm/queries2/FindOneQuery.js +29 -29
  189. package/dist/esm/queries2/FindPageQuery.d.ts +23 -23
  190. package/dist/esm/queries2/FindPageQuery.js +63 -63
  191. package/dist/esm/queries2/GetQuery.d.ts +10 -10
  192. package/dist/esm/queries2/GetQuery.js +25 -25
  193. package/dist/esm/queries2/QueryCache.d.ts +16 -16
  194. package/dist/esm/queries2/QueryCache.js +35 -35
  195. package/dist/esm/queries2/dbQueries.d.ts +22 -22
  196. package/dist/esm/queries2/dbQueries.js +119 -119
  197. package/dist/esm/queries2/keys.d.ts +10 -10
  198. package/dist/esm/queries2/keys.js +29 -29
  199. package/dist/esm/queries2/ranges.d.ts +2 -2
  200. package/dist/esm/queries2/ranges.js +65 -65
  201. package/dist/esm/queries2/types.d.ts +6 -6
  202. package/dist/esm/queries2/types.js +1 -1
  203. package/dist/esm/queries2/utils.d.ts +1 -1
  204. package/dist/esm/queries2/utils.js +15 -15
  205. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +47 -47
  206. package/dist/esm/reactives/DocumentFamiliyCache.js +206 -206
  207. package/dist/esm/reactives/Entity.d.ts +191 -191
  208. package/dist/esm/reactives/Entity.js +457 -457
  209. package/dist/esm/reactives/EntityStore.d.ts +84 -84
  210. package/dist/esm/reactives/EntityStore.js +417 -417
  211. package/dist/esm/reactives/FakeWeakRef.d.ts +11 -11
  212. package/dist/esm/reactives/FakeWeakRef.js +14 -14
  213. package/dist/esm/sync/FileSync.d.ts +23 -23
  214. package/dist/esm/sync/FileSync.js +80 -80
  215. package/dist/esm/sync/Heartbeat.d.ts +24 -24
  216. package/dist/esm/sync/Heartbeat.js +51 -51
  217. package/dist/esm/sync/PresenceManager.d.ts +41 -41
  218. package/dist/esm/sync/PresenceManager.js +103 -103
  219. package/dist/esm/sync/PushPullSync.d.ts +36 -36
  220. package/dist/esm/sync/PushPullSync.js +137 -137
  221. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
  222. package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
  223. package/dist/esm/sync/Sync.d.ts +127 -127
  224. package/dist/esm/sync/Sync.js +239 -239
  225. package/dist/esm/sync/{WebsocketSync.d.ts → WebSocketSync.d.ts} +41 -41
  226. package/dist/esm/sync/{WebsocketSync.js → WebSocketSync.js} +179 -179
  227. package/dist/esm/types.d.ts +5 -5
  228. package/dist/esm/types.js +1 -1
  229. package/dist/esm/utils/Disposable.d.ts +6 -6
  230. package/dist/esm/utils/Disposable.js +14 -14
  231. package/dist/esm/utils/Resolvable.d.ts +8 -8
  232. package/dist/esm/utils/Resolvable.js +18 -18
  233. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  234. package/dist/tsconfig.tsbuildinfo +1 -1
  235. package/package.json +2 -2
  236. package/dist/cjs/AckInfoStore.d.ts +0 -10
  237. package/dist/cjs/AckInfoStore.js +0 -26
  238. package/dist/cjs/AckInfoStore.js.map +0 -1
  239. package/dist/cjs/BaselinesStore.d.ts +0 -10
  240. package/dist/cjs/BaselinesStore.js +0 -36
  241. package/dist/cjs/BaselinesStore.js.map +0 -1
  242. package/dist/cjs/Entity.d.ts +0 -96
  243. package/dist/cjs/Entity.js +0 -345
  244. package/dist/cjs/Entity.js.map +0 -1
  245. package/dist/cjs/EntityStore.d.ts +0 -36
  246. package/dist/cjs/EntityStore.js +0 -172
  247. package/dist/cjs/EntityStore.js.map +0 -1
  248. package/dist/cjs/LocalHistoryStore.d.ts +0 -15
  249. package/dist/cjs/LocalHistoryStore.js +0 -53
  250. package/dist/cjs/LocalHistoryStore.js.map +0 -1
  251. package/dist/cjs/LocalReplicaStore.d.ts +0 -13
  252. package/dist/cjs/LocalReplicaStore.js +0 -49
  253. package/dist/cjs/LocalReplicaStore.js.map +0 -1
  254. package/dist/cjs/MessageCreator.d.ts +0 -19
  255. package/dist/cjs/MessageCreator.js +0 -104
  256. package/dist/cjs/MessageCreator.js.map +0 -1
  257. package/dist/cjs/Metadata.d.ts +0 -91
  258. package/dist/cjs/Metadata.js +0 -250
  259. package/dist/cjs/Metadata.js.map +0 -1
  260. package/dist/cjs/OperationsStore.d.ts +0 -38
  261. package/dist/cjs/OperationsStore.js +0 -146
  262. package/dist/cjs/OperationsStore.js.map +0 -1
  263. package/dist/cjs/PresenceManager.d.ts +0 -30
  264. package/dist/cjs/PresenceManager.js +0 -89
  265. package/dist/cjs/PresenceManager.js.map +0 -1
  266. package/dist/cjs/Query.d.ts +0 -26
  267. package/dist/cjs/Query.js +0 -86
  268. package/dist/cjs/Query.js.map +0 -1
  269. package/dist/cjs/QueryMaker.d.ts +0 -18
  270. package/dist/cjs/QueryMaker.js +0 -98
  271. package/dist/cjs/QueryMaker.js.map +0 -1
  272. package/dist/cjs/QueryStore.d.ts +0 -38
  273. package/dist/cjs/QueryStore.js +0 -146
  274. package/dist/cjs/QueryStore.js.map +0 -1
  275. package/dist/cjs/SchemaStore.d.ts +0 -9
  276. package/dist/cjs/SchemaStore.js +0 -35
  277. package/dist/cjs/SchemaStore.js.map +0 -1
  278. package/dist/cjs/Storage.d.ts +0 -147
  279. package/dist/cjs/Storage.js +0 -346
  280. package/dist/cjs/Storage.js.map +0 -1
  281. package/dist/cjs/Sync.d.ts +0 -117
  282. package/dist/cjs/Sync.js +0 -561
  283. package/dist/cjs/Sync.js.map +0 -1
  284. package/dist/cjs/SyncHarness.d.ts +0 -45
  285. package/dist/cjs/SyncHarness.js +0 -110
  286. package/dist/cjs/SyncHarness.js.map +0 -1
  287. package/dist/cjs/metadata/LocalHistoryStore.d.ts +0 -15
  288. package/dist/cjs/metadata/LocalHistoryStore.js +0 -53
  289. package/dist/cjs/metadata/LocalHistoryStore.js.map +0 -1
  290. package/dist/cjs/queries/LiveQuery.d.ts +0 -28
  291. package/dist/cjs/queries/LiveQuery.js +0 -96
  292. package/dist/cjs/queries/LiveQuery.js.map +0 -1
  293. package/dist/cjs/queries/LiveQueryMaker.d.ts +0 -15
  294. package/dist/cjs/queries/LiveQueryMaker.js +0 -42
  295. package/dist/cjs/queries/LiveQueryMaker.js.map +0 -1
  296. package/dist/cjs/queries/LiveQueryStore.d.ts +0 -33
  297. package/dist/cjs/queries/LiveQueryStore.js +0 -85
  298. package/dist/cjs/queries/LiveQueryStore.js.map +0 -1
  299. package/dist/cjs/queries/Query.d.ts +0 -18
  300. package/dist/cjs/queries/Query.js +0 -36
  301. package/dist/cjs/queries/Query.js.map +0 -1
  302. package/dist/cjs/queries/QueryMaker.d.ts +0 -14
  303. package/dist/cjs/queries/QueryMaker.js +0 -42
  304. package/dist/cjs/queries/QueryMaker.js.map +0 -1
  305. package/dist/cjs/queries/QueryStore.d.ts +0 -35
  306. package/dist/cjs/queries/QueryStore.js +0 -130
  307. package/dist/cjs/queries/QueryStore.js.map +0 -1
  308. package/dist/cjs/queries/ranges.d.ts +0 -2
  309. package/dist/cjs/queries/ranges.js +0 -70
  310. package/dist/cjs/queries/ranges.js.map +0 -1
  311. package/dist/cjs/v2/AckInfoStore.d.ts +0 -10
  312. package/dist/cjs/v2/AckInfoStore.js +0 -26
  313. package/dist/cjs/v2/AckInfoStore.js.map +0 -1
  314. package/dist/cjs/v2/BaselinesStore.d.ts +0 -10
  315. package/dist/cjs/v2/BaselinesStore.js +0 -36
  316. package/dist/cjs/v2/BaselinesStore.js.map +0 -1
  317. package/dist/cjs/v2/DocumentManager.d.ts +0 -19
  318. package/dist/cjs/v2/DocumentManager.js +0 -47
  319. package/dist/cjs/v2/DocumentManager.js.map +0 -1
  320. package/dist/cjs/v2/Entity.d.ts +0 -87
  321. package/dist/cjs/v2/Entity.js +0 -305
  322. package/dist/cjs/v2/Entity.js.map +0 -1
  323. package/dist/cjs/v2/EntityStore.d.ts +0 -37
  324. package/dist/cjs/v2/EntityStore.js +0 -165
  325. package/dist/cjs/v2/EntityStore.js.map +0 -1
  326. package/dist/cjs/v2/IDBService.d.ts +0 -7
  327. package/dist/cjs/v2/IDBService.js +0 -26
  328. package/dist/cjs/v2/IDBService.js.map +0 -1
  329. package/dist/cjs/v2/LocalHistoryStore.d.ts +0 -15
  330. package/dist/cjs/v2/LocalHistoryStore.js +0 -53
  331. package/dist/cjs/v2/LocalHistoryStore.js.map +0 -1
  332. package/dist/cjs/v2/LocalReplicaStore.d.ts +0 -14
  333. package/dist/cjs/v2/LocalReplicaStore.js +0 -49
  334. package/dist/cjs/v2/LocalReplicaStore.js.map +0 -1
  335. package/dist/cjs/v2/MessageCreator.d.ts +0 -19
  336. package/dist/cjs/v2/MessageCreator.js +0 -99
  337. package/dist/cjs/v2/MessageCreator.js.map +0 -1
  338. package/dist/cjs/v2/Metadata.d.ts +0 -90
  339. package/dist/cjs/v2/Metadata.js +0 -251
  340. package/dist/cjs/v2/Metadata.js.map +0 -1
  341. package/dist/cjs/v2/OperationsStore.d.ts +0 -38
  342. package/dist/cjs/v2/OperationsStore.js +0 -146
  343. package/dist/cjs/v2/OperationsStore.js.map +0 -1
  344. package/dist/cjs/v2/PresenceManager.d.ts +0 -24
  345. package/dist/cjs/v2/PresenceManager.js +0 -73
  346. package/dist/cjs/v2/PresenceManager.js.map +0 -1
  347. package/dist/cjs/v2/Query.d.ts +0 -24
  348. package/dist/cjs/v2/Query.js +0 -79
  349. package/dist/cjs/v2/Query.js.map +0 -1
  350. package/dist/cjs/v2/QueryMaker.d.ts +0 -16
  351. package/dist/cjs/v2/QueryMaker.js +0 -84
  352. package/dist/cjs/v2/QueryMaker.js.map +0 -1
  353. package/dist/cjs/v2/QueryStore.d.ts +0 -26
  354. package/dist/cjs/v2/QueryStore.js +0 -136
  355. package/dist/cjs/v2/QueryStore.js.map +0 -1
  356. package/dist/cjs/v2/SchemaStore.d.ts +0 -9
  357. package/dist/cjs/v2/SchemaStore.js +0 -35
  358. package/dist/cjs/v2/SchemaStore.js.map +0 -1
  359. package/dist/cjs/v2/Storage.d.ts +0 -80
  360. package/dist/cjs/v2/Storage.js +0 -154
  361. package/dist/cjs/v2/Storage.js.map +0 -1
  362. package/dist/cjs/v2/Sync.d.ts +0 -42
  363. package/dist/cjs/v2/Sync.js +0 -98
  364. package/dist/cjs/v2/Sync.js.map +0 -1
  365. package/dist/cjs/v2/SyncHarness.d.ts +0 -45
  366. package/dist/cjs/v2/SyncHarness.js +0 -110
  367. package/dist/cjs/v2/SyncHarness.js.map +0 -1
  368. package/dist/cjs/v2/__tests__/documents.test.d.ts +0 -1
  369. package/dist/cjs/v2/__tests__/documents.test.js +0 -185
  370. package/dist/cjs/v2/__tests__/documents.test.js.map +0 -1
  371. package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +0 -189
  372. package/dist/cjs/v2/__tests__/fixtures/testStorage.js +0 -93
  373. package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +0 -1
  374. package/dist/cjs/v2/__tests__/queries.test.d.ts +0 -1
  375. package/dist/cjs/v2/__tests__/queries.test.js +0 -92
  376. package/dist/cjs/v2/__tests__/queries.test.js.map +0 -1
  377. package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +0 -1
  378. package/dist/cjs/v2/__tests__/setup/indexedDB.js +0 -4
  379. package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +0 -1
  380. package/dist/cjs/v2/constants.d.ts +0 -1
  381. package/dist/cjs/v2/constants.js +0 -5
  382. package/dist/cjs/v2/constants.js.map +0 -1
  383. package/dist/cjs/v2/idb.d.ts +0 -6
  384. package/dist/cjs/v2/idb.js +0 -71
  385. package/dist/cjs/v2/idb.js.map +0 -1
  386. package/dist/cjs/v2/index.d.ts +0 -6
  387. package/dist/cjs/v2/index.js +0 -14
  388. package/dist/cjs/v2/index.js.map +0 -1
  389. package/dist/cjs/v2/indexes.d.ts +0 -3
  390. package/dist/cjs/v2/indexes.js +0 -20
  391. package/dist/cjs/v2/indexes.js.map +0 -1
  392. package/dist/cjs/v2/openDocumentDatabase.d.ts +0 -9
  393. package/dist/cjs/v2/openDocumentDatabase.js +0 -100
  394. package/dist/cjs/v2/openDocumentDatabase.js.map +0 -1
  395. package/dist/cjs/v2/types.d.ts +0 -3
  396. package/dist/cjs/v2/types.js +0 -3
  397. package/dist/cjs/v2/types.js.map +0 -1
  398. package/dist/esm/AckInfoStore.d.ts +0 -10
  399. package/dist/esm/AckInfoStore.js +0 -22
  400. package/dist/esm/AckInfoStore.js.map +0 -1
  401. package/dist/esm/BaselinesStore.d.ts +0 -10
  402. package/dist/esm/BaselinesStore.js +0 -32
  403. package/dist/esm/BaselinesStore.js.map +0 -1
  404. package/dist/esm/Entity.d.ts +0 -96
  405. package/dist/esm/Entity.js +0 -337
  406. package/dist/esm/Entity.js.map +0 -1
  407. package/dist/esm/EntityStore.d.ts +0 -36
  408. package/dist/esm/EntityStore.js +0 -168
  409. package/dist/esm/EntityStore.js.map +0 -1
  410. package/dist/esm/LocalHistoryStore.d.ts +0 -15
  411. package/dist/esm/LocalHistoryStore.js +0 -49
  412. package/dist/esm/LocalHistoryStore.js.map +0 -1
  413. package/dist/esm/LocalReplicaStore.d.ts +0 -13
  414. package/dist/esm/LocalReplicaStore.js +0 -42
  415. package/dist/esm/LocalReplicaStore.js.map +0 -1
  416. package/dist/esm/MessageCreator.d.ts +0 -19
  417. package/dist/esm/MessageCreator.js +0 -97
  418. package/dist/esm/MessageCreator.js.map +0 -1
  419. package/dist/esm/Metadata.d.ts +0 -91
  420. package/dist/esm/Metadata.js +0 -245
  421. package/dist/esm/Metadata.js.map +0 -1
  422. package/dist/esm/OperationsStore.d.ts +0 -38
  423. package/dist/esm/OperationsStore.js +0 -142
  424. package/dist/esm/OperationsStore.js.map +0 -1
  425. package/dist/esm/PresenceManager.d.ts +0 -30
  426. package/dist/esm/PresenceManager.js +0 -85
  427. package/dist/esm/PresenceManager.js.map +0 -1
  428. package/dist/esm/Query.d.ts +0 -26
  429. package/dist/esm/Query.js +0 -82
  430. package/dist/esm/Query.js.map +0 -1
  431. package/dist/esm/QueryMaker.d.ts +0 -18
  432. package/dist/esm/QueryMaker.js +0 -94
  433. package/dist/esm/QueryMaker.js.map +0 -1
  434. package/dist/esm/QueryStore.d.ts +0 -38
  435. package/dist/esm/QueryStore.js +0 -142
  436. package/dist/esm/QueryStore.js.map +0 -1
  437. package/dist/esm/SchemaStore.d.ts +0 -9
  438. package/dist/esm/SchemaStore.js +0 -31
  439. package/dist/esm/SchemaStore.js.map +0 -1
  440. package/dist/esm/Storage.d.ts +0 -147
  441. package/dist/esm/Storage.js +0 -341
  442. package/dist/esm/Storage.js.map +0 -1
  443. package/dist/esm/Sync.d.ts +0 -117
  444. package/dist/esm/Sync.js +0 -553
  445. package/dist/esm/Sync.js.map +0 -1
  446. package/dist/esm/SyncHarness.d.ts +0 -45
  447. package/dist/esm/SyncHarness.js +0 -105
  448. package/dist/esm/SyncHarness.js.map +0 -1
  449. package/dist/esm/metadata/LocalHistoryStore.d.ts +0 -15
  450. package/dist/esm/metadata/LocalHistoryStore.js +0 -49
  451. package/dist/esm/metadata/LocalHistoryStore.js.map +0 -1
  452. package/dist/esm/queries/LiveQuery.d.ts +0 -28
  453. package/dist/esm/queries/LiveQuery.js +0 -92
  454. package/dist/esm/queries/LiveQuery.js.map +0 -1
  455. package/dist/esm/queries/LiveQueryMaker.d.ts +0 -15
  456. package/dist/esm/queries/LiveQueryMaker.js +0 -38
  457. package/dist/esm/queries/LiveQueryMaker.js.map +0 -1
  458. package/dist/esm/queries/LiveQueryStore.d.ts +0 -33
  459. package/dist/esm/queries/LiveQueryStore.js +0 -81
  460. package/dist/esm/queries/LiveQueryStore.js.map +0 -1
  461. package/dist/esm/queries/Query.d.ts +0 -18
  462. package/dist/esm/queries/Query.js +0 -32
  463. package/dist/esm/queries/Query.js.map +0 -1
  464. package/dist/esm/queries/QueryMaker.d.ts +0 -14
  465. package/dist/esm/queries/QueryMaker.js +0 -38
  466. package/dist/esm/queries/QueryMaker.js.map +0 -1
  467. package/dist/esm/queries/QueryStore.d.ts +0 -35
  468. package/dist/esm/queries/QueryStore.js +0 -126
  469. package/dist/esm/queries/QueryStore.js.map +0 -1
  470. package/dist/esm/queries/ranges.d.ts +0 -2
  471. package/dist/esm/queries/ranges.js +0 -66
  472. package/dist/esm/queries/ranges.js.map +0 -1
  473. package/dist/esm/v2/AckInfoStore.d.ts +0 -10
  474. package/dist/esm/v2/AckInfoStore.js +0 -22
  475. package/dist/esm/v2/AckInfoStore.js.map +0 -1
  476. package/dist/esm/v2/BaselinesStore.d.ts +0 -10
  477. package/dist/esm/v2/BaselinesStore.js +0 -32
  478. package/dist/esm/v2/BaselinesStore.js.map +0 -1
  479. package/dist/esm/v2/DocumentManager.d.ts +0 -19
  480. package/dist/esm/v2/DocumentManager.js +0 -43
  481. package/dist/esm/v2/DocumentManager.js.map +0 -1
  482. package/dist/esm/v2/Entity.d.ts +0 -91
  483. package/dist/esm/v2/Entity.js +0 -305
  484. package/dist/esm/v2/Entity.js.map +0 -1
  485. package/dist/esm/v2/EntityStore.d.ts +0 -37
  486. package/dist/esm/v2/EntityStore.js +0 -166
  487. package/dist/esm/v2/EntityStore.js.map +0 -1
  488. package/dist/esm/v2/IDBService.d.ts +0 -7
  489. package/dist/esm/v2/IDBService.js +0 -22
  490. package/dist/esm/v2/IDBService.js.map +0 -1
  491. package/dist/esm/v2/LocalHistoryStore.d.ts +0 -15
  492. package/dist/esm/v2/LocalHistoryStore.js +0 -49
  493. package/dist/esm/v2/LocalHistoryStore.js.map +0 -1
  494. package/dist/esm/v2/LocalReplicaStore.d.ts +0 -14
  495. package/dist/esm/v2/LocalReplicaStore.js +0 -42
  496. package/dist/esm/v2/LocalReplicaStore.js.map +0 -1
  497. package/dist/esm/v2/MessageCreator.d.ts +0 -19
  498. package/dist/esm/v2/MessageCreator.js +0 -92
  499. package/dist/esm/v2/MessageCreator.js.map +0 -1
  500. package/dist/esm/v2/Metadata.d.ts +0 -90
  501. package/dist/esm/v2/Metadata.js +0 -246
  502. package/dist/esm/v2/Metadata.js.map +0 -1
  503. package/dist/esm/v2/OperationsStore.d.ts +0 -38
  504. package/dist/esm/v2/OperationsStore.js +0 -142
  505. package/dist/esm/v2/OperationsStore.js.map +0 -1
  506. package/dist/esm/v2/PresenceManager.d.ts +0 -24
  507. package/dist/esm/v2/PresenceManager.js +0 -69
  508. package/dist/esm/v2/PresenceManager.js.map +0 -1
  509. package/dist/esm/v2/Query.d.ts +0 -24
  510. package/dist/esm/v2/Query.js +0 -75
  511. package/dist/esm/v2/Query.js.map +0 -1
  512. package/dist/esm/v2/QueryMaker.d.ts +0 -16
  513. package/dist/esm/v2/QueryMaker.js +0 -80
  514. package/dist/esm/v2/QueryMaker.js.map +0 -1
  515. package/dist/esm/v2/QueryStore.d.ts +0 -26
  516. package/dist/esm/v2/QueryStore.js +0 -132
  517. package/dist/esm/v2/QueryStore.js.map +0 -1
  518. package/dist/esm/v2/SchemaStore.d.ts +0 -9
  519. package/dist/esm/v2/SchemaStore.js +0 -31
  520. package/dist/esm/v2/SchemaStore.js.map +0 -1
  521. package/dist/esm/v2/Storage.d.ts +0 -80
  522. package/dist/esm/v2/Storage.js +0 -149
  523. package/dist/esm/v2/Storage.js.map +0 -1
  524. package/dist/esm/v2/Sync.d.ts +0 -42
  525. package/dist/esm/v2/Sync.js +0 -94
  526. package/dist/esm/v2/Sync.js.map +0 -1
  527. package/dist/esm/v2/SyncHarness.d.ts +0 -45
  528. package/dist/esm/v2/SyncHarness.js +0 -105
  529. package/dist/esm/v2/SyncHarness.js.map +0 -1
  530. package/dist/esm/v2/__tests__/documents.test.d.ts +0 -1
  531. package/dist/esm/v2/__tests__/documents.test.js +0 -208
  532. package/dist/esm/v2/__tests__/documents.test.js.map +0 -1
  533. package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +0 -223
  534. package/dist/esm/v2/__tests__/fixtures/testStorage.js +0 -106
  535. package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +0 -1
  536. package/dist/esm/v2/__tests__/queries.test.d.ts +0 -1
  537. package/dist/esm/v2/__tests__/queries.test.js +0 -90
  538. package/dist/esm/v2/__tests__/queries.test.js.map +0 -1
  539. package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +0 -1
  540. package/dist/esm/v2/__tests__/setup/indexedDB.js +0 -2
  541. package/dist/esm/v2/__tests__/setup/indexedDB.js.map +0 -1
  542. package/dist/esm/v2/constants.d.ts +0 -1
  543. package/dist/esm/v2/constants.js +0 -2
  544. package/dist/esm/v2/constants.js.map +0 -1
  545. package/dist/esm/v2/idb.d.ts +0 -6
  546. package/dist/esm/v2/idb.js +0 -65
  547. package/dist/esm/v2/idb.js.map +0 -1
  548. package/dist/esm/v2/index.d.ts +0 -6
  549. package/dist/esm/v2/index.js +0 -5
  550. package/dist/esm/v2/index.js.map +0 -1
  551. package/dist/esm/v2/indexes.d.ts +0 -3
  552. package/dist/esm/v2/indexes.js +0 -15
  553. package/dist/esm/v2/indexes.js.map +0 -1
  554. package/dist/esm/v2/openDocumentDatabase.d.ts +0 -9
  555. package/dist/esm/v2/openDocumentDatabase.js +0 -96
  556. package/dist/esm/v2/openDocumentDatabase.js.map +0 -1
  557. package/dist/esm/v2/types.d.ts +0 -3
  558. package/dist/esm/v2/types.js +0 -2
  559. package/dist/esm/v2/types.js.map +0 -1
  560. /package/dist/esm/sync/{WebsocketSync.js.map → WebSocketSync.js.map} +0 -0
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSizeOfObjectStore = exports.cursorIterator = exports.storeRequestPromise = void 0;
4
- const common_1 = require("@lo-fi/common");
5
- function storeRequestPromise(request) {
6
- return new Promise((resolve, reject) => {
7
- request.onsuccess = () => {
8
- resolve(request.result);
9
- };
10
- request.onerror = () => {
11
- reject(request.error);
12
- };
13
- });
14
- }
15
- exports.storeRequestPromise = storeRequestPromise;
16
- function cursorIterator(request, callback) {
17
- return new Promise((resolve, reject) => {
18
- request.onsuccess = () => {
19
- const cursor = request.result;
20
- if (cursor) {
21
- if (callback(cursor.value)) {
22
- cursor.continue();
23
- }
24
- else {
25
- resolve();
26
- }
27
- }
28
- else {
29
- resolve();
30
- }
31
- };
32
- request.onerror = () => {
33
- reject(request.error);
34
- };
35
- });
36
- }
37
- exports.cursorIterator = cursorIterator;
38
- function getSizeOfObjectStore(database, storeName) {
39
- return new Promise((resolve, reject) => {
40
- const tx = database.transaction([storeName], 'readonly');
41
- const store = tx.objectStore(storeName);
42
- const cursorReq = store.openCursor();
43
- let count = 0;
44
- let size = 0;
45
- cursorReq.onsuccess = function (e) {
46
- const cursor = cursorReq.result;
47
- if (cursor) {
48
- count++;
49
- size = size + (0, common_1.roughSizeOfObject)(cursor.value);
50
- cursor.continue();
51
- }
52
- };
53
- cursorReq.onerror = function (e) {
54
- reject(e);
55
- };
56
- tx.oncomplete = function (e) {
57
- resolve({
58
- count: count,
59
- size: size,
60
- });
61
- };
62
- tx.onabort = function (e) {
63
- reject(e);
64
- };
65
- tx.onerror = function (e) {
66
- reject(e);
67
- };
68
- });
69
- }
70
- exports.getSizeOfObjectStore = getSizeOfObjectStore;
71
- //# sourceMappingURL=idb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idb.js","sourceRoot":"","sources":["../../../src/v2/idb.ts"],"names":[],"mappings":";;;AAAA,0CAAkD;AAElD,SAAgB,mBAAmB,CAAI,OAAsB;IAC5D,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;YACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AATD,kDASC;AAED,SAAgB,cAAc,CAC7B,OAA8C,EAC9C,QAAsC;IAEtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,MAAM,EAAE;gBACX,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC3B,MAAM,CAAC,QAAQ,EAAE,CAAC;iBAClB;qBAAM;oBACN,OAAO,EAAE,CAAC;iBACV;aACD;iBAAM;gBACN,OAAO,EAAE,CAAC;aACV;QACF,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AArBD,wCAqBC;AAED,SAAgB,oBAAoB,CACnC,QAAqB,EACrB,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAChC,IAAI,MAAM,EAAE;gBACX,KAAK,EAAE,CAAC;gBACR,IAAI,GAAG,IAAI,GAAG,IAAA,0BAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,CAAC,QAAQ,EAAE,CAAC;aAClB;QACF,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;YAC9B,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC;QACF,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;YAC1B,OAAO,CAAC;gBACP,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACV,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC;QACF,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAlCD,oDAkCC"}
@@ -1,6 +0,0 @@
1
- export { StorageDescriptor, Storage } from './Storage.js';
2
- export type { Document } from './types.js';
3
- export { Query } from './Query.js';
4
- export { ObjectEntity, ListEntity } from './Entity.js';
5
- export type { Entity, EntityShape } from './Entity.js';
6
- export { WebsocketSync } from './Sync.js';
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketSync = exports.ListEntity = exports.ObjectEntity = exports.Query = exports.Storage = exports.StorageDescriptor = void 0;
4
- var Storage_js_1 = require("./Storage.js");
5
- Object.defineProperty(exports, "StorageDescriptor", { enumerable: true, get: function () { return Storage_js_1.StorageDescriptor; } });
6
- Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return Storage_js_1.Storage; } });
7
- var Query_js_1 = require("./Query.js");
8
- Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return Query_js_1.Query; } });
9
- var Entity_js_1 = require("./Entity.js");
10
- Object.defineProperty(exports, "ObjectEntity", { enumerable: true, get: function () { return Entity_js_1.ObjectEntity; } });
11
- Object.defineProperty(exports, "ListEntity", { enumerable: true, get: function () { return Entity_js_1.ListEntity; } });
12
- var Sync_js_1 = require("./Sync.js");
13
- Object.defineProperty(exports, "WebsocketSync", { enumerable: true, get: function () { return Sync_js_1.WebsocketSync; } });
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v2/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAAjD,+GAAA,iBAAiB,OAAA;AAAE,qGAAA,OAAO,OAAA;AAEnC,uCAAmC;AAA1B,iGAAA,KAAK,OAAA;AACd,yCAAuD;AAA9C,yGAAA,YAAY,OAAA;AAAE,uGAAA,UAAU,OAAA;AAEjC,qCAA0C;AAAjC,wGAAA,aAAa,OAAA"}
@@ -1,3 +0,0 @@
1
- import { StorageCollectionSchema } from '@lo-fi/common';
2
- export declare function computeSynthetics(schema: StorageCollectionSchema<any, any, any>, obj: any): Record<string, any>;
3
- export declare function computeCompoundIndices(schema: StorageCollectionSchema<any, any, any>, doc: any): any;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeCompoundIndices = exports.computeSynthetics = void 0;
4
- const common_1 = require("@lo-fi/common");
5
- function computeSynthetics(schema, obj) {
6
- const result = {};
7
- for (const [name, property] of Object.entries(schema.synthetics)) {
8
- result[name] = property.compute(obj);
9
- }
10
- return result;
11
- }
12
- exports.computeSynthetics = computeSynthetics;
13
- function computeCompoundIndices(schema, doc) {
14
- return Object.entries(schema.compounds).reduce((acc, [indexKey, index]) => {
15
- acc[indexKey] = (0, common_1.createCompoundIndexValue)(...index.of.map((key) => doc[key]));
16
- return acc;
17
- }, {});
18
- }
19
- exports.computeCompoundIndices = computeCompoundIndices;
20
- //# sourceMappingURL=indexes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../src/v2/indexes.ts"],"names":[],"mappings":";;;AAAA,0CAMuB;AAEvB,SAAgB,iBAAiB,CAChC,MAA8C,EAC9C,GAAQ;IAER,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACjE,MAAM,CAAC,IAAI,CAAC,GAAI,QAA6C,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC3E;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AATD,8CASC;AAED,SAAgB,sBAAsB,CACrC,MAA8C,EAC9C,GAAQ;IAER,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAE5C,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5B,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAA,iCAAwB,EACvC,GAAI,KAA2C,CAAC,EAAE,CAAC,GAAG,CACrD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAoB,CACpC,CACD,CAAC;QACF,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAwC,CAAC,CAAC;AAC9C,CAAC;AAdD,wDAcC"}
@@ -1,9 +0,0 @@
1
- import { Migration, StorageSchema } from '@lo-fi/common';
2
- import { Metadata } from './Metadata.js';
3
- export declare function openDocumentDatabase<Schema extends StorageSchema<any>>({ schema, indexedDB, migrations, meta, namespace, }: {
4
- schema: Schema;
5
- migrations: Migration[];
6
- indexedDB?: IDBFactory;
7
- meta: Metadata;
8
- namespace: string;
9
- }): Promise<IDBDatabase>;
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openDocumentDatabase = void 0;
4
- const common_1 = require("@lo-fi/common");
5
- const globalIDB = typeof window !== 'undefined' ? window.indexedDB : undefined;
6
- function openDocumentDatabase({ schema, indexedDB = globalIDB, migrations, meta, namespace, }) {
7
- const { collections, version } = schema;
8
- // initialize collections as indexddb databases
9
- const keys = Object.keys(collections);
10
- console.log('Initializing database for:', keys);
11
- const database = new Promise((resolve, reject) => {
12
- const request = indexedDB.open([namespace, 'collections'].join('_'), version);
13
- request.onupgradeneeded = async (event) => {
14
- const db = request.result;
15
- // migrations
16
- const toRunVersions = (0, common_1.migrationRange)(event.oldVersion, version);
17
- console.log(event.oldVersion, version, toRunVersions);
18
- const toRun = toRunVersions.map((ver) => migrations.find((m) => m.version === ver));
19
- if (toRun.some((m) => !m)) {
20
- throw new Error(`No migration found for version(s) ${toRunVersions}`);
21
- }
22
- for (const migration of toRun) {
23
- for (const newCollection of migration.addedCollections) {
24
- db.createObjectStore(newCollection, {
25
- keyPath: migration.newSchema.collections[newCollection].primaryKey,
26
- autoIncrement: false,
27
- });
28
- }
29
- const transaction = request.transaction;
30
- // apply high-level database work on each collection's object store
31
- for (const collection of migration.allCollections) {
32
- const store = transaction.objectStore(collection);
33
- // apply new indexes
34
- for (const newIndex of migration.addedIndexes[collection] || []) {
35
- store.createIndex(newIndex.name, newIndex.name, {
36
- unique: newIndex.unique,
37
- multiEntry: newIndex.multiEntry,
38
- });
39
- }
40
- // remove old indexes
41
- for (const oldIndex of migration.removedIndexes[collection] || []) {
42
- store.deleteIndex(oldIndex.name);
43
- }
44
- }
45
- // do the data migration portion of the migration
46
- await migration.migrate({
47
- migrate: (collection, strategy) => {
48
- return new Promise((resolve, reject) => {
49
- const store = transaction.objectStore(collection);
50
- const cursorReq = store.openCursor();
51
- function getMigrationNow() {
52
- return meta.sync.time.zero(migration.version);
53
- }
54
- cursorReq.onsuccess = (event) => {
55
- const cursor = cursorReq.result;
56
- if (cursor) {
57
- const original = (0, common_1.cloneDeep)(cursor.value);
58
- const newValue = strategy(cursor.value);
59
- if (newValue) {
60
- // the migration has altered the shape of our document. we need
61
- // to create the operation from the diff and write it to meta
62
- // then recompute the document.
63
- const patches = (0, common_1.diffToPatches)(original, newValue, getMigrationNow);
64
- if (patches.length > 0) {
65
- meta.insertLocalOperation(patches);
66
- }
67
- }
68
- cursor.continue();
69
- }
70
- else {
71
- resolve();
72
- }
73
- };
74
- cursorReq.onerror = (event) => {
75
- reject(cursorReq.error);
76
- };
77
- });
78
- },
79
- });
80
- for (const removedCollection of migration.removedCollections) {
81
- db.deleteObjectStore(removedCollection);
82
- }
83
- }
84
- };
85
- request.onsuccess = (event) => {
86
- resolve(request.result);
87
- };
88
- request.onerror = (event) => {
89
- console.error('Error opening database', request.error);
90
- reject(request.error);
91
- };
92
- request.onblocked = () => {
93
- // TODO:
94
- console.warn('Database is blocked');
95
- };
96
- });
97
- return database;
98
- }
99
- exports.openDocumentDatabase = openDocumentDatabase;
100
- //# sourceMappingURL=openDocumentDatabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openDocumentDatabase.js","sourceRoot":"","sources":["../../../src/v2/openDocumentDatabase.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { StorageCollectionSchema, StorageDocument } from '@lo-fi/common';
2
- import { ObjectEntity } from './Entity.js';
3
- export declare type Document<Collection extends StorageCollectionSchema<any, any, any>> = ObjectEntity<StorageDocument<Collection>>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/v2/types.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { IDBService } from './IDBService.js';
2
- declare type AckInfo = {
3
- type: 'ack';
4
- globalAckTimestamp: string | null;
5
- };
6
- export declare class AckInfoStore extends IDBService {
7
- getAckInfo: () => Promise<AckInfo>;
8
- setGlobalAck: (ack: string) => Promise<void>;
9
- }
10
- export {};
@@ -1,22 +0,0 @@
1
- import { IDBService } from './IDBService.js';
2
- export class AckInfoStore extends IDBService {
3
- constructor() {
4
- super(...arguments);
5
- this.getAckInfo = async () => {
6
- const result = await this.run('info', (store) => store.get('ack'));
7
- if (result) {
8
- return result;
9
- }
10
- else {
11
- return {
12
- globalAckTimestamp: null,
13
- type: 'ack',
14
- };
15
- }
16
- };
17
- this.setGlobalAck = async (ack) => {
18
- await this.run('info', (store) => store.put({ type: 'ack', globalAckTimestamp: ack }), 'readwrite');
19
- };
20
- }
21
- }
22
- //# sourceMappingURL=AckInfoStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AckInfoStore.js","sourceRoot":"","sources":["../../src/AckInfoStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QACC,eAAU,GAAG,KAAK,IAAsB,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAU,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,IAAI,MAAM,EAAE;gBACX,OAAO,MAAM,CAAC;aACd;iBAAM;gBACN,OAAO;oBACN,kBAAkB,EAAE,IAAI;oBACxB,IAAI,EAAE,KAAK;iBACX,CAAC;aACF;QACF,CAAC,CAAC;QAEF,iBAAY,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,GAAG,CACb,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAC9D,WAAW,CACX,CAAC;QACH,CAAC,CAAC;IACH,CAAC;CAAA"}
@@ -1,10 +0,0 @@
1
- import { DocumentBaseline, ObjectIdentifier } from '@lo-fi/common';
2
- import { IDBService } from './IDBService.js';
3
- export declare class BaselinesStore extends IDBService {
4
- constructor(db: IDBDatabase);
5
- getAllForDocument: (oid: ObjectIdentifier) => Promise<DocumentBaseline<any>[]>;
6
- getAllForMultipleDocuments: (docOids: string[]) => Promise<DocumentBaseline<any>[]>;
7
- get: (oid: ObjectIdentifier) => Promise<any>;
8
- set: <T>(baseline: DocumentBaseline<T>) => Promise<void>;
9
- reset: () => Promise<undefined>;
10
- }
@@ -1,32 +0,0 @@
1
- import { getOidRange } from '@lo-fi/common';
2
- import { IDBService } from './IDBService.js';
3
- export class BaselinesStore extends IDBService {
4
- constructor(db) {
5
- super(db);
6
- this.getAllForDocument = async (oid) => {
7
- return this.run('baselines', (store) => {
8
- const [start, end] = getOidRange(oid);
9
- return store.getAll(IDBKeyRange.bound(start, end, false, false));
10
- }, 'readonly');
11
- };
12
- this.getAllForMultipleDocuments = async (docOids) => {
13
- const result = await this.runAll('baselines', (store) => {
14
- return docOids.map((oid) => {
15
- const [start, end] = getOidRange(oid);
16
- return store.getAll(IDBKeyRange.bound(start, end, false, false));
17
- });
18
- });
19
- return result.flat();
20
- };
21
- this.get = async (oid) => {
22
- return this.run('baselines', (store) => store.get(oid), 'readonly');
23
- };
24
- this.set = async (baseline) => {
25
- await this.run('baselines', (store) => store.put(baseline), 'readwrite');
26
- };
27
- this.reset = () => {
28
- return this.clear('baselines');
29
- };
30
- }
31
- }
32
- //# sourceMappingURL=BaselinesStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaselinesStore.js","sourceRoot":"","sources":["../../src/BaselinesStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAoB,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC7C,YAAY,EAAe;QAC1B,KAAK,CAAC,EAAE,CAAC,CAAC;QAGX,sBAAiB,GAAG,KAAK,EAAE,GAAqB,EAAE,EAAE;YACnD,OAAO,IAAI,CAAC,GAAG,CACd,WAAW,EACX,CAAC,KAAK,EAAE,EAAE;gBACT,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC,EACD,UAAU,CACV,CAAC;QACH,CAAC,CAAC;QAEF,+BAA0B,GAAG,KAAK,EAAE,OAAiB,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC/B,WAAW,EACX,CAAC,KAAK,EAAE,EAAE;gBACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtC,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACJ,CAAC,CACD,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,QAAG,GAAG,KAAK,EAAE,GAAqB,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,QAAG,GAAG,KAAK,EAAK,QAA6B,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC,CAAC;IApCF,CAAC;CAqCD"}
@@ -1,96 +0,0 @@
1
- import { EventSubscriber, ObjectIdentifier, Operation, StorageFieldSchema, StorageFieldsSchema } from '@lo-fi/common';
2
- import { EntityStore } from './EntityStore.js';
3
- export declare const UPDATE = "@@update";
4
- export declare const DELETE = "@@delete";
5
- interface CacheEvents {
6
- onSubscribed: () => void;
7
- onAllUnsubscribed: () => void;
8
- }
9
- declare type AccessibleEntityProperty<T> = T extends Array<any> ? number : T extends object ? keyof T : never;
10
- declare type DataFromInit<Init> = {
11
- [Key in keyof Init]-?: Init[Key];
12
- };
13
- declare type EntityPropertyValue<Init, K extends keyof Init | number> = Init extends Array<any> ? Init[K] extends Array<any> ? ListEntity<Init[K][number]> : Init[K] extends object ? ObjectEntity<Init[K]> : Init[K] : Init extends object ? K extends keyof Init ? Init[K] extends Array<any> ? ListEntity<Init[K][number]> : Init[K] extends object ? ObjectEntity<Init[K]> : Init[K] : never : never;
14
- export declare function updateEntity(entity: EntityBase<any>, newValue: any): void;
15
- export declare function deleteEntity(entity: EntityBase<any>): void;
16
- export declare abstract class EntityBase<Snapshot> {
17
- readonly oid: ObjectIdentifier;
18
- protected readonly store: EntityStore;
19
- protected readonly cacheEvents: CacheEvents;
20
- protected readonly fieldSchema: StorageFieldSchema | StorageFieldsSchema;
21
- protected _current: any | null;
22
- protected _override: any | null;
23
- protected subObjectCache: Map<ObjectIdentifier, EntityBase<any>>;
24
- private cachedSnapshot;
25
- protected _deleted: boolean;
26
- protected events: EventSubscriber<{
27
- change: () => void;
28
- delete: () => void;
29
- restore: () => void;
30
- }>;
31
- protected get value(): any;
32
- get deleted(): boolean;
33
- constructor(oid: ObjectIdentifier, initial: Snapshot | undefined, store: EntityStore, cacheEvents: CacheEvents, fieldSchema: StorageFieldSchema | StorageFieldsSchema);
34
- protected getChildFieldSchema: (key: any) => any;
35
- protected [DELETE]: () => void;
36
- protected [UPDATE]: (initial: Snapshot | undefined) => void;
37
- protected createSubObject: (oid: ObjectIdentifier, value: any, key: any) => EntityBase<any>;
38
- dispose: () => void;
39
- subscribe: (event: 'change' | 'delete' | 'restore', callback: () => void) => () => void;
40
- protected addPatches: (patches: Operation[]) => void;
41
- protected cloneCurrent: () => any;
42
- /**
43
- * When an entity creates patches, it applies them in-memory for
44
- * immediate feedback. But not all patches will relate to its immediate
45
- * root object. So entities propagate patches downwards to their
46
- * sub-objects for in-memory application.
47
- */
48
- protected propagateImmediateOperations: (operations: Operation[]) => void;
49
- /**
50
- * Creates empty sub-objects for any missing object refs in
51
- * children of this object according to its in-memory immediate
52
- * value. This is used to prep sub-objects when applying immediate
53
- * propagated changes before those sub-objects have been created
54
- * and exist in storage.
55
- */
56
- protected addMissingSubObjectsForMemoryChanges: () => void;
57
- protected getSubObject: (oid: ObjectIdentifier) => EntityBase<any> | undefined;
58
- protected wrapValue: <Key extends AccessibleEntityProperty<Snapshot>>(value: any, key: Key) => EntityPropertyValue<Snapshot, Key>;
59
- get: <Key extends AccessibleEntityProperty<Snapshot>>(key: Key) => EntityPropertyValue<Snapshot, Key>;
60
- /**
61
- * Returns a copy of the entity and all sub-objects as
62
- * a plain object or array.
63
- */
64
- getSnapshot: () => Snapshot | null;
65
- }
66
- export declare class ListEntity<ItemInit> extends EntityBase<DataFromInit<ItemInit>[]> implements Iterable<EntityPropertyValue<DataFromInit<ItemInit>[], number>> {
67
- private getItemOid;
68
- get length(): any;
69
- set: (index: number, value: ItemInit) => void;
70
- push: (value: ItemInit) => void;
71
- insert: (index: number, value: ItemInit) => void;
72
- move: (from: number, to: number) => void;
73
- moveItem: (item: DataFromInit<ItemInit>, to: number) => void;
74
- delete: (index: number) => void;
75
- remove: (item: DataFromInit<ItemInit>) => void;
76
- [Symbol.iterator](): {
77
- next: () => {
78
- readonly value: DataFromInit<ItemInit> extends any[] ? ListEntity<(any[] & DataFromInit<ItemInit>)[number]> : DataFromInit<ItemInit> extends object ? ObjectEntity<DataFromInit<ItemInit>> : DataFromInit<ItemInit>;
79
- readonly done: false;
80
- } | {
81
- readonly value: undefined;
82
- readonly done: true;
83
- };
84
- };
85
- private getAsWrapped;
86
- map: <U>(callback: (value: EntityPropertyValue<DataFromInit<ItemInit>[], number>, index: number) => U) => U[];
87
- filter: (callback: (value: EntityPropertyValue<DataFromInit<ItemInit>[], number>, index: number) => boolean) => (DataFromInit<ItemInit> extends any[] ? ListEntity<(any[] & DataFromInit<ItemInit>)[number]> : DataFromInit<ItemInit> extends object ? ObjectEntity<DataFromInit<ItemInit>> : DataFromInit<ItemInit>)[];
88
- }
89
- export declare class ObjectEntity<Init> extends EntityBase<DataFromInit<Init>> {
90
- set: <Key extends keyof Init>(key: Key, value: Init[Key]) => void;
91
- remove: (key: string) => void;
92
- update: (value: Partial<DataFromInit<Init>>) => void;
93
- }
94
- export declare type Entity = ListEntity<any> | ObjectEntity<any>;
95
- export declare type EntityShape<E extends EntityBase<any>> = E extends ListEntity<infer T> ? T[] : E extends ObjectEntity<infer T> ? T : never;
96
- export {};