@verdant-web/store 3.3.2 → 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 (336) 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.map +1 -1
  27. package/dist/esm/metadata/OperationsStore.js.map +1 -1
  28. package/dist/esm/metadata/SchemaStore.js.map +1 -1
  29. package/dist/esm/metadata/openMetadataDatabase.js.map +1 -1
  30. package/dist/esm/migration/db.js.map +1 -1
  31. package/dist/esm/migration/openDatabase.js.map +1 -1
  32. package/dist/esm/migration/paths.js.map +1 -1
  33. package/dist/esm/queries/BaseQuery.js.map +1 -1
  34. package/dist/esm/queries/QueryCache.js.map +1 -1
  35. package/dist/esm/queries/QueryableStorage.js.map +1 -1
  36. package/dist/esm/queries/dbQueries.js.map +1 -1
  37. package/dist/esm/queries/keys.js.map +1 -1
  38. package/dist/esm/queries/ranges.js.map +1 -1
  39. package/dist/esm/queries/utils.js.map +1 -1
  40. package/dist/esm/sync/FileSync.js.map +1 -1
  41. package/dist/esm/sync/Heartbeat.js.map +1 -1
  42. package/dist/esm/sync/PresenceManager.js.map +1 -1
  43. package/dist/esm/sync/PushPullSync.js.map +1 -1
  44. package/dist/esm/sync/ServerSyncEndpointProvider.js.map +1 -1
  45. package/dist/esm/sync/Sync.js.map +1 -1
  46. package/dist/esm/sync/WebSocketSync.js.map +1 -1
  47. package/package.json +9 -10
  48. package/src/client/Client.ts +8 -1
  49. package/src/files/FileManager.ts +4 -0
  50. package/src/sync/Sync.ts +2 -2
  51. package/dist/cjs/BackoffScheduler.d.ts +0 -19
  52. package/dist/cjs/BackoffScheduler.js +0 -45
  53. package/dist/cjs/BackoffScheduler.js.map +0 -1
  54. package/dist/cjs/DocumentManager.d.ts +0 -28
  55. package/dist/cjs/DocumentManager.js +0 -45
  56. package/dist/cjs/DocumentManager.js.map +0 -1
  57. package/dist/cjs/FakeWeakRef.d.ts +0 -11
  58. package/dist/cjs/FakeWeakRef.js +0 -19
  59. package/dist/cjs/FakeWeakRef.js.map +0 -1
  60. package/dist/cjs/IDBService.d.ts +0 -30
  61. package/dist/cjs/IDBService.js +0 -101
  62. package/dist/cjs/IDBService.js.map +0 -1
  63. package/dist/cjs/UndoHistory.d.ts +0 -16
  64. package/dist/cjs/UndoHistory.js +0 -55
  65. package/dist/cjs/UndoHistory.js.map +0 -1
  66. package/dist/cjs/__tests__/batching.test.d.ts +0 -1
  67. package/dist/cjs/__tests__/batching.test.js +0 -47
  68. package/dist/cjs/__tests__/batching.test.js.map +0 -1
  69. package/dist/cjs/__tests__/documents.test.d.ts +0 -1
  70. package/dist/cjs/__tests__/documents.test.js +0 -468
  71. package/dist/cjs/__tests__/documents.test.js.map +0 -1
  72. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +0 -76
  73. package/dist/cjs/__tests__/fixtures/testStorage.js +0 -96
  74. package/dist/cjs/__tests__/fixtures/testStorage.js.map +0 -1
  75. package/dist/cjs/__tests__/legacyOids.test.d.ts +0 -1
  76. package/dist/cjs/__tests__/legacyOids.test.js +0 -354
  77. package/dist/cjs/__tests__/legacyOids.test.js.map +0 -1
  78. package/dist/cjs/__tests__/mutations.test.d.ts +0 -1
  79. package/dist/cjs/__tests__/mutations.test.js +0 -48
  80. package/dist/cjs/__tests__/mutations.test.js.map +0 -1
  81. package/dist/cjs/__tests__/queries.test.d.ts +0 -1
  82. package/dist/cjs/__tests__/queries.test.js +0 -323
  83. package/dist/cjs/__tests__/queries.test.js.map +0 -1
  84. package/dist/cjs/__tests__/setup/indexedDB.d.ts +0 -1
  85. package/dist/cjs/__tests__/setup/indexedDB.js +0 -16
  86. package/dist/cjs/__tests__/setup/indexedDB.js.map +0 -1
  87. package/dist/cjs/__tests__/undo.test.d.ts +0 -1
  88. package/dist/cjs/__tests__/undo.test.js +0 -94
  89. package/dist/cjs/__tests__/undo.test.js.map +0 -1
  90. package/dist/cjs/backup.d.ts +0 -10
  91. package/dist/cjs/backup.js +0 -58
  92. package/dist/cjs/backup.js.map +0 -1
  93. package/dist/cjs/client/Client.d.ts +0 -120
  94. package/dist/cjs/client/Client.js +0 -300
  95. package/dist/cjs/client/Client.js.map +0 -1
  96. package/dist/cjs/client/ClientDescriptor.d.ts +0 -76
  97. package/dist/cjs/client/ClientDescriptor.js +0 -213
  98. package/dist/cjs/client/ClientDescriptor.js.map +0 -1
  99. package/dist/cjs/client/constants.d.ts +0 -1
  100. package/dist/cjs/client/constants.js +0 -5
  101. package/dist/cjs/client/constants.js.map +0 -1
  102. package/dist/cjs/constants.d.ts +0 -1
  103. package/dist/cjs/constants.js +0 -5
  104. package/dist/cjs/constants.js.map +0 -1
  105. package/dist/cjs/context.d.ts +0 -38
  106. package/dist/cjs/context.js +0 -3
  107. package/dist/cjs/context.js.map +0 -1
  108. package/dist/cjs/entities/Entity.d.ts +0 -148
  109. package/dist/cjs/entities/Entity.js +0 -711
  110. package/dist/cjs/entities/Entity.js.map +0 -1
  111. package/dist/cjs/entities/Entity.test.d.ts +0 -1
  112. package/dist/cjs/entities/Entity.test.js +0 -194
  113. package/dist/cjs/entities/Entity.test.js.map +0 -1
  114. package/dist/cjs/entities/EntityCache.d.ts +0 -15
  115. package/dist/cjs/entities/EntityCache.js +0 -39
  116. package/dist/cjs/entities/EntityCache.js.map +0 -1
  117. package/dist/cjs/entities/EntityMetadata.d.ts +0 -68
  118. package/dist/cjs/entities/EntityMetadata.js +0 -261
  119. package/dist/cjs/entities/EntityMetadata.js.map +0 -1
  120. package/dist/cjs/entities/EntityStore.d.ts +0 -80
  121. package/dist/cjs/entities/EntityStore.js +0 -352
  122. package/dist/cjs/entities/EntityStore.js.map +0 -1
  123. package/dist/cjs/entities/OperationBatcher.d.ts +0 -52
  124. package/dist/cjs/entities/OperationBatcher.js +0 -165
  125. package/dist/cjs/entities/OperationBatcher.js.map +0 -1
  126. package/dist/cjs/entities/types.d.ts +0 -103
  127. package/dist/cjs/entities/types.js +0 -3
  128. package/dist/cjs/entities/types.js.map +0 -1
  129. package/dist/cjs/files/EntityFile.d.ts +0 -35
  130. package/dist/cjs/files/EntityFile.js +0 -81
  131. package/dist/cjs/files/EntityFile.js.map +0 -1
  132. package/dist/cjs/files/FileManager.d.ts +0 -46
  133. package/dist/cjs/files/FileManager.js +0 -174
  134. package/dist/cjs/files/FileManager.js.map +0 -1
  135. package/dist/cjs/files/FileStorage.d.ts +0 -39
  136. package/dist/cjs/files/FileStorage.js +0 -110
  137. package/dist/cjs/files/FileStorage.js.map +0 -1
  138. package/dist/cjs/files/utils.d.ts +0 -10
  139. package/dist/cjs/files/utils.js +0 -62
  140. package/dist/cjs/files/utils.js.map +0 -1
  141. package/dist/cjs/files/utils.test.d.ts +0 -1
  142. package/dist/cjs/files/utils.test.js +0 -81
  143. package/dist/cjs/files/utils.test.js.map +0 -1
  144. package/dist/cjs/idb.d.ts +0 -13
  145. package/dist/cjs/idb.js +0 -158
  146. package/dist/cjs/idb.js.map +0 -1
  147. package/dist/cjs/index.d.ts +0 -23
  148. package/dist/cjs/index.js +0 -25
  149. package/dist/cjs/index.js.map +0 -1
  150. package/dist/cjs/metadata/AckInfoStore.d.ts +0 -10
  151. package/dist/cjs/metadata/AckInfoStore.js +0 -26
  152. package/dist/cjs/metadata/AckInfoStore.js.map +0 -1
  153. package/dist/cjs/metadata/BaselinesStore.d.ts +0 -40
  154. package/dist/cjs/metadata/BaselinesStore.js +0 -106
  155. package/dist/cjs/metadata/BaselinesStore.js.map +0 -1
  156. package/dist/cjs/metadata/LocalReplicaStore.d.ts +0 -18
  157. package/dist/cjs/metadata/LocalReplicaStore.js +0 -62
  158. package/dist/cjs/metadata/LocalReplicaStore.js.map +0 -1
  159. package/dist/cjs/metadata/MessageCreator.d.ts +0 -19
  160. package/dist/cjs/metadata/MessageCreator.js +0 -128
  161. package/dist/cjs/metadata/MessageCreator.js.map +0 -1
  162. package/dist/cjs/metadata/Metadata.d.ts +0 -135
  163. package/dist/cjs/metadata/Metadata.js +0 -408
  164. package/dist/cjs/metadata/Metadata.js.map +0 -1
  165. package/dist/cjs/metadata/OperationsStore.d.ts +0 -62
  166. package/dist/cjs/metadata/OperationsStore.js +0 -179
  167. package/dist/cjs/metadata/OperationsStore.js.map +0 -1
  168. package/dist/cjs/metadata/SchemaStore.d.ts +0 -9
  169. package/dist/cjs/metadata/SchemaStore.js +0 -39
  170. package/dist/cjs/metadata/SchemaStore.js.map +0 -1
  171. package/dist/cjs/metadata/openMetadataDatabase.d.ts +0 -19
  172. package/dist/cjs/metadata/openMetadataDatabase.js +0 -220
  173. package/dist/cjs/metadata/openMetadataDatabase.js.map +0 -1
  174. package/dist/cjs/migration/db.d.ts +0 -8
  175. package/dist/cjs/migration/db.js +0 -112
  176. package/dist/cjs/migration/db.js.map +0 -1
  177. package/dist/cjs/migration/errors.d.ts +0 -5
  178. package/dist/cjs/migration/errors.js +0 -12
  179. package/dist/cjs/migration/errors.js.map +0 -1
  180. package/dist/cjs/migration/openDatabase.d.ts +0 -20
  181. package/dist/cjs/migration/openDatabase.js +0 -468
  182. package/dist/cjs/migration/openDatabase.js.map +0 -1
  183. package/dist/cjs/migration/paths.d.ts +0 -6
  184. package/dist/cjs/migration/paths.js +0 -53
  185. package/dist/cjs/migration/paths.js.map +0 -1
  186. package/dist/cjs/migration/paths.test.d.ts +0 -1
  187. package/dist/cjs/migration/paths.test.js +0 -91
  188. package/dist/cjs/migration/paths.test.js.map +0 -1
  189. package/dist/cjs/queries/BaseQuery.d.ts +0 -53
  190. package/dist/cjs/queries/BaseQuery.js +0 -148
  191. package/dist/cjs/queries/BaseQuery.js.map +0 -1
  192. package/dist/cjs/queries/CollectionQueries.d.ts +0 -55
  193. package/dist/cjs/queries/CollectionQueries.js +0 -92
  194. package/dist/cjs/queries/CollectionQueries.js.map +0 -1
  195. package/dist/cjs/queries/FindAllQuery.d.ts +0 -12
  196. package/dist/cjs/queries/FindAllQuery.js +0 -44
  197. package/dist/cjs/queries/FindAllQuery.js.map +0 -1
  198. package/dist/cjs/queries/FindInfiniteQuery.d.ts +0 -19
  199. package/dist/cjs/queries/FindInfiniteQuery.js +0 -70
  200. package/dist/cjs/queries/FindInfiniteQuery.js.map +0 -1
  201. package/dist/cjs/queries/FindOneQuery.d.ts +0 -12
  202. package/dist/cjs/queries/FindOneQuery.js +0 -43
  203. package/dist/cjs/queries/FindOneQuery.js.map +0 -1
  204. package/dist/cjs/queries/FindPageQuery.d.ts +0 -24
  205. package/dist/cjs/queries/FindPageQuery.js +0 -77
  206. package/dist/cjs/queries/FindPageQuery.js.map +0 -1
  207. package/dist/cjs/queries/GetQuery.d.ts +0 -10
  208. package/dist/cjs/queries/GetQuery.js +0 -30
  209. package/dist/cjs/queries/GetQuery.js.map +0 -1
  210. package/dist/cjs/queries/QueryCache.d.ts +0 -17
  211. package/dist/cjs/queries/QueryCache.js +0 -46
  212. package/dist/cjs/queries/QueryCache.js.map +0 -1
  213. package/dist/cjs/queries/QueryableStorage.d.ts +0 -20
  214. package/dist/cjs/queries/QueryableStorage.js +0 -94
  215. package/dist/cjs/queries/QueryableStorage.js.map +0 -1
  216. package/dist/cjs/queries/dbQueries.d.ts +0 -22
  217. package/dist/cjs/queries/dbQueries.js +0 -136
  218. package/dist/cjs/queries/dbQueries.js.map +0 -1
  219. package/dist/cjs/queries/keys.d.ts +0 -10
  220. package/dist/cjs/queries/keys.js +0 -34
  221. package/dist/cjs/queries/keys.js.map +0 -1
  222. package/dist/cjs/queries/ranges.d.ts +0 -2
  223. package/dist/cjs/queries/ranges.js +0 -70
  224. package/dist/cjs/queries/ranges.js.map +0 -1
  225. package/dist/cjs/queries/types.d.ts +0 -6
  226. package/dist/cjs/queries/types.js +0 -3
  227. package/dist/cjs/queries/types.js.map +0 -1
  228. package/dist/cjs/queries/utils.d.ts +0 -3
  229. package/dist/cjs/queries/utils.js +0 -25
  230. package/dist/cjs/queries/utils.js.map +0 -1
  231. package/dist/cjs/sync/FileSync.d.ts +0 -24
  232. package/dist/cjs/sync/FileSync.js +0 -87
  233. package/dist/cjs/sync/FileSync.js.map +0 -1
  234. package/dist/cjs/sync/Heartbeat.d.ts +0 -25
  235. package/dist/cjs/sync/Heartbeat.js +0 -64
  236. package/dist/cjs/sync/Heartbeat.js.map +0 -1
  237. package/dist/cjs/sync/PresenceManager.d.ts +0 -55
  238. package/dist/cjs/sync/PresenceManager.js +0 -126
  239. package/dist/cjs/sync/PresenceManager.js.map +0 -1
  240. package/dist/cjs/sync/PushPullSync.d.ts +0 -39
  241. package/dist/cjs/sync/PushPullSync.js +0 -159
  242. package/dist/cjs/sync/PushPullSync.js.map +0 -1
  243. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +0 -34
  244. package/dist/cjs/sync/ServerSyncEndpointProvider.js +0 -69
  245. package/dist/cjs/sync/ServerSyncEndpointProvider.js.map +0 -1
  246. package/dist/cjs/sync/Sync.d.ts +0 -160
  247. package/dist/cjs/sync/Sync.js +0 -293
  248. package/dist/cjs/sync/Sync.js.map +0 -1
  249. package/dist/cjs/sync/WebSocketSync.d.ts +0 -44
  250. package/dist/cjs/sync/WebSocketSync.js +0 -221
  251. package/dist/cjs/sync/WebSocketSync.js.map +0 -1
  252. package/dist/cjs/types.d.ts +0 -12
  253. package/dist/cjs/types.js +0 -3
  254. package/dist/cjs/types.js.map +0 -1
  255. package/dist/cjs/utils/Disposable.d.ts +0 -6
  256. package/dist/cjs/utils/Disposable.js +0 -19
  257. package/dist/cjs/utils/Disposable.js.map +0 -1
  258. package/dist/cjs/utils/Resolvable.d.ts +0 -8
  259. package/dist/cjs/utils/Resolvable.js +0 -23
  260. package/dist/cjs/utils/Resolvable.js.map +0 -1
  261. package/dist/cjs/vanilla.d.ts +0 -1
  262. package/dist/cjs/vanilla.js +0 -28
  263. package/dist/cjs/vanilla.js.map +0 -1
  264. package/dist/esm/BackoffScheduler.d.ts +0 -19
  265. package/dist/esm/DocumentManager.d.ts +0 -28
  266. package/dist/esm/FakeWeakRef.d.ts +0 -11
  267. package/dist/esm/IDBService.d.ts +0 -30
  268. package/dist/esm/UndoHistory.d.ts +0 -16
  269. package/dist/esm/__tests__/batching.test.d.ts +0 -1
  270. package/dist/esm/__tests__/documents.test.d.ts +0 -1
  271. package/dist/esm/__tests__/fixtures/testStorage.d.ts +0 -76
  272. package/dist/esm/__tests__/legacyOids.test.d.ts +0 -1
  273. package/dist/esm/__tests__/mutations.test.d.ts +0 -1
  274. package/dist/esm/__tests__/queries.test.d.ts +0 -1
  275. package/dist/esm/__tests__/setup/indexedDB.d.ts +0 -1
  276. package/dist/esm/__tests__/undo.test.d.ts +0 -1
  277. package/dist/esm/backup.d.ts +0 -10
  278. package/dist/esm/client/Client.d.ts +0 -120
  279. package/dist/esm/client/ClientDescriptor.d.ts +0 -76
  280. package/dist/esm/client/constants.d.ts +0 -1
  281. package/dist/esm/constants.d.ts +0 -1
  282. package/dist/esm/context.d.ts +0 -38
  283. package/dist/esm/entities/Entity.d.ts +0 -148
  284. package/dist/esm/entities/Entity.test.d.ts +0 -1
  285. package/dist/esm/entities/EntityCache.d.ts +0 -15
  286. package/dist/esm/entities/EntityMetadata.d.ts +0 -68
  287. package/dist/esm/entities/EntityStore.d.ts +0 -80
  288. package/dist/esm/entities/OperationBatcher.d.ts +0 -52
  289. package/dist/esm/entities/types.d.ts +0 -103
  290. package/dist/esm/files/EntityFile.d.ts +0 -35
  291. package/dist/esm/files/FileManager.d.ts +0 -46
  292. package/dist/esm/files/FileStorage.d.ts +0 -39
  293. package/dist/esm/files/utils.d.ts +0 -10
  294. package/dist/esm/files/utils.test.d.ts +0 -1
  295. package/dist/esm/idb.d.ts +0 -13
  296. package/dist/esm/index.d.ts +0 -23
  297. package/dist/esm/metadata/AckInfoStore.d.ts +0 -10
  298. package/dist/esm/metadata/BaselinesStore.d.ts +0 -40
  299. package/dist/esm/metadata/LocalReplicaStore.d.ts +0 -18
  300. package/dist/esm/metadata/MessageCreator.d.ts +0 -19
  301. package/dist/esm/metadata/Metadata.d.ts +0 -135
  302. package/dist/esm/metadata/OperationsStore.d.ts +0 -62
  303. package/dist/esm/metadata/SchemaStore.d.ts +0 -9
  304. package/dist/esm/metadata/openMetadataDatabase.d.ts +0 -19
  305. package/dist/esm/migration/db.d.ts +0 -8
  306. package/dist/esm/migration/errors.d.ts +0 -5
  307. package/dist/esm/migration/openDatabase.d.ts +0 -20
  308. package/dist/esm/migration/paths.d.ts +0 -6
  309. package/dist/esm/migration/paths.test.d.ts +0 -1
  310. package/dist/esm/queries/BaseQuery.d.ts +0 -53
  311. package/dist/esm/queries/CollectionQueries.d.ts +0 -55
  312. package/dist/esm/queries/FindAllQuery.d.ts +0 -12
  313. package/dist/esm/queries/FindInfiniteQuery.d.ts +0 -19
  314. package/dist/esm/queries/FindOneQuery.d.ts +0 -12
  315. package/dist/esm/queries/FindPageQuery.d.ts +0 -24
  316. package/dist/esm/queries/GetQuery.d.ts +0 -10
  317. package/dist/esm/queries/QueryCache.d.ts +0 -17
  318. package/dist/esm/queries/QueryableStorage.d.ts +0 -20
  319. package/dist/esm/queries/dbQueries.d.ts +0 -22
  320. package/dist/esm/queries/keys.d.ts +0 -10
  321. package/dist/esm/queries/ranges.d.ts +0 -2
  322. package/dist/esm/queries/types.d.ts +0 -6
  323. package/dist/esm/queries/utils.d.ts +0 -3
  324. package/dist/esm/sync/FileSync.d.ts +0 -24
  325. package/dist/esm/sync/Heartbeat.d.ts +0 -25
  326. package/dist/esm/sync/PresenceManager.d.ts +0 -55
  327. package/dist/esm/sync/PushPullSync.d.ts +0 -39
  328. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +0 -34
  329. package/dist/esm/sync/Sync.d.ts +0 -160
  330. package/dist/esm/sync/WebSocketSync.d.ts +0 -44
  331. package/dist/esm/types.d.ts +0 -12
  332. package/dist/esm/utils/Disposable.d.ts +0 -6
  333. package/dist/esm/utils/Resolvable.d.ts +0 -8
  334. package/dist/esm/vanilla.d.ts +0 -1
  335. package/dist/tsconfig-cjs.tsbuildinfo +0 -1
  336. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,323 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const testStorage_js_1 = require("./fixtures/testStorage.js");
