@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 +0,0 @@
1
- {"version":3,"file":"OperationsStore.js","sourceRoot":"","sources":["../../../src/metadata/OperationsStore.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { StorageSchema } from '@verdant-web/common';
2
- export declare class SchemaStore {
3
- private readonly db;
4
- readonly currentVersion: number;
5
- private cached;
6
- constructor(db: IDBDatabase, currentVersion: number);
7
- get: () => Promise<StorageSchema<any> | null>;
8
- set: (schema: StorageSchema<any>) => Promise<void>;
9
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchemaStore = void 0;
4
- const idb_js_1 = require("../idb.js");
5
- class SchemaStore {
6
- constructor(db, currentVersion) {
7
- this.db = db;
8
- this.currentVersion = currentVersion;
9
- this.cached = null;
10
- this.get = async () => {
11
- if (this.cached) {
12
- return this.cached;
13
- }
14
- const db = this.db;
15
- const transaction = db.transaction('info', 'readonly');
16
- const store = transaction.objectStore('info');
17
- const request = store.get('schema');
18
- const value = (await (0, idb_js_1.storeRequestPromise)(request));
19
- if (!value) {
20
- return null;
21
- }
22
- this.cached = JSON.parse(value.schema);
23
- return this.cached;
24
- };
25
- this.set = async (schema) => {
26
- const db = this.db;
27
- const transaction = db.transaction('info', 'readwrite');
28
- const store = transaction.objectStore('info');
29
- const request = store.put({
30
- type: 'schema',
31
- schema: JSON.stringify(schema),
32
- });
33
- this.cached = schema;
34
- await (0, idb_js_1.storeRequestPromise)(request);
35
- };
36
- }
37
- }
38
- exports.SchemaStore = SchemaStore;
39
- //# sourceMappingURL=SchemaStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaStore.js","sourceRoot":"","sources":["../../../src/metadata/SchemaStore.ts"],"names":[],"mappings":";;;AACA,sCAAgD;AAOhD,MAAa,WAAW;IAGvB,YACkB,EAAe,EAChB,cAAsB;QADrB,OAAE,GAAF,EAAE,CAAa;QAChB,mBAAc,GAAd,cAAc,CAAQ;QAJ/B,WAAM,GAA8B,IAAI,CAAC;QAOjD,QAAG,GAAG,KAAK,IAAwC,EAAE;YACpD,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,IAAI,CAAC,MAAM,CAAC;aACnB;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAA,4BAAmB,EAAC,OAAO,CAAC,CAErC,CAAC;YACb,IAAI,CAAC,KAAK,EAAE;gBACX,OAAO,IAAI,CAAC;aACZ;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC;QAEF,QAAG,GAAG,KAAK,EAAE,MAA0B,EAAiB,EAAE;YACzD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;gBACzB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACd,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAM,IAAA,4BAAmB,EAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC;IA/BC,CAAC;CAgCJ;AAtCD,kCAsCC"}
@@ -1,19 +0,0 @@
1
- export declare function openMetadataDatabase({ indexedDB, namespace, log, metadataVersion, }: {
2
- indexedDB?: IDBFactory;
3
- namespace: string;
4
- log?: (...args: any[]) => void;
5
- metadataVersion?: number;
6
- }): Promise<{
7
- wasInitialized: boolean;
8
- db: IDBDatabase;
9
- }>;
10
- export declare function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }: {
11
- indexedDB?: IDBFactory;
12
- namespace: string;
13
- wipNamespace: string;
14
- log?: (...args: any[]) => void;
15
- metadataVersion?: number;
16
- }): Promise<{
17
- wasInitialized: boolean;
18
- db: IDBDatabase;
19
- }>;
@@ -1,220 +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.openWIPMetadataDatabase = exports.openMetadataDatabase = void 0;
15
- const common_1 = require("@verdant-web/common");
16
- const idb_js_1 = require("../idb.js");
17
- const migrations = [version1, version2, version3, version4, version5];
18
- function openMetadataDatabase({ indexedDB = window.indexedDB, namespace, log, metadataVersion = 5, }) {
19
- return new Promise((resolve, reject) => {
20
- const request = indexedDB.open(`${namespace}_meta`, metadataVersion);
21
- let wasInitialized = false;
22
- request.onupgradeneeded = async (event) => {
23
- const db = request.result;
24
- const tx = request.transaction;
25
- const toRun = migrations.slice(event.oldVersion);
26
- for (const migration of toRun) {
27
- await migration(db, tx);
28
- }
29
- await new Promise((resolve, reject) => {
30
- tx.addEventListener('complete', resolve);
31
- tx.addEventListener('error', reject);
32
- });
33
- if (!event.oldVersion) {
34
- wasInitialized = true;
35
- }
36
- };
37
- request.onerror = () => {
38
- console.error('Error opening database', request.error);
39
- reject(request.error);
40
- };
41
- request.onsuccess = () => {
42
- resolve({ db: request.result, wasInitialized });
43
- };
44
- });
45
- }
46
- exports.openMetadataDatabase = openMetadataDatabase;
47
- async function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }) {
48
- const result = await openMetadataDatabase({
49
- namespace: wipNamespace,
50
- indexedDB,
51
- log,
52
- metadataVersion,
53
- });
54
- // this WIP database was already set up.
55
- if (!result.wasInitialized) {
56
- return result;
57
- }
58
- log === null || log === void 0 ? void 0 : log('debug', 'Beginning copy of production metadata database to WIP');
59
- // copy all data from production metadata database
60
- const { db: prodDb } = await openMetadataDatabase({
61
- namespace,
62
- indexedDB,
63
- log,
64
- metadataVersion,
65
- });
66
- const tx = prodDb.transaction(['baselines', 'operations', 'info'], 'readonly');
67
- const [baselines, operations, info] = await Promise.all([
68
- (0, idb_js_1.storeRequestPromise)(tx.objectStore('baselines').getAll()),
69
- (0, idb_js_1.storeRequestPromise)(tx.objectStore('operations').getAll()),
70
- (0, idb_js_1.storeRequestPromise)(tx.objectStore('info').getAll()),
71
- ]);
72
- const wipTx = result.db.transaction(['baselines', 'operations', 'info'], 'readwrite');
73
- const wipBaselines = wipTx.objectStore('baselines');
74
- const wipOperations = wipTx.objectStore('operations');
75
- const wipInfo = wipTx.objectStore('info');
76
- for (const baseline of baselines) {
77
- wipBaselines.put(baseline);
78
- }
79
- for (const operation of operations) {
80
- wipOperations.put(operation);
81
- }
82
- for (const infoItem of info) {
83
- wipInfo.put(infoItem);
84
- }
85
- await new Promise((resolve, reject) => {
86
- wipTx.oncomplete = () => {
87
- resolve();
88
- };
89
- wipTx.onerror = (event) => {
90
- reject(event);
91
- };
92
- wipTx.onabort = (event) => {
93
- reject(event);
94
- };
95
- });
96
- await (0, idb_js_1.closeDatabase)(prodDb);
97
- log === null || log === void 0 ? void 0 : log('debug', 'Finished copy of production metadata database to WIP. Copied:', baselines.length, 'baselines,', operations.length, 'operations');
98
- return result;
99
- }
100
- exports.openWIPMetadataDatabase = openWIPMetadataDatabase;
101
- async function version1(db, tx) {
102
- const baselinesStore = db.createObjectStore('baselines', {
103
- keyPath: 'oid',
104
- });
105
- const operationsStore = db.createObjectStore('operations', {
106
- keyPath: 'oid_timestamp',
107
- });
108
- const infoStore = db.createObjectStore('info', { keyPath: 'type' });
109
- baselinesStore.createIndex('timestamp', 'timestamp');
110
- operationsStore.createIndex('isLocal_timestamp', 'isLocal_timestamp');
111
- operationsStore.createIndex('documentOid_timestamp', 'documentOid_timestamp');
112
- }
113
- /**
114
- * 1 -> 2 changes:
115
- *
116
- * Consolidate compound index names:
117
- *
118
- * Operations:
119
- * - isLocal_timestamp -> l_t
120
- * - documentOid_timestamp -> d_t
121
- */
122
- async function version2(db, tx) {
123
- const operations = tx.objectStore('operations');
124
- await new Promise((resolve, reject) => {
125
- const cursorReq = operations.openCursor();
126
- cursorReq.onsuccess = () => {
127
- // rename the consolidated fields
128
- const cursor = cursorReq.result;
129
- if (cursor) {
130
- const _a = cursor.value, { isLocal_timestamp, documentOid_timestamp } = _a, value = __rest(_a, ["isLocal_timestamp", "documentOid_timestamp"]);
131
- cursor.update(Object.assign(Object.assign({}, value), { l_t: isLocal_timestamp, d_t: documentOid_timestamp }));
132
- cursor.continue();
133
- }
134
- else {
135
- resolve();
136
- }
137
- };
138
- cursorReq.onerror = (event) => {
139
- reject(cursorReq.error);
140
- };
141
- });
142
- // remove the old indexes
143
- operations.deleteIndex('isLocal_timestamp');
144
- operations.deleteIndex('documentOid_timestamp');
145
- // create the new indexes
146
- operations.createIndex('l_t', 'l_t', { unique: false });
147
- operations.createIndex('o_t', 'o_t', { unique: false });
148
- operations.createIndex('d_t', 'd_t', { unique: false });
149
- }
150
- /**
151
- * 2 -> 3 changes:
152
- *
153
- * Add timestamp index to operations
154
- */
155
- async function version3(db, tx) {
156
- const operations = tx.objectStore('operations');
157
- operations.createIndex('timestamp', 'timestamp');
158
- }
159
- async function version4(db, tx) {
160
- const files = db.createObjectStore('files', {
161
- keyPath: 'id',
162
- });
163
- files.createIndex('remote', 'remote');
164
- files.createIndex('deletedAt', 'deletedAt');
165
- }
166
- async function version5(db, tx) {
167
- // rewrites all baselines and operations to replace legacy OIDs
168
- // with new ones.
169
- const operations = tx.objectStore('operations');
170
- await new Promise((resolve, reject) => {
171
- const cursorReq = operations.openCursor();
172
- cursorReq.onsuccess = () => {
173
- const cursor = cursorReq.result;
174
- if (cursor) {
175
- const converted = (0, common_1.replaceLegacyOidsInObject)(cursor.value);
176
- // conversion may change the primary key, so we need to put the
177
- // object back to the store
178
- if (converted.oid_timestamp !== cursor.primaryKey) {
179
- cursor.delete();
180
- operations.put(converted);
181
- }
182
- else {
183
- cursor.update(converted);
184
- }
185
- cursor.continue();
186
- }
187
- else {
188
- resolve();
189
- }
190
- };
191
- cursorReq.onerror = (event) => {
192
- reject(cursorReq.error);
193
- };
194
- });
195
- const baselines = tx.objectStore('baselines');
196
- await new Promise((resolve, reject) => {
197
- const cursorReq = baselines.openCursor();
198
- cursorReq.onsuccess = () => {
199
- const cursor = cursorReq.result;
200
- if (cursor) {
201
- const converted = (0, common_1.replaceLegacyOidsInObject)(cursor.value);
202
- if (converted.oid !== cursor.primaryKey) {
203
- cursor.delete();
204
- baselines.put(converted);
205
- }
206
- else {
207
- cursor.update(converted);
208
- }
209
- cursor.continue();
210
- }
211
- else {
212
- resolve();
213
- }
214
- };
215
- cursorReq.onerror = (event) => {
216
- reject(cursorReq.error);
217
- };
218
- });
219
- }
220
- //# sourceMappingURL=openMetadataDatabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openMetadataDatabase.js","sourceRoot":"","sources":["../../../src/metadata/openMetadataDatabase.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export declare function getDatabaseVersion(indexedDB: IDBFactory, namespace: string, version: number, log?: (...args: any[]) => void): Promise<number>;
2
- export declare function closeDatabase(db: IDBDatabase): Promise<void>;
3
- /**
4
- * Upgrades the database to the given version, using the given upgrader function.
5
- */
6
- export declare function upgradeDatabase(indexedDb: IDBFactory, namespace: string, version: number, upgrader: (transaction: IDBTransaction, db: IDBDatabase, event: IDBVersionChangeEvent) => void, log?: (...args: any[]) => void): Promise<void>;
7
- export declare function acquireLock(namespace: string, procedure: () => Promise<void>): Promise<void>;
8
- export declare function openDatabase(indexedDb: IDBFactory, namespace: string, version: number, log?: (...args: any[]) => void): Promise<IDBDatabase>;
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openDatabase = exports.acquireLock = exports.upgradeDatabase = exports.closeDatabase = exports.getDatabaseVersion = void 0;
4
- async function getDatabaseVersion(indexedDB, namespace, version, log) {
5
- function openAndGetVersion(resolve, reject) {
6
- let currentVersion;
7
- let database;
8
- const request = indexedDB.open([namespace, 'collections'].join('_'), version);
9
- request.onupgradeneeded = async (event) => {
10
- currentVersion = event.oldVersion;
11
- const transaction = request.transaction;
12
- database = request.result;
13
- transaction.abort();
14
- };
15
- request.onsuccess = (event) => {
16
- resolve([request.result.version, request.result]);
17
- };
18
- request.onblocked = (event) => {
19
- // retry if blocked
20
- log === null || log === void 0 ? void 0 : log('Database blocked, waiting...');
21
- // setTimeout(() => {
22
- // openAndGetVersion(resolve, reject);
23
- // }, 200);
24
- };
25
- request.onerror = (event) => {
26
- // FIXME: this fails if the code is older than the local database
27
- resolve([currentVersion, database]);
28
- };
29
- }
30
- const [currentVersion, db] = await new Promise(openAndGetVersion);
31
- await closeDatabase(db);
32
- return currentVersion;
33
- }
34
- exports.getDatabaseVersion = getDatabaseVersion;
35
- async function closeDatabase(db) {
36
- db.close();
37
- // FIXME: this isn't right!!!!
38
- await new Promise((resolve) => resolve());
39
- }
40
- exports.closeDatabase = closeDatabase;
41
- /**
42
- * Upgrades the database to the given version, using the given upgrader function.
43
- */
44
- async function upgradeDatabase(indexedDb, namespace, version, upgrader, log) {
45
- function openAndUpgrade(resolve, reject) {
46
- const request = indexedDb.open([namespace, 'collections'].join('_'), version);
47
- let wasUpgraded = false;
48
- request.onupgradeneeded = (event) => {
49
- const transaction = request.transaction;
50
- upgrader(transaction, request.result, event);
51
- wasUpgraded = true;
52
- };
53
- request.onsuccess = (event) => {
54
- request.result.close();
55
- if (wasUpgraded) {
56
- resolve();
57
- }
58
- else {
59
- reject(new Error('Database was not upgraded when a version change was expected'));
60
- }
61
- };
62
- request.onerror = (event) => {
63
- reject(request.error || new Error('Unknown error'));
64
- };
65
- request.onblocked = (event) => {
66
- log === null || log === void 0 ? void 0 : log('Database upgrade blocked, waiting...');
67
- // setTimeout(() => {
68
- // openAndUpgrade(resolve, reject);
69
- // }, 200);
70
- };
71
- }
72
- return new Promise(openAndUpgrade);
73
- }
74
- exports.upgradeDatabase = upgradeDatabase;
75
- async function acquireLock(namespace, procedure) {
76
- if (typeof navigator !== 'undefined' && navigator.locks) {
77
- await navigator.locks.request(`verdant_migration_${namespace}`, procedure);
78
- }
79
- else {
80
- // TODO: is there a fallback?
81
- await procedure();
82
- }
83
- }
84
- exports.acquireLock = acquireLock;
85
- async function openDatabase(indexedDb, namespace, version, log) {
86
- log === null || log === void 0 ? void 0 : log('debug', 'Opening database', namespace, 'at version', version);
87
- const db = await new Promise((resolve, reject) => {
88
- const request = indexedDb.open([namespace, 'collections'].join('_'), version);
89
- request.onupgradeneeded = async (event) => {
90
- const transaction = request.transaction;
91
- transaction.abort();
92
- log === null || log === void 0 ? void 0 : log('error', 'Database upgrade needed, but not expected', 'Expected', version, 'Got', request.result.version);
93
- reject(request.error ||
94
- new Error(`Migration error: database version changed unexpectedly when reading current data. Expected ${version}, got ${request.result.version}`));
95
- };
96
- request.onsuccess = (event) => {
97
- resolve(request.result);
98
- };
99
- request.onblocked = (event) => {
100
- reject(new Error('Migration error: database blocked'));
101
- };
102
- request.onerror = (event) => {
103
- reject(new Error('Migration error: database error'));
104
- };
105
- });
106
- db.addEventListener('versionchange', (event) => {
107
- db.close();
108
- });
109
- return db;
110
- }
111
- exports.openDatabase = openDatabase;
112
- //# sourceMappingURL=db.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/migration/db.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare class MigrationPathError extends Error {
2
- readonly message: string;
3
- readonly name = "MigrationPathError";
4
- constructor(message: string);
5
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MigrationPathError = void 0;
4
- class MigrationPathError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.message = message;
8
- this.name = 'MigrationPathError';
9
- }
10
- }
11
- exports.MigrationPathError = MigrationPathError;
12
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/migration/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAG5C,YAA4B,OAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADY,YAAO,GAAP,OAAO,CAAQ;QAFlC,SAAI,GAAG,oBAAoB,CAAC;IAIrC,CAAC;CACD;AAND,gDAMC"}
@@ -1,20 +0,0 @@
1
- import { Migration } from '@verdant-web/common';
2
- import { Context } from '../context.js';
3
- import { Metadata } from '../metadata/Metadata.js';
4
- type OpenDocumentDbContext = Omit<Context, 'documentDb'>;
5
- export declare function openDocumentDatabase({ version, indexedDB, migrations, meta, context, }: {
6
- version: number;
7
- migrations: Migration<any>[];
8
- indexedDB?: IDBFactory;
9
- meta: Metadata;
10
- context: OpenDocumentDbContext;
11
- }): Promise<IDBDatabase>;
12
- export declare function openWIPDocumentDatabase({ version, indexedDB, migrations, meta, context, wipNamespace, }: {
13
- version: number;
14
- migrations: Migration<any>[];
15
- indexedDB?: IDBFactory;
16
- meta: Metadata;
17
- context: OpenDocumentDbContext;
18
- wipNamespace: string;
19
- }): Promise<IDBDatabase>;
20
- export {};