@fireproof/core 0.20.4 → 0.20.5-dev-preview-3

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 (437) hide show
  1. package/apply-head-queue.d.ts +18 -0
  2. package/apply-head-queue.d.ts.map +1 -0
  3. package/apply-head-queue.js +47 -0
  4. package/apply-head-queue.js.map +1 -0
  5. package/blockstore/attachable-store.d.ts +19 -0
  6. package/blockstore/attachable-store.d.ts.map +1 -0
  7. package/blockstore/attachable-store.js +316 -0
  8. package/blockstore/attachable-store.js.map +1 -0
  9. package/blockstore/commit-queue.d.ts +17 -0
  10. package/blockstore/commit-queue.d.ts.map +1 -0
  11. package/blockstore/commit-queue.js +60 -0
  12. package/blockstore/commit-queue.js.map +1 -0
  13. package/blockstore/commitor.d.ts +21 -0
  14. package/blockstore/commitor.d.ts.map +1 -0
  15. package/blockstore/commitor.js +95 -0
  16. package/blockstore/commitor.js.map +1 -0
  17. package/blockstore/connect-raw.d.ts +2 -0
  18. package/blockstore/connect-raw.d.ts.map +1 -0
  19. package/blockstore/connect-raw.js +2 -0
  20. package/blockstore/connect-raw.js.map +1 -0
  21. package/blockstore/connection-base.d.ts +2 -0
  22. package/blockstore/connection-base.d.ts.map +1 -0
  23. package/blockstore/connection-base.js +2 -0
  24. package/blockstore/connection-base.js.map +1 -0
  25. package/blockstore/encrypt-helpers.d.ts +2 -0
  26. package/blockstore/encrypt-helpers.d.ts.map +1 -0
  27. package/blockstore/encrypt-helpers.js +2 -0
  28. package/blockstore/encrypt-helpers.js.map +1 -0
  29. package/blockstore/fp-envelope.d.ts +32 -0
  30. package/blockstore/fp-envelope.d.ts.map +1 -0
  31. package/blockstore/fp-envelope.js +14 -0
  32. package/blockstore/fp-envelope.js.map +1 -0
  33. package/blockstore/gateway.d.ts +20 -0
  34. package/blockstore/gateway.d.ts.map +1 -0
  35. package/blockstore/gateway.js +2 -0
  36. package/blockstore/gateway.js.map +1 -0
  37. package/blockstore/index.d.ts +16 -0
  38. package/blockstore/index.d.ts.map +1 -0
  39. package/blockstore/index.js +16 -0
  40. package/blockstore/index.js.map +1 -0
  41. package/blockstore/interceptor-gateway.d.ts +29 -0
  42. package/blockstore/interceptor-gateway.d.ts.map +1 -0
  43. package/blockstore/interceptor-gateway.js +137 -0
  44. package/blockstore/interceptor-gateway.js.map +1 -0
  45. package/blockstore/loader-helpers.d.ts +10 -0
  46. package/blockstore/loader-helpers.d.ts.map +1 -0
  47. package/blockstore/loader-helpers.js +115 -0
  48. package/blockstore/loader-helpers.js.map +1 -0
  49. package/blockstore/loader.d.ts +61 -0
  50. package/blockstore/loader.d.ts.map +1 -0
  51. package/blockstore/loader.js +494 -0
  52. package/blockstore/loader.js.map +1 -0
  53. package/blockstore/register-store-protocol.d.ts +22 -0
  54. package/blockstore/register-store-protocol.d.ts.map +1 -0
  55. package/blockstore/register-store-protocol.js +114 -0
  56. package/blockstore/register-store-protocol.js.map +1 -0
  57. package/blockstore/serde-gateway.d.ts +78 -0
  58. package/blockstore/serde-gateway.d.ts.map +1 -0
  59. package/blockstore/serde-gateway.js +2 -0
  60. package/blockstore/serde-gateway.js.map +1 -0
  61. package/blockstore/store-factory.d.ts +11 -0
  62. package/blockstore/store-factory.d.ts.map +1 -0
  63. package/blockstore/store-factory.js +104 -0
  64. package/blockstore/store-factory.js.map +1 -0
  65. package/blockstore/store-remote.d.ts +2 -0
  66. package/blockstore/store-remote.d.ts.map +1 -0
  67. package/blockstore/store-remote.js +2 -0
  68. package/blockstore/store-remote.js.map +1 -0
  69. package/blockstore/store.d.ts +86 -0
  70. package/blockstore/store.d.ts.map +1 -0
  71. package/blockstore/store.js +439 -0
  72. package/blockstore/store.js.map +1 -0
  73. package/blockstore/task-manager.d.ts +19 -0
  74. package/blockstore/task-manager.d.ts.map +1 -0
  75. package/blockstore/task-manager.js +50 -0
  76. package/blockstore/task-manager.js.map +1 -0
  77. package/blockstore/transaction.d.ts +62 -0
  78. package/blockstore/transaction.d.ts.map +1 -0
  79. package/blockstore/transaction.js +261 -0
  80. package/blockstore/transaction.js.map +1 -0
  81. package/blockstore/types.d.ts +508 -0
  82. package/blockstore/types.d.ts.map +1 -0
  83. package/blockstore/types.js +83 -0
  84. package/blockstore/types.js.map +1 -0
  85. package/blockstore/uri-interceptor.d.ts +19 -0
  86. package/blockstore/uri-interceptor.d.ts.map +1 -0
  87. package/blockstore/uri-interceptor.js +61 -0
  88. package/blockstore/uri-interceptor.js.map +1 -0
  89. package/bundle-not-impl.d.ts +2 -0
  90. package/bundle-not-impl.d.ts.map +1 -0
  91. package/bundle-not-impl.js +4 -0
  92. package/bundle-not-impl.js.map +1 -0
  93. package/cli/main.js +26616 -0
  94. package/crdt-clock.d.ts +27 -0
  95. package/crdt-clock.d.ts.map +1 -0
  96. package/crdt-clock.js +138 -0
  97. package/crdt-clock.js.map +1 -0
  98. package/crdt-helpers.d.ts +19 -0
  99. package/crdt-helpers.d.ts.map +1 -0
  100. package/crdt-helpers.js +332 -0
  101. package/crdt-helpers.js.map +1 -0
  102. package/crdt.d.ts +41 -0
  103. package/crdt.d.ts.map +1 -0
  104. package/crdt.js +164 -0
  105. package/crdt.js.map +1 -0
  106. package/database.d.ts +34 -0
  107. package/database.d.ts.map +1 -0
  108. package/database.js +124 -0
  109. package/database.js.map +1 -0
  110. package/deno.json +2 -2
  111. package/index.d.ts +15 -2741
  112. package/index.d.ts.map +1 -0
  113. package/index.js +14 -7274
  114. package/index.js.map +1 -1
  115. package/indexer-helpers.d.ts +69 -0
  116. package/indexer-helpers.d.ts.map +1 -0
  117. package/indexer-helpers.js +136 -0
  118. package/indexer-helpers.js.map +1 -0
  119. package/indexer.d.ts +24 -0
  120. package/indexer.d.ts.map +1 -0
  121. package/indexer.js +230 -0
  122. package/indexer.js.map +1 -0
  123. package/ledger.d.ts +55 -0
  124. package/ledger.d.ts.map +1 -0
  125. package/ledger.js +234 -0
  126. package/ledger.js.map +1 -0
  127. package/package.json +26 -17
  128. package/protocols/cloud/http-connection.d.ts +25 -0
  129. package/protocols/cloud/http-connection.d.ts.map +1 -0
  130. package/protocols/cloud/http-connection.js +153 -0
  131. package/protocols/cloud/http-connection.js.map +1 -0
  132. package/protocols/cloud/index.d.ts +10 -0
  133. package/protocols/cloud/index.d.ts.map +1 -0
  134. package/protocols/cloud/index.js +10 -0
  135. package/protocols/cloud/index.js.map +1 -0
  136. package/protocols/cloud/msg-raw-connection-base.d.ts +16 -0
  137. package/protocols/cloud/msg-raw-connection-base.d.ts.map +1 -0
  138. package/protocols/cloud/msg-raw-connection-base.js +22 -0
  139. package/protocols/cloud/msg-raw-connection-base.js.map +1 -0
  140. package/protocols/cloud/msg-types-data.d.ts +36 -0
  141. package/protocols/cloud/msg-types-data.d.ts.map +1 -0
  142. package/protocols/cloud/msg-types-data.js +38 -0
  143. package/protocols/cloud/msg-types-data.js.map +1 -0
  144. package/protocols/cloud/msg-types-meta.d.ts +41 -0
  145. package/protocols/cloud/msg-types-meta.d.ts.map +1 -0
  146. package/protocols/cloud/msg-types-meta.js +98 -0
  147. package/protocols/cloud/msg-types-meta.js.map +1 -0
  148. package/protocols/cloud/msg-types-wal.d.ts +33 -0
  149. package/protocols/cloud/msg-types-wal.d.ts.map +1 -0
  150. package/protocols/cloud/msg-types-wal.js +38 -0
  151. package/protocols/cloud/msg-types-wal.js.map +1 -0
  152. package/protocols/cloud/msg-types.d.ts +282 -0
  153. package/protocols/cloud/msg-types.d.ts.map +1 -0
  154. package/protocols/cloud/msg-types.js +278 -0
  155. package/protocols/cloud/msg-types.js.map +1 -0
  156. package/protocols/cloud/msger.d.ts +79 -0
  157. package/protocols/cloud/msger.d.ts.map +1 -0
  158. package/protocols/cloud/msger.js +198 -0
  159. package/protocols/cloud/msger.js.map +1 -0
  160. package/protocols/cloud/ws-connection.d.ts +29 -0
  161. package/protocols/cloud/ws-connection.d.ts.map +1 -0
  162. package/protocols/cloud/ws-connection.js +166 -0
  163. package/protocols/cloud/ws-connection.js.map +1 -0
  164. package/protocols/index.d.ts +2 -0
  165. package/protocols/index.d.ts.map +1 -0
  166. package/protocols/index.js +2 -0
  167. package/protocols/index.js.map +1 -0
  168. package/react/create-attach.d.ts +6 -0
  169. package/react/create-attach.d.ts.map +1 -0
  170. package/react/create-attach.js +75 -0
  171. package/react/create-attach.js.map +1 -0
  172. package/react/{index.d.cts → img-file.d.ts} +6 -53
  173. package/react/img-file.d.ts.map +1 -0
  174. package/react/img-file.js +57 -0
  175. package/react/img-file.js.map +1 -0
  176. package/react/index.d.ts +5 -336
  177. package/react/index.d.ts.map +1 -0
  178. package/react/index.js +4 -269
  179. package/react/index.js.map +1 -1
  180. package/react/types.d.ts +71 -0
  181. package/react/types.d.ts.map +1 -0
  182. package/react/types.js +2 -0
  183. package/react/types.js.map +1 -0
  184. package/react/use-all-docs.d.ts +4 -0
  185. package/react/use-all-docs.d.ts.map +1 -0
  186. package/react/use-all-docs.js +25 -0
  187. package/react/use-all-docs.js.map +1 -0
  188. package/react/use-attach.d.ts +6 -0
  189. package/react/use-attach.d.ts.map +1 -0
  190. package/react/use-attach.js +75 -0
  191. package/react/use-attach.js.map +1 -0
  192. package/react/use-changes.d.ts +4 -0
  193. package/react/use-changes.d.ts.map +1 -0
  194. package/react/use-changes.js +19 -0
  195. package/react/use-changes.js.map +1 -0
  196. package/react/use-document.d.ts +4 -0
  197. package/react/use-document.d.ts.map +1 -0
  198. package/react/use-document.js +109 -0
  199. package/react/use-document.js.map +1 -0
  200. package/react/use-fireproof.d.ts +6 -0
  201. package/react/use-fireproof.d.ts.map +1 -0
  202. package/react/use-fireproof.js +20 -0
  203. package/react/use-fireproof.js.map +1 -0
  204. package/react/use-live-query.d.ts +4 -0
  205. package/react/use-live-query.d.ts.map +1 -0
  206. package/react/use-live-query.js +27 -0
  207. package/react/use-live-query.js.map +1 -0
  208. package/runtime/files.d.ts +12 -0
  209. package/runtime/files.d.ts.map +1 -0
  210. package/runtime/files.js +29 -0
  211. package/runtime/files.js.map +1 -0
  212. package/runtime/gateways/cloud/gateway.d.ts +42 -0
  213. package/runtime/gateways/cloud/gateway.d.ts.map +1 -0
  214. package/runtime/gateways/cloud/gateway.js +528 -0
  215. package/runtime/gateways/cloud/gateway.js.map +1 -0
  216. package/runtime/gateways/cloud/index.d.ts +3 -0
  217. package/runtime/gateways/cloud/index.d.ts.map +1 -0
  218. package/runtime/gateways/cloud/index.js +3 -0
  219. package/runtime/gateways/cloud/index.js.map +1 -0
  220. package/runtime/gateways/cloud/to-cloud.d.ts +46 -0
  221. package/runtime/gateways/cloud/to-cloud.d.ts.map +1 -0
  222. package/runtime/gateways/cloud/to-cloud.js +159 -0
  223. package/runtime/gateways/cloud/to-cloud.js.map +1 -0
  224. package/runtime/gateways/def-serde-gateway.d.ts +18 -0
  225. package/runtime/gateways/def-serde-gateway.d.ts.map +1 -0
  226. package/runtime/gateways/def-serde-gateway.js +89 -0
  227. package/runtime/gateways/def-serde-gateway.js.map +1 -0
  228. package/runtime/gateways/file/deno/deno-filesystem.d.ts +27 -0
  229. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +1 -0
  230. package/runtime/gateways/file/deno/deno-filesystem.js +52 -0
  231. package/runtime/gateways/file/deno/deno-filesystem.js.map +1 -0
  232. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +4 -0
  233. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +1 -0
  234. package/runtime/gateways/file/deno/get-sys-file-system.js +11 -0
  235. package/runtime/gateways/file/deno/get-sys-file-system.js.map +1 -0
  236. package/runtime/gateways/file/deno/index.d.ts +2 -0
  237. package/runtime/gateways/file/deno/index.d.ts.map +1 -0
  238. package/runtime/gateways/file/deno/index.js +2 -0
  239. package/runtime/gateways/file/deno/index.js.map +1 -0
  240. package/runtime/gateways/file/gateway-impl.d.ts +18 -0
  241. package/runtime/gateways/file/gateway-impl.d.ts.map +1 -0
  242. package/runtime/gateways/file/gateway-impl.js +121 -0
  243. package/runtime/gateways/file/gateway-impl.js.map +1 -0
  244. package/runtime/gateways/file/index.d.ts +3 -0
  245. package/runtime/gateways/file/index.d.ts.map +1 -0
  246. package/runtime/gateways/file/index.js +3 -0
  247. package/runtime/gateways/file/index.js.map +1 -0
  248. package/runtime/gateways/file/key-bag-file.d.ts +19 -0
  249. package/runtime/gateways/file/key-bag-file.d.ts.map +1 -0
  250. package/runtime/gateways/file/key-bag-file.js +40 -0
  251. package/runtime/gateways/file/key-bag-file.js.map +1 -0
  252. package/runtime/gateways/file/node/get-sys-file-system.d.ts +4 -0
  253. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +1 -0
  254. package/runtime/gateways/file/node/get-sys-file-system.js +11 -0
  255. package/runtime/gateways/file/node/get-sys-file-system.js.map +1 -0
  256. package/runtime/gateways/file/node/index.d.ts +2 -0
  257. package/runtime/gateways/file/node/index.d.ts.map +1 -0
  258. package/runtime/gateways/file/node/index.js +2 -0
  259. package/runtime/gateways/file/node/index.js.map +1 -0
  260. package/runtime/gateways/file/node/node-filesystem.d.ts +32 -0
  261. package/runtime/gateways/file/node/node-filesystem.d.ts.map +1 -0
  262. package/runtime/gateways/file/node/node-filesystem.js +33 -0
  263. package/runtime/gateways/file/node/node-filesystem.js.map +1 -0
  264. package/runtime/gateways/file/node/to-array-buffer.d.ts +2 -0
  265. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +1 -0
  266. package/runtime/gateways/file/node/to-array-buffer.js +12 -0
  267. package/runtime/gateways/file/node/to-array-buffer.js.map +1 -0
  268. package/runtime/gateways/file/sys-file-system-factory.d.ts +4 -0
  269. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +1 -0
  270. package/runtime/gateways/file/sys-file-system-factory.js +13 -0
  271. package/runtime/gateways/file/sys-file-system-factory.js.map +1 -0
  272. package/runtime/gateways/file/utils.d.ts +5 -0
  273. package/runtime/gateways/file/utils.d.ts.map +1 -0
  274. package/runtime/gateways/file/utils.js +27 -0
  275. package/runtime/gateways/file/utils.js.map +1 -0
  276. package/runtime/gateways/file/version.d.ts +2 -0
  277. package/runtime/gateways/file/version.d.ts.map +1 -0
  278. package/runtime/gateways/file/version.js +2 -0
  279. package/runtime/gateways/file/version.js.map +1 -0
  280. package/runtime/gateways/fp-envelope-serialize.d.ts +50 -0
  281. package/runtime/gateways/fp-envelope-serialize.d.ts.map +1 -0
  282. package/runtime/gateways/fp-envelope-serialize.js +141 -0
  283. package/runtime/gateways/fp-envelope-serialize.js.map +1 -0
  284. package/runtime/gateways/index.d.ts +6 -0
  285. package/runtime/gateways/index.d.ts.map +1 -0
  286. package/runtime/gateways/index.js +6 -0
  287. package/runtime/gateways/index.js.map +1 -0
  288. package/runtime/gateways/indexeddb/gateway-impl.d.ts +22 -0
  289. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +1 -0
  290. package/runtime/gateways/indexeddb/gateway-impl.js +147 -0
  291. package/runtime/gateways/indexeddb/gateway-impl.js.map +1 -0
  292. package/runtime/gateways/indexeddb/index.d.ts +6 -0
  293. package/runtime/gateways/indexeddb/index.d.ts.map +1 -0
  294. package/runtime/gateways/indexeddb/index.js +6 -0
  295. package/runtime/gateways/indexeddb/index.js.map +1 -0
  296. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +15 -0
  297. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +1 -0
  298. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +42 -0
  299. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +1 -0
  300. package/runtime/gateways/indexeddb-version.d.ts +2 -0
  301. package/runtime/gateways/indexeddb-version.d.ts.map +1 -0
  302. package/runtime/gateways/indexeddb-version.js +2 -0
  303. package/runtime/gateways/indexeddb-version.js.map +1 -0
  304. package/runtime/gateways/memory/gateway.d.ts +18 -0
  305. package/runtime/gateways/memory/gateway.d.ts.map +1 -0
  306. package/runtime/gateways/memory/gateway.js +73 -0
  307. package/runtime/gateways/memory/gateway.js.map +1 -0
  308. package/runtime/gateways/memory/version.d.ts +2 -0
  309. package/runtime/gateways/memory/version.d.ts.map +1 -0
  310. package/runtime/gateways/memory/version.js +2 -0
  311. package/runtime/gateways/memory/version.js.map +1 -0
  312. package/runtime/index.d.ts +13 -0
  313. package/runtime/index.d.ts.map +1 -0
  314. package/runtime/index.js +13 -0
  315. package/runtime/index.js.map +1 -0
  316. package/runtime/key-bag-memory.d.ts +12 -0
  317. package/runtime/key-bag-memory.d.ts.map +1 -0
  318. package/runtime/key-bag-memory.js +23 -0
  319. package/runtime/key-bag-memory.js.map +1 -0
  320. package/runtime/key-bag.d.ts +85 -0
  321. package/runtime/key-bag.d.ts.map +1 -0
  322. package/runtime/key-bag.js +411 -0
  323. package/runtime/key-bag.js.map +1 -0
  324. package/runtime/keyed-crypto.d.ts +19 -0
  325. package/runtime/keyed-crypto.d.ts.map +1 -0
  326. package/runtime/keyed-crypto.js +192 -0
  327. package/runtime/keyed-crypto.js.map +1 -0
  328. package/runtime/memory-sys-container.d.ts +2 -0
  329. package/runtime/memory-sys-container.d.ts.map +1 -0
  330. package/runtime/memory-sys-container.js +2 -0
  331. package/runtime/memory-sys-container.js.map +1 -0
  332. package/runtime/meta-key-hack.d.ts +42 -0
  333. package/runtime/meta-key-hack.d.ts.map +1 -0
  334. package/runtime/meta-key-hack.js +201 -0
  335. package/runtime/meta-key-hack.js.map +1 -0
  336. package/runtime/sts-service/index.d.ts +40 -0
  337. package/runtime/sts-service/index.d.ts.map +1 -0
  338. package/runtime/sts-service/index.js +102 -0
  339. package/runtime/sts-service/index.js.map +1 -0
  340. package/runtime/sys-container.d.ts +2 -0
  341. package/runtime/sys-container.d.ts.map +1 -0
  342. package/runtime/sys-container.js +2 -0
  343. package/runtime/sys-container.js.map +1 -0
  344. package/runtime/wait-pr-multiformats/block.d.ts +47 -0
  345. package/runtime/wait-pr-multiformats/block.d.ts.map +1 -0
  346. package/runtime/wait-pr-multiformats/block.js +64 -0
  347. package/runtime/wait-pr-multiformats/block.js.map +1 -0
  348. package/runtime/wait-pr-multiformats/codec-interface.d.ts +29 -0
  349. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +1 -0
  350. package/runtime/wait-pr-multiformats/codec-interface.js +2 -0
  351. package/runtime/wait-pr-multiformats/codec-interface.js.map +1 -0
  352. package/runtime/wait-pr-multiformats/index.d.ts +3 -0
  353. package/runtime/wait-pr-multiformats/index.d.ts.map +1 -0
  354. package/runtime/wait-pr-multiformats/index.js +3 -0
  355. package/runtime/wait-pr-multiformats/index.js.map +1 -0
  356. package/tests/blockstore/interceptor-gateway.test.ts +10 -9
  357. package/tests/blockstore/keyed-crypto.test.ts +2 -2
  358. package/tests/blockstore/loader.test.ts +68 -51
  359. package/tests/blockstore/standalone.test.ts +152 -0
  360. package/tests/blockstore/store.test.ts +16 -9
  361. package/tests/blockstore/transaction.test.ts +19 -16
  362. package/tests/fireproof/all-gateway.test.ts +12 -27
  363. package/tests/fireproof/attachable.test.ts +426 -97
  364. package/tests/fireproof/crdt.test.ts +23 -0
  365. package/tests/fireproof/database.test.ts +13 -12
  366. package/tests/fireproof/fireproof.test.ts +2 -5
  367. package/tests/fireproof/indexer.test.ts +4 -0
  368. package/tests/helpers.ts +30 -14
  369. package/tests/react/img-file.test.tsx +0 -9
  370. package/tests/react/use-fireproof-stability.test.tsx +5 -5
  371. package/tests/react/use-fireproof.test.tsx +18 -13
  372. package/tests/runtime/meta-key-hack.test.ts +7 -6
  373. package/tests/setup.indexeddb.ts +0 -9
  374. package/types.d.ts +460 -0
  375. package/types.d.ts.map +1 -0
  376. package/types.js +60 -0
  377. package/types.js.map +1 -0
  378. package/use-fireproof/iframe-strategy.d.ts +13 -0
  379. package/use-fireproof/iframe-strategy.d.ts.map +1 -0
  380. package/use-fireproof/iframe-strategy.js +83 -0
  381. package/use-fireproof/iframe-strategy.js.map +1 -0
  382. package/use-fireproof/index.d.ts +10 -0
  383. package/use-fireproof/index.d.ts.map +1 -0
  384. package/use-fireproof/index.js +16 -0
  385. package/use-fireproof/index.js.map +1 -0
  386. package/use-fireproof/redirect-strategy.d.ts +8 -0
  387. package/use-fireproof/redirect-strategy.d.ts.map +1 -0
  388. package/use-fireproof/redirect-strategy.js +31 -0
  389. package/use-fireproof/redirect-strategy.js.map +1 -0
  390. package/utils.d.ts +45 -0
  391. package/utils.d.ts.map +1 -0
  392. package/utils.js +406 -0
  393. package/utils.js.map +1 -0
  394. package/version.d.ts +2 -0
  395. package/version.d.ts.map +1 -0
  396. package/version.js +4 -0
  397. package/version.js.map +1 -0
  398. package/write-queue.d.ts +9 -0
  399. package/write-queue.d.ts.map +1 -0
  400. package/write-queue.js +70 -0
  401. package/write-queue.js.map +1 -0
  402. package/deno/index.d.ts +0 -7
  403. package/deno/index.js +0 -66
  404. package/deno/index.js.map +0 -1
  405. package/deno/metafile-esm.json +0 -1
  406. package/index.cjs +0 -7275
  407. package/index.cjs.map +0 -1
  408. package/index.d.cts +0 -2741
  409. package/indexeddb/index.cjs +0 -218
  410. package/indexeddb/index.cjs.map +0 -1
  411. package/indexeddb/index.d.cts +0 -30
  412. package/indexeddb/index.d.ts +0 -30
  413. package/indexeddb/index.js +0 -195
  414. package/indexeddb/index.js.map +0 -1
  415. package/indexeddb/metafile-cjs.json +0 -1
  416. package/indexeddb/metafile-esm.json +0 -1
  417. package/metafile-cjs.json +0 -1
  418. package/metafile-esm.json +0 -1
  419. package/node/index.cjs +0 -97
  420. package/node/index.cjs.map +0 -1
  421. package/node/index.d.cts +0 -7
  422. package/node/index.d.ts +0 -7
  423. package/node/index.js +0 -64
  424. package/node/index.js.map +0 -1
  425. package/node/metafile-cjs.json +0 -1
  426. package/node/metafile-esm.json +0 -1
  427. package/react/index.cjs +0 -303
  428. package/react/index.cjs.map +0 -1
  429. package/react/metafile-cjs.json +0 -1
  430. package/react/metafile-esm.json +0 -1
  431. package/tests/www/gallery.html +0 -132
  432. package/tests/www/iife.html +0 -42
  433. package/tests/www/todo-aws.html +0 -232
  434. package/tests/www/todo-ipfs.html +0 -213
  435. package/tests/www/todo-local.html +0 -214
  436. package/tests/www/todo-netlify.html +0 -227
  437. package/tests/www/todo.html +0 -254
