@fireproof/core 0.20.0-dev-preview-63 → 0.20.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 (407) hide show
  1. package/deno/index.d.ts +7 -0
  2. package/deno/index.js +66 -0
  3. package/deno/index.js.map +1 -0
  4. package/deno/metafile-esm.json +1 -0
  5. package/deno.json +2 -2
  6. package/index.cjs +7268 -0
  7. package/index.cjs.map +1 -0
  8. package/index.d.cts +2742 -0
  9. package/index.d.ts +2742 -15
  10. package/index.js +7267 -14
  11. package/index.js.map +1 -1
  12. package/indexeddb/index.cjs +218 -0
  13. package/indexeddb/index.cjs.map +1 -0
  14. package/indexeddb/index.d.cts +30 -0
  15. package/indexeddb/index.d.ts +30 -0
  16. package/indexeddb/index.js +195 -0
  17. package/indexeddb/index.js.map +1 -0
  18. package/indexeddb/metafile-cjs.json +1 -0
  19. package/indexeddb/metafile-esm.json +1 -0
  20. package/metafile-cjs.json +1 -0
  21. package/metafile-esm.json +1 -0
  22. package/node/index.cjs +97 -0
  23. package/node/index.cjs.map +1 -0
  24. package/node/index.d.cts +7 -0
  25. package/node/index.d.ts +7 -0
  26. package/node/index.js +64 -0
  27. package/node/index.js.map +1 -0
  28. package/node/metafile-cjs.json +1 -0
  29. package/node/metafile-esm.json +1 -0
  30. package/package.json +17 -20
  31. package/react/index.cjs +296 -0
  32. package/react/index.cjs.map +1 -0
  33. package/react/{img-file.d.ts → index.d.cts} +53 -6
  34. package/react/index.d.ts +336 -4
  35. package/react/index.js +262 -3
  36. package/react/index.js.map +1 -1
  37. package/react/metafile-cjs.json +1 -0
  38. package/react/metafile-esm.json +1 -0
  39. package/tests/blockstore/loader.test.ts +1 -1
  40. package/tests/blockstore/store.test.ts +4 -9
  41. package/tests/fireproof/attachable.test.ts +3 -3
  42. package/tests/react/use-fireproof-db-switch.test.tsx +91 -0
  43. package/tests/www/gallery.html +132 -0
  44. package/tests/www/iife.html +42 -0
  45. package/tests/www/todo-aws.html +232 -0
  46. package/tests/www/todo-ipfs.html +213 -0
  47. package/tests/www/todo-local.html +214 -0
  48. package/tests/www/todo-netlify.html +227 -0
  49. package/tests/www/todo.html +254 -0
  50. package/apply-head-queue.d.ts +0 -18
  51. package/apply-head-queue.d.ts.map +0 -1
  52. package/apply-head-queue.js +0 -47
  53. package/apply-head-queue.js.map +0 -1
  54. package/blockstore/attachable-store.d.ts +0 -17
  55. package/blockstore/attachable-store.d.ts.map +0 -1
  56. package/blockstore/attachable-store.js +0 -295
  57. package/blockstore/attachable-store.js.map +0 -1
  58. package/blockstore/commit-queue.d.ts +0 -12
  59. package/blockstore/commit-queue.d.ts.map +0 -1
  60. package/blockstore/commit-queue.js +0 -52
  61. package/blockstore/commit-queue.js.map +0 -1
  62. package/blockstore/commitor.d.ts +0 -21
  63. package/blockstore/commitor.d.ts.map +0 -1
  64. package/blockstore/commitor.js +0 -104
  65. package/blockstore/commitor.js.map +0 -1
  66. package/blockstore/connect-raw.d.ts +0 -2
  67. package/blockstore/connect-raw.d.ts.map +0 -1
  68. package/blockstore/connect-raw.js +0 -2
  69. package/blockstore/connect-raw.js.map +0 -1
  70. package/blockstore/connection-base.d.ts +0 -2
  71. package/blockstore/connection-base.d.ts.map +0 -1
  72. package/blockstore/connection-base.js +0 -2
  73. package/blockstore/connection-base.js.map +0 -1
  74. package/blockstore/encrypt-helpers.d.ts +0 -2
  75. package/blockstore/encrypt-helpers.d.ts.map +0 -1
  76. package/blockstore/encrypt-helpers.js +0 -2
  77. package/blockstore/encrypt-helpers.js.map +0 -1
  78. package/blockstore/fp-envelope.d.ts +0 -32
  79. package/blockstore/fp-envelope.d.ts.map +0 -1
  80. package/blockstore/fp-envelope.js +0 -14
  81. package/blockstore/fp-envelope.js.map +0 -1
  82. package/blockstore/gateway.d.ts +0 -20
  83. package/blockstore/gateway.d.ts.map +0 -1
  84. package/blockstore/gateway.js +0 -2
  85. package/blockstore/gateway.js.map +0 -1
  86. package/blockstore/index.d.ts +0 -16
  87. package/blockstore/index.d.ts.map +0 -1
  88. package/blockstore/index.js +0 -16
  89. package/blockstore/index.js.map +0 -1
  90. package/blockstore/interceptor-gateway.d.ts +0 -29
  91. package/blockstore/interceptor-gateway.d.ts.map +0 -1
  92. package/blockstore/interceptor-gateway.js +0 -137
  93. package/blockstore/interceptor-gateway.js.map +0 -1
  94. package/blockstore/loader-helpers.d.ts +0 -4
  95. package/blockstore/loader-helpers.d.ts.map +0 -1
  96. package/blockstore/loader-helpers.js +0 -16
  97. package/blockstore/loader-helpers.js.map +0 -1
  98. package/blockstore/loader.d.ts +0 -45
  99. package/blockstore/loader.d.ts.map +0 -1
  100. package/blockstore/loader.js +0 -352
  101. package/blockstore/loader.js.map +0 -1
  102. package/blockstore/register-store-protocol.d.ts +0 -22
  103. package/blockstore/register-store-protocol.d.ts.map +0 -1
  104. package/blockstore/register-store-protocol.js +0 -114
  105. package/blockstore/register-store-protocol.js.map +0 -1
  106. package/blockstore/serde-gateway.d.ts +0 -78
  107. package/blockstore/serde-gateway.d.ts.map +0 -1
  108. package/blockstore/serde-gateway.js +0 -2
  109. package/blockstore/serde-gateway.js.map +0 -1
  110. package/blockstore/store-factory.d.ts +0 -11
  111. package/blockstore/store-factory.d.ts.map +0 -1
  112. package/blockstore/store-factory.js +0 -105
  113. package/blockstore/store-factory.js.map +0 -1
  114. package/blockstore/store-remote.d.ts +0 -2
  115. package/blockstore/store-remote.d.ts.map +0 -1
  116. package/blockstore/store-remote.js +0 -2
  117. package/blockstore/store-remote.js.map +0 -1
  118. package/blockstore/store.d.ts +0 -82
  119. package/blockstore/store.d.ts.map +0 -1
  120. package/blockstore/store.js +0 -438
  121. package/blockstore/store.js.map +0 -1
  122. package/blockstore/task-manager.d.ts +0 -19
  123. package/blockstore/task-manager.d.ts.map +0 -1
  124. package/blockstore/task-manager.js +0 -50
  125. package/blockstore/task-manager.js.map +0 -1
  126. package/blockstore/transaction.d.ts +0 -64
  127. package/blockstore/transaction.d.ts.map +0 -1
  128. package/blockstore/transaction.js +0 -249
  129. package/blockstore/transaction.js.map +0 -1
  130. package/blockstore/types.d.ts +0 -400
  131. package/blockstore/types.d.ts.map +0 -1
  132. package/blockstore/types.js +0 -55
  133. package/blockstore/types.js.map +0 -1
  134. package/blockstore/uri-interceptor.d.ts +0 -19
  135. package/blockstore/uri-interceptor.d.ts.map +0 -1
  136. package/blockstore/uri-interceptor.js +0 -61
  137. package/blockstore/uri-interceptor.js.map +0 -1
  138. package/bundle-not-impl.d.ts +0 -2
  139. package/bundle-not-impl.d.ts.map +0 -1
  140. package/bundle-not-impl.js +0 -4
  141. package/bundle-not-impl.js.map +0 -1
  142. package/cli/main.js +0 -26114
  143. package/context.d.ts +0 -7
  144. package/context.d.ts.map +0 -1
  145. package/context.js +0 -15
  146. package/context.js.map +0 -1
  147. package/crdt-clock.d.ts +0 -27
  148. package/crdt-clock.d.ts.map +0 -1
  149. package/crdt-clock.js +0 -140
  150. package/crdt-clock.js.map +0 -1
  151. package/crdt-helpers.d.ts +0 -16
  152. package/crdt-helpers.d.ts.map +0 -1
  153. package/crdt-helpers.js +0 -316
  154. package/crdt-helpers.js.map +0 -1
  155. package/crdt.d.ts +0 -34
  156. package/crdt.d.ts.map +0 -1
  157. package/crdt.js +0 -131
  158. package/crdt.js.map +0 -1
  159. package/database.d.ts +0 -34
  160. package/database.d.ts.map +0 -1
  161. package/database.js +0 -121
  162. package/database.js.map +0 -1
  163. package/index.d.ts.map +0 -1
  164. package/indexer-helpers.d.ts +0 -69
  165. package/indexer-helpers.d.ts.map +0 -1
  166. package/indexer-helpers.js +0 -135
  167. package/indexer-helpers.js.map +0 -1
  168. package/indexer.d.ts +0 -25
  169. package/indexer.d.ts.map +0 -1
  170. package/indexer.js +0 -231
  171. package/indexer.js.map +0 -1
  172. package/ledger.d.ts +0 -56
  173. package/ledger.d.ts.map +0 -1
  174. package/ledger.js +0 -224
  175. package/ledger.js.map +0 -1
  176. package/protocols/cloud/http-connection.d.ts +0 -25
  177. package/protocols/cloud/http-connection.d.ts.map +0 -1
  178. package/protocols/cloud/http-connection.js +0 -153
  179. package/protocols/cloud/http-connection.js.map +0 -1
  180. package/protocols/cloud/index.d.ts +0 -10
  181. package/protocols/cloud/index.d.ts.map +0 -1
  182. package/protocols/cloud/index.js +0 -10
  183. package/protocols/cloud/index.js.map +0 -1
  184. package/protocols/cloud/msg-raw-connection-base.d.ts +0 -16
  185. package/protocols/cloud/msg-raw-connection-base.d.ts.map +0 -1
  186. package/protocols/cloud/msg-raw-connection-base.js +0 -22
  187. package/protocols/cloud/msg-raw-connection-base.js.map +0 -1
  188. package/protocols/cloud/msg-types-data.d.ts +0 -36
  189. package/protocols/cloud/msg-types-data.d.ts.map +0 -1
  190. package/protocols/cloud/msg-types-data.js +0 -38
  191. package/protocols/cloud/msg-types-data.js.map +0 -1
  192. package/protocols/cloud/msg-types-meta.d.ts +0 -41
  193. package/protocols/cloud/msg-types-meta.d.ts.map +0 -1
  194. package/protocols/cloud/msg-types-meta.js +0 -98
  195. package/protocols/cloud/msg-types-meta.js.map +0 -1
  196. package/protocols/cloud/msg-types-wal.d.ts +0 -33
  197. package/protocols/cloud/msg-types-wal.d.ts.map +0 -1
  198. package/protocols/cloud/msg-types-wal.js +0 -38
  199. package/protocols/cloud/msg-types-wal.js.map +0 -1
  200. package/protocols/cloud/msg-types.d.ts +0 -279
  201. package/protocols/cloud/msg-types.d.ts.map +0 -1
  202. package/protocols/cloud/msg-types.js +0 -278
  203. package/protocols/cloud/msg-types.js.map +0 -1
  204. package/protocols/cloud/msger.d.ts +0 -79
  205. package/protocols/cloud/msger.d.ts.map +0 -1
  206. package/protocols/cloud/msger.js +0 -198
  207. package/protocols/cloud/msger.js.map +0 -1
  208. package/protocols/cloud/ws-connection.d.ts +0 -29
  209. package/protocols/cloud/ws-connection.d.ts.map +0 -1
  210. package/protocols/cloud/ws-connection.js +0 -163
  211. package/protocols/cloud/ws-connection.js.map +0 -1
  212. package/protocols/index.d.ts +0 -2
  213. package/protocols/index.d.ts.map +0 -1
  214. package/protocols/index.js +0 -2
  215. package/protocols/index.js.map +0 -1
  216. package/react/img-file.d.ts.map +0 -1
  217. package/react/img-file.js +0 -58
  218. package/react/img-file.js.map +0 -1
  219. package/react/index.d.ts.map +0 -1
  220. package/react/types.d.ts +0 -43
  221. package/react/types.d.ts.map +0 -1
  222. package/react/types.js +0 -2
  223. package/react/types.js.map +0 -1
  224. package/react/use-all-docs.d.ts +0 -4
  225. package/react/use-all-docs.d.ts.map +0 -1
  226. package/react/use-all-docs.js +0 -19
  227. package/react/use-all-docs.js.map +0 -1
  228. package/react/use-changes.d.ts +0 -4
  229. package/react/use-changes.d.ts.map +0 -1
  230. package/react/use-changes.js +0 -19
  231. package/react/use-changes.js.map +0 -1
  232. package/react/use-document.d.ts +0 -4
  233. package/react/use-document.d.ts.map +0 -1
  234. package/react/use-document.js +0 -99
  235. package/react/use-document.js.map +0 -1
  236. package/react/use-fireproof.d.ts +0 -6
  237. package/react/use-fireproof.d.ts.map +0 -1
  238. package/react/use-fireproof.js +0 -15
  239. package/react/use-fireproof.js.map +0 -1
  240. package/react/use-live-query.d.ts +0 -4
  241. package/react/use-live-query.d.ts.map +0 -1
  242. package/react/use-live-query.js +0 -38
  243. package/react/use-live-query.js.map +0 -1
  244. package/react/utils.d.ts +0 -2
  245. package/react/utils.d.ts.map +0 -1
  246. package/react/utils.js +0 -4
  247. package/react/utils.js.map +0 -1
  248. package/runtime/files.d.ts +0 -12
  249. package/runtime/files.d.ts.map +0 -1
  250. package/runtime/files.js +0 -29
  251. package/runtime/files.js.map +0 -1
  252. package/runtime/gateways/cloud/gateway.d.ts +0 -44
  253. package/runtime/gateways/cloud/gateway.d.ts.map +0 -1
  254. package/runtime/gateways/cloud/gateway.js +0 -496
  255. package/runtime/gateways/cloud/gateway.js.map +0 -1
  256. package/runtime/gateways/def-serde-gateway.d.ts +0 -19
  257. package/runtime/gateways/def-serde-gateway.d.ts.map +0 -1
  258. package/runtime/gateways/def-serde-gateway.js +0 -73
  259. package/runtime/gateways/def-serde-gateway.js.map +0 -1
  260. package/runtime/gateways/file/deno/deno-filesystem.d.ts +0 -27
  261. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +0 -1
  262. package/runtime/gateways/file/deno/deno-filesystem.js +0 -51
  263. package/runtime/gateways/file/deno/deno-filesystem.js.map +0 -1
  264. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +0 -4
  265. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +0 -1
  266. package/runtime/gateways/file/deno/get-sys-file-system.js +0 -11
  267. package/runtime/gateways/file/deno/get-sys-file-system.js.map +0 -1
  268. package/runtime/gateways/file/deno/index.d.ts +0 -2
  269. package/runtime/gateways/file/deno/index.d.ts.map +0 -1
  270. package/runtime/gateways/file/deno/index.js +0 -2
  271. package/runtime/gateways/file/deno/index.js.map +0 -1
  272. package/runtime/gateways/file/gateway-impl.d.ts +0 -18
  273. package/runtime/gateways/file/gateway-impl.d.ts.map +0 -1
  274. package/runtime/gateways/file/gateway-impl.js +0 -121
  275. package/runtime/gateways/file/gateway-impl.js.map +0 -1
  276. package/runtime/gateways/file/index.d.ts +0 -3
  277. package/runtime/gateways/file/index.d.ts.map +0 -1
  278. package/runtime/gateways/file/index.js +0 -3
  279. package/runtime/gateways/file/index.js.map +0 -1
  280. package/runtime/gateways/file/key-bag-file.d.ts +0 -19
  281. package/runtime/gateways/file/key-bag-file.d.ts.map +0 -1
  282. package/runtime/gateways/file/key-bag-file.js +0 -40
  283. package/runtime/gateways/file/key-bag-file.js.map +0 -1
  284. package/runtime/gateways/file/node/get-sys-file-system.d.ts +0 -4
  285. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +0 -1
  286. package/runtime/gateways/file/node/get-sys-file-system.js +0 -11
  287. package/runtime/gateways/file/node/get-sys-file-system.js.map +0 -1
  288. package/runtime/gateways/file/node/index.d.ts +0 -2
  289. package/runtime/gateways/file/node/index.d.ts.map +0 -1
  290. package/runtime/gateways/file/node/index.js +0 -2
  291. package/runtime/gateways/file/node/index.js.map +0 -1
  292. package/runtime/gateways/file/node/node-filesystem.d.ts +0 -32
  293. package/runtime/gateways/file/node/node-filesystem.d.ts.map +0 -1
  294. package/runtime/gateways/file/node/node-filesystem.js +0 -37
  295. package/runtime/gateways/file/node/node-filesystem.js.map +0 -1
  296. package/runtime/gateways/file/node/to-array-buffer.d.ts +0 -2
  297. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +0 -1
  298. package/runtime/gateways/file/node/to-array-buffer.js +0 -12
  299. package/runtime/gateways/file/node/to-array-buffer.js.map +0 -1
  300. package/runtime/gateways/file/sys-file-system-factory.d.ts +0 -4
  301. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +0 -1
  302. package/runtime/gateways/file/sys-file-system-factory.js +0 -13
  303. package/runtime/gateways/file/sys-file-system-factory.js.map +0 -1
  304. package/runtime/gateways/file/utils.d.ts +0 -5
  305. package/runtime/gateways/file/utils.d.ts.map +0 -1
  306. package/runtime/gateways/file/utils.js +0 -27
  307. package/runtime/gateways/file/utils.js.map +0 -1
  308. package/runtime/gateways/file/version.d.ts +0 -2
  309. package/runtime/gateways/file/version.d.ts.map +0 -1
  310. package/runtime/gateways/file/version.js +0 -2
  311. package/runtime/gateways/file/version.js.map +0 -1
  312. package/runtime/gateways/fp-envelope-serialize.d.ts +0 -50
  313. package/runtime/gateways/fp-envelope-serialize.d.ts.map +0 -1
  314. package/runtime/gateways/fp-envelope-serialize.js +0 -141
  315. package/runtime/gateways/fp-envelope-serialize.js.map +0 -1
  316. package/runtime/gateways/index.d.ts +0 -6
  317. package/runtime/gateways/index.d.ts.map +0 -1
  318. package/runtime/gateways/index.js +0 -6
  319. package/runtime/gateways/index.js.map +0 -1
  320. package/runtime/gateways/indexeddb/gateway-impl.d.ts +0 -22
  321. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +0 -1
  322. package/runtime/gateways/indexeddb/gateway-impl.js +0 -147
  323. package/runtime/gateways/indexeddb/gateway-impl.js.map +0 -1
  324. package/runtime/gateways/indexeddb/index.d.ts +0 -6
  325. package/runtime/gateways/indexeddb/index.d.ts.map +0 -1
  326. package/runtime/gateways/indexeddb/index.js +0 -6
  327. package/runtime/gateways/indexeddb/index.js.map +0 -1
  328. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +0 -15
  329. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +0 -1
  330. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +0 -42
  331. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +0 -1
  332. package/runtime/gateways/indexeddb-version.d.ts +0 -2
  333. package/runtime/gateways/indexeddb-version.d.ts.map +0 -1
  334. package/runtime/gateways/indexeddb-version.js +0 -2
  335. package/runtime/gateways/indexeddb-version.js.map +0 -1
  336. package/runtime/gateways/memory/gateway.d.ts +0 -18
  337. package/runtime/gateways/memory/gateway.d.ts.map +0 -1
  338. package/runtime/gateways/memory/gateway.js +0 -58
  339. package/runtime/gateways/memory/gateway.js.map +0 -1
  340. package/runtime/gateways/memory/version.d.ts +0 -2
  341. package/runtime/gateways/memory/version.d.ts.map +0 -1
  342. package/runtime/gateways/memory/version.js +0 -2
  343. package/runtime/gateways/memory/version.js.map +0 -1
  344. package/runtime/index.d.ts +0 -13
  345. package/runtime/index.d.ts.map +0 -1
  346. package/runtime/index.js +0 -13
  347. package/runtime/index.js.map +0 -1
  348. package/runtime/key-bag-memory.d.ts +0 -12
  349. package/runtime/key-bag-memory.d.ts.map +0 -1
  350. package/runtime/key-bag-memory.js +0 -23
  351. package/runtime/key-bag-memory.js.map +0 -1
  352. package/runtime/key-bag.d.ts +0 -85
  353. package/runtime/key-bag.d.ts.map +0 -1
  354. package/runtime/key-bag.js +0 -415
  355. package/runtime/key-bag.js.map +0 -1
  356. package/runtime/keyed-crypto.d.ts +0 -19
  357. package/runtime/keyed-crypto.d.ts.map +0 -1
  358. package/runtime/keyed-crypto.js +0 -192
  359. package/runtime/keyed-crypto.js.map +0 -1
  360. package/runtime/memory-sys-container.d.ts +0 -2
  361. package/runtime/memory-sys-container.d.ts.map +0 -1
  362. package/runtime/memory-sys-container.js +0 -2
  363. package/runtime/memory-sys-container.js.map +0 -1
  364. package/runtime/meta-key-hack.d.ts +0 -42
  365. package/runtime/meta-key-hack.d.ts.map +0 -1
  366. package/runtime/meta-key-hack.js +0 -201
  367. package/runtime/meta-key-hack.js.map +0 -1
  368. package/runtime/sts-service/index.d.ts +0 -40
  369. package/runtime/sts-service/index.d.ts.map +0 -1
  370. package/runtime/sts-service/index.js +0 -102
  371. package/runtime/sts-service/index.js.map +0 -1
  372. package/runtime/sys-container.d.ts +0 -2
  373. package/runtime/sys-container.d.ts.map +0 -1
  374. package/runtime/sys-container.js +0 -2
  375. package/runtime/sys-container.js.map +0 -1
  376. package/runtime/wait-pr-multiformats/block.d.ts +0 -47
  377. package/runtime/wait-pr-multiformats/block.d.ts.map +0 -1
  378. package/runtime/wait-pr-multiformats/block.js +0 -64
  379. package/runtime/wait-pr-multiformats/block.js.map +0 -1
  380. package/runtime/wait-pr-multiformats/codec-interface.d.ts +0 -29
  381. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +0 -1
  382. package/runtime/wait-pr-multiformats/codec-interface.js +0 -2
  383. package/runtime/wait-pr-multiformats/codec-interface.js.map +0 -1
  384. package/runtime/wait-pr-multiformats/index.d.ts +0 -3
  385. package/runtime/wait-pr-multiformats/index.d.ts.map +0 -1
  386. package/runtime/wait-pr-multiformats/index.js +0 -3
  387. package/runtime/wait-pr-multiformats/index.js.map +0 -1
  388. package/types.d.ts +0 -427
  389. package/types.d.ts.map +0 -1
  390. package/types.js +0 -54
  391. package/types.js.map +0 -1
  392. package/use-fireproof/index.d.ts +0 -3
  393. package/use-fireproof/index.d.ts.map +0 -1
  394. package/use-fireproof/index.js +0 -3
  395. package/use-fireproof/index.js.map +0 -1
  396. package/utils.d.ts +0 -36
  397. package/utils.d.ts.map +0 -1
  398. package/utils.js +0 -379
  399. package/utils.js.map +0 -1
  400. package/version.d.ts +0 -2
  401. package/version.d.ts.map +0 -1
  402. package/version.js +0 -4
  403. package/version.js.map +0 -1
  404. package/write-queue.d.ts +0 -9
  405. package/write-queue.d.ts.map +0 -1
  406. package/write-queue.js +0 -70
  407. package/write-queue.js.map +0 -1
