@verdant-web/store 2.7.5 → 2.7.7-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 (717) hide show
  1. package/dist/bundle/index.js +9 -9
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/cjs/AckInfoStore.d.ts +10 -0
  4. package/dist/cjs/AckInfoStore.js +26 -0
  5. package/dist/cjs/AckInfoStore.js.map +1 -0
  6. package/dist/cjs/BackoffScheduler.d.ts +19 -19
  7. package/dist/cjs/BackoffScheduler.js +44 -44
  8. package/dist/cjs/BaselinesStore.d.ts +10 -0
  9. package/dist/cjs/BaselinesStore.js +36 -0
  10. package/dist/cjs/BaselinesStore.js.map +1 -0
  11. package/dist/cjs/DocumentManager.d.ts +31 -28
  12. package/dist/cjs/DocumentManager.js +44 -44
  13. package/dist/cjs/Entity.d.ts +96 -0
  14. package/dist/cjs/Entity.js +345 -0
  15. package/dist/cjs/Entity.js.map +1 -0
  16. package/dist/cjs/EntityStore.d.ts +36 -0
  17. package/dist/cjs/EntityStore.js +172 -0
  18. package/dist/cjs/EntityStore.js.map +1 -0
  19. package/dist/cjs/FakeWeakRef.d.ts +11 -11
  20. package/dist/cjs/FakeWeakRef.js +18 -18
  21. package/dist/cjs/IDBService.d.ts +9 -9
  22. package/dist/cjs/IDBService.js +63 -63
  23. package/dist/cjs/LocalHistoryStore.d.ts +15 -0
  24. package/dist/cjs/LocalHistoryStore.js +53 -0
  25. package/dist/cjs/LocalHistoryStore.js.map +1 -0
  26. package/dist/cjs/LocalReplicaStore.d.ts +13 -0
  27. package/dist/cjs/LocalReplicaStore.js +49 -0
  28. package/dist/cjs/LocalReplicaStore.js.map +1 -0
  29. package/dist/cjs/MessageCreator.d.ts +19 -0
  30. package/dist/cjs/MessageCreator.js +104 -0
  31. package/dist/cjs/MessageCreator.js.map +1 -0
  32. package/dist/cjs/Metadata.d.ts +91 -0
  33. package/dist/cjs/Metadata.js +250 -0
  34. package/dist/cjs/Metadata.js.map +1 -0
  35. package/dist/cjs/OperationsStore.d.ts +38 -0
  36. package/dist/cjs/OperationsStore.js +146 -0
  37. package/dist/cjs/OperationsStore.js.map +1 -0
  38. package/dist/cjs/PresenceManager.d.ts +30 -0
  39. package/dist/cjs/PresenceManager.js +89 -0
  40. package/dist/cjs/PresenceManager.js.map +1 -0
  41. package/dist/cjs/Query.d.ts +26 -0
  42. package/dist/cjs/Query.js +86 -0
  43. package/dist/cjs/Query.js.map +1 -0
  44. package/dist/cjs/QueryMaker.d.ts +18 -0
  45. package/dist/cjs/QueryMaker.js +98 -0
  46. package/dist/cjs/QueryMaker.js.map +1 -0
  47. package/dist/cjs/QueryStore.d.ts +38 -0
  48. package/dist/cjs/QueryStore.js +146 -0
  49. package/dist/cjs/QueryStore.js.map +1 -0
  50. package/dist/cjs/SchemaStore.d.ts +9 -0
  51. package/dist/cjs/SchemaStore.js +35 -0
  52. package/dist/cjs/SchemaStore.js.map +1 -0
  53. package/dist/cjs/Storage.d.ts +147 -0
  54. package/dist/cjs/Storage.js +346 -0
  55. package/dist/cjs/Storage.js.map +1 -0
  56. package/dist/cjs/Sync.d.ts +117 -0
  57. package/dist/cjs/Sync.js +561 -0
  58. package/dist/cjs/Sync.js.map +1 -0
  59. package/dist/cjs/SyncHarness.d.ts +45 -0
  60. package/dist/cjs/SyncHarness.js +110 -0
  61. package/dist/cjs/SyncHarness.js.map +1 -0
  62. package/dist/cjs/UndoHistory.d.ts +16 -16
  63. package/dist/cjs/UndoHistory.js +50 -50
  64. package/dist/cjs/__tests__/batching.test.d.ts +1 -1
  65. package/dist/cjs/__tests__/batching.test.js +44 -44
  66. package/dist/cjs/__tests__/documents.test.d.ts +1 -1
  67. package/dist/cjs/__tests__/documents.test.js +415 -415
  68. package/dist/cjs/__tests__/fixtures/testStorage.d.ts +123 -122
  69. package/dist/cjs/__tests__/fixtures/testStorage.js +117 -115
  70. package/dist/cjs/__tests__/fixtures/testStorage.js.map +1 -1
  71. package/dist/cjs/__tests__/legacyOids.test.d.ts +1 -1
  72. package/dist/cjs/__tests__/legacyOids.test.js +309 -123
  73. package/dist/cjs/__tests__/legacyOids.test.js.map +1 -1
  74. package/dist/cjs/__tests__/mutations.test.d.ts +1 -1
  75. package/dist/cjs/__tests__/mutations.test.js +41 -41
  76. package/dist/cjs/__tests__/queries.test.d.ts +1 -1
  77. package/dist/cjs/__tests__/queries.test.js +318 -318
  78. package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
  79. package/dist/cjs/__tests__/setup/indexedDB.js +3 -3
  80. package/dist/cjs/__tests__/undo.test.d.ts +1 -1
  81. package/dist/cjs/__tests__/undo.test.js +86 -86
  82. package/dist/cjs/client/Client.d.ts +98 -99
  83. package/dist/cjs/client/Client.js +227 -227
  84. package/dist/cjs/client/ClientDescriptor.d.ts +76 -74
  85. package/dist/cjs/client/ClientDescriptor.js +197 -194
  86. package/dist/cjs/client/ClientDescriptor.js.map +1 -1
  87. package/dist/cjs/client/constants.d.ts +1 -0
  88. package/dist/cjs/client/constants.js +5 -0
  89. package/dist/cjs/client/constants.js.map +1 -0
  90. package/dist/cjs/constants.d.ts +1 -1
  91. package/dist/cjs/constants.js +4 -4
  92. package/dist/cjs/context.d.ts +29 -29
  93. package/dist/cjs/context.js +2 -2
  94. package/dist/cjs/entities/DocumentFamiliyCache.d.ts +90 -90
  95. package/dist/cjs/entities/DocumentFamiliyCache.js +282 -282
  96. package/dist/cjs/entities/Entity.d.ts +206 -203
  97. package/dist/cjs/entities/Entity.js +520 -520
  98. package/dist/cjs/entities/EntityStore.d.ts +85 -85
  99. package/dist/cjs/entities/EntityStore.js +479 -479
  100. package/dist/cjs/files/EntityFile.d.ts +31 -31
  101. package/dist/cjs/files/EntityFile.js +76 -76
  102. package/dist/cjs/files/FileManager.d.ts +42 -42
  103. package/dist/cjs/files/FileManager.js +152 -152
  104. package/dist/cjs/files/FileStorage.d.ts +28 -28
  105. package/dist/cjs/files/FileStorage.js +104 -104
  106. package/dist/cjs/files/utils.d.ts +8 -8
  107. package/dist/cjs/files/utils.js +55 -55
  108. package/dist/cjs/files/utils.test.d.ts +1 -1
  109. package/dist/cjs/files/utils.test.js +80 -80
  110. package/dist/cjs/idb.d.ts +11 -11
  111. package/dist/cjs/idb.js +111 -111
  112. package/dist/cjs/index.d.ts +21 -21
  113. package/dist/cjs/index.js +23 -23
  114. package/dist/cjs/indexes.d.ts +3 -0
  115. package/dist/cjs/indexes.js +20 -0
  116. package/dist/cjs/indexes.js.map +1 -0
  117. package/dist/cjs/metadata/AckInfoStore.d.ts +10 -10
  118. package/dist/cjs/metadata/AckInfoStore.js +25 -25
  119. package/dist/cjs/metadata/BaselinesStore.d.ts +33 -33
  120. package/dist/cjs/metadata/BaselinesStore.js +89 -89
  121. package/dist/cjs/metadata/LocalHistoryStore.d.ts +15 -0
  122. package/dist/cjs/metadata/LocalHistoryStore.js +53 -0
  123. package/dist/cjs/metadata/LocalHistoryStore.js.map +1 -0
  124. package/dist/cjs/metadata/LocalReplicaStore.d.ts +17 -17
  125. package/dist/cjs/metadata/LocalReplicaStore.js +47 -47
  126. package/dist/cjs/metadata/MessageCreator.d.ts +19 -19
  127. package/dist/cjs/metadata/MessageCreator.js +127 -127
  128. package/dist/cjs/metadata/Metadata.d.ts +112 -112
  129. package/dist/cjs/metadata/Metadata.js +352 -352
  130. package/dist/cjs/metadata/OperationsStore.d.ts +53 -53
  131. package/dist/cjs/metadata/OperationsStore.js +152 -152
  132. package/dist/cjs/metadata/SchemaStore.d.ts +9 -9
  133. package/dist/cjs/metadata/SchemaStore.js +38 -38
  134. package/dist/cjs/metadata/openMetadataDatabase.d.ts +19 -17
  135. package/dist/cjs/metadata/openMetadataDatabase.js +219 -158
  136. package/dist/cjs/metadata/openMetadataDatabase.js.map +1 -1
  137. package/dist/cjs/migration/db.d.ts +8 -8
  138. package/dist/cjs/migration/db.js +111 -111
  139. package/dist/cjs/migration/errors.d.ts +5 -5
  140. package/dist/cjs/migration/errors.js +11 -11
  141. package/dist/cjs/migration/openDatabase.d.ts +20 -20
  142. package/dist/cjs/migration/openDatabase.js +428 -428
  143. package/dist/cjs/migration/paths.d.ts +6 -6
  144. package/dist/cjs/migration/paths.js +52 -52
  145. package/dist/cjs/migration/paths.test.d.ts +1 -1
  146. package/dist/cjs/migration/paths.test.js +90 -90
  147. package/dist/cjs/openDocumentDatabase.d.ts +12 -0
  148. package/dist/cjs/openDocumentDatabase.js +432 -0
  149. package/dist/cjs/openDocumentDatabase.js.map +1 -0
  150. package/dist/cjs/queries/BaseQuery.d.ts +53 -53
  151. package/dist/cjs/queries/BaseQuery.js +135 -135
  152. package/dist/cjs/queries/CollectionQueries.d.ts +55 -55
  153. package/dist/cjs/queries/CollectionQueries.js +91 -91
  154. package/dist/cjs/queries/FindAllQuery.d.ts +12 -12
  155. package/dist/cjs/queries/FindAllQuery.js +42 -42
  156. package/dist/cjs/queries/FindInfiniteQuery.d.ts +19 -19
  157. package/dist/cjs/queries/FindInfiniteQuery.js +69 -69
  158. package/dist/cjs/queries/FindOneQuery.d.ts +12 -12
  159. package/dist/cjs/queries/FindOneQuery.js +42 -42
  160. package/dist/cjs/queries/FindPageQuery.d.ts +24 -24
  161. package/dist/cjs/queries/FindPageQuery.js +76 -76
  162. package/dist/cjs/queries/GetQuery.d.ts +10 -10
  163. package/dist/cjs/queries/GetQuery.js +29 -29
  164. package/dist/cjs/queries/LiveQuery.d.ts +28 -0
  165. package/dist/cjs/queries/LiveQuery.js +96 -0
  166. package/dist/cjs/queries/LiveQuery.js.map +1 -0
  167. package/dist/cjs/queries/LiveQueryMaker.d.ts +15 -0
  168. package/dist/cjs/queries/LiveQueryMaker.js +42 -0
  169. package/dist/cjs/queries/LiveQueryMaker.js.map +1 -0
  170. package/dist/cjs/queries/LiveQueryStore.d.ts +33 -0
  171. package/dist/cjs/queries/LiveQueryStore.js +85 -0
  172. package/dist/cjs/queries/LiveQueryStore.js.map +1 -0
  173. package/dist/cjs/queries/Query.d.ts +18 -0
  174. package/dist/cjs/queries/Query.js +36 -0
  175. package/dist/cjs/queries/Query.js.map +1 -0
  176. package/dist/cjs/queries/QueryCache.d.ts +16 -16
  177. package/dist/cjs/queries/QueryCache.js +41 -41
  178. package/dist/cjs/queries/QueryMaker.d.ts +14 -0
  179. package/dist/cjs/queries/QueryMaker.js +42 -0
  180. package/dist/cjs/queries/QueryMaker.js.map +1 -0
  181. package/dist/cjs/queries/QueryStore.d.ts +35 -0
  182. package/dist/cjs/queries/QueryStore.js +130 -0
  183. package/dist/cjs/queries/QueryStore.js.map +1 -0
  184. package/dist/cjs/queries/dbQueries.d.ts +22 -22
  185. package/dist/cjs/queries/dbQueries.js +125 -125
  186. package/dist/cjs/queries/keys.d.ts +10 -10
  187. package/dist/cjs/queries/keys.js +33 -33
  188. package/dist/cjs/queries/ranges.d.ts +2 -2
  189. package/dist/cjs/queries/ranges.js +69 -69
  190. package/dist/cjs/queries/types.d.ts +6 -6
  191. package/dist/cjs/queries/types.js +2 -2
  192. package/dist/cjs/queries/utils.d.ts +3 -3
  193. package/dist/cjs/queries/utils.js +24 -24
  194. package/dist/cjs/queries2/BaseQuery.d.ts +39 -0
  195. package/dist/cjs/queries2/BaseQuery.js +99 -0
  196. package/dist/cjs/queries2/BaseQuery.js.map +1 -0
  197. package/dist/cjs/queries2/CollectionQueries.d.ts +55 -0
  198. package/dist/cjs/queries2/CollectionQueries.js +83 -0
  199. package/dist/cjs/queries2/CollectionQueries.js.map +1 -0
  200. package/dist/cjs/queries2/FindAllQuery.d.ts +11 -0
  201. package/dist/cjs/queries2/FindAllQuery.js +34 -0
  202. package/dist/cjs/queries2/FindAllQuery.js.map +1 -0
  203. package/dist/cjs/queries2/FindInfiniteQuery.d.ts +18 -0
  204. package/dist/cjs/queries2/FindInfiniteQuery.js +61 -0
  205. package/dist/cjs/queries2/FindInfiniteQuery.js.map +1 -0
  206. package/dist/cjs/queries2/FindOneQuery.d.ts +11 -0
  207. package/dist/cjs/queries2/FindOneQuery.js +34 -0
  208. package/dist/cjs/queries2/FindOneQuery.js.map +1 -0
  209. package/dist/cjs/queries2/FindPageQuery.d.ts +23 -0
  210. package/dist/cjs/queries2/FindPageQuery.js +68 -0
  211. package/dist/cjs/queries2/FindPageQuery.js.map +1 -0
  212. package/dist/cjs/queries2/GetQuery.d.ts +10 -0
  213. package/dist/cjs/queries2/GetQuery.js +30 -0
  214. package/dist/cjs/queries2/GetQuery.js.map +1 -0
  215. package/dist/cjs/queries2/QueryCache.d.ts +16 -0
  216. package/dist/cjs/queries2/QueryCache.js +40 -0
  217. package/dist/cjs/queries2/QueryCache.js.map +1 -0
  218. package/dist/cjs/queries2/dbQueries.d.ts +22 -0
  219. package/dist/cjs/queries2/dbQueries.js +126 -0
  220. package/dist/cjs/queries2/dbQueries.js.map +1 -0
  221. package/dist/cjs/queries2/keys.d.ts +10 -0
  222. package/dist/cjs/queries2/keys.js +34 -0
  223. package/dist/cjs/queries2/keys.js.map +1 -0
  224. package/dist/cjs/queries2/ranges.d.ts +2 -0
  225. package/dist/cjs/queries2/ranges.js +70 -0
  226. package/dist/cjs/queries2/ranges.js.map +1 -0
  227. package/dist/cjs/queries2/types.d.ts +6 -0
  228. package/dist/cjs/queries2/types.js +3 -0
  229. package/dist/cjs/queries2/types.js.map +1 -0
  230. package/dist/cjs/queries2/utils.d.ts +1 -0
  231. package/dist/cjs/queries2/utils.js +20 -0
  232. package/dist/cjs/queries2/utils.js.map +1 -0
  233. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +47 -0
  234. package/dist/cjs/reactives/DocumentFamiliyCache.js +211 -0
  235. package/dist/cjs/reactives/DocumentFamiliyCache.js.map +1 -0
  236. package/dist/cjs/reactives/Entity.d.ts +191 -0
  237. package/dist/cjs/reactives/Entity.js +463 -0
  238. package/dist/cjs/reactives/Entity.js.map +1 -0
  239. package/dist/cjs/reactives/EntityStore.d.ts +84 -0
  240. package/dist/cjs/reactives/EntityStore.js +422 -0
  241. package/dist/cjs/reactives/EntityStore.js.map +1 -0
  242. package/dist/cjs/reactives/FakeWeakRef.d.ts +11 -0
  243. package/dist/cjs/reactives/FakeWeakRef.js +19 -0
  244. package/dist/cjs/reactives/FakeWeakRef.js.map +1 -0
  245. package/dist/cjs/sync/FileSync.d.ts +23 -23
  246. package/dist/cjs/sync/FileSync.js +84 -84
  247. package/dist/cjs/sync/Heartbeat.d.ts +25 -25
  248. package/dist/cjs/sync/Heartbeat.js +63 -63
  249. package/dist/cjs/sync/PresenceManager.d.ts +43 -43
  250. package/dist/cjs/sync/PresenceManager.js +119 -119
  251. package/dist/cjs/sync/PushPullSync.d.ts +36 -36
  252. package/dist/cjs/sync/PushPullSync.js +143 -143
  253. package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +27 -27
  254. package/dist/cjs/sync/ServerSyncEndpointProvider.js +64 -64
  255. package/dist/cjs/sync/Sync.d.ts +146 -146
  256. package/dist/cjs/sync/Sync.js +270 -270
  257. package/dist/cjs/sync/Sync.js.map +1 -1
  258. package/dist/cjs/sync/WebSocketSync.d.ts +41 -41
  259. package/dist/cjs/sync/WebSocketSync.js +190 -190
  260. package/dist/cjs/types.d.ts +12 -12
  261. package/dist/cjs/types.js +2 -2
  262. package/dist/cjs/utils/Disposable.d.ts +6 -6
  263. package/dist/cjs/utils/Disposable.js +18 -18
  264. package/dist/cjs/utils/Resolvable.d.ts +8 -8
  265. package/dist/cjs/utils/Resolvable.js +22 -22
  266. package/dist/cjs/v2/AckInfoStore.d.ts +10 -0
  267. package/dist/cjs/v2/AckInfoStore.js +26 -0
  268. package/dist/cjs/v2/AckInfoStore.js.map +1 -0
  269. package/dist/cjs/v2/BaselinesStore.d.ts +10 -0
  270. package/dist/cjs/v2/BaselinesStore.js +36 -0
  271. package/dist/cjs/v2/BaselinesStore.js.map +1 -0
  272. package/dist/cjs/v2/DocumentManager.d.ts +19 -0
  273. package/dist/cjs/v2/DocumentManager.js +47 -0
  274. package/dist/cjs/v2/DocumentManager.js.map +1 -0
  275. package/dist/cjs/v2/Entity.d.ts +87 -0
  276. package/dist/cjs/v2/Entity.js +305 -0
  277. package/dist/cjs/v2/Entity.js.map +1 -0
  278. package/dist/cjs/v2/EntityStore.d.ts +37 -0
  279. package/dist/cjs/v2/EntityStore.js +165 -0
  280. package/dist/cjs/v2/EntityStore.js.map +1 -0
  281. package/dist/cjs/v2/IDBService.d.ts +7 -0
  282. package/dist/cjs/v2/IDBService.js +26 -0
  283. package/dist/cjs/v2/IDBService.js.map +1 -0
  284. package/dist/cjs/v2/LocalHistoryStore.d.ts +15 -0
  285. package/dist/cjs/v2/LocalHistoryStore.js +53 -0
  286. package/dist/cjs/v2/LocalHistoryStore.js.map +1 -0
  287. package/dist/cjs/v2/LocalReplicaStore.d.ts +14 -0
  288. package/dist/cjs/v2/LocalReplicaStore.js +49 -0
  289. package/dist/cjs/v2/LocalReplicaStore.js.map +1 -0
  290. package/dist/cjs/v2/MessageCreator.d.ts +19 -0
  291. package/dist/cjs/v2/MessageCreator.js +99 -0
  292. package/dist/cjs/v2/MessageCreator.js.map +1 -0
  293. package/dist/cjs/v2/Metadata.d.ts +90 -0
  294. package/dist/cjs/v2/Metadata.js +251 -0
  295. package/dist/cjs/v2/Metadata.js.map +1 -0
  296. package/dist/cjs/v2/OperationsStore.d.ts +38 -0
  297. package/dist/cjs/v2/OperationsStore.js +146 -0
  298. package/dist/cjs/v2/OperationsStore.js.map +1 -0
  299. package/dist/cjs/v2/PresenceManager.d.ts +24 -0
  300. package/dist/cjs/v2/PresenceManager.js +73 -0
  301. package/dist/cjs/v2/PresenceManager.js.map +1 -0
  302. package/dist/cjs/v2/Query.d.ts +24 -0
  303. package/dist/cjs/v2/Query.js +79 -0
  304. package/dist/cjs/v2/Query.js.map +1 -0
  305. package/dist/cjs/v2/QueryMaker.d.ts +16 -0
  306. package/dist/cjs/v2/QueryMaker.js +84 -0
  307. package/dist/cjs/v2/QueryMaker.js.map +1 -0
  308. package/dist/cjs/v2/QueryStore.d.ts +26 -0
  309. package/dist/cjs/v2/QueryStore.js +136 -0
  310. package/dist/cjs/v2/QueryStore.js.map +1 -0
  311. package/dist/cjs/v2/SchemaStore.d.ts +9 -0
  312. package/dist/cjs/v2/SchemaStore.js +35 -0
  313. package/dist/cjs/v2/SchemaStore.js.map +1 -0
  314. package/dist/cjs/v2/Storage.d.ts +80 -0
  315. package/dist/cjs/v2/Storage.js +154 -0
  316. package/dist/cjs/v2/Storage.js.map +1 -0
  317. package/dist/cjs/v2/Sync.d.ts +42 -0
  318. package/dist/cjs/v2/Sync.js +98 -0
  319. package/dist/cjs/v2/Sync.js.map +1 -0
  320. package/dist/cjs/v2/SyncHarness.d.ts +45 -0
  321. package/dist/cjs/v2/SyncHarness.js +110 -0
  322. package/dist/cjs/v2/SyncHarness.js.map +1 -0
  323. package/dist/cjs/v2/__tests__/documents.test.d.ts +1 -0
  324. package/dist/cjs/v2/__tests__/documents.test.js +185 -0
  325. package/dist/cjs/v2/__tests__/documents.test.js.map +1 -0
  326. package/dist/cjs/v2/__tests__/fixtures/testStorage.d.ts +189 -0
  327. package/dist/cjs/v2/__tests__/fixtures/testStorage.js +93 -0
  328. package/dist/cjs/v2/__tests__/fixtures/testStorage.js.map +1 -0
  329. package/dist/cjs/v2/__tests__/queries.test.d.ts +1 -0
  330. package/dist/cjs/v2/__tests__/queries.test.js +92 -0
  331. package/dist/cjs/v2/__tests__/queries.test.js.map +1 -0
  332. package/dist/cjs/v2/__tests__/setup/indexedDB.d.ts +1 -0
  333. package/dist/cjs/v2/__tests__/setup/indexedDB.js +4 -0
  334. package/dist/cjs/v2/__tests__/setup/indexedDB.js.map +1 -0
  335. package/dist/cjs/v2/constants.d.ts +1 -0
  336. package/dist/cjs/v2/constants.js +5 -0
  337. package/dist/cjs/v2/constants.js.map +1 -0
  338. package/dist/cjs/v2/idb.d.ts +6 -0
  339. package/dist/cjs/v2/idb.js +71 -0
  340. package/dist/cjs/v2/idb.js.map +1 -0
  341. package/dist/cjs/v2/index.d.ts +6 -0
  342. package/dist/cjs/v2/index.js +14 -0
  343. package/dist/cjs/v2/index.js.map +1 -0
  344. package/dist/cjs/v2/indexes.d.ts +3 -0
  345. package/dist/cjs/v2/indexes.js +20 -0
  346. package/dist/cjs/v2/indexes.js.map +1 -0
  347. package/dist/cjs/v2/openDocumentDatabase.d.ts +9 -0
  348. package/dist/cjs/v2/openDocumentDatabase.js +100 -0
  349. package/dist/cjs/v2/openDocumentDatabase.js.map +1 -0
  350. package/dist/cjs/v2/types.d.ts +3 -0
  351. package/dist/cjs/v2/types.js +3 -0
  352. package/dist/cjs/v2/types.js.map +1 -0
  353. package/dist/cjs/vanilla.d.ts +1 -1
  354. package/dist/cjs/vanilla.js +27 -27
  355. package/dist/esm/AckInfoStore.d.ts +10 -0
  356. package/dist/esm/AckInfoStore.js +22 -0
  357. package/dist/esm/AckInfoStore.js.map +1 -0
  358. package/dist/esm/BackoffScheduler.d.ts +19 -19
  359. package/dist/esm/BackoffScheduler.js +39 -39
  360. package/dist/esm/BaselinesStore.d.ts +10 -0
  361. package/dist/esm/BaselinesStore.js +32 -0
  362. package/dist/esm/BaselinesStore.js.map +1 -0
  363. package/dist/esm/DocumentManager.d.ts +28 -28
  364. package/dist/esm/DocumentManager.js +40 -40
  365. package/dist/esm/Entity.d.ts +96 -0
  366. package/dist/esm/Entity.js +337 -0
  367. package/dist/esm/Entity.js.map +1 -0
  368. package/dist/esm/EntityStore.d.ts +36 -0
  369. package/dist/esm/EntityStore.js +168 -0
  370. package/dist/esm/EntityStore.js.map +1 -0
  371. package/dist/esm/FakeWeakRef.d.ts +11 -11
  372. package/dist/esm/FakeWeakRef.js +14 -14
  373. package/dist/esm/IDBService.d.ts +9 -9
  374. package/dist/esm/IDBService.js +59 -59
  375. package/dist/esm/LocalHistoryStore.d.ts +15 -0
  376. package/dist/esm/LocalHistoryStore.js +49 -0
  377. package/dist/esm/LocalHistoryStore.js.map +1 -0
  378. package/dist/esm/LocalReplicaStore.d.ts +13 -0
  379. package/dist/esm/LocalReplicaStore.js +42 -0
  380. package/dist/esm/LocalReplicaStore.js.map +1 -0
  381. package/dist/esm/MessageCreator.d.ts +19 -0
  382. package/dist/esm/MessageCreator.js +97 -0
  383. package/dist/esm/MessageCreator.js.map +1 -0
  384. package/dist/esm/Metadata.d.ts +91 -0
  385. package/dist/esm/Metadata.js +245 -0
  386. package/dist/esm/Metadata.js.map +1 -0
  387. package/dist/esm/OperationsStore.d.ts +38 -0
  388. package/dist/esm/OperationsStore.js +142 -0
  389. package/dist/esm/OperationsStore.js.map +1 -0
  390. package/dist/esm/PresenceManager.d.ts +30 -0
  391. package/dist/esm/PresenceManager.js +85 -0
  392. package/dist/esm/PresenceManager.js.map +1 -0
  393. package/dist/esm/Query.d.ts +26 -0
  394. package/dist/esm/Query.js +82 -0
  395. package/dist/esm/Query.js.map +1 -0
  396. package/dist/esm/QueryMaker.d.ts +18 -0
  397. package/dist/esm/QueryMaker.js +94 -0
  398. package/dist/esm/QueryMaker.js.map +1 -0
  399. package/dist/esm/QueryStore.d.ts +38 -0
  400. package/dist/esm/QueryStore.js +142 -0
  401. package/dist/esm/QueryStore.js.map +1 -0
  402. package/dist/esm/SchemaStore.d.ts +9 -0
  403. package/dist/esm/SchemaStore.js +31 -0
  404. package/dist/esm/SchemaStore.js.map +1 -0
  405. package/dist/esm/Storage.d.ts +147 -0
  406. package/dist/esm/Storage.js +341 -0
  407. package/dist/esm/Storage.js.map +1 -0
  408. package/dist/esm/Sync.d.ts +117 -0
  409. package/dist/esm/Sync.js +553 -0
  410. package/dist/esm/Sync.js.map +1 -0
  411. package/dist/esm/SyncHarness.d.ts +45 -0
  412. package/dist/esm/SyncHarness.js +105 -0
  413. package/dist/esm/SyncHarness.js.map +1 -0
  414. package/dist/esm/UndoHistory.d.ts +16 -16
  415. package/dist/esm/UndoHistory.js +46 -46
  416. package/dist/esm/__tests__/batching.test.d.ts +1 -1
  417. package/dist/esm/__tests__/batching.test.js +42 -42
  418. package/dist/esm/__tests__/documents.test.d.ts +1 -1
  419. package/dist/esm/__tests__/documents.test.js +413 -413
  420. package/dist/esm/__tests__/fixtures/testStorage.d.ts +123 -122
  421. package/dist/esm/__tests__/fixtures/testStorage.js +113 -111
  422. package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
  423. package/dist/esm/__tests__/legacyOids.test.d.ts +1 -1
  424. package/dist/esm/__tests__/legacyOids.test.js +307 -121
  425. package/dist/esm/__tests__/legacyOids.test.js.map +1 -1
  426. package/dist/esm/__tests__/mutations.test.d.ts +1 -1
  427. package/dist/esm/__tests__/mutations.test.js +39 -39
  428. package/dist/esm/__tests__/queries.test.d.ts +1 -1
  429. package/dist/esm/__tests__/queries.test.js +316 -316
  430. package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
  431. package/dist/esm/__tests__/setup/indexedDB.js +1 -1
  432. package/dist/esm/__tests__/undo.test.d.ts +1 -1
  433. package/dist/esm/__tests__/undo.test.js +84 -84
  434. package/dist/esm/client/Client.d.ts +99 -99
  435. package/dist/esm/client/Client.js +223 -223
  436. package/dist/esm/client/ClientDescriptor.d.ts +76 -74
  437. package/dist/esm/client/ClientDescriptor.js +193 -190
  438. package/dist/esm/client/ClientDescriptor.js.map +1 -1
  439. package/dist/esm/client/constants.d.ts +1 -0
  440. package/dist/esm/client/constants.js +2 -0
  441. package/dist/esm/client/constants.js.map +1 -0
  442. package/dist/esm/constants.d.ts +1 -1
  443. package/dist/esm/constants.js +1 -1
  444. package/dist/esm/context.d.ts +29 -29
  445. package/dist/esm/context.js +1 -1
  446. package/dist/esm/entities/DocumentFamiliyCache.d.ts +90 -90
  447. package/dist/esm/entities/DocumentFamiliyCache.js +278 -278
  448. package/dist/esm/entities/Entity.d.ts +206 -203
  449. package/dist/esm/entities/Entity.js +515 -515
  450. package/dist/esm/entities/EntityStore.d.ts +85 -85
  451. package/dist/esm/entities/EntityStore.js +475 -475
  452. package/dist/esm/files/EntityFile.d.ts +31 -31
  453. package/dist/esm/files/EntityFile.js +72 -72
  454. package/dist/esm/files/FileManager.d.ts +42 -42
  455. package/dist/esm/files/FileManager.js +148 -148
  456. package/dist/esm/files/FileStorage.d.ts +28 -28
  457. package/dist/esm/files/FileStorage.js +99 -99
  458. package/dist/esm/files/utils.d.ts +8 -8
  459. package/dist/esm/files/utils.js +46 -46
  460. package/dist/esm/files/utils.test.d.ts +1 -1
  461. package/dist/esm/files/utils.test.js +78 -78
  462. package/dist/esm/idb.d.ts +11 -11
  463. package/dist/esm/idb.js +100 -100
  464. package/dist/esm/index.d.ts +21 -21
  465. package/dist/esm/index.js +12 -12
  466. package/dist/esm/indexes.d.ts +3 -0
  467. package/dist/esm/indexes.js +15 -0
  468. package/dist/esm/indexes.js.map +1 -0
  469. package/dist/esm/metadata/AckInfoStore.d.ts +10 -10
  470. package/dist/esm/metadata/AckInfoStore.js +21 -21
  471. package/dist/esm/metadata/BaselinesStore.d.ts +33 -33
  472. package/dist/esm/metadata/BaselinesStore.js +85 -85
  473. package/dist/esm/metadata/LocalHistoryStore.d.ts +15 -0
  474. package/dist/esm/metadata/LocalHistoryStore.js +49 -0
  475. package/dist/esm/metadata/LocalHistoryStore.js.map +1 -0
  476. package/dist/esm/metadata/LocalReplicaStore.d.ts +17 -17
  477. package/dist/esm/metadata/LocalReplicaStore.js +40 -40
  478. package/dist/esm/metadata/MessageCreator.d.ts +19 -19
  479. package/dist/esm/metadata/MessageCreator.js +123 -123
  480. package/dist/esm/metadata/Metadata.d.ts +112 -112
  481. package/dist/esm/metadata/Metadata.js +348 -348
  482. package/dist/esm/metadata/OperationsStore.d.ts +53 -53
  483. package/dist/esm/metadata/OperationsStore.js +148 -148
  484. package/dist/esm/metadata/SchemaStore.d.ts +9 -9
  485. package/dist/esm/metadata/SchemaStore.js +34 -34
  486. package/dist/esm/metadata/openMetadataDatabase.d.ts +19 -17
  487. package/dist/esm/metadata/openMetadataDatabase.js +214 -153
  488. package/dist/esm/metadata/openMetadataDatabase.js.map +1 -1
  489. package/dist/esm/migration/db.d.ts +8 -8
  490. package/dist/esm/migration/db.js +103 -103
  491. package/dist/esm/migration/errors.d.ts +5 -5
  492. package/dist/esm/migration/errors.js +7 -7
  493. package/dist/esm/migration/openDatabase.d.ts +20 -20
  494. package/dist/esm/migration/openDatabase.js +423 -423
  495. package/dist/esm/migration/paths.d.ts +6 -6
  496. package/dist/esm/migration/paths.js +48 -48
  497. package/dist/esm/migration/paths.test.d.ts +1 -1
  498. package/dist/esm/migration/paths.test.js +88 -88
  499. package/dist/esm/openDocumentDatabase.d.ts +12 -0
  500. package/dist/esm/openDocumentDatabase.js +428 -0
  501. package/dist/esm/openDocumentDatabase.js.map +1 -0
  502. package/dist/esm/queries/BaseQuery.d.ts +53 -53
  503. package/dist/esm/queries/BaseQuery.js +131 -131
  504. package/dist/esm/queries/CollectionQueries.d.ts +55 -55
  505. package/dist/esm/queries/CollectionQueries.js +87 -87
  506. package/dist/esm/queries/FindAllQuery.d.ts +12 -12
  507. package/dist/esm/queries/FindAllQuery.js +38 -38
  508. package/dist/esm/queries/FindInfiniteQuery.d.ts +19 -19
  509. package/dist/esm/queries/FindInfiniteQuery.js +65 -65
  510. package/dist/esm/queries/FindOneQuery.d.ts +12 -12
  511. package/dist/esm/queries/FindOneQuery.js +38 -38
  512. package/dist/esm/queries/FindPageQuery.d.ts +24 -24
  513. package/dist/esm/queries/FindPageQuery.js +72 -72
  514. package/dist/esm/queries/GetQuery.d.ts +10 -10
  515. package/dist/esm/queries/GetQuery.js +25 -25
  516. package/dist/esm/queries/LiveQuery.d.ts +28 -0
  517. package/dist/esm/queries/LiveQuery.js +92 -0
  518. package/dist/esm/queries/LiveQuery.js.map +1 -0
  519. package/dist/esm/queries/LiveQueryMaker.d.ts +15 -0
  520. package/dist/esm/queries/LiveQueryMaker.js +38 -0
  521. package/dist/esm/queries/LiveQueryMaker.js.map +1 -0
  522. package/dist/esm/queries/LiveQueryStore.d.ts +33 -0
  523. package/dist/esm/queries/LiveQueryStore.js +81 -0
  524. package/dist/esm/queries/LiveQueryStore.js.map +1 -0
  525. package/dist/esm/queries/Query.d.ts +18 -0
  526. package/dist/esm/queries/Query.js +32 -0
  527. package/dist/esm/queries/Query.js.map +1 -0
  528. package/dist/esm/queries/QueryCache.d.ts +16 -16
  529. package/dist/esm/queries/QueryCache.js +37 -37
  530. package/dist/esm/queries/QueryMaker.d.ts +14 -0
  531. package/dist/esm/queries/QueryMaker.js +38 -0
  532. package/dist/esm/queries/QueryMaker.js.map +1 -0
  533. package/dist/esm/queries/QueryStore.d.ts +35 -0
  534. package/dist/esm/queries/QueryStore.js +126 -0
  535. package/dist/esm/queries/QueryStore.js.map +1 -0
  536. package/dist/esm/queries/dbQueries.d.ts +22 -22
  537. package/dist/esm/queries/dbQueries.js +119 -119
  538. package/dist/esm/queries/keys.d.ts +10 -10
  539. package/dist/esm/queries/keys.js +29 -29
  540. package/dist/esm/queries/ranges.d.ts +2 -2
  541. package/dist/esm/queries/ranges.js +65 -65
  542. package/dist/esm/queries/types.d.ts +6 -6
  543. package/dist/esm/queries/types.js +1 -1
  544. package/dist/esm/queries/utils.d.ts +3 -3
  545. package/dist/esm/queries/utils.js +19 -19
  546. package/dist/esm/queries2/BaseQuery.d.ts +39 -0
  547. package/dist/esm/queries2/BaseQuery.js +95 -0
  548. package/dist/esm/queries2/BaseQuery.js.map +1 -0
  549. package/dist/esm/queries2/CollectionQueries.d.ts +55 -0
  550. package/dist/esm/queries2/CollectionQueries.js +79 -0
  551. package/dist/esm/queries2/CollectionQueries.js.map +1 -0
  552. package/dist/esm/queries2/FindAllQuery.d.ts +11 -0
  553. package/dist/esm/queries2/FindAllQuery.js +30 -0
  554. package/dist/esm/queries2/FindAllQuery.js.map +1 -0
  555. package/dist/esm/queries2/FindInfiniteQuery.d.ts +18 -0
  556. package/dist/esm/queries2/FindInfiniteQuery.js +57 -0
  557. package/dist/esm/queries2/FindInfiniteQuery.js.map +1 -0
  558. package/dist/esm/queries2/FindOneQuery.d.ts +11 -0
  559. package/dist/esm/queries2/FindOneQuery.js +30 -0
  560. package/dist/esm/queries2/FindOneQuery.js.map +1 -0
  561. package/dist/esm/queries2/FindPageQuery.d.ts +23 -0
  562. package/dist/esm/queries2/FindPageQuery.js +64 -0
  563. package/dist/esm/queries2/FindPageQuery.js.map +1 -0
  564. package/dist/esm/queries2/GetQuery.d.ts +10 -0
  565. package/dist/esm/queries2/GetQuery.js +26 -0
  566. package/dist/esm/queries2/GetQuery.js.map +1 -0
  567. package/dist/esm/queries2/QueryCache.d.ts +16 -0
  568. package/dist/esm/queries2/QueryCache.js +36 -0
  569. package/dist/esm/queries2/QueryCache.js.map +1 -0
  570. package/dist/esm/queries2/dbQueries.d.ts +22 -0
  571. package/dist/esm/queries2/dbQueries.js +120 -0
  572. package/dist/esm/queries2/dbQueries.js.map +1 -0
  573. package/dist/esm/queries2/keys.d.ts +10 -0
  574. package/dist/esm/queries2/keys.js +30 -0
  575. package/dist/esm/queries2/keys.js.map +1 -0
  576. package/dist/esm/queries2/ranges.d.ts +2 -0
  577. package/dist/esm/queries2/ranges.js +66 -0
  578. package/dist/esm/queries2/ranges.js.map +1 -0
  579. package/dist/esm/queries2/types.d.ts +6 -0
  580. package/dist/esm/queries2/types.js +2 -0
  581. package/dist/esm/queries2/types.js.map +1 -0
  582. package/dist/esm/queries2/utils.d.ts +1 -0
  583. package/dist/esm/queries2/utils.js +16 -0
  584. package/dist/esm/queries2/utils.js.map +1 -0
  585. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +47 -0
  586. package/dist/esm/reactives/DocumentFamiliyCache.js +207 -0
  587. package/dist/esm/reactives/DocumentFamiliyCache.js.map +1 -0
  588. package/dist/esm/reactives/Entity.d.ts +191 -0
  589. package/dist/esm/reactives/Entity.js +458 -0
  590. package/dist/esm/reactives/Entity.js.map +1 -0
  591. package/dist/esm/reactives/EntityStore.d.ts +84 -0
  592. package/dist/esm/reactives/EntityStore.js +418 -0
  593. package/dist/esm/reactives/EntityStore.js.map +1 -0
  594. package/dist/esm/reactives/FakeWeakRef.d.ts +11 -0
  595. package/dist/esm/reactives/FakeWeakRef.js +15 -0
  596. package/dist/esm/reactives/FakeWeakRef.js.map +1 -0
  597. package/dist/esm/sync/FileSync.d.ts +23 -23
  598. package/dist/esm/sync/FileSync.js +80 -80
  599. package/dist/esm/sync/Heartbeat.d.ts +25 -25
  600. package/dist/esm/sync/Heartbeat.js +59 -59
  601. package/dist/esm/sync/PresenceManager.d.ts +43 -43
  602. package/dist/esm/sync/PresenceManager.js +115 -115
  603. package/dist/esm/sync/PushPullSync.d.ts +36 -36
  604. package/dist/esm/sync/PushPullSync.js +139 -139
  605. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +27 -27
  606. package/dist/esm/sync/ServerSyncEndpointProvider.js +57 -57
  607. package/dist/esm/sync/Sync.d.ts +146 -146
  608. package/dist/esm/sync/Sync.js +265 -265
  609. package/dist/esm/sync/Sync.js.map +1 -1
  610. package/dist/esm/sync/{WebSocketSync.d.ts → WebsocketSync.d.ts} +41 -41
  611. package/dist/esm/sync/{WebSocketSync.js → WebsocketSync.js} +186 -186
  612. package/dist/esm/types.d.ts +12 -12
  613. package/dist/esm/types.js +1 -1
  614. package/dist/esm/utils/Disposable.d.ts +6 -6
  615. package/dist/esm/utils/Disposable.js +14 -14
  616. package/dist/esm/utils/Resolvable.d.ts +8 -8
  617. package/dist/esm/utils/Resolvable.js +18 -18
  618. package/dist/esm/v2/AckInfoStore.d.ts +10 -0
  619. package/dist/esm/v2/AckInfoStore.js +22 -0
  620. package/dist/esm/v2/AckInfoStore.js.map +1 -0
  621. package/dist/esm/v2/BaselinesStore.d.ts +10 -0
  622. package/dist/esm/v2/BaselinesStore.js +32 -0
  623. package/dist/esm/v2/BaselinesStore.js.map +1 -0
  624. package/dist/esm/v2/DocumentManager.d.ts +19 -0
  625. package/dist/esm/v2/DocumentManager.js +43 -0
  626. package/dist/esm/v2/DocumentManager.js.map +1 -0
  627. package/dist/esm/v2/Entity.d.ts +91 -0
  628. package/dist/esm/v2/Entity.js +305 -0
  629. package/dist/esm/v2/Entity.js.map +1 -0
  630. package/dist/esm/v2/EntityStore.d.ts +37 -0
  631. package/dist/esm/v2/EntityStore.js +166 -0
  632. package/dist/esm/v2/EntityStore.js.map +1 -0
  633. package/dist/esm/v2/IDBService.d.ts +7 -0
  634. package/dist/esm/v2/IDBService.js +22 -0
  635. package/dist/esm/v2/IDBService.js.map +1 -0
  636. package/dist/esm/v2/LocalHistoryStore.d.ts +15 -0
  637. package/dist/esm/v2/LocalHistoryStore.js +49 -0
  638. package/dist/esm/v2/LocalHistoryStore.js.map +1 -0
  639. package/dist/esm/v2/LocalReplicaStore.d.ts +14 -0
  640. package/dist/esm/v2/LocalReplicaStore.js +42 -0
  641. package/dist/esm/v2/LocalReplicaStore.js.map +1 -0
  642. package/dist/esm/v2/MessageCreator.d.ts +19 -0
  643. package/dist/esm/v2/MessageCreator.js +92 -0
  644. package/dist/esm/v2/MessageCreator.js.map +1 -0
  645. package/dist/esm/v2/Metadata.d.ts +90 -0
  646. package/dist/esm/v2/Metadata.js +246 -0
  647. package/dist/esm/v2/Metadata.js.map +1 -0
  648. package/dist/esm/v2/OperationsStore.d.ts +38 -0
  649. package/dist/esm/v2/OperationsStore.js +142 -0
  650. package/dist/esm/v2/OperationsStore.js.map +1 -0
  651. package/dist/esm/v2/PresenceManager.d.ts +24 -0
  652. package/dist/esm/v2/PresenceManager.js +69 -0
  653. package/dist/esm/v2/PresenceManager.js.map +1 -0
  654. package/dist/esm/v2/Query.d.ts +24 -0
  655. package/dist/esm/v2/Query.js +75 -0
  656. package/dist/esm/v2/Query.js.map +1 -0
  657. package/dist/esm/v2/QueryMaker.d.ts +16 -0
  658. package/dist/esm/v2/QueryMaker.js +80 -0
  659. package/dist/esm/v2/QueryMaker.js.map +1 -0
  660. package/dist/esm/v2/QueryStore.d.ts +26 -0
  661. package/dist/esm/v2/QueryStore.js +132 -0
  662. package/dist/esm/v2/QueryStore.js.map +1 -0
  663. package/dist/esm/v2/SchemaStore.d.ts +9 -0
  664. package/dist/esm/v2/SchemaStore.js +31 -0
  665. package/dist/esm/v2/SchemaStore.js.map +1 -0
  666. package/dist/esm/v2/Storage.d.ts +80 -0
  667. package/dist/esm/v2/Storage.js +149 -0
  668. package/dist/esm/v2/Storage.js.map +1 -0
  669. package/dist/esm/v2/Sync.d.ts +42 -0
  670. package/dist/esm/v2/Sync.js +94 -0
  671. package/dist/esm/v2/Sync.js.map +1 -0
  672. package/dist/esm/v2/SyncHarness.d.ts +45 -0
  673. package/dist/esm/v2/SyncHarness.js +105 -0
  674. package/dist/esm/v2/SyncHarness.js.map +1 -0
  675. package/dist/esm/v2/__tests__/documents.test.d.ts +1 -0
  676. package/dist/esm/v2/__tests__/documents.test.js +208 -0
  677. package/dist/esm/v2/__tests__/documents.test.js.map +1 -0
  678. package/dist/esm/v2/__tests__/fixtures/testStorage.d.ts +223 -0
  679. package/dist/esm/v2/__tests__/fixtures/testStorage.js +106 -0
  680. package/dist/esm/v2/__tests__/fixtures/testStorage.js.map +1 -0
  681. package/dist/esm/v2/__tests__/queries.test.d.ts +1 -0
  682. package/dist/esm/v2/__tests__/queries.test.js +90 -0
  683. package/dist/esm/v2/__tests__/queries.test.js.map +1 -0
  684. package/dist/esm/v2/__tests__/setup/indexedDB.d.ts +1 -0
  685. package/dist/esm/v2/__tests__/setup/indexedDB.js +2 -0
  686. package/dist/esm/v2/__tests__/setup/indexedDB.js.map +1 -0
  687. package/dist/esm/v2/constants.d.ts +1 -0
  688. package/dist/esm/v2/constants.js +2 -0
  689. package/dist/esm/v2/constants.js.map +1 -0
  690. package/dist/esm/v2/idb.d.ts +6 -0
  691. package/dist/esm/v2/idb.js +65 -0
  692. package/dist/esm/v2/idb.js.map +1 -0
  693. package/dist/esm/v2/index.d.ts +6 -0
  694. package/dist/esm/v2/index.js +5 -0
  695. package/dist/esm/v2/index.js.map +1 -0
  696. package/dist/esm/v2/indexes.d.ts +3 -0
  697. package/dist/esm/v2/indexes.js +15 -0
  698. package/dist/esm/v2/indexes.js.map +1 -0
  699. package/dist/esm/v2/openDocumentDatabase.d.ts +9 -0
  700. package/dist/esm/v2/openDocumentDatabase.js +96 -0
  701. package/dist/esm/v2/openDocumentDatabase.js.map +1 -0
  702. package/dist/esm/v2/types.d.ts +3 -0
  703. package/dist/esm/v2/types.js +2 -0
  704. package/dist/esm/v2/types.js.map +1 -0
  705. package/dist/esm/vanilla.d.ts +1 -1
  706. package/dist/esm/vanilla.js +2 -2
  707. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  708. package/dist/tsconfig.tsbuildinfo +1 -1
  709. package/package.json +2 -2
  710. package/src/__tests__/fixtures/testStorage.ts +8 -1
  711. package/src/__tests__/legacyOids.test.ts +240 -49
  712. package/src/client/ClientDescriptor.ts +6 -0
  713. package/src/client/constants.ts +1 -0
  714. package/src/entities/Entity.ts +10 -2
  715. package/src/metadata/openMetadataDatabase.ts +65 -2
  716. package/src/sync/Sync.ts +1 -0
  717. /package/dist/esm/sync/{WebSocketSync.js.map → WebsocketSync.js.map} +0 -0