@@ -0,0 +1,508 @@
1
+ import type { CID, Link, Version } from "multiformats";
2
+ import { Attachable, Attached, CarTransaction, CRDT, DocFileMeta, Falsy, GatewayUrls, StoreType, SuperThis, TraceFn } from "../types.js";
3
+ import { CommitQueue } from "./commit-queue.js";
4
+ import { KeyBag, KeyBagRuntime, KeysItem } from "../runtime/key-bag.js";
5
+ import { CoerceURI, CryptoRuntime, CTCryptoKey, Future, Logger, Result, URI, AppContext } from "@adviser/cement";
6
+ import { EventBlock } from "@web3-storage/pail/clock";
7
+ import { TaskManager, TaskManagerParams } from "./task-manager.js";
8
+ import { SerdeGateway, SerdeGatewayInterceptor } from "./serde-gateway.js";
9
+ import { AsyncBlockCodec } from "../runtime/wait-pr-multiformats/codec-interface.js";
10
+ export type AnyLink = Link<unknown, number, number, Version>;
11
+ export type CarGroup = AnyLink[];
12
+ export type FroozenCarLog = CarGroup[];
13
+ export declare class CarLog {
14
+ readonly _logs: CarGroup[];
15
+ get length(): number;
16
+ last(): AnyLink[];
17
+ unshift(logs: CarGroup): void;
18
+ update(logs: FroozenCarLog): void;
19
+ asArray(): FroozenCarLog;
20
+ }
21
+ export type AnyAnyLink = Link<unknown, number, number, Version>;
22
+ export type AnyLinkFn = (cid: AnyLink) => Promise<AnyBlock | undefined>;
23
+ export interface AnyBlock {
24
+ readonly cid: Link<unknown, number, number, Version>;
25
+ readonly bytes: Uint8Array;
26
+ }
27
+ export interface CIDBlock {
28
+ readonly cid: CID<unknown, number, number, Version>;
29
+ readonly bytes: Uint8Array;
30
+ }
31
+ export declare function toCIDBlock(block: AnyBlock): CIDBlock;
32
+ export interface AnyAnyBlock {
33
+ readonly cid: AnyAnyLink;
34
+ readonly bytes: Uint8Array;
35
+ }
36
+ export interface IvKeyIdData {
37
+ readonly iv: Uint8Array;
38
+ readonly keyId: Uint8Array;
39
+ readonly data: Uint8Array;
40
+ }
41
+ export interface IvAndKeyAndBytes {
42
+ readonly bytes: Uint8Array;
43
+ readonly key: CTCryptoKey;
44
+ readonly iv: Uint8Array;
45
+ }
46
+ export interface BytesAndKeyWithIv {
47
+ readonly bytes: Uint8Array;
48
+ readonly key: CTCryptoKey;
49
+ readonly iv?: Uint8Array;
50
+ }
51
+ export interface AnyDecodedBlock {
52
+ readonly cid: AnyLink;
53
+ readonly bytes: Uint8Array;
54
+ readonly value: Uint8Array;
55
+ }
56
+ export interface CarMakeable {
57
+ entries(): AsyncIterable<FPBlock>;
58
+ get(cid: AnyLink): Promise<FPBlock | Falsy>;
59
+ }
60
+ export interface CarHeader<T> {
61
+ readonly cars: FroozenCarLog;
62
+ readonly compact: FroozenCarLog;
63
+ readonly meta: T;
64
+ }
65
+ export interface TransactionWrapper<M extends TransactionMeta> {
66
+ meta: M;
67
+ cars?: CarGroup;
68
+ t: CarTransaction;
69
+ }
70
+ export type TransactionMeta = unknown;
71
+ export interface EncryptedBlock {
72
+ readonly value: IvAndKeyAndBytes;
73
+ }
74
+ export interface KeyMaterial {
75
+ readonly key: Uint8Array;
76
+ readonly keyStr: string;
77
+ }
78
+ export interface KeyWithFingerPrint {
79
+ readonly fingerPrint: string;
80
+ readonly key: CTCryptoKey;
81
+ extract(): Promise<KeyMaterial>;
82
+ }
83
+ export interface CodecOpts {
84
+ readonly ivCalc: "random" | "hash";
85
+ readonly noIVVerify: boolean;
86
+ }
87
+ export interface KeyUpsertResult {
88
+ readonly modified: boolean;
89
+ readonly kfp: KeyWithFingerPrint;
90
+ }
91
+ export interface KeysByFingerprint {
92
+ readonly id: string;
93
+ readonly name: string;
94
+ get(fingerPrint?: Uint8Array | string): Promise<KeyWithFingerPrint | undefined>;
95
+ upsert(key: string | Uint8Array, def?: boolean): Promise<Result<KeyUpsertResult>>;
96
+ asKeysItem(): Promise<KeysItem>;
97
+ }
98
+ export interface CryptoAction {
99
+ readonly ivLength: number;
100
+ readonly logger: Logger;
101
+ readonly crypto: CryptoRuntime;
102
+ readonly url: URI;
103
+ readonly key: KeysByFingerprint;
104
+ algo(iv?: Uint8Array): {
105
+ name: string;
106
+ iv: Uint8Array;
107
+ tagLength: number;
108
+ };
109
+ codec(iv?: Uint8Array, codecOpts?: Partial<CodecOpts>): AsyncBlockCodec<24, Uint8Array, IvKeyIdData>;
110
+ _decrypt(data: IvAndKeyAndBytes): Promise<Uint8Array>;
111
+ _encrypt(data: BytesAndKeyWithIv): Promise<Uint8Array>;
112
+ }
113
+ export interface StoreFactory {
114
+ encodeFile?: (blob: Blob) => Promise<{
115
+ cid: AnyLink;
116
+ blocks: AnyBlock[];
117
+ }>;
118
+ decodeFile?: (blocks: unknown, cid: AnyLink, meta: DocFileMeta) => Promise<File>;
119
+ }
120
+ export interface StoreUrls {
121
+ readonly meta: CoerceURI;
122
+ readonly car: CoerceURI;
123
+ readonly file: CoerceURI;
124
+ readonly wal: CoerceURI;
125
+ }
126
+ export interface StoreEnDeFile {
127
+ readonly encodeFile: (blob: Blob) => Promise<{
128
+ cid: AnyLink;
129
+ blocks: AnyBlock[];
130
+ }>;
131
+ readonly decodeFile: (blocks: unknown, cid: AnyLink, meta: DocFileMeta) => Promise<Result<File>>;
132
+ }
133
+ export interface StoreUrlsOpts {
134
+ readonly base?: CoerceURI;
135
+ readonly data?: Partial<StoreUrls>;
136
+ readonly idx?: Partial<StoreUrls>;
137
+ }
138
+ export interface StoreURIs {
139
+ readonly meta: URI;
140
+ readonly car: URI;
141
+ readonly file: URI;
142
+ readonly wal: URI;
143
+ }
144
+ export interface StoreURIRuntime {
145
+ readonly data: StoreURIs;
146
+ readonly idx: StoreURIs;
147
+ }
148
+ export interface UrlAndInterceptor {
149
+ readonly url: URI;
150
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
151
+ }
152
+ export interface StoreFactoryItem {
153
+ readonly byStore: GatewayUrls;
154
+ readonly loader: Loadable;
155
+ }
156
+ export interface StoreRuntime {
157
+ makeStores(sfi: StoreFactoryItem): Promise<DataAndMetaAndWalStore>;
158
+ encodeFile(blob: Blob): Promise<{
159
+ cid: AnyLink;
160
+ blocks: AnyBlock[];
161
+ }>;
162
+ decodeFile(blocks: unknown, cid: AnyLink, meta: DocFileMeta): Promise<Result<File>>;
163
+ }
164
+ export interface CommitOpts {
165
+ readonly noLoader?: boolean;
166
+ readonly compact?: boolean;
167
+ }
168
+ export interface WriteableDataAndMetaStore {
169
+ file: FileStore;
170
+ car: CarStore;
171
+ meta: MetaStore;
172
+ }
173
+ export type DataAndMetaStore = Readonly<WriteableDataAndMetaStore>;
174
+ export interface WriteableDataAndMetaAndWalStore extends WriteableDataAndMetaStore {
175
+ wal?: WALStore;
176
+ }
177
+ export type DataAndMetaAndWalStore = Readonly<WriteableDataAndMetaAndWalStore>;
178
+ export type LocalDataAndMetaAndWalStore = Readonly<Omit<WriteableDataAndMetaAndWalStore, "wal">> & {
179
+ readonly wal: WALStore;
180
+ };
181
+ export interface DbMeta {
182
+ readonly cars: CarGroup;
183
+ }
184
+ export type LoadHandler = (dbMetas: DbMeta[]) => Promise<void>;
185
+ export interface RefLoadable {
186
+ readonly loader: Loadable;
187
+ }
188
+ export interface RefBlockstore {
189
+ readonly blockstore: RefLoadable;
190
+ }
191
+ export interface Connection {
192
+ loaded(): Future<void>;
193
+ readonly context: AppContext;
194
+ connectStorage(ref: RefLoadable | RefBlockstore): void;
195
+ }
196
+ export interface BaseStore {
197
+ readonly storeType: StoreType;
198
+ readonly realGateway: SerdeGateway;
199
+ readonly logger: Logger;
200
+ url(): URI;
201
+ id(): Promise<string>;
202
+ keyedCrypto(): Promise<CryptoAction>;
203
+ close(): Promise<Result<void>>;
204
+ destroy(): Promise<Result<void>>;
205
+ readonly ready?: () => Promise<void>;
206
+ start(dam: DataAndMetaStore): Promise<Result<URI>>;
207
+ }
208
+ export interface DbMetaEvent {
209
+ readonly eventCid: CarClockLink;
210
+ readonly parents: CarClockHead;
211
+ readonly dbMeta: DbMeta;
212
+ }
213
+ export declare function DbMetaEventEqual(a: DbMetaEvent, b: DbMetaEvent): boolean;
214
+ export declare function DbMetaEventsEqual(a: DbMetaEvent[], b: DbMetaEvent[]): boolean;
215
+ export interface MetaStore extends BaseStore {
216
+ readonly storeType: "meta";
217
+ stream(branch?: string): ReadableStream<DbMeta[]>;
218
+ save(meta: DbMeta, branch?: string): Promise<Result<void>>;
219
+ }
220
+ export interface DataSaveOpts {
221
+ readonly public: boolean;
222
+ }
223
+ export interface CarStore extends BaseStore {
224
+ readonly storeType: "car";
225
+ load(cid: AnyLink): Promise<AnyBlock>;
226
+ save(car: AnyBlock, opts?: DataSaveOpts): Promise<void>;
227
+ remove(cid: AnyLink): Promise<Result<void>>;
228
+ }
229
+ export interface FileStore extends BaseStore {
230
+ readonly storeType: "file";
231
+ load(cid: AnyLink): Promise<AnyBlock>;
232
+ save(car: AnyBlock, opts?: DataSaveOpts): Promise<void>;
233
+ remove(cid: AnyLink): Promise<Result<void>>;
234
+ }
235
+ export interface WALState {
236
+ readonly operations: DbMeta[];
237
+ readonly noLoaderOps: DbMeta[];
238
+ readonly fileOperations: {
239
+ readonly cid: AnyLink;
240
+ readonly public: boolean;
241
+ }[];
242
+ }
243
+ export interface WALStore extends BaseStore {
244
+ readonly storeType: "wal";
245
+ ready(): Promise<void>;
246
+ readonly processing?: Promise<void> | undefined;
247
+ readonly processQueue: CommitQueue<unknown>;
248
+ process(): Promise<void>;
249
+ enqueue(dbMeta: DbMeta, opts: CommitOpts): Promise<void>;
250
+ enqueueFile(fileCid: AnyLink): Promise<void>;
251
+ load(): Promise<WALState | Falsy>;
252
+ save(state: WALState): Promise<void>;
253
+ }
254
+ export type CompactFetcher = BlockFetcher & {
255
+ readonly loggedBlocks: CarTransaction;
256
+ };
257
+ export type CompactFn = (blocks: CompactFetcher) => Promise<TransactionMeta>;
258
+ export interface StoreRuntimeUrls {
259
+ readonly meta: URI;
260
+ readonly data: URI;
261
+ readonly wal: URI;
262
+ }
263
+ export interface BlockstoreParams {
264
+ readonly logger: Logger;
265
+ readonly applyMeta: (meta: TransactionMeta, snap?: boolean) => Promise<void>;
266
+ readonly compact: CompactFn;
267
+ readonly autoCompact: number;
268
+ readonly crypto: CryptoRuntime;
269
+ readonly public: boolean;
270
+ readonly meta: DbMeta;
271
+ readonly threshold: number;
272
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
273
+ readonly storeEnDeFile: Partial<StoreEnDeFile>;
274
+ readonly keyBag: KeyBagRuntime;
275
+ readonly storeUrls: StoreURIs;
276
+ readonly storeRuntime: StoreRuntime;
277
+ readonly taskManager: TaskManagerParams;
278
+ }
279
+ export type BlockstoreOpts = Partial<BlockstoreParams> & {
280
+ readonly keyBag: KeyBagRuntime;
281
+ readonly storeUrls: StoreURIs;
282
+ readonly storeRuntime: StoreRuntime;
283
+ readonly tracer: TraceFn;
284
+ };
285
+ export interface BlockstoreRuntime {
286
+ readonly logger: Logger;
287
+ readonly applyMeta: (meta: TransactionMeta, snap?: boolean) => Promise<void>;
288
+ readonly compact: CompactFn;
289
+ readonly autoCompact: number;
290
+ readonly crypto: CryptoRuntime;
291
+ readonly storeRuntime: StoreRuntime;
292
+ readonly keyBag: KeyBagRuntime;
293
+ readonly storeUrls: StoreURIs;
294
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
295
+ readonly taskManager: TaskManagerParams;
296
+ readonly meta?: DbMeta;
297
+ readonly threshold: number;
298
+ }
299
+ export type LocalActiveStore = Omit<ActiveStore, "active"> & {
300
+ readonly active: LocalDataAndMetaAndWalStore;
301
+ };
302
+ export interface AttachedStores {
303
+ local(): LocalActiveStore;
304
+ forRemotes(actionFn: (store: ActiveStore) => Promise<unknown>): Promise<void>;
305
+ remotes(): ActiveStore[];
306
+ activate(store: DataAndMetaStore | CoerceURI): ActiveStore;
307
+ attach(attached: Attachable, onAttach: (at: Attached) => Promise<Attached>): Promise<Attached>;
308
+ detach(): Promise<void>;
309
+ }
310
+ export interface BaseAttachedStores {
311
+ local(): BaseStore;
312
+ remotes(): BaseStore[];
313
+ }
314
+ export interface CarAttachedStores extends BaseAttachedStores {
315
+ local(): CarStore;
316
+ remotes(): CarStore[];
317
+ }
318
+ export declare abstract class BaseActiveStore {
319
+ abstract readonly ref: ActiveStore;
320
+ abstract readonly active: BaseStore;
321
+ abstract local(): BaseStore;
322
+ abstract remotes(): BaseStore[];
323
+ protected abstract readonly attached: BaseAttachedStores;
324
+ }
325
+ export interface FileAttachedStores extends BaseAttachedStores {
326
+ local(): FileStore;
327
+ remotes(): FileStore[];
328
+ }
329
+ export declare abstract class CarActiveStore extends BaseActiveStore {
330
+ protected abstract readonly attached: CarAttachedStores;
331
+ abstract local(): CarStore;
332
+ abstract remotes(): CarStore[];
333
+ }
334
+ export declare abstract class FileActiveStore extends BaseActiveStore {
335
+ protected abstract readonly attached: FileAttachedStores;
336
+ abstract local(): FileStore;
337
+ abstract remotes(): FileStore[];
338
+ }
339
+ export type CIDActiveStore = CarActiveStore | FileActiveStore;
340
+ export interface MetaAttachedStores extends BaseAttachedStores {
341
+ local(): MetaStore;
342
+ remotes(): MetaStore[];
343
+ }
344
+ export declare abstract class MetaActiveStore extends BaseActiveStore {
345
+ protected abstract readonly attached: MetaAttachedStores;
346
+ abstract local(): MetaStore;
347
+ abstract remotes(): MetaStore[];
348
+ }
349
+ export interface WALAttachedStores extends BaseAttachedStores {
350
+ local(): WALStore;
351
+ remotes(): WALStore[];
352
+ }
353
+ export declare abstract class WALActiveStore extends BaseActiveStore {
354
+ protected abstract readonly attached: WALAttachedStores;
355
+ abstract local(): WALStore;
356
+ abstract remotes(): WALStore[];
357
+ }
358
+ export interface ActiveStore {
359
+ readonly active: DataAndMetaAndWalStore;
360
+ baseStores(): BaseStore[];
361
+ carStore(): CarActiveStore;
362
+ fileStore(): FileActiveStore;
363
+ metaStore(): MetaActiveStore;
364
+ walStore(): WALActiveStore;
365
+ local(): LocalActiveStore;
366
+ remotes(): ActiveStore[];
367
+ readonly attached: AttachedStores;
368
+ }
369
+ export interface Loadable {
370
+ readonly sthis: SuperThis;
371
+ readonly logger: Logger;
372
+ readonly blockstoreParent?: BlockFetcher;
373
+ readonly ebOpts: BlockstoreRuntime;
374
+ readonly carLog: CarLog;
375
+ readonly attachedStores: AttachedStores;
376
+ readonly commitQueue: CommitQueue<unknown>;
377
+ attach(attached: Attachable): Promise<Attached>;
378
+ readonly taskManager: TaskManager;
379
+ ready(): Promise<void>;
380
+ close(): Promise<void>;
381
+ keyBag(): Promise<KeyBag>;
382
+ handleDbMetasFromStore(metas: DbMeta[], store: ActiveStore): Promise<CarGroup>;
383
+ commit<T = TransactionMeta>(t: CarTransaction, done: T, opts: CommitOpts): Promise<CarGroup>;
384
+ destroy(): Promise<void>;
385
+ getBlock(cid: AnyLink, store: ActiveStore): Promise<FPBlock | Falsy>;
386
+ loadFileCar(cid: AnyLink, store: ActiveStore): Promise<FPBlock<CarBlockItem>>;
387
+ loadCar(cid: AnyLink, store: ActiveStore): Promise<FPBlock<CarBlockItem>>;
388
+ commitFiles(t: CarTransaction, done: TransactionMeta): Promise<CarGroup>;
389
+ entries(cache?: boolean): AsyncIterableIterator<FPBlock>;
390
+ }
391
+ export interface DbMetaBinary {
392
+ readonly dbMeta: Uint8Array;
393
+ }
394
+ export type DbMetaEventBlock = EventBlock<DbMetaBinary>;
395
+ export type CarClockLink = Link<DbMetaEventBlock, number, number, Version>;
396
+ export type CarClockHead = CarClockLink[];
397
+ export interface BlockItemBase<T> {
398
+ readonly type: string;
399
+ readonly status: "ready" | "stale";
400
+ readonly value: T;
401
+ }
402
+ export declare function isDocBlockItem(item: BlockItem): item is DocBlockItem;
403
+ interface DocBlockItemValue {
404
+ readonly _id: string;
405
+ readonly value: unknown;
406
+ }
407
+ export interface DocBlockItem extends BlockItemBase<DocBlockItemValue> {
408
+ readonly type: "doc";
409
+ readonly value: DocBlockItemValue;
410
+ }
411
+ export declare function isFPBlockItem<T>(fpb: FPBlock<BlockItem>): fpb is FPBlock<FPBlockItem<T>>;
412
+ interface FPBlockItemValue<T> {
413
+ readonly fp: CarHeader<T>;
414
+ }
415
+ export interface FPBlockItem<T = unknown> extends BlockItemBase<FPBlockItemValue<T>> {
416
+ readonly type: "fp";
417
+ readonly value: FPBlockItemValue<T>;
418
+ }
419
+ export declare function isDataBlockItem(item: BlockItem): item is DataBlockItem;
420
+ interface DataBlockItemValue {
421
+ readonly data: {
422
+ readonly ops: {
423
+ readonly key: string;
424
+ readonly type: "put" | "delete";
425
+ readonly value: CID;
426
+ }[];
427
+ readonly root: CID;
428
+ readonly type: "batch" | "single";
429
+ };
430
+ readonly parents: CID[];
431
+ }
432
+ export interface DataBlockItem extends BlockItemBase<DataBlockItemValue> {
433
+ readonly type: "data";
434
+ readonly value: DataBlockItemValue;
435
+ }
436
+ interface DelBlockItemValue {
437
+ readonly del: boolean;
438
+ }
439
+ export interface DelBlockItem extends BlockItemBase<DelBlockItemValue> {
440
+ readonly type: "del";
441
+ readonly value: DelBlockItemValue;
442
+ }
443
+ export interface LeafBlockItemValue {
444
+ readonly leaf: [string, string[]][];
445
+ readonly closed: boolean;
446
+ }
447
+ export interface LeafBlockItem extends BlockItemBase<LeafBlockItemValue> {
448
+ readonly type: "leaf";
449
+ readonly value: LeafBlockItemValue;
450
+ }
451
+ export interface BranchBlockItemValue {
452
+ branch: [number, [string[], CID], [string[], CID][]];
453
+ closed: boolean;
454
+ }
455
+ export interface BranchBlockItem extends BlockItemBase<BranchBlockItemValue> {
456
+ readonly type: "branch";
457
+ readonly value: BranchBlockItemValue;
458
+ }
459
+ export interface UnknownBlockItem extends BlockItemBase<unknown> {
460
+ readonly type: "unknown";
461
+ readonly value: unknown;
462
+ }
463
+ export declare function isEntriesBlockItem(item: BlockItem): item is EntriesBlockItem;
464
+ interface EntriesBlockItemValue {
465
+ readonly entries: {
466
+ readonly key: string;
467
+ readonly value: CID[];
468
+ }[];
469
+ }
470
+ export interface EntriesBlockItem extends BlockItemBase<EntriesBlockItemValue> {
471
+ readonly type: "entries";
472
+ readonly value: EntriesBlockItemValue;
473
+ }
474
+ export interface StaleCarBlockItem extends BlockItemBase<undefined> {
475
+ readonly type: "car";
476
+ readonly status: "stale";
477
+ readonly statusCause: Error;
478
+ readonly origin: string;
479
+ }
480
+ interface ReadyCarBlockItemValue {
481
+ readonly car: {
482
+ readonly blocks: FPBlock[];
483
+ readonly roots: CID[];
484
+ };
485
+ }
486
+ export interface ReadyCarBlockItem extends BlockItemBase<ReadyCarBlockItemValue> {
487
+ readonly type: "car";
488
+ readonly status: "ready";
489
+ readonly origin: string;
490
+ readonly value: ReadyCarBlockItemValue;
491
+ }
492
+ export type CarBlockItem = StaleCarBlockItem | ReadyCarBlockItem;
493
+ export declare function isBlockReady(ifp: unknown): ifp is FPBlock;
494
+ export declare function isBlockNotReady(ifp: unknown): ifp is FPBlock;
495
+ export declare function isCarBlockItemReady(ifp: unknown): ifp is FPBlock<ReadyCarBlockItem>;
496
+ export declare function isCarBlockItemStale(ifp: unknown): ifp is FPBlock<StaleCarBlockItem>;
497
+ export type BlockItem = UnknownBlockItem | DocBlockItem | DataBlockItem | EntriesBlockItem | FPBlockItem | CarBlockItem | DelBlockItem | LeafBlockItem | BranchBlockItem;
498
+ export interface FPBlock<T extends BlockItem = BlockItem> extends AnyBlock {
499
+ readonly cid: AnyLink;
500
+ readonly bytes: Uint8Array;
501
+ readonly item: T;
502
+ }
503
+ export interface BlockFetcher {
504
+ readonly crdtParent?: CRDT;
505
+ get(link: AnyLink): Promise<FPBlock | Falsy>;
506
+ }
507
+ export {};
508
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ export class CarLog {
2
+ constructor() {
3
+ this._logs = [];
4
+ }
5
+ get length() {
6
+ return this._logs.length;
7
+ }
8
+ last() {
9
+ const x = [...this._logs[this._logs.length - 1]];
10
+ Object.freeze(x);
11
+ return x;
12
+ }
13
+ unshift(logs) {
14
+ this._logs.unshift(logs);
15
+ }
16
+ update(logs) {
17
+ this._logs.length = 0;
18
+ this._logs.push(...logs);
19
+ }
20
+ asArray() {
21
+ const a = [
22
+ ...this._logs.map((l) => {
23
+ const x = [...l];
24
+ Object.freeze(x);
25
+ return x;
26
+ }),
27
+ ];
28
+ Object.freeze(a);
29
+ return a;
30
+ }
31
+ }
32
+ export function toCIDBlock(block) {
33
+ return block;
34
+ }
35
+ export function DbMetaEventEqual(a, b) {
36
+ return (a.eventCid.equals(b.eventCid) &&
37
+ a.parents.length === b.parents.length &&
38
+ a.parents.every((p, i) => p.equals(b.parents[i])) &&
39
+ a.dbMeta.cars.length === b.dbMeta.cars.length &&
40
+ a.dbMeta.cars.every((c, i) => c.equals(b.dbMeta.cars[i])));
41
+ }
42
+ export function DbMetaEventsEqual(a, b) {
43
+ return a.length === b.length && a.every((e, i) => DbMetaEventEqual(e, b[i]));
44
+ }
45
+ export class BaseActiveStore {
46
+ }
47
+ export class CarActiveStore extends BaseActiveStore {
48
+ }
49
+ export class FileActiveStore extends BaseActiveStore {
50
+ }
51
+ export class MetaActiveStore extends BaseActiveStore {
52
+ }
53
+ export class WALActiveStore extends BaseActiveStore {
54
+ }
55
+ export function isDocBlockItem(item) {
56
+ return item.type === "doc";
57
+ }
58
+ export function isFPBlockItem(fpb) {
59
+ return fpb.item.type === "fp";
60
+ }
61
+ export function isDataBlockItem(item) {
62
+ return item.type === "data";
63
+ }
64
+ export function isEntriesBlockItem(item) {
65
+ return item.type === "entries";
66
+ }
67
+ export function isBlockReady(ifp) {
68
+ const fp = ifp;
69
+ return fp.item && fp.item.status === "ready";
70
+ }
71
+ export function isBlockNotReady(ifp) {
72
+ const fp = ifp;
73
+ return fp.item && fp.item.status !== "ready";
74
+ }
75
+ export function isCarBlockItemReady(ifp) {
76
+ const fp = ifp;
77
+ return fp.item && fp.item.type === "car" && fp.item.status === "ready";
78
+ }
79
+ export function isCarBlockItemStale(ifp) {
80
+ const fp = ifp;
81
+ return fp.item && fp.item.type === "car" && fp.item.status === "stale";
82
+ }
83
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/blockstore/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { URI, Promisable, Result } from "@adviser/cement";
2
+ import { PassThroughGateway } from "./interceptor-gateway.js";
3
+ import { SerdeGatewayBuildUrlReturn, SerdeGatewayCloseReturn, SerdeGatewayCtx, SerdeGatewayDeleteReturn, SerdeGatewayDestroyReturn, SerdeGatewayGetReturn, SerdeGatewayPutReturn, SerdeGatewayStartReturn, SerdeGatewaySubscribeReturn } from "./serde-gateway.js";
4
+ import { FPEnvelope, FPEnvelopeMeta } from "./fp-envelope.js";
5
+ export type URIMapper = (uri: URI) => Promisable<URI>;
6
+ export declare class URIInterceptor extends PassThroughGateway {
7
+ #private;
8
+ static withMapper(mapper: URIMapper): URIInterceptor;
9
+ addMapper(mapper: URIMapper): URIInterceptor;
10
+ buildUrl(ctx: SerdeGatewayCtx, url: URI, key: string): Promise<Result<SerdeGatewayBuildUrlReturn>>;
11
+ start(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayStartReturn>>;
12
+ close(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayCloseReturn>>;
13
+ delete(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayDeleteReturn>>;
14
+ destroy(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayDestroyReturn>>;
15
+ put<T>(ctx: SerdeGatewayCtx, url: URI, body: FPEnvelope<T>): Promise<Result<SerdeGatewayPutReturn<T>>>;
16
+ get<S>(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayGetReturn<S>>>;
17
+ subscribe(ctx: SerdeGatewayCtx, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>): Promise<Result<SerdeGatewaySubscribeReturn>>;
18
+ }
19
+ //# sourceMappingURL=uri-interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/uri-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;AAEtD,qBAAa,cAAe,SAAQ,kBAAkB;;IACpD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAMpD,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAatC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAIlG,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAI/E,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAI/E,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAIjF,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAInF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAItG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAIjF,SAAS,CACb,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;CAIhD"}