@verdant-web/store 3.3.1 → 3.4.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/bundle/index.js +8 -8
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/esm/BackoffScheduler.js.map +1 -1
  4. package/dist/esm/IDBService.js.map +1 -1
  5. package/dist/esm/UndoHistory.js.map +1 -1
  6. package/dist/esm/__tests__/documents.test.js.map +1 -1
  7. package/dist/esm/__tests__/queries.test.js.map +1 -1
  8. package/dist/esm/backup.js.map +1 -1
  9. package/dist/esm/client/Client.js +7 -0
  10. package/dist/esm/client/Client.js.map +1 -1
  11. package/dist/esm/client/ClientDescriptor.js.map +1 -1
  12. package/dist/esm/entities/Entity.js.map +1 -1
  13. package/dist/esm/entities/EntityCache.js.map +1 -1
  14. package/dist/esm/entities/EntityMetadata.js.map +1 -1
  15. package/dist/esm/entities/EntityStore.js.map +1 -1
  16. package/dist/esm/entities/OperationBatcher.js.map +1 -1
  17. package/dist/esm/files/EntityFile.js.map +1 -1
  18. package/dist/esm/files/FileManager.js +3 -0
  19. package/dist/esm/files/FileManager.js.map +1 -1
  20. package/dist/esm/files/FileStorage.js.map +1 -1
  21. package/dist/esm/files/utils.js.map +1 -1
  22. package/dist/esm/idb.js.map +1 -1
  23. package/dist/esm/metadata/AckInfoStore.js.map +1 -1
  24. package/dist/esm/metadata/LocalReplicaStore.js.map +1 -1
  25. package/dist/esm/metadata/MessageCreator.js.map +1 -1
  26. package/dist/esm/metadata/Metadata.js +7 -4
  27. package/dist/esm/metadata/Metadata.js.map +1 -1
  28. package/dist/esm/metadata/OperationsStore.js.map +1 -1
  29. package/dist/esm/metadata/SchemaStore.js.map +1 -1
  30. package/dist/esm/metadata/openMetadataDatabase.js.map +1 -1
  31. package/dist/esm/migration/db.js.map +1 -1
  32. package/dist/esm/migration/openDatabase.js.map +1 -1
  33. package/dist/esm/migration/paths.js.map +1 -1
  34. package/dist/esm/queries/BaseQuery.js.map +1 -1
  35. package/dist/esm/queries/QueryCache.js.map +1 -1
  36. package/dist/esm/queries/QueryableStorage.js.map +1 -1
  37. package/dist/esm/queries/dbQueries.js.map +1 -1
  38. package/dist/esm/queries/keys.js.map +1 -1
  39. package/dist/esm/queries/ranges.js.map +1 -1
  40. package/dist/esm/queries/utils.js.map +1 -1
  41. package/dist/esm/sync/FileSync.js.map +1 -1
  42. package/dist/esm/sync/Heartbeat.js.map +1 -1
  43. package/dist/esm/sync/PresenceManager.js.map +1 -1
  44. package/dist/esm/sync/PushPullSync.js.map +1 -1
  45. package/dist/esm/sync/ServerSyncEndpointProvider.js.map +1 -1
  46. package/dist/esm/sync/Sync.js.map +1 -1
  47. package/dist/esm/sync/WebSocketSync.js.map +1 -1
  48. package/package.json +9 -10
  49. package/src/client/Client.ts +8 -1
  50. package/src/files/FileManager.ts +4 -0
  51. package/src/metadata/Metadata.ts +11 -7
  52. package/src/sync/Sync.ts +2 -2
  53. package/dist/cjs/BackoffScheduler.d.ts +0 -19
  54. package/dist/cjs/BackoffScheduler.js +0 -45
  55. package/dist/cjs/BackoffScheduler.js.map +0 -1
  56. package/dist/cjs/DocumentManager.d.ts +0 -28
  57. package/dist/cjs/DocumentManager.js +0 -45
  58. package/dist/cjs/DocumentManager.js.map +0 -1
  59. package/dist/cjs/FakeWeakRef.d.ts +0 -11
  60. package/dist/cjs/FakeWeakRef.js +0 -19
  61. package/dist/cjs/FakeWeakRef.js.map +0 -1
  62. package/dist/cjs/IDBService.d.ts +0 -30
  63. package/dist/cjs/IDBService.js +0 -101
  64. package/dist/cjs/IDBService.js.map +0 -1
  65. package/dist/cjs/UndoHistory.d.ts +0 -16
  66. package/dist/cjs/UndoHistory.js +0 -55
  67. package/dist/cjs/UndoHistory.js.map +0 -1
  68. package/dist/cjs/__tests__/batching.test.d.ts +0 -1
  69. package/dist/cjs/__tests__/batching.test.js +0 -47
  70. package/dist/cjs/__tests__/batching.test.js.map +0 -1
  71. package/dist/cjs/__tests__/documents.test.d.ts +0 -1
  72. package/dist/cjs/__tests__/documents.test.js +0 -468
  73. package/dist/cjs/__tests__/documents.test.js.map +0 -1
  74. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +0 -76
  75. package/dist/cjs/__tests__/fixtures/testStorage.js +0 -96
  76. package/dist/cjs/__tests__/fixtures/testStorage.js.map +0 -1
  77. package/dist/cjs/__tests__/legacyOids.test.d.ts +0 -1
  78. package/dist/cjs/__tests__/legacyOids.test.js +0 -354
  79. package/dist/cjs/__tests__/legacyOids.test.js.map +0 -1
  80. package/dist/cjs/__tests__/mutations.test.d.ts +0 -1
  81. package/dist/cjs/__tests__/mutations.test.js +0 -48
  82. package/dist/cjs/__tests__/mutations.test.js.map +0 -1
  83. package/dist/cjs/__tests__/queries.test.d.ts +0 -1
  84. package/dist/cjs/__tests__/queries.test.js +0 -323
  85. package/dist/cjs/__tests__/queries.test.js.map +0 -1
  86. package/dist/cjs/__tests__/setup/indexedDB.d.ts +0 -1
  87. package/dist/cjs/__tests__/setup/indexedDB.js +0 -16
  88. package/dist/cjs/__tests__/setup/indexedDB.js.map +0 -1
  89. package/dist/cjs/__tests__/undo.test.d.ts +0 -1
  90. package/dist/cjs/__tests__/undo.test.js +0 -94
  91. package/dist/cjs/__tests__/undo.test.js.map +0 -1
  92. package/dist/cjs/backup.d.ts +0 -10
  93. package/dist/cjs/backup.js +0 -58
  94. package/dist/cjs/backup.js.map +0 -1
  95. package/dist/cjs/client/Client.d.ts +0 -120
  96. package/dist/cjs/client/Client.js +0 -300
  97. package/dist/cjs/client/Client.js.map +0 -1
  98. package/dist/cjs/client/ClientDescriptor.d.ts +0 -76
  99. package/dist/cjs/client/ClientDescriptor.js +0 -213
  100. package/dist/cjs/client/ClientDescriptor.js.map +0 -1
  101. package/dist/cjs/client/constants.d.ts +0 -1
  102. package/dist/cjs/client/constants.js +0 -5
  103. package/dist/cjs/client/constants.js.map +0 -1
  104. package/dist/cjs/constants.d.ts +0 -1
  105. package/dist/cjs/constants.js +0 -5
  106. package/dist/cjs/constants.js.map +0 -1
  107. package/dist/cjs/context.d.ts +0 -38
  108. package/dist/cjs/context.js +0 -3
  109. package/dist/cjs/context.js.map +0 -1
  110. package/dist/cjs/entities/Entity.d.ts +0 -148
  111. package/dist/cjs/entities/Entity.js +0 -711
  112. package/dist/cjs/entities/Entity.js.map +0 -1
  113. package/dist/cjs/entities/Entity.test.d.ts +0 -1
  114. package/dist/cjs/entities/Entity.test.js +0 -194
  115. package/dist/cjs/entities/Entity.test.js.map +0 -1
  116. package/dist/cjs/entities/EntityCache.d.ts +0 -15
  117. package/dist/cjs/entities/EntityCache.js +0 -39
  118. package/dist/cjs/entities/EntityCache.js.map +0 -1
  119. package/dist/cjs/entities/EntityMetadata.d.ts +0 -68
  120. package/dist/cjs/entities/EntityMetadata.js +0 -261
  121. package/dist/cjs/entities/EntityMetadata.js.map +0 -1
  122. package/dist/cjs/entities/EntityStore.d.ts +0 -80
  123. package/dist/cjs/entities/EntityStore.js +0 -352
  124. package/dist/cjs/entities/EntityStore.js.map +0 -1
  125. package/dist/cjs/entities/OperationBatcher.d.ts +0 -52
  126. package/dist/cjs/entities/OperationBatcher.js +0 -165
  127. package/dist/cjs/entities/OperationBatcher.js.map +0 -1
  128. package/dist/cjs/entities/types.d.ts +0 -103
  129. package/dist/cjs/entities/types.js +0 -3
  130. package/dist/cjs/entities/types.js.map +0 -1
  131. package/dist/cjs/files/EntityFile.d.ts +0 -35
  132. package/dist/cjs/files/EntityFile.js +0 -81
  133. package/dist/cjs/files/EntityFile.js.map +0 -1
  134. package/dist/cjs/files/FileManager.d.ts +0 -46
  135. package/dist/cjs/files/FileManager.js +0 -174
  136. package/dist/cjs/files/FileManager.js.map +0 -1
  137. package/dist/cjs/files/FileStorage.d.ts +0 -39
  138. package/dist/cjs/files/FileStorage.js +0 -110
  139. package/dist/cjs/files/FileStorage.js.map +0 -1
  140. package/dist/cjs/files/utils.d.ts +0 -10
  141. package/dist/cjs/files/utils.js +0 -62
  142. package/dist/cjs/files/utils.js.map +0 -1
  143. package/dist/cjs/files/utils.test.d.ts +0 -1
  144. package/dist/cjs/files/utils.test.js +0 -81
  145. package/dist/cjs/files/utils.test.js.map +0 -1
  146. package/dist/cjs/idb.d.ts +0 -13
  147. package/dist/cjs/idb.js +0 -158
  148. package/dist/cjs/idb.js.map +0 -1
  149. package/dist/cjs/index.d.ts +0 -23
  150. package/dist/cjs/index.js +0 -25
  151. package/dist/cjs/index.js.map +0 -1
  152. package/dist/cjs/metadata/AckInfoStore.d.ts +0 -10
  153. package/dist/cjs/metadata/AckInfoStore.js +0 -26
  154. package/dist/cjs/metadata/AckInfoStore.js.map +0 -1
  155. package/dist/cjs/metadata/BaselinesStore.d.ts +0 -40
  156. package/dist/cjs/metadata/BaselinesStore.js +0 -106
  157. package/dist/cjs/metadata/BaselinesStore.js.map +0 -1
  158. package/dist/cjs/metadata/LocalReplicaStore.d.ts +0 -18
  159. package/dist/cjs/metadata/LocalReplicaStore.js +0 -62
  160. package/dist/cjs/metadata/LocalReplicaStore.js.map +0 -1
  161. package/dist/cjs/metadata/MessageCreator.d.ts +0 -19
  162. package/dist/cjs/metadata/MessageCreator.js +0 -128
  163. package/dist/cjs/metadata/MessageCreator.js.map +0 -1
  164. package/dist/cjs/metadata/Metadata.d.ts +0 -134
  165. package/dist/cjs/metadata/Metadata.js +0 -405
  166. package/dist/cjs/metadata/Metadata.js.map +0 -1
  167. package/dist/cjs/metadata/OperationsStore.d.ts +0 -62
  168. package/dist/cjs/metadata/OperationsStore.js +0 -179
  169. package/dist/cjs/metadata/OperationsStore.js.map +0 -1
  170. package/dist/cjs/metadata/SchemaStore.d.ts +0 -9
  171. package/dist/cjs/metadata/SchemaStore.js +0 -39
  172. package/dist/cjs/metadata/SchemaStore.js.map +0 -1
  173. package/dist/cjs/metadata/openMetadataDatabase.d.ts +0 -19
  174. package/dist/cjs/metadata/openMetadataDatabase.js +0 -220
  175. package/dist/cjs/metadata/openMetadataDatabase.js.map +0 -1
  176. package/dist/cjs/migration/db.d.ts +0 -8
  177. package/dist/cjs/migration/db.js +0 -112
  178. package/dist/cjs/migration/db.js.map +0 -1
  179. package/dist/cjs/migration/errors.d.ts +0 -5
  180. package/dist/cjs/migration/errors.js +0 -12
  181. package/dist/cjs/migration/errors.js.map +0 -1
  182. package/dist/cjs/migration/openDatabase.d.ts +0 -20
  183. package/dist/cjs/migration/openDatabase.js +0 -468
  184. package/dist/cjs/migration/openDatabase.js.map +0 -1
  185. package/dist/cjs/migration/paths.d.ts +0 -6
  186. package/dist/cjs/migration/paths.js +0 -53
  187. package/dist/cjs/migration/paths.js.map +0 -1
  188. package/dist/cjs/migration/paths.test.d.ts +0 -1
  189. package/dist/cjs/migration/paths.test.js +0 -91
  190. package/dist/cjs/migration/paths.test.js.map +0 -1
  191. package/dist/cjs/queries/BaseQuery.d.ts +0 -53
  192. package/dist/cjs/queries/BaseQuery.js +0 -148
  193. package/dist/cjs/queries/BaseQuery.js.map +0 -1
  194. package/dist/cjs/queries/CollectionQueries.d.ts +0 -55
  195. package/dist/cjs/queries/CollectionQueries.js +0 -92
  196. package/dist/cjs/queries/CollectionQueries.js.map +0 -1
  197. package/dist/cjs/queries/FindAllQuery.d.ts +0 -12
  198. package/dist/cjs/queries/FindAllQuery.js +0 -44
  199. package/dist/cjs/queries/FindAllQuery.js.map +0 -1
  200. package/dist/cjs/queries/FindInfiniteQuery.d.ts +0 -19
  201. package/dist/cjs/queries/FindInfiniteQuery.js +0 -70
  202. package/dist/cjs/queries/FindInfiniteQuery.js.map +0 -1
  203. package/dist/cjs/queries/FindOneQuery.d.ts +0 -12
  204. package/dist/cjs/queries/FindOneQuery.js +0 -43
  205. package/dist/cjs/queries/FindOneQuery.js.map +0 -1
  206. package/dist/cjs/queries/FindPageQuery.d.ts +0 -24
  207. package/dist/cjs/queries/FindPageQuery.js +0 -77
  208. package/dist/cjs/queries/FindPageQuery.js.map +0 -1
  209. package/dist/cjs/queries/GetQuery.d.ts +0 -10
  210. package/dist/cjs/queries/GetQuery.js +0 -30
  211. package/dist/cjs/queries/GetQuery.js.map +0 -1
  212. package/dist/cjs/queries/QueryCache.d.ts +0 -17
  213. package/dist/cjs/queries/QueryCache.js +0 -46
  214. package/dist/cjs/queries/QueryCache.js.map +0 -1
  215. package/dist/cjs/queries/QueryableStorage.d.ts +0 -20
  216. package/dist/cjs/queries/QueryableStorage.js +0 -94
  217. package/dist/cjs/queries/QueryableStorage.js.map +0 -1
  218. package/dist/cjs/queries/dbQueries.d.ts +0 -22
  219. package/dist/cjs/queries/dbQueries.js +0 -136
  220. package/dist/cjs/queries/dbQueries.js.map +0 -1
  221. package/dist/cjs/queries/keys.d.ts +0 -10
  222. package/dist/cjs/queries/keys.js +0 -34
  223. package/dist/cjs/queries/keys.js.map +0 -1
  224. package/dist/cjs/queries/ranges.d.ts +0 -2
  225. package/dist/cjs/queries/ranges.js +0 -70
  226. package/dist/cjs/queries/ranges.js.map +0 -1
  227. package/dist/cjs/queries/types.d.ts +0 -6
  228. package/dist/cjs/queries/types.js +0 -3
  229. package/dist/cjs/queries/types.js.map +0 -1
  230. package/dist/cjs/queries/utils.d.ts +0 -3
  231. package/dist/cjs/queries/utils.js +0 -25
  232. package/dist/cjs/queries/utils.js.map +0 -1
  233. package/dist/cjs/sync/FileSync.d.ts +0 -24
  234. package/dist/cjs/sync/FileSync.js +0 -87
  235. package/dist/cjs/sync/FileSync.js.map +0 -1
  236. package/dist/cjs/sync/Heartbeat.d.ts +0 -25
  237. package/dist/cjs/sync/Heartbeat.js +0 -64
  238. package/dist/cjs/sync/Heartbeat.js.map +0 -1
  239. package/dist/cjs/sync/PresenceManager.d.ts +0 -55
  240. package/dist/cjs/sync/PresenceManager.js +0 -126
  241. package/dist/cjs/sync/PresenceManager.js.map +0 -1
  242. package/dist/cjs/sync/PushPullSync.d.ts +0 -39
  243. package/dist/cjs/sync/PushPullSync.js +0 -159
  244. package/dist/cjs/sync/PushPullSync.js.map +0 -1
  245. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +0 -34
  246. package/dist/cjs/sync/ServerSyncEndpointProvider.js +0 -69
  247. package/dist/cjs/sync/ServerSyncEndpointProvider.js.map +0 -1
  248. package/dist/cjs/sync/Sync.d.ts +0 -160
  249. package/dist/cjs/sync/Sync.js +0 -293
  250. package/dist/cjs/sync/Sync.js.map +0 -1
  251. package/dist/cjs/sync/WebSocketSync.d.ts +0 -44
  252. package/dist/cjs/sync/WebSocketSync.js +0 -221
  253. package/dist/cjs/sync/WebSocketSync.js.map +0 -1
  254. package/dist/cjs/types.d.ts +0 -12
  255. package/dist/cjs/types.js +0 -3
  256. package/dist/cjs/types.js.map +0 -1
  257. package/dist/cjs/utils/Disposable.d.ts +0 -6
  258. package/dist/cjs/utils/Disposable.js +0 -19
  259. package/dist/cjs/utils/Disposable.js.map +0 -1
  260. package/dist/cjs/utils/Resolvable.d.ts +0 -8
  261. package/dist/cjs/utils/Resolvable.js +0 -23
  262. package/dist/cjs/utils/Resolvable.js.map +0 -1
  263. package/dist/cjs/vanilla.d.ts +0 -1
  264. package/dist/cjs/vanilla.js +0 -28
  265. package/dist/cjs/vanilla.js.map +0 -1
  266. package/dist/esm/BackoffScheduler.d.ts +0 -19
  267. package/dist/esm/DocumentManager.d.ts +0 -28
  268. package/dist/esm/FakeWeakRef.d.ts +0 -11
  269. package/dist/esm/IDBService.d.ts +0 -30
  270. package/dist/esm/UndoHistory.d.ts +0 -16
  271. package/dist/esm/__tests__/batching.test.d.ts +0 -1
  272. package/dist/esm/__tests__/documents.test.d.ts +0 -1
  273. package/dist/esm/__tests__/fixtures/testStorage.d.ts +0 -76
  274. package/dist/esm/__tests__/legacyOids.test.d.ts +0 -1
  275. package/dist/esm/__tests__/mutations.test.d.ts +0 -1
  276. package/dist/esm/__tests__/queries.test.d.ts +0 -1
  277. package/dist/esm/__tests__/setup/indexedDB.d.ts +0 -1
  278. package/dist/esm/__tests__/undo.test.d.ts +0 -1
  279. package/dist/esm/backup.d.ts +0 -10
  280. package/dist/esm/client/Client.d.ts +0 -120
  281. package/dist/esm/client/ClientDescriptor.d.ts +0 -76
  282. package/dist/esm/client/constants.d.ts +0 -1
  283. package/dist/esm/constants.d.ts +0 -1
  284. package/dist/esm/context.d.ts +0 -38
  285. package/dist/esm/entities/Entity.d.ts +0 -148
  286. package/dist/esm/entities/Entity.test.d.ts +0 -1
  287. package/dist/esm/entities/EntityCache.d.ts +0 -15
  288. package/dist/esm/entities/EntityMetadata.d.ts +0 -68
  289. package/dist/esm/entities/EntityStore.d.ts +0 -80
  290. package/dist/esm/entities/OperationBatcher.d.ts +0 -52
  291. package/dist/esm/entities/types.d.ts +0 -103
  292. package/dist/esm/files/EntityFile.d.ts +0 -35
  293. package/dist/esm/files/FileManager.d.ts +0 -46
  294. package/dist/esm/files/FileStorage.d.ts +0 -39
  295. package/dist/esm/files/utils.d.ts +0 -10
  296. package/dist/esm/files/utils.test.d.ts +0 -1
  297. package/dist/esm/idb.d.ts +0 -13
  298. package/dist/esm/index.d.ts +0 -23
  299. package/dist/esm/metadata/AckInfoStore.d.ts +0 -10
  300. package/dist/esm/metadata/BaselinesStore.d.ts +0 -40
  301. package/dist/esm/metadata/LocalReplicaStore.d.ts +0 -18
  302. package/dist/esm/metadata/MessageCreator.d.ts +0 -19
  303. package/dist/esm/metadata/Metadata.d.ts +0 -134
  304. package/dist/esm/metadata/OperationsStore.d.ts +0 -62
  305. package/dist/esm/metadata/SchemaStore.d.ts +0 -9
  306. package/dist/esm/metadata/openMetadataDatabase.d.ts +0 -19
  307. package/dist/esm/migration/db.d.ts +0 -8
  308. package/dist/esm/migration/errors.d.ts +0 -5
  309. package/dist/esm/migration/openDatabase.d.ts +0 -20
  310. package/dist/esm/migration/paths.d.ts +0 -6
  311. package/dist/esm/migration/paths.test.d.ts +0 -1
  312. package/dist/esm/queries/BaseQuery.d.ts +0 -53
  313. package/dist/esm/queries/CollectionQueries.d.ts +0 -55
  314. package/dist/esm/queries/FindAllQuery.d.ts +0 -12
  315. package/dist/esm/queries/FindInfiniteQuery.d.ts +0 -19
  316. package/dist/esm/queries/FindOneQuery.d.ts +0 -12
  317. package/dist/esm/queries/FindPageQuery.d.ts +0 -24
  318. package/dist/esm/queries/GetQuery.d.ts +0 -10
  319. package/dist/esm/queries/QueryCache.d.ts +0 -17
  320. package/dist/esm/queries/QueryableStorage.d.ts +0 -20
  321. package/dist/esm/queries/dbQueries.d.ts +0 -22
  322. package/dist/esm/queries/keys.d.ts +0 -10
  323. package/dist/esm/queries/ranges.d.ts +0 -2
  324. package/dist/esm/queries/types.d.ts +0 -6
  325. package/dist/esm/queries/utils.d.ts +0 -3
  326. package/dist/esm/sync/FileSync.d.ts +0 -24
  327. package/dist/esm/sync/Heartbeat.d.ts +0 -25
  328. package/dist/esm/sync/PresenceManager.d.ts +0 -55
  329. package/dist/esm/sync/PushPullSync.d.ts +0 -39
  330. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +0 -34
  331. package/dist/esm/sync/Sync.d.ts +0 -160
  332. package/dist/esm/sync/WebSocketSync.d.ts +0 -44
  333. package/dist/esm/types.d.ts +0 -12
  334. package/dist/esm/utils/Disposable.d.ts +0 -6
  335. package/dist/esm/utils/Resolvable.d.ts +0 -8
  336. package/dist/esm/vanilla.d.ts +0 -1
  337. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  338. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var _a;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.FindPageQuery = void 0;