5
- const common_1 = require("@verdant-web/common");
6
- async function addTestingItems(storage) {
7
- let items = [];
8
- for (const item of [
9
- {
10
- id: '1',
11
- content: 'item 1',
12
- done: false,
13
- tags: ['a'],
14
- category: 'general',
15
- },
16
- {
17
- id: '2',
18
- content: 'item 2',
19
- done: true,
20
- tags: ['a', 'b'],
21
- category: 'general',
22
- },
23
- {
24
- id: '3',
25
- content: 'item 3',
26
- done: false,
27
- tags: ['b', 'c'],
28
- category: 'general',
29
- },
30
- {
31
- id: '4',
32
- content: 'something else',
33
- done: true,
34
- tags: [],
35
- category: 'specific',
36
- },
37
- {
38
- id: '5',
39
- content: 'item 5',
40
- done: false,
41
- tags: ['a', 'b'],
42
- category: 'specific',
43
- },
44
- {
45
- id: '6',
46
- content: 'not an item!',
47
- done: true,
48
- tags: ['a'],
49
- category: 'specific',
50
- },
51
- ]) {
52
- items.push(await storage.todos.put(item));
53
- }
54
- return items;
55
- }
56
- (0, vitest_1.describe)('storage queries', () => {
57
- (0, vitest_1.it)('can query synthetic indexes', async () => {
58
- const storage = await (0, testStorage_js_1.createTestStorage)();
59
- const items = await addTestingItems(storage);
60
- const query = storage.todos.findAll({
61
- index: {
62
- where: 'example',
63
- equals: 'something else',
64
- },
65
- });
66
- const results = await query.resolved;
67
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([items[3].get('id')]);
68
- });
69
- (0, vitest_1.it)('can query simple compound indexes by match and order', async () => {
70
- const storage = await (0, testStorage_js_1.createTestStorage)();
71
- const items = await addTestingItems(storage);
72
- const query = storage.todos.findAll({
73
- index: {
74
- where: 'categorySortedByDone',
75
- match: {
76
- category: 'general',
77
- },
78
- order: 'asc',
79
- },
80
- });
81
- const results = await query.resolved;
82
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([
83
- items[0].get('id'),
84
- items[2].get('id'),
85
- items[1].get('id'),
86
- ]);
87
- });
88
- (0, vitest_1.it)('can query array-based compound indexes by match and order', async () => {
89
- const storage = await (0, testStorage_js_1.createTestStorage)();
90
- const items = await addTestingItems(storage);
91
- const query = storage.todos.findAll({
92
- index: {
93
- where: 'tagsSortedByDone',
94
- match: {
95
- tags: 'a',
96
- },
97
- order: 'asc',
98
- },
99
- });
100
- const results = await query.resolved;
101
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([
102
- items[0].get('id'),
103
- items[4].get('id'),
104
- items[1].get('id'),
105
- items[5].get('id'),
106
- ]);
107
- });
108
- (0, vitest_1.it)('can query starts-with on a string', async () => {
109
- const storage = await (0, testStorage_js_1.createTestStorage)();
110
- const items = await addTestingItems(storage);
111
- const query = storage.todos.findAll({
112
- index: {
113
- where: 'content',
114
- startsWith: 'item',
115
- },
116
- });
117
- const results = await query.resolved;
118
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([
119
- items[0].get('id'),
120
- items[1].get('id'),
121
- items[2].get('id'),
122
- items[4].get('id'),
123
- ]);
124
- });
125
- (0, vitest_1.it)('can do a paginated query', async () => {
126
- const storage = await (0, testStorage_js_1.createTestStorage)();
127
- const items = await addTestingItems(storage);
128
- const query = storage.todos.findPage({
129
- index: {
130
- where: 'categorySortedByDone',
131
- match: {
132
- category: 'general',
133
- },
134
- order: 'asc',
135
- },
136
- pageSize: 2,
137
- page: 0,
138
- });
139
- const results = await query.resolved;
140
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([
141
- items[0].get('id'),
142
- items[2].get('id'),
143
- ]);
144
- (0, vitest_1.expect)(query.hasNextPage).toBe(true);
145
- await query.nextPage();
146
- (0, vitest_1.expect)(query.current.map((i) => i.get('id'))).toEqual([
147
- items[1].get('id'),
148
- ]);
149
- (0, vitest_1.expect)(query.hasNextPage).toBe(false);
150
- });
151
- (0, vitest_1.it)('can do an infinite query', async () => {
152
- const storage = await (0, testStorage_js_1.createTestStorage)();
153
- const items = await addTestingItems(storage);
154
- const query = storage.todos.findAllInfinite({
155
- index: {
156
- where: 'categorySortedByDone',
157
- match: {
158
- category: 'general',
159
- },
160
- order: 'asc',
161
- },
162
- pageSize: 2,
163
- });
164
- const results = await query.resolved;
165
- (0, vitest_1.expect)(results.map((i) => i.get('id'))).toEqual([
166
- items[0].get('id'),
167
- items[2].get('id'),
168
- ]);
169
- (0, vitest_1.expect)(query.hasMore).toBe(true);
170
- await query.loadMore();
171
- (0, vitest_1.expect)(query.current.map((i) => i.get('id'))).toEqual([
172
- items[0].get('id'),
173
- items[2].get('id'),
174
- items[1].get('id'),
175
- ]);
176
- (0, vitest_1.expect)(query.hasMore).toBe(false);
177
- });
178
- (0, vitest_1.it)('caches queries by user key and updates their filters', async () => {
179
- const storage = await (0, testStorage_js_1.createTestStorage)();
180
- const items = await addTestingItems(storage);
181
- const firstQuery = storage.todos.findAll({
182
- key: 'customKey',
183
- index: {
184
- where: 'categorySortedByDone',
185
- match: {
186
- category: 'general',
187
- },
188
- order: 'asc',
189
- },
190
- });
191
- const firstResults = await firstQuery.resolved;
192
- (0, vitest_1.expect)(firstResults.map((i) => i.get('id'))).toEqual([
193
- items[0].get('id'),
194
- items[2].get('id'),
195
- items[1].get('id'),
196
- ]);
197
- const secondQuery = storage.todos.findAll({
198
- key: 'customKey',
199
- index: {
200
- where: 'categorySortedByDone',
201
- match: {
202
- category: 'specific',
203
- },
204
- order: 'asc',
205
- },
206
- });
207
- // doesn't remove old results until ready
208
- (0, vitest_1.expect)(firstQuery.current.length).toBe(3);
209
- const secondResults = await secondQuery.resolved;
210
- (0, vitest_1.expect)(secondResults.map((i) => i.get('id'))).toEqual([
211
- items[4].get('id'),
212
- items[3].get('id'),
213
- items[5].get('id'),
214
- ]);
215
- (0, vitest_1.expect)(firstQuery.current.map((i) => i.get('id'))).toEqual([
216
- items[4].get('id'),
217
- items[3].get('id'),
218
- items[5].get('id'),
219
- ]);
220
- });
221
- });
222
- (0, vitest_1.describe)('query reactivity', () => {
223
- async function getQuery(storage) {
224
- const item = await storage.todos.put({
225
- id: '1',
226
- content: 'item 1',
227
- done: false,
228
- tags: ['a'],
229
- category: 'general',
230
- });
231
- return storage.todos.get('1');
232
- }
233
- (0, vitest_1.it)('does not requery a get query when the item changes', async () => {
234
- const query = await getQuery(await (0, testStorage_js_1.createTestStorage)());
235
- const item = await query.resolved;
236
- (0, vitest_1.expect)(item).toBeTruthy();
237
- (0, common_1.assert)(item);
238
- (0, vitest_1.expect)(item.get('content')).toBe('item 1');
239
- item.update({ content: 'updated' });
240
- (0, vitest_1.expect)(query.status).toBe('ready');
241
- });
242
- (0, vitest_1.it)('returns the initial result set after status changes to ready', async () => {
243
- const storage = await (0, testStorage_js_1.createTestStorage)();
244
- await addTestingItems(storage);
245
- const query = storage.todos.findAll();
246
- (0, vitest_1.expect)(query.status).toBe('initial');
247
- const resolved = query.resolved;
248
- // accessing resolved begins initializing
249
- (0, vitest_1.expect)(query.status).toBe('initializing');
250
- await resolved;
251
- (0, vitest_1.expect)(query.status).toBe('ready');
252
- (0, vitest_1.expect)(query.current.length).toBe(6);
253
- // revalidating on change is tested elsewhere below.
254
- });
255
- (0, vitest_1.it)('updates a get query when the item is deleted', async () => {
256
- const client = await (0, testStorage_js_1.createTestStorage)();
257
- const query = await getQuery(client);
258
- const item = await query.resolved;
259
- (0, vitest_1.expect)(item).toBeTruthy();
260
- (0, common_1.assert)(item);
261
- await client.todos.delete(item.get('id'));
262
- (0, vitest_1.expect)(query.current).toBe(null);
263
- });
264
- (0, vitest_1.it)('updates list queries when a document is added to the collection', async () => {
265
- const client = await (0, testStorage_js_1.createTestStorage)({
266
- // log: console.log,
267
- });
268
- await addTestingItems(client);
269
- const queries = [
270
- client.todos.findAll(),
271
- client.todos.findAllInfinite({
272
- pageSize: 10,
273
- }),
274
- client.todos.findPage({
275
- pageSize: 2,
276
- page: 0,
277
- }),
278
- ];
279
- await Promise.all(queries.map((q) => q.resolved));
280
- (0, vitest_1.expect)(queries[0].current.length).toBe(6);
281
- await client.todos.put({
282
- id: '7',
283
- content: 'item 7',
284
- done: false,
285
- tags: ['a'],
286
- category: 'general',
287
- });
288
- for (const query of queries) {
289
- (0, vitest_1.expect)(query.status).toBe('revalidating');
290
- }
291
- await Promise.all(queries.map((q) => q.resolved));
292
- (0, vitest_1.expect)(queries[0].current.length).toBe(7);
293
- (0, vitest_1.expect)(queries[1].current.length).toBe(7);
294
- (0, vitest_1.expect)(queries[2].current.length).toBe(2);
295
- });
296
- (0, vitest_1.it)('updates list queries when a document is removed from the collection', async () => {
297
- const client = await (0, testStorage_js_1.createTestStorage)({
298
- // log: console.log,
299
- });
300
- await addTestingItems(client);
301
- const queries = [
302
- client.todos.findAll(),
303
- client.todos.findAllInfinite({
304
- pageSize: 10,
305
- }),
306
- client.todos.findPage({
307
- pageSize: 2,
308
- page: 2,
309
- }),
310
- ];
311
- await Promise.all(queries.map((q) => q.resolved));
312
- (0, vitest_1.expect)(queries[0].current.length).toBe(6);
313
- await client.todos.delete('1');
314
- for (const query of queries) {
315
- (0, vitest_1.expect)(query.status).toBe('revalidating');
316
- }
317
- await Promise.all(queries.map((q) => q.resolved));
318
- (0, vitest_1.expect)(queries[0].current.length).toBe(5);
319
- (0, vitest_1.expect)(queries[1].current.length).toBe(5);
320
- (0, vitest_1.expect)(queries[2].current.length).toBe(1);
321
- });
322
- });
323
- //# sourceMappingURL=queries.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queries.test.js","sourceRoot":"","sources":["../../../src/__tests__/queries.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import 'fake-indexeddb/auto';
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("fake-indexeddb/auto");
4
- const fake_indexeddb_1 = require("fake-indexeddb");
5
- window.IDBKeyRange = fake_indexeddb_1.IDBKeyRange;
6
- window.IDBCursor = fake_indexeddb_1.IDBCursor;
7
- window.IDBDatabase = fake_indexeddb_1.IDBDatabase;
8
- window.IDBTransaction = fake_indexeddb_1.IDBTransaction;
9
- window.IDBRequest = fake_indexeddb_1.IDBRequest;
10
- window.IDBFactory = fake_indexeddb_1.IDBFactory;
11
- // patch URL.createObjectURL to return a string
12
- // @ts-ignore
13
- URL.createObjectURL = (blob) => {
14
- return `blob:${blob.type}:${blob.size}`;
15
- };
16
- //# sourceMappingURL=indexedDB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexedDB.js","sourceRoot":"","sources":["../../../../src/__tests__/setup/indexedDB.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAC7B,mDAA6G;AAC7G,MAAM,CAAC,WAAW,GAAG,4BAAW,CAAC;AACjC,MAAM,CAAC,SAAS,GAAG,0BAAS,CAAC;AAC7B,MAAM,CAAC,WAAW,GAAG,4BAAW,CAAC;AACjC,MAAM,CAAC,cAAc,GAAG,+BAAc,CAAC;AACvC,MAAM,CAAC,UAAU,GAAG,2BAAU,CAAC;AAC/B,MAAM,CAAC,UAAU,GAAG,2BAAU,CAAC;AAE/B,+CAA+C;AAC/C,aAAa;AACb,GAAG,CAAC,eAAe,GAAG,CAAC,IAAU,EAAE,EAAE;IACpC,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("@verdant-web/common");
4
- const vitest_1 = require("vitest");
5
- const testStorage_js_1 = require("./fixtures/testStorage.js");
6
- (0, vitest_1.describe)('undoing operations', () => {
7
- (0, vitest_1.it)('should undo deletes', async () => {
8
- const storage = await (0, testStorage_js_1.createTestStorage)();
9
- const item = await storage.todos.put({
10
- content: 'item',
11
- category: 'general',
12
- attachments: [
13
- {
14
- name: 'thing',
15
- },
16
- ],
17
- });
18
- const itemId = item.get('id');
19
- await storage.todos.delete(itemId);
20
- (0, vitest_1.expect)(await storage.todos.get(itemId).resolved).toBeNull();
21
- await storage.undoHistory.undo();
22
- // the entity should be restored now
23
- // this should not throw
24
- item.get('id');
25
- const restored = await storage.todos.get(itemId).resolved;
26
- (0, vitest_1.expect)(restored).toBeTruthy();
27
- (0, common_1.assert)(!!restored);
28
- (0, vitest_1.expect)(restored.get('id')).toBe(itemId);
29
- (0, vitest_1.expect)(restored.get('content')).toBe('item');
30
- (0, vitest_1.expect)(restored.get('category')).toBe('general');
31
- (0, vitest_1.expect)(restored.get('attachments').get(0).get('name')).toBe('thing');
32
- });
33
- (0, vitest_1.it)('should undo field deletes', async () => {
34
- const storage = await (0, testStorage_js_1.createTestStorage)();
35
- const item = await storage.todos.put({
36
- content: 'item',
37
- category: 'general',
38
- attachments: [
39
- {
40
- name: 'thing',
41
- },
42
- ],
43
- });
44
- item.subscribe('change', () => { });
45
- item.get('attachments').delete(0);
46
- await storage.entities.flushAllBatches();
47
- (0, vitest_1.expect)(item.get('attachments').length).toBe(0);
48
- await storage.undoHistory.undo();
49
- (0, vitest_1.expect)(item.get('attachments').length).toBe(1);
50
- (0, vitest_1.expect)(item.get('attachments').get(0).get('name')).toBe('thing');
51
- }, 10000);
52
- (0, vitest_1.it)('should create batches without undo', async () => {
53
- const storage = await (0, testStorage_js_1.createTestStorage)({
54
- // log: console.log,
55
- });
56
- const item = await storage.todos.put({
57
- content: 'item',
58
- category: 'general',
59
- attachments: [
60
- {
61
- name: 'thing',
62
- },
63
- ],
64
- });
65
- await storage
66
- .batch()
67
- .run(() => {
68
- item.set('content', 'hello world');
69
- })
70
- .commit();
71
- await storage
72
- .batch({
73
- undoable: false,
74
- })
75
- .run(() => {
76
- item.set('content', 'hello world 2');
77
- item.set('category', 'sticky');
78
- })
79
- .commit();
80
- (0, vitest_1.expect)(item.get('content')).toBe('hello world 2');
81
- (0, vitest_1.expect)(item.get('category')).toBe('sticky');
82
- (0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(true);
83
- await storage.undoHistory.undo();
84
- (0, vitest_1.expect)(item.get('content')).toBe('item');
85
- // was not undone!
86
- (0, vitest_1.expect)(item.get('category')).toBe('sticky');
87
- // the next undo will undo the creation
88
- (0, vitest_1.expect)(storage.undoHistory.canUndo).toBe(true);
89
- await storage.undoHistory.undo();
90
- (0, vitest_1.expect)(item.deleted).toBe(true);
91
- });
92
- // more definitive undo tests require syncing multiple clients
93
- });
94
- //# sourceMappingURL=undo.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undo.test.js","sourceRoot":"","sources":["../../../src/__tests__/undo.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Client } from './client/Client.js';
2
- import { ExportData } from './metadata/Metadata.js';
3
- import { ReturnedFileData } from './files/FileStorage.js';
4
- export declare function createClientBackup(client: Client): Promise<Blob>;
5
- export declare function readBackupFile(file: Blob): Promise<{
6
- data: ExportData;
7
- fileData: Omit<ReturnedFileData, "file">[];
8
- files: File[];
9
- }>;
10
- export declare function importClientBackup(client: Client, file: Blob): Promise<void>;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.importClientBackup = exports.readBackupFile = exports.createClientBackup = void 0;
7
- const jszip_1 = __importDefault(require("jszip"));
8
- async function createClientBackup(client) {
9
- const exportData = await client.export();
10
- const zipFile = new jszip_1.default();
11
- zipFile.file('data.json', JSON.stringify(exportData.data));
12
- zipFile.file('fileData.json', JSON.stringify(exportData.fileData));
13
- const folder = zipFile.folder('files');
14
- if (!folder) {
15
- throw new Error('Failed to create files folder');
16
- }
17
- for (const file of exportData.files) {
18
- folder.file(file.name, file);
19
- }
20
- return zipFile.generateAsync({ type: 'blob' });
21
- }
22
- exports.createClientBackup = createClientBackup;
23
- async function readBackupFile(file) {
24
- var _a, _b;
25
- const zipFile = await jszip_1.default.loadAsync(file);
26
- const data = await ((_a = zipFile.file('data.json')) === null || _a === void 0 ? void 0 : _a.async('text'));
27
- const fileData = await ((_b = zipFile.file('fileData.json')) === null || _b === void 0 ? void 0 : _b.async('text'));
28
- if (!data || !fileData) {
29
- throw new Error('Failed to read data from backup');
30
- }
31
- const parsedData = JSON.parse(data);
32
- const parsedFileData = JSON.parse(fileData);
33
- const filesInFilesFolder = Object.entries(zipFile.files).filter(([key, val]) => {
34
- return key.startsWith('files/') && !val.dir;
35
- });
36
- let files = new Array();
37
- if (filesInFilesFolder.length > 0) {
38
- files = await Promise.all(filesInFilesFolder.map(async ([path, f]) => {
39
- const blob = await f.async('blob');
40
- return new File([blob], f.name.replace('files/', ''), {
41
- type: blob.type,
42
- });
43
- }));
44
- }
45
- const importData = {
46
- data: parsedData,
47
- fileData: parsedFileData,
48
- files,
49
- };
50
- return importData;
51
- }
52
- exports.readBackupFile = readBackupFile;
53
- async function importClientBackup(client, file) {
54
- const importData = await readBackupFile(file);
55
- await client.import(importData);
56
- }
57
- exports.importClientBackup = importClientBackup;
58
- //# sourceMappingURL=backup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/backup.ts"],"names":[],"mappings":"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"}