@@ -1,31 +1,31 @@
1
- import { EventSubscriber, FileData } from '@verdant-web/common';
2
- export type EntityFileEvents = {
3
- change: () => void;
4
- };
5
- export declare const UPDATE: unique symbol;
6
- export declare const MARK_FAILED: unique symbol;
7
- /**
8
- * Provides a consistent interface for files used in an app via
9
- * Entity access.
10
- */
11
- export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
12
- readonly id: string;
13
- private _objectUrl;
14
- private _fileData;
15
- private _loading;
16
- private _failed;
17
- private _disposed;
18
- private _downloadRemote;
19
- constructor(id: string, { downloadRemote, }?: {
20
- downloadRemote?: boolean;
21
- });
22
- get downloadRemote(): boolean;
23
- [UPDATE]: (fileData: FileData) => void;
24
- [MARK_FAILED]: () => void;
25
- get url(): string | null;
26
- get name(): string | null;
27
- get type(): string | null;
28
- get loading(): boolean;
29
- get failed(): boolean;
30
- dispose: () => void;
31
- }
1
+ import { EventSubscriber, FileData } from '@verdant-web/common';
2
+ export type EntityFileEvents = {
3
+ change: () => void;
4
+ };
5
+ export declare const UPDATE: unique symbol;
6
+ export declare const MARK_FAILED: unique symbol;
7
+ /**
8
+ * Provides a consistent interface for files used in an app via
9
+ * Entity access.
10
+ */
11
+ export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
12
+ readonly id: string;
13
+ private _objectUrl;
14
+ private _fileData;
15
+ private _loading;
16
+ private _failed;
17
+ private _disposed;
18
+ private _downloadRemote;
19
+ constructor(id: string, { downloadRemote, }?: {
20
+ downloadRemote?: boolean;
21
+ });
22
+ get downloadRemote(): boolean;
23
+ [UPDATE]: (fileData: FileData) => void;
24
+ [MARK_FAILED]: () => void;
25
+ get url(): string | null;
26
+ get name(): string | null;
27
+ get type(): string | null;
28
+ get loading(): boolean;
29
+ get failed(): boolean;
30
+ dispose: () => void;
31
+ }
@@ -1,73 +1,73 @@
1
- var _a, _b;
2
- import { EventSubscriber } from '@verdant-web/common';
3
- export const UPDATE = Symbol('entity-file-update');
4
- export const MARK_FAILED = Symbol('entity-file-mark-failed');
5
- /**
6
- * Provides a consistent interface for files used in an app via
7
- * Entity access.
8
- */
9
- export class EntityFile extends EventSubscriber {
10
- constructor(id, { downloadRemote = false, } = {}) {
11
- super();
12
- this.id = id;
13
- // cached object URL for a local blob file, if applicable
14
- this._objectUrl = null;
15
- this._fileData = null;
16
- this._loading = true;
17
- this._failed = false;
18
- this._disposed = false;
19
- this._downloadRemote = false;
20
- this[_a] = (fileData) => {
21
- this._loading = false;
22
- this._failed = false;
23
- this._disposed = false;
24
- this._fileData = fileData;
25
- if (fileData.file) {
26
- if (this._objectUrl) {
27
- URL.revokeObjectURL(this._objectUrl);
28
- }
29
- this._objectUrl = URL.createObjectURL(fileData.file);
30
- }
31
- this.emit('change');
32
- };
33
- this[_b] = () => {
34
- this._failed = true;
35
- this._loading = false;
36
- this.emit('change');
37
- };
38
- this.dispose = () => {
39
- if (this._objectUrl) {
40
- URL.revokeObjectURL(this._objectUrl);
41
- }
42
- this._disposed = true;
43
- };
44
- this._downloadRemote = downloadRemote;
45
- }
46
- get downloadRemote() {
47
- return this._downloadRemote;
48
- }
49
- get url() {
50
- var _c, _d;
51
- if (this.loading)
52
- return null;
53
- if (this._objectUrl)
54
- return this._objectUrl;
55
- return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : null;
56
- }
57
- get name() {
58
- var _c, _d;
59
- return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null;
60
- }
61
- get type() {
62
- var _c, _d;
63
- return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null;
64
- }
65
- get loading() {
66
- return this._loading;
67
- }
68
- get failed() {
69
- return this._failed;
70
- }
71
- }
72
- _a = UPDATE, _b = MARK_FAILED;
1
+ var _a, _b;
2
+ import { EventSubscriber } from '@verdant-web/common';
3
+ export const UPDATE = Symbol('entity-file-update');
4
+ export const MARK_FAILED = Symbol('entity-file-mark-failed');
5
+ /**
6
+ * Provides a consistent interface for files used in an app via
7
+ * Entity access.
8
+ */
9
+ export class EntityFile extends EventSubscriber {
10
+ constructor(id, { downloadRemote = false, } = {}) {
11
+ super();
12
+ this.id = id;
13
+ // cached object URL for a local blob file, if applicable
14
+ this._objectUrl = null;
15
+ this._fileData = null;
16
+ this._loading = true;
17
+ this._failed = false;
18
+ this._disposed = false;
19
+ this._downloadRemote = false;
20
+ this[_a] = (fileData) => {
21
+ this._loading = false;
22
+ this._failed = false;
23
+ this._disposed = false;
24
+ this._fileData = fileData;
25
+ if (fileData.file) {
26
+ if (this._objectUrl) {
27
+ URL.revokeObjectURL(this._objectUrl);
28
+ }
29
+ this._objectUrl = URL.createObjectURL(fileData.file);
30
+ }
31
+ this.emit('change');
32
+ };
33
+ this[_b] = () => {
34
+ this._failed = true;
35
+ this._loading = false;
36
+ this.emit('change');
37
+ };
38
+ this.dispose = () => {
39
+ if (this._objectUrl) {
40
+ URL.revokeObjectURL(this._objectUrl);
41
+ }
42
+ this._disposed = true;
43
+ };
44
+ this._downloadRemote = downloadRemote;
45
+ }
46
+ get downloadRemote() {
47
+ return this._downloadRemote;
48
+ }
49
+ get url() {
50
+ var _c, _d;
51
+ if (this.loading)
52
+ return null;
53
+ if (this._objectUrl)
54
+ return this._objectUrl;
55
+ return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.url) !== null && _d !== void 0 ? _d : null;
56
+ }
57
+ get name() {
58
+ var _c, _d;
59
+ return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null;
60
+ }
61
+ get type() {
62
+ var _c, _d;
63
+ return (_d = (_c = this._fileData) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : null;
64
+ }
65
+ get loading() {
66
+ return this._loading;
67
+ }
68
+ get failed() {
69
+ return this._failed;
70
+ }
71
+ }
72
+ _a = UPDATE, _b = MARK_FAILED;
73
73
  //# sourceMappingURL=EntityFile.js.map