@@ -1,78 +0,0 @@
1
- import { Result, URI } from "@adviser/cement";
2
- import { NotFoundError } from "../utils.js";
3
- import { FPEnvelope, FPEnvelopeMeta } from "./fp-envelope.js";
4
- import { type Loadable } from "./types.js";
5
- import { FPDecoder, type FPEncoder } from "../runtime/gateways/fp-envelope-serialize.js";
6
- export interface SerdeGatewayOpts {
7
- readonly gateway: SerdeGateway;
8
- }
9
- export type SerdeGetResult<S> = Result<FPEnvelope<S>, NotFoundError | Error>;
10
- export type VoidResult = Result<void>;
11
- export type UnsubscribeResult = Result<() => void>;
12
- export interface SerdeGatewayCtx {
13
- readonly loader: Loadable;
14
- readonly encoder?: Partial<FPEncoder>;
15
- readonly decoder?: Partial<FPDecoder>;
16
- }
17
- export interface SerdeGateway {
18
- buildUrl(ctx: SerdeGatewayCtx, baseUrl: URI, key: string): Promise<Result<URI>>;
19
- start(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<Result<URI>>;
20
- close(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<VoidResult>;
21
- put<T>(ctx: SerdeGatewayCtx, url: URI, body: FPEnvelope<T>): Promise<VoidResult>;
22
- get<S>(ctx: SerdeGatewayCtx, url: URI): Promise<SerdeGetResult<S>>;
23
- delete(ctx: SerdeGatewayCtx, url: URI): Promise<VoidResult>;
24
- subscribe(ctx: SerdeGatewayCtx, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>): Promise<UnsubscribeResult>;
25
- getPlain(ctx: SerdeGatewayCtx, url: URI, key: string): Promise<Result<Uint8Array>>;
26
- destroy(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<VoidResult>;
27
- }
28
- export interface SerdeGatewayReturn<O, T> {
29
- readonly op: O;
30
- readonly value?: T;
31
- readonly stop?: boolean;
32
- }
33
- export interface SerdeGatewayBuildUrlOp {
34
- readonly url: URI;
35
- readonly key: string;
36
- }
37
- export type SerdeGatewayBuildUrlReturn = SerdeGatewayReturn<SerdeGatewayBuildUrlOp, Result<URI>>;
38
- export interface SerdeGatewayStartOp {
39
- readonly url: URI;
40
- }
41
- export type SerdeGatewayStartReturn = SerdeGatewayReturn<SerdeGatewayStartOp, Result<URI>>;
42
- export interface SerdeGatewayCloseOp {
43
- readonly url: URI;
44
- }
45
- export type SerdeGatewayCloseReturn = SerdeGatewayReturn<SerdeGatewayCloseOp, VoidResult>;
46
- export interface SerdeGatewayDestroyOp {
47
- readonly url: URI;
48
- }
49
- export type SerdeGatewayDestroyReturn = SerdeGatewayReturn<SerdeGatewayDestroyOp, VoidResult>;
50
- export interface SerdeGatewayPutOp<T> {
51
- readonly url: URI;
52
- readonly body: FPEnvelope<T>;
53
- }
54
- export type SerdeGatewayPutReturn<T> = SerdeGatewayReturn<SerdeGatewayPutOp<T>, VoidResult>;
55
- export interface SerdeGatewayGetOp {
56
- readonly url: URI;
57
- }
58
- export type SerdeGatewayGetReturn<S> = SerdeGatewayReturn<SerdeGatewayGetOp, SerdeGetResult<S>>;
59
- export interface SerdeGatewayDeleteOp {
60
- readonly url: URI;
61
- }
62
- export type SerdeGatewayDeleteReturn = SerdeGatewayReturn<SerdeGatewayDeleteOp, VoidResult>;
63
- export interface SerdeGatewaySubscribeOp {
64
- readonly url: URI;
65
- readonly callback: (meta: FPEnvelopeMeta) => Promise<void>;
66
- }
67
- export type SerdeGatewaySubscribeReturn = SerdeGatewayReturn<SerdeGatewaySubscribeOp, UnsubscribeResult>;
68
- export interface SerdeGatewayInterceptor {
69
- buildUrl(ctx: SerdeGatewayCtx, baseUrl: URI, key: string): Promise<Result<SerdeGatewayBuildUrlReturn>>;
70
- start(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<Result<SerdeGatewayStartReturn>>;
71
- close(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<Result<SerdeGatewayCloseReturn>>;
72
- delete(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<Result<SerdeGatewayDeleteReturn>>;
73
- destroy(ctx: SerdeGatewayCtx, baseUrl: URI): Promise<Result<SerdeGatewayDestroyReturn>>;
74
- put<T>(ctx: SerdeGatewayCtx, url: URI, body: FPEnvelope<T>): Promise<Result<SerdeGatewayPutReturn<T>>>;
75
- get<S>(ctx: SerdeGatewayCtx, url: URI): Promise<Result<SerdeGatewayGetReturn<S>>>;
76
- subscribe(ctx: SerdeGatewayCtx, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>): Promise<Result<SerdeGatewaySubscribeReturn>>;
77
- }
78
- //# sourceMappingURL=serde-gateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serde-gateway.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/serde-gateway.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=serde-gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serde-gateway.js","sourceRoot":"","sources":["../../../../src/blockstore/serde-gateway.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { URI, Result } from "@adviser/cement";
2
- import { StoreEnDeFile, StoreRuntime } from "./types.js";
3
- import { SuperThis } from "../types.js";
4
- import { SerdeGatewayCtx, SerdeGatewayInterceptor } from "./serde-gateway.js";
5
- import { InterceptorGateway } from "./interceptor-gateway.js";
6
- export declare function getInterceptableGateway(ctx: SerdeGatewayCtx, url: URI, opt: {
7
- gatewayInterceptor?: SerdeGatewayInterceptor;
8
- }): Promise<Result<InterceptorGateway>>;
9
- export declare function ensureStoreEnDeFile(ende?: Partial<StoreEnDeFile>): StoreEnDeFile;
10
- export declare function toStoreRuntime(sthis: SuperThis, endeOpts?: Partial<StoreEnDeFile>): StoreRuntime;
11
- //# sourceMappingURL=store-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-factory.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/store-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAKL,aAAa,EAEb,YAAY,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAS9D,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE;IAAE,kBAAkB,CAAC,EAAE,uBAAuB,CAAA;CAAE,GACpD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAMrC;AAgGD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAMhF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,YAAY,CA+BpG"}
@@ -1,105 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { decodeFile, encodeFile } from "../runtime/files.js";
3
- import { CarStoreImpl, FileStoreImpl, MetaStoreImpl, WALStoreImpl } from "./store.js";
4
- import { PARAM } from "../types.js";
5
- import { getGatewayFactoryItem } from "./register-store-protocol.js";
6
- import { InterceptorGateway } from "./interceptor-gateway.js";
7
- export async function getInterceptableGateway(ctx, url, opt) {
8
- const item = getGatewayFactoryItem(url.protocol);
9
- if (item) {
10
- return Result.Ok(new InterceptorGateway(ctx.loader.sthis, await item.serdegateway(ctx.loader.sthis), opt.gatewayInterceptor));
11
- }
12
- return Result.Err(ctx.loader.sthis.logger.Warn().Url(url).Msg("unsupported protocol").AsError());
13
- }
14
- async function carStoreFactory(ctx, uai) {
15
- const storeUrl = uai.url.build().setParam(PARAM.STORE, "car").URI();
16
- const rgateway = await getInterceptableGateway(ctx, storeUrl, uai);
17
- if (rgateway.isErr()) {
18
- throw ctx.loader.sthis.logger.Error().Result("err", rgateway).Url(uai.url).Msg("notfound").AsError();
19
- }
20
- const gateway = rgateway.Ok();
21
- const store = new CarStoreImpl(ctx.loader.sthis, uai.url, {
22
- gateway,
23
- loader: ctx.loader,
24
- });
25
- return store;
26
- }
27
- async function fileStoreFactory(ctx, uai) {
28
- const storeUrl = uai.url.build().setParam(PARAM.STORE, "file").URI();
29
- const rgateway = await getInterceptableGateway(ctx, storeUrl, uai);
30
- if (rgateway.isErr()) {
31
- throw ctx.loader.sthis.logger.Error().Result("err", rgateway).Url(uai.url).Msg("notfound").AsError();
32
- }
33
- const gateway = rgateway.Ok();
34
- const store = new FileStoreImpl(ctx.loader.sthis, uai.url, {
35
- gateway: gateway,
36
- loader: ctx.loader,
37
- });
38
- return store;
39
- }
40
- async function metaStoreFactory(ctx, uai) {
41
- const storeUrl = uai.url.build().setParam(PARAM.STORE, "meta").URI();
42
- const rgateway = await getInterceptableGateway(ctx, storeUrl, uai);
43
- if (rgateway.isErr()) {
44
- throw ctx.loader.sthis.logger.Error().Result("err", rgateway).Url(uai.url).Msg("notfound").AsError();
45
- }
46
- const gateway = rgateway.Ok();
47
- const store = new MetaStoreImpl(ctx.loader.sthis, uai.url, {
48
- gateway,
49
- loader: ctx.loader,
50
- });
51
- return store;
52
- }
53
- async function WALStoreFactory(ctx, uai) {
54
- const storeUrl = uai.url.build().setParam(PARAM.STORE, "wal").URI();
55
- const rgateway = await getInterceptableGateway(ctx, storeUrl, uai);
56
- if (rgateway.isErr()) {
57
- throw ctx.loader.sthis.logger.Error().Result("err", rgateway).Url(uai.url).Msg("notfound").AsError();
58
- }
59
- const gateway = rgateway.Ok();
60
- const store = new WALStoreImpl(ctx.loader.sthis, uai.url, {
61
- gateway,
62
- loader: ctx.loader,
63
- });
64
- return store;
65
- }
66
- async function ensureStart(store, damaw) {
67
- const ret = await store.start(damaw);
68
- if (ret.isErr()) {
69
- throw store.logger.Error().Result("start", ret).Msg("start failed").AsError();
70
- }
71
- store.logger.Debug().Url(ret.Ok(), "prepared").Msg("produced");
72
- return store;
73
- }
74
- export function ensureStoreEnDeFile(ende) {
75
- ende = ende || {};
76
- return {
77
- encodeFile: ende.encodeFile || encodeFile,
78
- decodeFile: ende.decodeFile || decodeFile,
79
- };
80
- }
81
- export function toStoreRuntime(sthis, endeOpts = {}) {
82
- return {
83
- makeStores: async (sfi) => {
84
- const ctx = {
85
- loader: sfi.loader,
86
- };
87
- const storeSet = {};
88
- storeSet.meta = await metaStoreFactory(ctx, sfi.byStore.meta);
89
- storeSet.car = await carStoreFactory(ctx, sfi.byStore.car);
90
- storeSet.file = await fileStoreFactory(ctx, sfi.byStore.file);
91
- if (sfi.byStore.wal) {
92
- storeSet.wal = await WALStoreFactory(ctx, sfi.byStore.wal);
93
- }
94
- await ensureStart(storeSet.meta, storeSet);
95
- await ensureStart(storeSet.car, storeSet);
96
- await ensureStart(storeSet.file, storeSet);
97
- if (storeSet.wal) {
98
- await ensureStart(storeSet.wal, storeSet);
99
- }
100
- return storeSet;
101
- },
102
- ...ensureStoreEnDeFile(endeOpts),
103
- };
104
- }
105
- //# sourceMappingURL=store-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-factory.js","sourceRoot":"","sources":["../../../../src/blockstore/store-factory.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=store-remote.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-remote.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/store-remote.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=store-remote.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-remote.js","sourceRoot":"","sources":["../../../../src/blockstore/store-remote.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- import { Logger, ResolveOnce, Result, URI } from "@adviser/cement";
2
- import type { AnyBlock, AnyLink, CommitOpts, DataSaveOpts, DbMeta, WALStore as WALStore, WALState, LoadHandler, CryptoAction, Loadable, CarClockHead, DbMetaEvent, MetaStore, DataAndMetaStore, CarStore, FileStore } from "./types.js";
3
- import { Falsy, StoreType, SuperThis } from "../types.js";
4
- import { SerdeGateway, SerdeGatewayInterceptor } from "./serde-gateway.js";
5
- import { CommitQueue } from "./commit-queue.js";
6
- import { InterceptorGateway } from "./interceptor-gateway.js";
7
- export interface StoreOpts {
8
- readonly gateway: SerdeGateway;
9
- readonly gatewayInterceptor?: SerdeGatewayInterceptor;
10
- readonly loader: Loadable;
11
- }
12
- export interface BaseStoreOpts {
13
- readonly gateway: InterceptorGateway;
14
- readonly loader: Loadable;
15
- }
16
- export declare abstract class BaseStoreImpl {
17
- abstract readonly storeType: StoreType;
18
- private _url;
19
- readonly logger: Logger;
20
- readonly sthis: SuperThis;
21
- readonly gateway: InterceptorGateway;
22
- get realGateway(): SerdeGateway;
23
- readonly opts: StoreOpts;
24
- readonly loader: Loadable;
25
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts, logger: Logger);
26
- url(): URI;
27
- readonly _onStarted: ((dam: DataAndMetaStore) => void)[];
28
- onStarted(fn: (dam: DataAndMetaStore) => void): void;
29
- readonly _onClosed: (() => void)[];
30
- onClosed(fn: () => void): void;
31
- abstract close(): Promise<Result<void>>;
32
- ready(): Promise<void>;
33
- keyedCrypto(): Promise<CryptoAction>;
34
- start(dam: DataAndMetaStore): Promise<Result<URI>>;
35
- }
36
- export declare function createDbMetaEvent(sthis: SuperThis, dbMeta: DbMeta, parents: CarClockHead): Promise<DbMetaEvent>;
37
- export declare class MetaStoreImpl extends BaseStoreImpl implements MetaStore {
38
- readonly storeType = "meta";
39
- readonly subscribers: Map<string, LoadHandler[]>;
40
- parents: CarClockHead;
41
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts);
42
- private updateParentsFromDbMetas;
43
- load(branch?: string): Promise<DbMeta[] | Falsy>;
44
- save(meta: DbMeta, branch?: string): Promise<Result<void>>;
45
- close(): Promise<Result<void>>;
46
- destroy(): Promise<Result<void>>;
47
- }
48
- declare abstract class DataStoreImpl extends BaseStoreImpl {
49
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts, logger: Logger);
50
- load(cid: AnyLink): Promise<AnyBlock>;
51
- save(car: AnyBlock, opts?: DataSaveOpts): Promise<void>;
52
- remove(cid: AnyLink): Promise<Result<void>>;
53
- close(): Promise<Result<void>>;
54
- destroy(): Promise<Result<void>>;
55
- }
56
- export declare class CarStoreImpl extends DataStoreImpl implements CarStore {
57
- readonly storeType = "car";
58
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts);
59
- }
60
- export declare class FileStoreImpl extends DataStoreImpl implements FileStore {
61
- readonly storeType = "file";
62
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts);
63
- }
64
- export declare class WALStoreImpl extends BaseStoreImpl implements WALStore {
65
- readonly storeType = "wal";
66
- readonly _ready: ResolveOnce<void, void>;
67
- readonly walState: WALState;
68
- readonly processing: Promise<void> | undefined;
69
- readonly processQueue: CommitQueue<void>;
70
- constructor(sthis: SuperThis, url: URI, opts: BaseStoreOpts);
71
- ready(): Promise<void>;
72
- enqueue(dbMeta: DbMeta, opts: CommitOpts): Promise<void>;
73
- enqueueFile(fileCid: AnyLink, publicFile?: boolean): Promise<void>;
74
- process(): Promise<void>;
75
- _doProcess(): Promise<void>;
76
- load(): Promise<WALState | Falsy>;
77
- save(state: WALState): Promise<void>;
78
- close(): Promise<Result<undefined, Error>>;
79
- destroy(): Promise<Result<void, Error>>;
80
- }
81
- export {};
82
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/blockstore/store.ts"],"names":[],"mappings":"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"}