16
- const BaseQuery_js_1 = require("./BaseQuery.js");
17
- const dbQueries_js_1 = require("./dbQueries.js");
18
- const utils_js_1 = require("./utils.js");
19
- class FindPageQuery extends BaseQuery_js_1.BaseQuery {
20
- get pageSize() {
21
- return this._pageSize;
22
- }
23
- get page() {
24
- return this._page;
25
- }
26
- get hasNextPage() {
27
- return this._hasNextPage;
28
- }
29
- get hasPreviousPage() {
30
- return this._page > 0;
31
- }
32
- constructor(_b) {
33
- var { index, hydrate, pageSize, page } = _b, rest = __rest(_b, ["index", "hydrate", "pageSize", "page"]);
34
- super(Object.assign({ initial: [] }, rest));
35
- this._hasNextPage = false;
36
- this.run = async () => {
37
- const { result, hasNextPage } = await (0, dbQueries_js_1.findPageOfOids)({
38
- collection: this.collection,
39
- index: this.index,
40
- context: this.context,
41
- limit: this._pageSize,
42
- offset: this._page * this._pageSize,
43
- });
44
- this._hasNextPage = hasNextPage;
45
- this.setValue(await Promise.all(result.map(this.hydrate)));
46
- };
47
- this.nextPage = async () => {
48
- if (!this.hasNextPage)
49
- return;
50
- this._page++;
51
- await this.run();
52
- };
53
- this.previousPage = async () => {
54
- if (this._page === 0)
55
- return;
56
- this._page--;
57
- await this.run();
58
- };
59
- this.setPage = async (page) => {
60
- this._page = page;
61
- await this.run();
62
- };
63
- this[_a] = (index) => {
64
- if ((0, utils_js_1.areIndexesEqual)(this.index, index))
65
- return;
66
- this.index = index;
67
- this.execute();
68
- };
69
- this.index = index;
70
- this.hydrate = hydrate;
71
- this._pageSize = pageSize;
72
- this._page = page;
73
- }
74
- }
75
- exports.FindPageQuery = FindPageQuery;
76
- _a = BaseQuery_js_1.UPDATE;
77
- //# sourceMappingURL=FindPageQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FindPageQuery.js","sourceRoot":"","sources":["../../../src/queries/FindPageQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAqE;AACrE,iDAAgD;AAChD,yCAA6C;AAE7C,MAAa,aAAiB,SAAQ,wBAAc;IAOnD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,YAAY,EAW8B;YAX9B,EACX,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,OAOqC,EANtC,IAAI,cALI,wCAMX,CADO;QAOP,KAAK,iBACJ,OAAO,EAAE,EAAE,IACR,IAAI,EACN,CAAC;QAjCI,iBAAY,GAAY,KAAK,CAAC;QAwC5B,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,6BAAc,EAAC;gBACpD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,aAAQ,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAE9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,iBAAY,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,OAAO;YAE7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,YAAO,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,QAAQ,GAAG,CAAC,KAAmC,EAAE,EAAE;YAClD,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,OAAO;YAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;QAzCD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;CAsCD;AAjFD,sCAiFC;KALC,qBAAM"}
@@ -1,10 +0,0 @@
1
- import { BaseQuery, BaseQueryOptions } from './BaseQuery.js';
2
- export declare class GetQuery<T> extends BaseQuery<T | null> {
3
- private hydrate;
4
- private oid;
5
- constructor({ id, hydrate, ...rest }: {
6
- id: string;
7
- hydrate: (oid: string) => Promise<T>;
8
- } & Omit<BaseQueryOptions<T | null>, 'initial'>);
9
- protected run: () => Promise<void>;
10
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.GetQuery = void 0;
15
- const common_1 = require("@verdant-web/common");
16
- const BaseQuery_js_1 = require("./BaseQuery.js");
17
- class GetQuery extends BaseQuery_js_1.BaseQuery {
18
- constructor(_a) {
19
- var { id, hydrate } = _a, rest = __rest(_a, ["id", "hydrate"]);
20
- super(Object.assign({ initial: null }, rest));
21
- this.run = async () => {
22
- const value = await this.hydrate(this.oid);
23
- this.setValue(value);
24
- };
25
- this.oid = (0, common_1.createOid)(rest.collection, id);
26
- this.hydrate = hydrate;
27
- }
28
- }
29
- exports.GetQuery = GetQuery;
30
- //# sourceMappingURL=GetQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetQuery.js","sourceRoot":"","sources":["../../../src/queries/GetQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,iDAA6D;AAE7D,MAAa,QAAY,SAAQ,wBAAmB;IAInD,YAAY,EAOmC;YAPnC,EACX,EAAE,EACF,OAAO,OAKuC,EAJ3C,IAAI,cAHI,iBAIX,CADO;QAKP,KAAK,iBACJ,OAAO,EAAE,IAAI,IACV,IAAI,EACN,CAAC;QAKM,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAPD,IAAI,CAAC,GAAG,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CAMD;AAxBD,4BAwBC"}
@@ -1,17 +0,0 @@
1
- import { Context } from '../context.js';
2
- import { Disposable } from '../utils/Disposable.js';
3
- import { BaseQuery } from './BaseQuery.js';
4
- export declare class QueryCache extends Disposable {
5
- private _cache;
6
- private _evictionTime;
7
- private context;
8
- constructor({ evictionTime, context, }: {
9
- evictionTime?: number;
10
- context: Context;
11
- });
12
- get<T extends BaseQuery<any>>(key: string): T | null;
13
- set<V extends BaseQuery<any>>(value: V): V;
14
- getOrSet<V extends BaseQuery<any>>(key: string, create: () => V, update?: (query: V) => void): V;
15
- private onQueryUnsubscribed;
16
- dropAll: () => void;
17
- }
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryCache = void 0;
4
- const Disposable_js_1 = require("../utils/Disposable.js");
5
- const BaseQuery_js_1 = require("./BaseQuery.js");
6
- class QueryCache extends Disposable_js_1.Disposable {
7
- constructor({ evictionTime = 5 * 1000, context, }) {
8
- super();
9
- this._cache = new Map();
10
- this.onQueryUnsubscribed = (query) => {
11
- setTimeout(() => {
12
- if (query.subscribed)
13
- return;
14
- // double check before evicting... possible the cache
15
- // got a different version of this query.
16
- if (this._cache.get(query.key) === query) {
17
- this._cache.delete(query.key);
18
- }
19
- }, this._evictionTime);
20
- };
21
- this.dropAll = () => {
22
- this._cache.forEach((query) => query.dispose());
23
- this._cache.clear();
24
- };
25
- this._evictionTime = evictionTime;
26
- this.context = context;
27
- }
28
- get(key) {
29
- return this._cache.get(key) || null;
30
- }
31
- set(value) {
32
- this._cache.set(value.key, value);
33
- value[BaseQuery_js_1.ON_ALL_UNSUBSCRIBED](this.onQueryUnsubscribed);
34
- return value;
35
- }
36
- getOrSet(key, create, update) {
37
- const existing = this.get(key);
38
- if (existing) {
39
- update === null || update === void 0 ? void 0 : update(existing);
40
- return existing;
41
- }
42
- return this.set(create());
43
- }
44
- }
45
- exports.QueryCache = QueryCache;
46
- //# sourceMappingURL=QueryCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../../src/queries/QueryCache.ts"],"names":[],"mappings":";;;AACA,0DAAoD;AACpD,iDAAgE;AAEhE,MAAa,UAAW,SAAQ,0BAAU;IAKzC,YAAY,EACX,YAAY,GAAG,CAAC,GAAG,IAAI,EACvB,OAAO,GAIP;QACA,KAAK,EAAE,CAAC;QAXD,WAAM,GAAgC,IAAI,GAAG,EAAE,CAAC;QAwChD,wBAAmB,GAAG,CAAC,KAAqB,EAAE,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,KAAK,CAAC,UAAU;oBAAE,OAAO;gBAC7B,qDAAqD;gBACrD,yCAAyC;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC9B;YACF,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;QAzCD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,GAAG,CAA2B,GAAW;QACxC,OAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAO,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,GAAG,CAA2B,KAAQ;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,kCAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CACP,GAAW,EACX,MAAe,EACf,MAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE;YACb,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,QAAQ,CAAC,CAAC;YACnB,OAAO,QAAQ,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,CAAC;CAiBD;AAxDD,gCAwDC"}
@@ -1,20 +0,0 @@
1
- import { ObjectIdentifier } from '@verdant-web/common';
2
- import { IDBService } from '../IDBService.js';
3
- import { Context } from '../context.js';
4
- export declare class QueryableStorage extends IDBService {
5
- private ctx;
6
- constructor({ ctx }: {
7
- ctx: Context;
8
- });
9
- /**
10
- * DELETES EVERYTHING IN THE QUERYABLE DATABASE
11
- */
12
- reset: () => Promise<void>;
13
- saveEntities: (entities: {
14
- oid: ObjectIdentifier;
15
- getSnapshot: () => any;
16
- }[], opts?: {
17
- abort?: AbortSignal;
18
- }) => Promise<void>;
19
- private saveDocument;
20
- }
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryableStorage = void 0;
4
- const common_1 = require("@verdant-web/common");
5
- const IDBService_js_1 = require("../IDBService.js");
6
- const idb_js_1 = require("../idb.js");
7
- class QueryableStorage extends IDBService_js_1.IDBService {
8
- constructor({ ctx }) {
9
- super(ctx.documentDb, { log: ctx.log });
10
- /**
11
- * DELETES EVERYTHING IN THE QUERYABLE DATABASE
12
- */
13
- this.reset = async () => {
14
- const allCollections = Object.keys(this.ctx.schema.collections);
15
- const tx = this.ctx.documentDb.transaction(allCollections, 'readwrite');
16
- await Promise.all(allCollections.map((collection) => {
17
- const store = tx.objectStore(collection);
18
- return (0, idb_js_1.storeRequestPromise)(store.clear());
19
- }));
20
- // notify queries to re-run now.
21
- this.ctx.entityEvents.emit('collectionsChanged', allCollections);
22
- this.ctx.log('info', '💨 Reset queryable storage');
23
- };
24
- this.saveEntities = async (entities, opts) => {
25
- if (entities.length === 0) {
26
- return;
27
- }
28
- let collections = Array.from(new Set(entities.map((e) => (0, common_1.decomposeOid)(e.oid).collection)));
29
- // we could theoretically receive entities from old schema versions which no
30
- // longer have collections. We should ignore these. If we don't, the transaction
31
- // will fail, because the object store doesn't exist.
32
- const toRemove = collections.filter((c) => !this.ctx.schema.collections[c]);
33
- if (toRemove.length > 0) {
34
- this.ctx.log('warn', `Ignoring entities from collections that no longer exist: ${toRemove.join(', ')}`);
35
- const withRemoved = new Set(collections);
36
- toRemove.forEach((c) => withRemoved.delete(c));
37
- collections = Array.from(withRemoved);
38
- }
39
- const options = {
40
- transaction: this.createTransaction(collections, {
41
- mode: 'readwrite',
42
- abort: opts === null || opts === void 0 ? void 0 : opts.abort,
43
- }),
44
- };
45
- await Promise.all(entities.map(async (e) => {
46
- const snapshot = e.getSnapshot();
47
- try {
48
- await this.saveDocument(e.oid, snapshot, options);
49
- }
50
- catch (err) {
51
- this.ctx.log('error', `Error saving document ${e.oid} (${JSON.stringify(snapshot)})`, err);
52
- if (err instanceof Error) {
53
- throw err;
54
- }
55
- else {
56
- throw new Error('Unknown error saving document');
57
- }
58
- }
59
- }));
60
- options.transaction.commit();
61
- this.ctx.entityEvents.emit('collectionsChanged', collections);
62
- for (const entity of entities) {
63
- this.ctx.entityEvents.emit('documentChanged', entity.oid);
64
- }
65
- };
66
- this.saveDocument = async (oid, doc, { transaction }) => {
67
- this.ctx.log('debug', `Saving document indexes for querying ${oid}`, doc);
68
- const { collection, id } = (0, common_1.decomposeOid)(oid);
69
- if (!doc) {
70
- await this.run(collection, (store) => store.delete(id), {
71
- mode: 'readwrite',
72
- transaction,
73
- });
74
- this.ctx.log('debug', `Deleted document indexes for querying ${oid}`);
75
- }
76
- else {
77
- const schema = this.ctx.schema.collections[collection];
78
- // no need to validate before storing; the entity's snapshot is already validated.
79
- const indexes = (0, common_1.getIndexValues)(schema, doc);
80
- await this.run(collection, (store) => store.put(indexes), {
81
- mode: 'readwrite',
82
- transaction,
83
- });
84
- this.ctx.log('debug', `Saved document indexes for querying ${oid}`, doc);
85
- }
86
- };
87
- this.ctx = ctx;
88
- this.addDispose(this.ctx.internalEvents.subscribe('documentDbChanged', (db) => {
89
- this.db = db;
90
- }));
91
- }
92
- }
93
- exports.QueryableStorage = QueryableStorage;
94
- //# sourceMappingURL=QueryableStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryableStorage.js","sourceRoot":"","sources":["../../../src/queries/QueryableStorage.ts"],"names":[],"mappings":";;;AAAA,gDAI6B;AAC7B,oDAA8C;AAE9C,sCAAgD;AAEhD,MAAa,gBAAiB,SAAQ,0BAAU;IAG/C,YAAY,EAAE,GAAG,EAAoB;QACpC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QASzC;;WAEG;QACH,UAAK,GAAG,KAAK,IAAI,EAAE;YAClB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,IAAA,4BAAmB,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CACF,CAAC;YACF,gCAAgC;YAChC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,iBAAY,GAAG,KAAK,EACnB,QAA6D,EAC7D,IAA8B,EAC7B,EAAE;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO;aACP;YAED,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAY,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAC5D,CAAC;YACF,4EAA4E;YAC5E,gFAAgF;YAChF,qDAAqD;YACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,MAAM,EACN,4DAA4D,QAAQ,CAAC,IAAI,CACxE,IAAI,CACJ,EAAE,CACH,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACtC;YACD,MAAM,OAAO,GAAG;gBACf,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;oBAChD,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK;iBAClB,CAAC;aACF,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;iBAClD;gBAAC,OAAO,GAAG,EAAE;oBACb,IAAI,CAAC,GAAG,CAAC,GAAG,CACX,OAAO,EACP,yBAAyB,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAC9D,GAAG,CACH,CAAC;oBACF,IAAI,GAAG,YAAY,KAAK,EAAE;wBACzB,MAAM,GAAG,CAAC;qBACV;yBAAM;wBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;qBACjD;iBACD;YACF,CAAC,CAAC,CACF,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;YAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;gBAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1D;QACF,CAAC,CAAC;QAEM,iBAAY,GAAG,KAAK,EAC3B,GAAqB,EACrB,GAAQ,EACR,EAAE,WAAW,EAAoC,EAChD,EAAE;YACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,wCAAwC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1E,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,EAAE;gBACT,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oBACvD,IAAI,EAAE,WAAW;oBACjB,WAAW;iBACX,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,yCAAyC,GAAG,EAAE,CAAC,CAAC;aACtE;iBAAM;gBACN,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvD,kFAAkF;gBAClF,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACzD,IAAI,EAAE,WAAW;oBACjB,WAAW;iBACX,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,uCAAuC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;aACzE;QACF,CAAC,CAAC;QA1GD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE;YAC7D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CACF,CAAC;IACH,CAAC;CAqGD;AAhHD,4CAgHC"}
@@ -1,22 +0,0 @@
1
- import { CollectionFilter } from '@verdant-web/common';
2
- import { Context } from '../context.js';
3
- export declare function findOneOid({ collection, index, context, }: {
4
- collection: string;
5
- index?: CollectionFilter;
6
- context: Context;
7
- }): Promise<string | null>;
8
- export declare function findAllOids({ collection, index, context, }: {
9
- collection: string;
10
- index?: CollectionFilter;
11
- context: Context;
12
- }): Promise<string[]>;
13
- export declare function findPageOfOids({ collection, index, context, limit, offset, }: {
14
- collection: string;
15
- index?: CollectionFilter;
16
- context: Context;
17
- limit?: number;
18
- offset?: number;
19
- }): Promise<{
20
- result: string[];
21
- hasNextPage: boolean;
22
- }>;
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findPageOfOids = exports.findAllOids = exports.findOneOid = void 0;
4
- const common_1 = require("@verdant-web/common");
5
- const ranges_js_1 = require("./ranges.js");
6
- const idb_js_1 = require("../idb.js");
7
- function getStore(db, collection, write) {
8
- return db
9
- .transaction(collection, write ? 'readwrite' : 'readonly')
10
- .objectStore(collection);
11
- }
12
- async function findOneOid({ collection, index, context, }) {
13
- const store = getStore(context.documentDb, collection);
14
- const source = (index === null || index === void 0 ? void 0 : index.where) ? store.index(index.where) : store;
15
- const range = (0, ranges_js_1.getRange)(context.schema, collection, index);
16
- const direction = (index === null || index === void 0 ? void 0 : index.order) === 'desc' ? 'prev' : 'next';
17
- const request = source.openCursor(range, direction);
18
- const result = await new Promise((resolve, reject) => {
19
- request.onsuccess = () => {
20
- const cursor = request.result;
21
- if (cursor) {
22
- resolve((0, common_1.createOid)(collection, cursor.primaryKey.toString()));
23
- }
24
- else {
25
- resolve(null);
26
- }
27
- };
28
- request.onerror = () => {
29
- var _a;
30
- if (((_a = request.error) === null || _a === void 0 ? void 0 : _a.name) === 'InvalidStateError') {
31
- context.log('error', `findOne query failed with InvalidStateError`, request.error);
32
- resolve(null);
33
- }
34
- else if ((0, idb_js_1.isAbortError)(request.error)) {
35
- resolve(null);
36
- }
37
- else {
38
- reject(request.error);
39
- }
40
- };
41
- });
42
- return result;
43
- }
44
- exports.findOneOid = findOneOid;
45
- async function findAllOids({ collection, index, context, }) {
46
- const store = getStore(context.documentDb, collection);
47
- const source = (index === null || index === void 0 ? void 0 : index.where) ? store.index(index.where) : store;
48
- const range = (0, ranges_js_1.getRange)(context.schema, collection, index);
49
- const direction = (index === null || index === void 0 ? void 0 : index.order) === 'desc' ? 'prev' : 'next';
50
- const request = source.openCursor(range, direction);
51
- const result = await new Promise((resolve, reject) => {
52
- const results = new Set();
53
- request.onsuccess = () => {
54
- const cursor = request.result;
55
- if (cursor) {
56
- results.add((0, common_1.createOid)(collection, cursor.primaryKey.toString()));
57
- cursor.continue();
58
- }
59
- else {
60
- resolve(Array.from(results));
61
- }
62
- };
63
- request.onerror = () => {
64
- var _a;
65
- if (((_a = request.error) === null || _a === void 0 ? void 0 : _a.name) === 'InvalidStateError') {
66
- context.log('error', `findAll query failed with InvalidStateError`, request.error);
67
- resolve([]);
68
- }
69
- else if ((0, idb_js_1.isAbortError)(request.error)) {
70
- resolve([]);
71
- }
72
- else {
73
- reject(request.error);
74
- }
75
- };
76
- });
77
- return result;
78
- }
79
- exports.findAllOids = findAllOids;
80
- async function findPageOfOids({ collection, index, context, limit, offset, }) {
81
- const store = getStore(context.documentDb, collection);
82
- const source = (index === null || index === void 0 ? void 0 : index.where) ? store.index(index.where) : store;
83
- const range = (0, ranges_js_1.getRange)(context.schema, collection, index);
84
- const direction = (index === null || index === void 0 ? void 0 : index.order) === 'desc' ? 'prev' : 'next';
85
- const request = source.openCursor(range, direction);
86
- let hasDoneOffset = !offset;
87
- let hasNextPage = false;
88
- let visited = 0;
89
- const result = await new Promise((resolve, reject) => {
90
- const results = new Set();
91
- request.onsuccess = () => {
92
- visited++;
93
- const cursor = request.result;
94
- if (cursor) {
95
- if (offset && !hasDoneOffset) {
96
- cursor.advance(offset);
97
- hasDoneOffset = true;
98
- }
99
- else {
100
- if (limit && results.size < limit) {
101
- results.add((0, common_1.createOid)(collection, cursor.primaryKey.toString()));
102
- }
103
- if (limit && visited > limit) {
104
- hasNextPage = true;
105
- resolve(Array.from(results));
106
- }
107
- else {
108
- cursor.continue();
109
- }
110
- }
111
- }
112
- else {
113
- resolve(Array.from(results));
114
- }
115
- };
116
- request.onerror = () => {
117
- var _a;
118
- if (((_a = request.error) === null || _a === void 0 ? void 0 : _a.name) === 'InvalidStateError') {
119
- context.log('error', `find query failed with InvalidStateError`, request.error);
120
- resolve([]);
121
- }
122
- else if ((0, idb_js_1.isAbortError)(request.error)) {
123
- resolve([]);
124
- }
125
- else {
126
- reject(request.error);
127
- }
128
- };
129
- });
130
- return {
131
- result: result,
132
- hasNextPage,
133
- };
134
- }
135
- exports.findPageOfOids = findPageOfOids;
136
- //# sourceMappingURL=dbQueries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dbQueries.js","sourceRoot":"","sources":["../../../src/queries/dbQueries.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface QueryParams {
2
- collection: string;
3
- range: IDBKeyRange | IDBValidKey | undefined;
4
- index?: string;
5
- direction?: IDBCursorDirection;
6
- limit?: number;
7
- single?: boolean;
8
- write?: boolean;
9
- }
10
- export declare function getQueryKey({ range, ...rest }: QueryParams): string;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.getQueryKey = void 0;
15
- const common_1 = require("@verdant-web/common");
16
- function getQueryKey(_a) {
17
- var { range } = _a, rest = __rest(_a, ["range"]);
18
- let hashedRange;
19
- if (range instanceof IDBKeyRange) {
20
- hashedRange = (0, common_1.hashObject)({
21
- includes: range.includes,
22
- lower: range.lower,
23
- lowerOpen: range.lowerOpen,
24
- upper: range.upper,
25
- upperOpen: range.upperOpen,
26
- });
27
- }
28
- else {
29
- hashedRange = range;
30
- }
31
- return (0, common_1.hashObject)(Object.assign({ range: hashedRange }, rest));
32
- }
33
- exports.getQueryKey = getQueryKey;
34
- //# sourceMappingURL=keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/queries/keys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAiD;AAYjD,SAAgB,WAAW,CAAC,EAA+B;QAA/B,EAAE,KAAK,OAAwB,EAAnB,IAAI,cAAhB,SAAkB,CAAF;IAC3C,IAAI,WAAW,CAAC;IAChB,IAAI,KAAK,YAAY,WAAW,EAAE;QACjC,WAAW,GAAG,IAAA,mBAAU,EAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAC;KACH;SAAM;QACN,WAAW,GAAG,KAAK,CAAC;KACpB;IACD,OAAO,IAAA,mBAAU,kBAAG,KAAK,EAAE,WAAW,IAAK,IAAI,EAAG,CAAC;AACpD,CAAC;AAdD,kCAcC"}
@@ -1,2 +0,0 @@
1
- import { CollectionFilter, StorageSchema } from '@verdant-web/common';
2
- export declare function getRange(schema: StorageSchema, collection: string, index?: CollectionFilter): IDBKeyRange | undefined;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRange = void 0;
4
- const common_1 = require("@verdant-web/common");
5
- const matchIndexToIdbKeyRange = (filter) => {
6
- return IDBKeyRange.only((0, common_1.sanitizeIndexValue)(filter.equals));
7
- };
8
- const sortIndexToIdbKeyRange = (filter) => {
9
- return undefined;
10
- };
11
- const rangeIndexToIdbKeyRange = (filter) => {
12
- const lower = filter.gte || filter.gt;
13
- const upper = filter.lte || filter.lt;
14
- if (lower === upper) {
15
- return IDBKeyRange.only((0, common_1.sanitizeIndexValue)(lower));
16
- }
17
- if (!lower) {
18
- return IDBKeyRange.upperBound((0, common_1.sanitizeIndexValue)(upper), !!filter.lt);
19
- }
20
- else if (!upper) {
21
- return IDBKeyRange.lowerBound((0, common_1.sanitizeIndexValue)(lower), !!filter.gt);
22
- }
23
- else {
24
- return IDBKeyRange.bound((0, common_1.sanitizeIndexValue)(lower), (0, common_1.sanitizeIndexValue)(upper), !!filter.gt, !!filter.lt);
25
- }
26
- };
27
- const compoundIndexToIdbKeyRange = (
28
- // FIXME:
29
- schema, collection, filter) => {
30
- // validate the usage of the compound index:
31
- // - all match fields must be contiguous at the start of the compound order
32
- const indexDefinition = schema.collections[collection].compounds[filter.where];
33
- (0, common_1.assert)(indexDefinition, `Index ${filter.where} does not exist on collection ${collection}`);
34
- const matchedKeys = Object.keys(filter.match).sort((a, b) => indexDefinition.of.indexOf(a) - indexDefinition.of.indexOf(b));
35
- for (const key of matchedKeys) {
36
- if (indexDefinition.of.indexOf(key) !== matchedKeys.indexOf(key)) {
37
- throw new Error(`Compound index ${filter.where} does not have ${key} at the start of its order`);
38
- }
39
- }
40
- const matchedValues = matchedKeys.map((key) => filter.match[key]);
41
- // special case: all match fields are specified - we don't need a range
42
- // query, just a single key query
43
- if (matchedKeys.length === indexDefinition.of.length) {
44
- return IDBKeyRange.only((0, common_1.createCompoundIndexValue)(...matchedValues));
45
- }
46
- // create our bounds for the matched values
47
- const lower = (0, common_1.createLowerBoundIndexValue)(...matchedValues);
48
- const upper = (0, common_1.createUpperBoundIndexValue)(...matchedValues);
49
- return IDBKeyRange.bound(lower, upper);
50
- };
51
- function startsWithIndexToIdbKeyRange(filter) {
52
- const lower = filter.startsWith;
53
- const upper = filter.startsWith + '\uffff';
54
- return IDBKeyRange.bound(lower, upper);
55
- }
56
- function getRange(schema, collection, index) {
57
- if (!index)
58
- return undefined;
59
- if ((0, common_1.isRangeIndexFilter)(index))
60
- return rangeIndexToIdbKeyRange(index);
61
- if ((0, common_1.isMatchIndexFilter)(index))
62
- return matchIndexToIdbKeyRange(index);
63
- if ((0, common_1.isSortIndexFilter)(index))
64
- return sortIndexToIdbKeyRange(index);
65
- if ((0, common_1.isStartsWithIndexFilter)(index))
66
- return startsWithIndexToIdbKeyRange(index);
67
- return compoundIndexToIdbKeyRange(schema, collection, index);
68
- }
69
- exports.getRange = getRange;
70
- //# sourceMappingURL=ranges.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../../src/queries/ranges.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { FindAllQuery } from './FindAllQuery.js';
2
- import type { FindPageQuery } from './FindPageQuery.js';
3
- import type { FindOneQuery } from './FindOneQuery.js';
4
- import type { FindInfiniteQuery } from './FindInfiniteQuery.js';
5
- import type { GetQuery } from './GetQuery.js';
6
- export type Query<T> = FindAllQuery<T> | FindPageQuery<T> | FindOneQuery<T> | FindInfiniteQuery<T> | GetQuery<T>;
@@ -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/queries/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { CollectionIndexFilter } from '@verdant-web/common';
2
- export declare function filterResultSet(results: any): any;
3
- export declare function areIndexesEqual(a?: CollectionIndexFilter, b?: CollectionIndexFilter): boolean | undefined;