@@ -1,42 +1,42 @@
1
- import { FileData } from '@verdant-web/common';
2
- import { Context } from '../context.js';
3
- import { Metadata } from '../metadata/Metadata.js';
4
- import { Sync } from '../sync/Sync.js';
5
- import { EntityFile } from './EntityFile.js';
6
- import { ReturnedFileData } from './FileStorage.js';
7
- export interface FileManagerConfig {
8
- /**
9
- * Override the heuristic for deciding when a deleted file can be cleaned up.
10
- * By default this waits 3 days since deletion, then deletes the file data.
11
- * If the file has been synchronized to a server, it could still be restored
12
- * if the server has not yet deleted it.
13
- */
14
- canCleanupDeletedFile?: (file: ReturnedFileData) => boolean;
15
- }
16
- export declare class FileManager {
17
- private storage;
18
- private sync;
19
- private context;
20
- private files;
21
- private config;
22
- private meta;
23
- constructor({ db, sync, context, meta, config, }: {
24
- db: IDBDatabase;
25
- sync: Sync;
26
- context: Context;
27
- config?: FileManagerConfig;
28
- meta: Metadata;
29
- });
30
- add: (fileInput: Omit<FileData, 'remote'>) => Promise<void>;
31
- private uploadFile;
32
- /**
33
- * Immediately returns an EntityFile to use, then either loads
34
- * the file from cache, local database, or the server.
35
- */
36
- get: (id: string) => EntityFile;
37
- private load;
38
- listUnsynced: () => Promise<ReturnedFileData[]>;
39
- private onOnlineChange;
40
- private tryCleanupDeletedFiles;
41
- private handleFileRefsDeleted;
42
- }
1
+ import { FileData } from '@verdant-web/common';
2
+ import { Context } from '../context.js';
3
+ import { Metadata } from '../metadata/Metadata.js';
4
+ import { Sync } from '../sync/Sync.js';
5
+ import { EntityFile } from './EntityFile.js';
6
+ import { ReturnedFileData } from './FileStorage.js';
7
+ export interface FileManagerConfig {
8
+ /**
9
+ * Override the heuristic for deciding when a deleted file can be cleaned up.
10
+ * By default this waits 3 days since deletion, then deletes the file data.
11
+ * If the file has been synchronized to a server, it could still be restored
12
+ * if the server has not yet deleted it.
13
+ */
14
+ canCleanupDeletedFile?: (file: ReturnedFileData) => boolean;
15
+ }
16
+ export declare class FileManager {
17
+ private storage;
18
+ private sync;
19
+ private context;
20
+ private files;
21
+ private config;
22
+ private meta;
23
+ constructor({ db, sync, context, meta, config, }: {
24
+ db: IDBDatabase;
25
+ sync: Sync;
26
+ context: Context;
27
+ config?: FileManagerConfig;
28
+ meta: Metadata;
29
+ });
30
+ add: (fileInput: Omit<FileData, 'remote'>) => Promise<void>;
31
+ private uploadFile;
32
+ /**
33
+ * Immediately returns an EntityFile to use, then either loads
34
+ * the file from cache, local database, or the server.
35
+ */
36
+ get: (id: string) => EntityFile;
37
+ private load;
38
+ listUnsynced: () => Promise<ReturnedFileData[]>;
39
+ private onOnlineChange;
40
+ private tryCleanupDeletedFiles;
41
+ private handleFileRefsDeleted;
42
+ }
@@ -1,149 +1,149 @@
1
- import { EntityFile, MARK_FAILED, UPDATE } from './EntityFile.js';
2
- import { FileStorage } from './FileStorage.js';
3
- /**
4
- * Default: if file was deleted > 3 days ago
5
- */
6
- function defaultCanCleanup(fileData) {
7
- return (fileData.deletedAt !== null &&
8
- fileData.deletedAt < Date.now() - 1000 * 60 * 24 * 3);
9
- }
10
- export class FileManager {
11
- constructor({ db, sync, context, meta, config = {}, }) {
12
- this.files = new Map();
13
- this.add = async (fileInput) => {
14
- const file = fileInput;
15
- file.remote = false;
16
- // immediately cache the file
17
- if (!this.files.has(file.id)) {
18
- const entityFile = new EntityFile(file.id);
19
- entityFile[UPDATE](file);
20
- this.files.set(file.id, entityFile);
21
- }
22
- else {
23
- this.files.get(file.id)[UPDATE](file);
24
- }
25
- // write to local storage and send to sync immediately
26
- await this.storage.addFile(file);
27
- // send to sync
28
- if (file.file) {
29
- const result = await this.sync.uploadFile(file);
30
- if (result.success) {
31
- await this.storage.markUploaded(file.id);
32
- }
33
- else {
34
- this.context.log('error', 'Failed to upload file');
35
- }
36
- }
37
- };
38
- this.uploadFile = async (file, retries = 0) => {
39
- const result = await this.sync.uploadFile(file);
40
- if (result.success) {
41
- await this.storage.markUploaded(file.id);
42
- }
43
- else {
44
- if (result.retry && retries < 5) {
45
- this.context.log('error', 'Error uploading file, retrying...');
46
- // schedule a retry
47
- setTimeout(this.uploadFile, 1000, file, retries + 1);
48
- }
49
- else {
50
- this.context.log('error', 'Failed to upload file. Not retrying until next sync.');
51
- }
52
- }
53
- };
54
- /**
55
- * Immediately returns an EntityFile to use, then either loads
56
- * the file from cache, local database, or the server.
57
- */
58
- this.get = (id) => {
59
- if (this.files.has(id)) {
60
- return this.files.get(id);
61
- }
62
- const file = new EntityFile(id);
63
- this.files.set(id, file);
64
- this.load(file);
65
- return file;
66
- };
67
- this.load = async (file, retries = 0) => {
68
- if (retries > 5) {
69
- file[MARK_FAILED]();
70
- return;
71
- }
72
- const fileData = await this.storage.getFile(file.id);
73
- if (fileData) {
74
- file[UPDATE](fileData);
75
- }
76
- else {
77
- // maybe we don't have it yet, it might be on the server still.
78
- try {
79
- const result = await this.sync.getFile(file.id);
80
- if (result.success) {
81
- file[UPDATE](result.data);
82
- await this.storage.addFile(result.data, {
83
- downloadRemote: file.downloadRemote,
84
- });
85
- }
86
- else {
87
- file[MARK_FAILED]();
88
- if (result.retry) {
89
- // schedule a retry
90
- setTimeout(this.load, 1000, file, retries + 1);
91
- }
92
- }
93
- }
94
- catch (err) {
95
- this.context.log('error', 'Failed to load file', err);
96
- file[MARK_FAILED]();
97
- // schedule a retry
98
- setTimeout(this.load, 1000, file, retries + 1);
99
- }
100
- }
101
- };
102
- this.listUnsynced = async () => {
103
- return this.storage.listUnsynced();
104
- };
105
- this.onOnlineChange = async (online) => {
106
- // if online, try to upload any unsynced files
107
- if (online) {
108
- const unsynced = await this.listUnsynced();
109
- await Promise.all(unsynced.map(this.uploadFile));
110
- }
111
- };
112
- this.tryCleanupDeletedFiles = async () => {
113
- let count = 0;
114
- let skipCount = 0;
115
- await this.storage.iterateOverPendingDelete((fileData, store) => {
116
- if (this.config.canCleanupDeletedFile(fileData)) {
117
- count++;
118
- store.delete(fileData.id);
119
- }
120
- else {
121
- skipCount++;
122
- }
123
- });
124
- this.context.log('info', `Cleaned up ${count} files, skipped ${skipCount} files`);
125
- };
126
- this.handleFileRefsDeleted = async (fileRefs) => {
127
- const tx = this.storage.createTransaction(['files'], 'readwrite');
128
- await Promise.all(fileRefs.map(async (fileRef) => {
129
- try {
130
- await this.storage.markPendingDelete(fileRef.id, { transaction: tx });
131
- }
132
- catch (err) {
133
- this.context.log('error', 'Failed to mark file for deletion', err);
134
- }
135
- }));
136
- this.context.log('info', `Marked ${fileRefs.length} files as pending delete`);
137
- };
138
- this.storage = new FileStorage(db);
139
- this.sync = sync;
140
- this.context = context;
141
- this.meta = meta;
142
- this.config = Object.assign({ canCleanupDeletedFile: defaultCanCleanup }, config);
143
- this.sync.subscribe('onlineChange', this.onOnlineChange);
144
- this.meta.subscribe('filesDeleted', this.handleFileRefsDeleted);
145
- // check on startup to see if files can be cleaned up
146
- this.tryCleanupDeletedFiles();
147
- }
148
- }
1
+ import { EntityFile, MARK_FAILED, UPDATE } from './EntityFile.js';
2
+ import { FileStorage } from './FileStorage.js';
3
+ /**
4
+ * Default: if file was deleted > 3 days ago
5
+ */
6
+ function defaultCanCleanup(fileData) {
7
+ return (fileData.deletedAt !== null &&
8
+ fileData.deletedAt < Date.now() - 1000 * 60 * 24 * 3);
9
+ }
10
+ export class FileManager {
11
+ constructor({ db, sync, context, meta, config = {}, }) {
12
+ this.files = new Map();
13
+ this.add = async (fileInput) => {
14
+ const file = fileInput;
15
+ file.remote = false;
16
+ // immediately cache the file
17
+ if (!this.files.has(file.id)) {
18
+ const entityFile = new EntityFile(file.id);
19
+ entityFile[UPDATE](file);
20
+ this.files.set(file.id, entityFile);
21
+ }
22
+ else {
23
+ this.files.get(file.id)[UPDATE](file);
24
+ }
25
+ // write to local storage and send to sync immediately
26
+ await this.storage.addFile(file);
27
+ // send to sync
28
+ if (file.file) {
29
+ const result = await this.sync.uploadFile(file);
30
+ if (result.success) {
31
+ await this.storage.markUploaded(file.id);
32
+ }
33
+ else {
34
+ this.context.log('error', 'Failed to upload file');
35
+ }
36
+ }
37
+ };
38
+ this.uploadFile = async (file, retries = 0) => {
39
+ const result = await this.sync.uploadFile(file);
40
+ if (result.success) {
41
+ await this.storage.markUploaded(file.id);
42
+ }
43
+ else {
44
+ if (result.retry && retries < 5) {
45
+ this.context.log('error', 'Error uploading file, retrying...');
46
+ // schedule a retry
47
+ setTimeout(this.uploadFile, 1000, file, retries + 1);
48
+ }
49
+ else {
50
+ this.context.log('error', 'Failed to upload file. Not retrying until next sync.');
51
+ }
52
+ }
53
+ };
54
+ /**
55
+ * Immediately returns an EntityFile to use, then either loads
56
+ * the file from cache, local database, or the server.
57
+ */
58
+ this.get = (id) => {
59
+ if (this.files.has(id)) {
60
+ return this.files.get(id);
61
+ }
62
+ const file = new EntityFile(id);
63
+ this.files.set(id, file);
64
+ this.load(file);
65
+ return file;
66
+ };
67
+ this.load = async (file, retries = 0) => {
68
+ if (retries > 5) {
69
+ file[MARK_FAILED]();
70
+ return;
71
+ }
72
+ const fileData = await this.storage.getFile(file.id);
73
+ if (fileData) {
74
+ file[UPDATE](fileData);
75
+ }
76
+ else {
77
+ // maybe we don't have it yet, it might be on the server still.
78
+ try {
79
+ const result = await this.sync.getFile(file.id);
80
+ if (result.success) {
81
+ file[UPDATE](result.data);
82
+ await this.storage.addFile(result.data, {
83
+ downloadRemote: file.downloadRemote,
84
+ });
85
+ }
86
+ else {
87
+ file[MARK_FAILED]();
88
+ if (result.retry) {
89
+ // schedule a retry
90
+ setTimeout(this.load, 1000, file, retries + 1);
91
+ }
92
+ }
93
+ }
94
+ catch (err) {
95
+ this.context.log('error', 'Failed to load file', err);
96
+ file[MARK_FAILED]();
97
+ // schedule a retry
98
+ setTimeout(this.load, 1000, file, retries + 1);
99
+ }
100
+ }
101
+ };
102
+ this.listUnsynced = async () => {
103
+ return this.storage.listUnsynced();
104
+ };
105
+ this.onOnlineChange = async (online) => {
106
+ // if online, try to upload any unsynced files
107
+ if (online) {
108
+ const unsynced = await this.listUnsynced();
109
+ await Promise.all(unsynced.map(this.uploadFile));
110
+ }
111
+ };
112
+ this.tryCleanupDeletedFiles = async () => {
113
+ let count = 0;
114
+ let skipCount = 0;
115
+ await this.storage.iterateOverPendingDelete((fileData, store) => {
116
+ if (this.config.canCleanupDeletedFile(fileData)) {
117
+ count++;
118
+ store.delete(fileData.id);
119
+ }
120
+ else {
121
+ skipCount++;
122
+ }
123
+ });
124
+ this.context.log('info', `Cleaned up ${count} files, skipped ${skipCount} files`);
125
+ };
126
+ this.handleFileRefsDeleted = async (fileRefs) => {
127
+ const tx = this.storage.createTransaction(['files'], 'readwrite');
128
+ await Promise.all(fileRefs.map(async (fileRef) => {
129
+ try {
130
+ await this.storage.markPendingDelete(fileRef.id, { transaction: tx });
131
+ }
132
+ catch (err) {
133
+ this.context.log('error', 'Failed to mark file for deletion', err);
134
+ }
135
+ }));
136
+ this.context.log('info', `Marked ${fileRefs.length} files as pending delete`);
137
+ };
138
+ this.storage = new FileStorage(db);
139
+ this.sync = sync;
140
+ this.context = context;
141
+ this.meta = meta;
142
+ this.config = Object.assign({ canCleanupDeletedFile: defaultCanCleanup }, config);
143
+ this.sync.subscribe('onlineChange', this.onOnlineChange);
144
+ this.meta.subscribe('filesDeleted', this.handleFileRefsDeleted);
145
+ // check on startup to see if files can be cleaned up
146
+ this.tryCleanupDeletedFiles();
147
+ }
148
+ }
149
149
  //# sourceMappingURL=FileManager.js.map
@@ -1,28 +1,28 @@
1
- import { FileData } from '@verdant-web/common';
2
- import { IDBService } from '../IDBService.js';
3
- export interface ReturnedFileData extends FileData {
4
- deletedAt: number | null;
5
- }
6
- export declare class FileStorage extends IDBService {
7
- addFile: (file: FileData, { transaction, downloadRemote, }?: {
8
- transaction?: IDBTransaction | undefined;
9
- downloadRemote?: boolean | undefined;
10
- }) => Promise<IDBValidKey>;
11
- private hydrateFileData;
12
- markUploaded: (id: string, { transaction }?: {
13
- transaction?: IDBTransaction | undefined;
14
- }) => Promise<IDBValidKey>;
15
- private getFileRaw;
16
- getFile: (id: string, { transaction }?: {
17
- transaction?: IDBTransaction | undefined;
18
- }) => Promise<ReturnedFileData | undefined>;
19
- deleteFile(id: string, { transaction }?: {
20
- transaction?: IDBTransaction;
21
- }): Promise<undefined>;
22
- markPendingDelete: (id: string, { transaction }?: {
23
- transaction?: IDBTransaction | undefined;
24
- }) => Promise<IDBValidKey>;
25
- listUnsynced: () => Promise<ReturnedFileData[]>;
26
- iterateOverPendingDelete: (iterator: (file: ReturnedFileData, store: IDBObjectStore) => void, transaction?: IDBTransaction) => Promise<void>;
27
- }
28
- export declare function arrayBufferToBlob(buffer: ArrayBuffer, type: string): Blob;
1
+ import { FileData } from '@verdant-web/common';
2
+ import { IDBService } from '../IDBService.js';
3
+ export interface ReturnedFileData extends FileData {
4
+ deletedAt: number | null;
5
+ }
6
+ export declare class FileStorage extends IDBService {
7
+ addFile: (file: FileData, { transaction, downloadRemote, }?: {
8
+ transaction?: IDBTransaction | undefined;
9
+ downloadRemote?: boolean | undefined;
10
+ }) => Promise<IDBValidKey>;
11
+ private hydrateFileData;
12
+ markUploaded: (id: string, { transaction }?: {
13
+ transaction?: IDBTransaction | undefined;
14
+ }) => Promise<IDBValidKey>;
15
+ private getFileRaw;
16
+ getFile: (id: string, { transaction }?: {
17
+ transaction?: IDBTransaction | undefined;
18
+ }) => Promise<ReturnedFileData | undefined>;
19
+ deleteFile(id: string, { transaction }?: {
20
+ transaction?: IDBTransaction;
21
+ }): Promise<undefined>;
22
+ markPendingDelete: (id: string, { transaction }?: {
23
+ transaction?: IDBTransaction | undefined;
24
+ }) => Promise<IDBValidKey>;
25
+ listUnsynced: () => Promise<ReturnedFileData[]>;
26
+ iterateOverPendingDelete: (iterator: (file: ReturnedFileData, store: IDBObjectStore) => void, transaction?: IDBTransaction) => Promise<void>;
27
+ }
28
+ export declare function arrayBufferToBlob(buffer: ArrayBuffer, type: string): Blob;