@fireproof/core 0.20.0-dev-preview-62 → 0.20.0-dev-preview-63

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 (401) 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 +17 -0
  6. package/blockstore/attachable-store.d.ts.map +1 -0
  7. package/blockstore/attachable-store.js +295 -0
  8. package/blockstore/attachable-store.js.map +1 -0
  9. package/blockstore/commit-queue.d.ts +12 -0
  10. package/blockstore/commit-queue.d.ts.map +1 -0
  11. package/blockstore/commit-queue.js +52 -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 +104 -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 +4 -0
  46. package/blockstore/loader-helpers.d.ts.map +1 -0
  47. package/blockstore/loader-helpers.js +16 -0
  48. package/blockstore/loader-helpers.js.map +1 -0
  49. package/blockstore/loader.d.ts +45 -0
  50. package/blockstore/loader.d.ts.map +1 -0
  51. package/blockstore/loader.js +352 -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 +105 -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 +82 -0
  70. package/blockstore/store.d.ts.map +1 -0
  71. package/blockstore/store.js +438 -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 +64 -0
  78. package/blockstore/transaction.d.ts.map +1 -0
  79. package/blockstore/transaction.js +249 -0
  80. package/blockstore/transaction.js.map +1 -0
  81. package/blockstore/types.d.ts +400 -0
  82. package/blockstore/types.d.ts.map +1 -0
  83. package/blockstore/types.js +55 -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/context.d.ts +7 -0
  94. package/context.d.ts.map +1 -0
  95. package/context.js +15 -0
  96. package/context.js.map +1 -0
  97. package/crdt-clock.d.ts +27 -0
  98. package/crdt-clock.d.ts.map +1 -0
  99. package/crdt-clock.js +140 -0
  100. package/crdt-clock.js.map +1 -0
  101. package/crdt-helpers.d.ts +16 -0
  102. package/crdt-helpers.d.ts.map +1 -0
  103. package/crdt-helpers.js +316 -0
  104. package/crdt-helpers.js.map +1 -0
  105. package/crdt.d.ts +34 -0
  106. package/crdt.d.ts.map +1 -0
  107. package/crdt.js +131 -0
  108. package/crdt.js.map +1 -0
  109. package/database.d.ts +34 -0
  110. package/database.d.ts.map +1 -0
  111. package/database.js +121 -0
  112. package/database.js.map +1 -0
  113. package/index.d.ts +15 -2746
  114. package/index.d.ts.map +1 -0
  115. package/index.js +14 -7308
  116. package/index.js.map +1 -1
  117. package/indexer-helpers.d.ts +69 -0
  118. package/indexer-helpers.d.ts.map +1 -0
  119. package/indexer-helpers.js +135 -0
  120. package/indexer-helpers.js.map +1 -0
  121. package/indexer.d.ts +25 -0
  122. package/indexer.d.ts.map +1 -0
  123. package/indexer.js +231 -0
  124. package/indexer.js.map +1 -0
  125. package/ledger.d.ts +56 -0
  126. package/ledger.d.ts.map +1 -0
  127. package/ledger.js +224 -0
  128. package/ledger.js.map +1 -0
  129. package/package.json +15 -15
  130. package/protocols/cloud/http-connection.d.ts +25 -0
  131. package/protocols/cloud/http-connection.d.ts.map +1 -0
  132. package/protocols/cloud/http-connection.js +153 -0
  133. package/protocols/cloud/http-connection.js.map +1 -0
  134. package/protocols/cloud/index.d.ts +10 -0
  135. package/protocols/cloud/index.d.ts.map +1 -0
  136. package/protocols/cloud/index.js +10 -0
  137. package/protocols/cloud/index.js.map +1 -0
  138. package/protocols/cloud/msg-raw-connection-base.d.ts +16 -0
  139. package/protocols/cloud/msg-raw-connection-base.d.ts.map +1 -0
  140. package/protocols/cloud/msg-raw-connection-base.js +22 -0
  141. package/protocols/cloud/msg-raw-connection-base.js.map +1 -0
  142. package/protocols/cloud/msg-types-data.d.ts +36 -0
  143. package/protocols/cloud/msg-types-data.d.ts.map +1 -0
  144. package/protocols/cloud/msg-types-data.js +38 -0
  145. package/protocols/cloud/msg-types-data.js.map +1 -0
  146. package/protocols/cloud/msg-types-meta.d.ts +41 -0
  147. package/protocols/cloud/msg-types-meta.d.ts.map +1 -0
  148. package/protocols/cloud/msg-types-meta.js +98 -0
  149. package/protocols/cloud/msg-types-meta.js.map +1 -0
  150. package/protocols/cloud/msg-types-wal.d.ts +33 -0
  151. package/protocols/cloud/msg-types-wal.d.ts.map +1 -0
  152. package/protocols/cloud/msg-types-wal.js +38 -0
  153. package/protocols/cloud/msg-types-wal.js.map +1 -0
  154. package/protocols/cloud/msg-types.d.ts +279 -0
  155. package/protocols/cloud/msg-types.d.ts.map +1 -0
  156. package/protocols/cloud/msg-types.js +278 -0
  157. package/protocols/cloud/msg-types.js.map +1 -0
  158. package/protocols/cloud/msger.d.ts +79 -0
  159. package/protocols/cloud/msger.d.ts.map +1 -0
  160. package/protocols/cloud/msger.js +198 -0
  161. package/protocols/cloud/msger.js.map +1 -0
  162. package/protocols/cloud/ws-connection.d.ts +29 -0
  163. package/protocols/cloud/ws-connection.d.ts.map +1 -0
  164. package/protocols/cloud/ws-connection.js +163 -0
  165. package/protocols/cloud/ws-connection.js.map +1 -0
  166. package/protocols/index.d.ts +2 -0
  167. package/protocols/index.d.ts.map +1 -0
  168. package/protocols/index.js +2 -0
  169. package/protocols/index.js.map +1 -0
  170. package/react/{index.d.cts → img-file.d.ts} +6 -53
  171. package/react/img-file.d.ts.map +1 -0
  172. package/react/img-file.js +58 -0
  173. package/react/img-file.js.map +1 -0
  174. package/react/index.d.ts +4 -336
  175. package/react/index.d.ts.map +1 -0
  176. package/react/index.js +3 -263
  177. package/react/index.js.map +1 -1
  178. package/react/types.d.ts +43 -0
  179. package/react/types.d.ts.map +1 -0
  180. package/react/types.js +2 -0
  181. package/react/types.js.map +1 -0
  182. package/react/use-all-docs.d.ts +4 -0
  183. package/react/use-all-docs.d.ts.map +1 -0
  184. package/react/use-all-docs.js +19 -0
  185. package/react/use-all-docs.js.map +1 -0
  186. package/react/use-changes.d.ts +4 -0
  187. package/react/use-changes.d.ts.map +1 -0
  188. package/react/use-changes.js +19 -0
  189. package/react/use-changes.js.map +1 -0
  190. package/react/use-document.d.ts +4 -0
  191. package/react/use-document.d.ts.map +1 -0
  192. package/react/use-document.js +99 -0
  193. package/react/use-document.js.map +1 -0
  194. package/react/use-fireproof.d.ts +6 -0
  195. package/react/use-fireproof.d.ts.map +1 -0
  196. package/react/use-fireproof.js +15 -0
  197. package/react/use-fireproof.js.map +1 -0
  198. package/react/use-live-query.d.ts +4 -0
  199. package/react/use-live-query.d.ts.map +1 -0
  200. package/react/use-live-query.js +38 -0
  201. package/react/use-live-query.js.map +1 -0
  202. package/react/utils.d.ts +2 -0
  203. package/react/utils.d.ts.map +1 -0
  204. package/react/utils.js +4 -0
  205. package/react/utils.js.map +1 -0
  206. package/runtime/files.d.ts +12 -0
  207. package/runtime/files.d.ts.map +1 -0
  208. package/runtime/files.js +29 -0
  209. package/runtime/files.js.map +1 -0
  210. package/runtime/gateways/cloud/gateway.d.ts +44 -0
  211. package/runtime/gateways/cloud/gateway.d.ts.map +1 -0
  212. package/runtime/gateways/cloud/gateway.js +496 -0
  213. package/runtime/gateways/cloud/gateway.js.map +1 -0
  214. package/runtime/gateways/def-serde-gateway.d.ts +19 -0
  215. package/runtime/gateways/def-serde-gateway.d.ts.map +1 -0
  216. package/runtime/gateways/def-serde-gateway.js +73 -0
  217. package/runtime/gateways/def-serde-gateway.js.map +1 -0
  218. package/runtime/gateways/file/deno/deno-filesystem.d.ts +27 -0
  219. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +1 -0
  220. package/runtime/gateways/file/deno/deno-filesystem.js +51 -0
  221. package/runtime/gateways/file/deno/deno-filesystem.js.map +1 -0
  222. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +4 -0
  223. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +1 -0
  224. package/runtime/gateways/file/deno/get-sys-file-system.js +11 -0
  225. package/runtime/gateways/file/deno/get-sys-file-system.js.map +1 -0
  226. package/runtime/gateways/file/deno/index.d.ts +2 -0
  227. package/runtime/gateways/file/deno/index.d.ts.map +1 -0
  228. package/runtime/gateways/file/deno/index.js +2 -0
  229. package/runtime/gateways/file/deno/index.js.map +1 -0
  230. package/runtime/gateways/file/gateway-impl.d.ts +18 -0
  231. package/runtime/gateways/file/gateway-impl.d.ts.map +1 -0
  232. package/runtime/gateways/file/gateway-impl.js +121 -0
  233. package/runtime/gateways/file/gateway-impl.js.map +1 -0
  234. package/runtime/gateways/file/index.d.ts +3 -0
  235. package/runtime/gateways/file/index.d.ts.map +1 -0
  236. package/runtime/gateways/file/index.js +3 -0
  237. package/runtime/gateways/file/index.js.map +1 -0
  238. package/runtime/gateways/file/key-bag-file.d.ts +19 -0
  239. package/runtime/gateways/file/key-bag-file.d.ts.map +1 -0
  240. package/runtime/gateways/file/key-bag-file.js +40 -0
  241. package/runtime/gateways/file/key-bag-file.js.map +1 -0
  242. package/runtime/gateways/file/node/get-sys-file-system.d.ts +4 -0
  243. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +1 -0
  244. package/runtime/gateways/file/node/get-sys-file-system.js +11 -0
  245. package/runtime/gateways/file/node/get-sys-file-system.js.map +1 -0
  246. package/runtime/gateways/file/node/index.d.ts +2 -0
  247. package/runtime/gateways/file/node/index.d.ts.map +1 -0
  248. package/runtime/gateways/file/node/index.js +2 -0
  249. package/runtime/gateways/file/node/index.js.map +1 -0
  250. package/runtime/gateways/file/node/node-filesystem.d.ts +32 -0
  251. package/runtime/gateways/file/node/node-filesystem.d.ts.map +1 -0
  252. package/runtime/gateways/file/node/node-filesystem.js +37 -0
  253. package/runtime/gateways/file/node/node-filesystem.js.map +1 -0
  254. package/runtime/gateways/file/node/to-array-buffer.d.ts +2 -0
  255. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +1 -0
  256. package/runtime/gateways/file/node/to-array-buffer.js +12 -0
  257. package/runtime/gateways/file/node/to-array-buffer.js.map +1 -0
  258. package/runtime/gateways/file/sys-file-system-factory.d.ts +4 -0
  259. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +1 -0
  260. package/runtime/gateways/file/sys-file-system-factory.js +13 -0
  261. package/runtime/gateways/file/sys-file-system-factory.js.map +1 -0
  262. package/runtime/gateways/file/utils.d.ts +5 -0
  263. package/runtime/gateways/file/utils.d.ts.map +1 -0
  264. package/runtime/gateways/file/utils.js +27 -0
  265. package/runtime/gateways/file/utils.js.map +1 -0
  266. package/runtime/gateways/file/version.d.ts +2 -0
  267. package/runtime/gateways/file/version.d.ts.map +1 -0
  268. package/runtime/gateways/file/version.js +2 -0
  269. package/runtime/gateways/file/version.js.map +1 -0
  270. package/runtime/gateways/fp-envelope-serialize.d.ts +50 -0
  271. package/runtime/gateways/fp-envelope-serialize.d.ts.map +1 -0
  272. package/runtime/gateways/fp-envelope-serialize.js +141 -0
  273. package/runtime/gateways/fp-envelope-serialize.js.map +1 -0
  274. package/runtime/gateways/index.d.ts +6 -0
  275. package/runtime/gateways/index.d.ts.map +1 -0
  276. package/runtime/gateways/index.js +6 -0
  277. package/runtime/gateways/index.js.map +1 -0
  278. package/runtime/gateways/indexeddb/gateway-impl.d.ts +22 -0
  279. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +1 -0
  280. package/runtime/gateways/indexeddb/gateway-impl.js +147 -0
  281. package/runtime/gateways/indexeddb/gateway-impl.js.map +1 -0
  282. package/runtime/gateways/indexeddb/index.d.ts +6 -0
  283. package/runtime/gateways/indexeddb/index.d.ts.map +1 -0
  284. package/runtime/gateways/indexeddb/index.js +6 -0
  285. package/runtime/gateways/indexeddb/index.js.map +1 -0
  286. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +15 -0
  287. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +1 -0
  288. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +42 -0
  289. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +1 -0
  290. package/runtime/gateways/indexeddb-version.d.ts +2 -0
  291. package/runtime/gateways/indexeddb-version.d.ts.map +1 -0
  292. package/runtime/gateways/indexeddb-version.js +2 -0
  293. package/runtime/gateways/indexeddb-version.js.map +1 -0
  294. package/runtime/gateways/memory/gateway.d.ts +18 -0
  295. package/runtime/gateways/memory/gateway.d.ts.map +1 -0
  296. package/runtime/gateways/memory/gateway.js +58 -0
  297. package/runtime/gateways/memory/gateway.js.map +1 -0
  298. package/runtime/gateways/memory/version.d.ts +2 -0
  299. package/runtime/gateways/memory/version.d.ts.map +1 -0
  300. package/runtime/gateways/memory/version.js +2 -0
  301. package/runtime/gateways/memory/version.js.map +1 -0
  302. package/runtime/index.d.ts +13 -0
  303. package/runtime/index.d.ts.map +1 -0
  304. package/runtime/index.js +13 -0
  305. package/runtime/index.js.map +1 -0
  306. package/runtime/key-bag-memory.d.ts +12 -0
  307. package/runtime/key-bag-memory.d.ts.map +1 -0
  308. package/runtime/key-bag-memory.js +23 -0
  309. package/runtime/key-bag-memory.js.map +1 -0
  310. package/runtime/key-bag.d.ts +85 -0
  311. package/runtime/key-bag.d.ts.map +1 -0
  312. package/runtime/key-bag.js +415 -0
  313. package/runtime/key-bag.js.map +1 -0
  314. package/runtime/keyed-crypto.d.ts +19 -0
  315. package/runtime/keyed-crypto.d.ts.map +1 -0
  316. package/runtime/keyed-crypto.js +192 -0
  317. package/runtime/keyed-crypto.js.map +1 -0
  318. package/runtime/memory-sys-container.d.ts +2 -0
  319. package/runtime/memory-sys-container.d.ts.map +1 -0
  320. package/runtime/memory-sys-container.js +2 -0
  321. package/runtime/memory-sys-container.js.map +1 -0
  322. package/runtime/meta-key-hack.d.ts +42 -0
  323. package/runtime/meta-key-hack.d.ts.map +1 -0
  324. package/runtime/meta-key-hack.js +201 -0
  325. package/runtime/meta-key-hack.js.map +1 -0
  326. package/runtime/sts-service/index.d.ts +40 -0
  327. package/runtime/sts-service/index.d.ts.map +1 -0
  328. package/runtime/sts-service/index.js +102 -0
  329. package/runtime/sts-service/index.js.map +1 -0
  330. package/runtime/sys-container.d.ts +2 -0
  331. package/runtime/sys-container.d.ts.map +1 -0
  332. package/runtime/sys-container.js +2 -0
  333. package/runtime/sys-container.js.map +1 -0
  334. package/runtime/wait-pr-multiformats/block.d.ts +47 -0
  335. package/runtime/wait-pr-multiformats/block.d.ts.map +1 -0
  336. package/runtime/wait-pr-multiformats/block.js +64 -0
  337. package/runtime/wait-pr-multiformats/block.js.map +1 -0
  338. package/runtime/wait-pr-multiformats/codec-interface.d.ts +29 -0
  339. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +1 -0
  340. package/runtime/wait-pr-multiformats/codec-interface.js +2 -0
  341. package/runtime/wait-pr-multiformats/codec-interface.js.map +1 -0
  342. package/runtime/wait-pr-multiformats/index.d.ts +3 -0
  343. package/runtime/wait-pr-multiformats/index.d.ts.map +1 -0
  344. package/runtime/wait-pr-multiformats/index.js +3 -0
  345. package/runtime/wait-pr-multiformats/index.js.map +1 -0
  346. package/types.d.ts +427 -0
  347. package/types.d.ts.map +1 -0
  348. package/types.js +54 -0
  349. package/types.js.map +1 -0
  350. package/use-fireproof/index.d.ts +3 -0
  351. package/use-fireproof/index.d.ts.map +1 -0
  352. package/use-fireproof/index.js +3 -0
  353. package/use-fireproof/index.js.map +1 -0
  354. package/utils.d.ts +36 -0
  355. package/utils.d.ts.map +1 -0
  356. package/utils.js +379 -0
  357. package/utils.js.map +1 -0
  358. package/version.d.ts +2 -0
  359. package/version.d.ts.map +1 -0
  360. package/version.js +4 -0
  361. package/version.js.map +1 -0
  362. package/write-queue.d.ts +9 -0
  363. package/write-queue.d.ts.map +1 -0
  364. package/write-queue.js +70 -0
  365. package/write-queue.js.map +1 -0
  366. package/deno/index.d.ts +0 -7
  367. package/deno/index.js +0 -66
  368. package/deno/index.js.map +0 -1
  369. package/deno/metafile-esm.json +0 -1
  370. package/index.cjs +0 -7309
  371. package/index.cjs.map +0 -1
  372. package/index.d.cts +0 -2746
  373. package/indexeddb/index.cjs +0 -218
  374. package/indexeddb/index.cjs.map +0 -1
  375. package/indexeddb/index.d.cts +0 -30
  376. package/indexeddb/index.d.ts +0 -30
  377. package/indexeddb/index.js +0 -195
  378. package/indexeddb/index.js.map +0 -1
  379. package/indexeddb/metafile-cjs.json +0 -1
  380. package/indexeddb/metafile-esm.json +0 -1
  381. package/metafile-cjs.json +0 -1
  382. package/metafile-esm.json +0 -1
  383. package/node/index.cjs +0 -97
  384. package/node/index.cjs.map +0 -1
  385. package/node/index.d.cts +0 -7
  386. package/node/index.d.ts +0 -7
  387. package/node/index.js +0 -64
  388. package/node/index.js.map +0 -1
  389. package/node/metafile-cjs.json +0 -1
  390. package/node/metafile-esm.json +0 -1
  391. package/react/index.cjs +0 -297
  392. package/react/index.cjs.map +0 -1
  393. package/react/metafile-cjs.json +0 -1
  394. package/react/metafile-esm.json +0 -1
  395. package/tests/www/gallery.html +0 -132
  396. package/tests/www/iife.html +0 -42
  397. package/tests/www/todo-aws.html +0 -232
  398. package/tests/www/todo-ipfs.html +0 -213
  399. package/tests/www/todo-local.html +0 -214
  400. package/tests/www/todo-netlify.html +0 -227
  401. package/tests/www/todo.html +0 -254
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sys-container.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sys-container.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sys-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sys-container.js","sourceRoot":"","sources":["../../../../src/runtime/sys-container.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { MultihashHasher, BlockView, ByteView, Version, Link } from "multiformats";
2
+ import { Block as mfBlock } from "multiformats/block";
3
+ import { AsyncBlockDecoder, AsyncBlockEncoder, BlockDecoder, BlockEncoder } from "./codec-interface.js";
4
+ export declare const Block: typeof mfBlock;
5
+ export interface DecodeInput<T, Code extends number, Alg extends number> {
6
+ readonly bytes: ByteView<unknown>;
7
+ readonly codec: BlockDecoder<Code, T>;
8
+ readonly hasher: MultihashHasher<Alg>;
9
+ }
10
+ export interface AsyncDecodeInput<T, Code extends number, Alg extends number> {
11
+ readonly bytes: ByteView<unknown>;
12
+ readonly codec: AsyncBlockDecoder<Code, T>;
13
+ readonly hasher: MultihashHasher<Alg>;
14
+ }
15
+ export declare function decode<T, Code extends number, Alg extends number>({ bytes, codec, hasher, }: AsyncDecodeInput<T, Code, Alg> | DecodeInput<T, Code, Alg>): Promise<BlockView<T, Code, Alg>>;
16
+ export interface EncodeInput<T, Code extends number, Alg extends number> {
17
+ readonly value: T;
18
+ readonly codec: BlockEncoder<Code, T>;
19
+ readonly hasher: MultihashHasher<Alg>;
20
+ }
21
+ export interface AsyncEncodeInput<T, Code extends number, Alg extends number> {
22
+ readonly value: T;
23
+ readonly codec: AsyncBlockEncoder<Code, T>;
24
+ readonly hasher: MultihashHasher<Alg>;
25
+ }
26
+ export declare function encode<T, Code extends number, Alg extends number>({ value, codec, hasher, }: AsyncEncodeInput<T, Code, Alg> | EncodeInput<T, Code, Alg>): Promise<BlockView<T, Code, Alg>>;
27
+ interface CreateInput<T, Code extends number, Alg extends number, V extends Version> {
28
+ bytes: ByteView<T>;
29
+ cid: Link<T, Code, Alg, V>;
30
+ hasher: MultihashHasher<Alg>;
31
+ codec: BlockDecoder<Code, T>;
32
+ }
33
+ export declare function create<T, Code extends number, Alg extends number, V extends Version>({ bytes, cid, hasher, codec, }: CreateInput<T, Code, Alg, V>): Promise<BlockView<T, Code, Alg, V>>;
34
+ type CreateUnsafeInput<T, Code extends number, Alg extends number, V extends Version> = {
35
+ cid: Link<T, Code, Alg, V>;
36
+ value: T;
37
+ codec?: BlockDecoder<Code, T>;
38
+ bytes: ByteView<T>;
39
+ } | {
40
+ cid: Link<T, Code, Alg, V>;
41
+ value?: undefined;
42
+ codec: BlockDecoder<Code, T>;
43
+ bytes: ByteView<T>;
44
+ };
45
+ export declare function createUnsafe<T, Code extends number, Alg extends number, V extends Version>({ bytes, cid, value: maybeValue, codec, }: CreateUnsafeInput<T, Code, Alg, V>): Promise<BlockView<T, Code, Alg, V>>;
46
+ export {};
47
+ //# sourceMappingURL=block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { bytes as binary, CID } from "multiformats";
2
+ import { Block as mfBlock } from "multiformats/block";
3
+ export const Block = mfBlock;
4
+ export async function decode({ bytes, codec, hasher, }) {
5
+ if (bytes == null)
6
+ throw new Error('Missing required argument "bytes"');
7
+ if (codec == null || hasher == null)
8
+ throw new Error("Missing required argument: codec or hasher");
9
+ const value = (await Promise.resolve(codec.decode(bytes)));
10
+ let toHash = bytes;
11
+ if (codec.valueToHashBytes) {
12
+ toHash = (await Promise.resolve(codec.valueToHashBytes(value)));
13
+ }
14
+ const hash = await hasher.digest(toHash);
15
+ const cid = CID.create(1, codec.code, hash);
16
+ return new mfBlock({ value, bytes: toHash, cid });
17
+ }
18
+ export async function encode({ value, codec, hasher, }) {
19
+ if (typeof value === "undefined")
20
+ throw new Error('Missing required argument "value"');
21
+ if (codec == null || hasher == null)
22
+ throw new Error("Missing required argument: codec or hasher");
23
+ let bytes;
24
+ let hash;
25
+ if (codec.bytesToHash) {
26
+ const hashable = await Promise.resolve(codec.bytesToHash(value));
27
+ hash = await hasher.digest(hashable);
28
+ bytes = await Promise.resolve(codec.encode(value));
29
+ }
30
+ else {
31
+ bytes = await Promise.resolve(codec.encode(value));
32
+ hash = await hasher.digest(bytes);
33
+ }
34
+ const cid = CID.create(1, codec.code, hash);
35
+ return new Block({ value, bytes, cid });
36
+ }
37
+ export async function create({ bytes, cid, hasher, codec, }) {
38
+ if (bytes == null)
39
+ throw new Error('Missing required argument "bytes"');
40
+ if (hasher == null)
41
+ throw new Error('Missing required argument "hasher"');
42
+ const value = await Promise.resolve(codec.decode(bytes));
43
+ const hash = await hasher.digest(bytes);
44
+ if (!binary.equals(cid.multihash.bytes, hash.bytes)) {
45
+ throw new Error("CID hash does not match bytes");
46
+ }
47
+ return createUnsafe({
48
+ bytes,
49
+ cid,
50
+ value,
51
+ codec,
52
+ });
53
+ }
54
+ export async function createUnsafe({ bytes, cid, value: maybeValue, codec, }) {
55
+ const value = await Promise.resolve(maybeValue !== undefined ? maybeValue : codec?.decode(bytes));
56
+ if (value === undefined)
57
+ throw new Error('Missing required argument, must either provide "value" or "codec"');
58
+ return new Block({
59
+ cid: cid,
60
+ bytes,
61
+ value,
62
+ });
63
+ }
64
+ //# sourceMappingURL=block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/block.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,GAAG,EAAwE,MAAM,cAAc,CAAC;AAC1H,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC;AAgB7B,MAAM,CAAC,KAAK,UAAU,MAAM,CAA6C,EACvE,KAAK,EACL,KAAK,EACL,MAAM,GACqD;IAC3D,IAAI,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACxE,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAGnG,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;IAChE,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAsB,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAyB,CAAC;IAEpE,OAAO,IAAI,OAAO,CAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;AACpF,CAAC;AA+BD,MAAM,CAAC,KAAK,UAAU,MAAM,CAA6C,EACvE,KAAK,EACL,KAAK,EACL,MAAM,GACqD;IAC3D,IAAI,OAAO,KAAK,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvF,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAEnG,IAAI,KAAkB,CAAC;IACvB,IAAI,IAAqB,CAAC;IAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAyB,CAAC;IACpE,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1C,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAgE,EAC1F,KAAK,EACL,GAAG,EACH,MAAM,EACN,KAAK,GACwB;IAC7B,IAAI,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACxE,IAAI,MAAM,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,KAAK;QACL,GAAG;QACH,KAAK;QACL,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAgE,EAChG,KAAK,EACL,GAAG,EACH,KAAK,EAAE,UAAU,EACjB,KAAK,GAC8B;IACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAElG,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAE9G,OAAO,IAAI,KAAK,CAAC;QACf,GAAG,EAAE,GAA2B;QAChC,KAAK;QACL,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { ArrayBufferView, ByteView } from "multiformats";
2
+ export interface BlockEncoder<Code extends number, T> {
3
+ readonly name: string;
4
+ readonly code: Code;
5
+ bytesToHash?(data: T): ByteView<unknown>;
6
+ encode(data: T): ByteView<T>;
7
+ }
8
+ export interface AsyncBlockEncoder<Code extends number, T> {
9
+ readonly name: string;
10
+ readonly code: Code;
11
+ bytesToHash?(data: T): Promise<ByteView<unknown>>;
12
+ encode(data: T): PromiseLike<ByteView<T>>;
13
+ }
14
+ export interface BlockDecoder<Code extends number, T> {
15
+ readonly code: Code;
16
+ valueToHashBytes?(value: T): ByteView<unknown>;
17
+ decode(bytes: ByteView<unknown>): T;
18
+ }
19
+ export interface AsyncBlockDecoder<Code extends number, T> {
20
+ readonly code: Code;
21
+ valueToHashBytes?(value: T): Promise<ByteView<unknown>>;
22
+ decode(bytes: ByteView<unknown>): PromiseLike<T>;
23
+ }
24
+ export interface BlockCodec<Code extends number, E, D> extends BlockEncoder<Code, E>, BlockDecoder<Code, D> {
25
+ }
26
+ export interface AsyncBlockCodec<Code extends number, E, D> extends AsyncBlockEncoder<Code, E>, AsyncBlockDecoder<Code, D> {
27
+ }
28
+ export type { ArrayBufferView, ByteView };
29
+ //# sourceMappingURL=codec-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-interface.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/codec-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQ9D,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C;AAKD,MAAM,WAAW,YAAY,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAI/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAGxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;CAClD;AAKD,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;CAAG;AAC9G,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;CAAG;AAE7H,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codec-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-interface.js","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/codec-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * as block from "./block.js";
2
+ export * as codec from "./codec-interface.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * as block from "./block.js";
2
+ export * as codec from "./codec-interface.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC"}
package/types.d.ts ADDED
@@ -0,0 +1,427 @@
1
+ import type { EventLink } from "@fireproof/vendor/@web3-storage/pail/clock/api";
2
+ import type { Operation } from "@fireproof/vendor/@web3-storage/pail/crdt/api";
3
+ import type { Block, UnknownLink, Version } from "multiformats";
4
+ import type { EnvFactoryOpts, Env, Logger, CryptoRuntime, Result, CoerceURI } from "@adviser/cement";
5
+ import type { CarTransactionOpts, DbMeta, AnyLink, StoreUrlsOpts, StoreEnDeFile, SerdeGatewayInterceptor, Loadable, AnyBlock, TransactionMeta, TransactionWrapper, BlockstoreRuntime, StoreURIRuntime, DataAndMetaAndWalStore, UrlAndInterceptor, MetaStore, WALStore, BaseStore, FileStore, CarStore } from "./blockstore/index.js";
6
+ import type { KeyBagOpts, KeyBagRuntime } from "./runtime/key-bag.js";
7
+ import type { WriteQueueParams } from "./write-queue.js";
8
+ import type { Index } from "./indexer.js";
9
+ import type { Context } from "./context.js";
10
+ export type { DbMeta };
11
+ export type Falsy = false | null | undefined;
12
+ export type Unreg = () => void;
13
+ export declare function isFalsy(value: unknown): value is Falsy;
14
+ export declare const PARAM: {
15
+ SUFFIX: string;
16
+ URL_GEN: string;
17
+ STORE_KEY: string;
18
+ STORE: string;
19
+ KEY: string;
20
+ INDEX: string;
21
+ NAME: string;
22
+ VERSION: string;
23
+ RUNTIME: string;
24
+ FRAG_SIZE: string;
25
+ IV_VERIFY: string;
26
+ IV_HASH: string;
27
+ FRAG_FID: string;
28
+ FRAG_OFS: string;
29
+ FRAG_LEN: string;
30
+ FRAG_HEAD: string;
31
+ EXTRACTKEY: string;
32
+ SELF_REFLECT: string;
33
+ CAR_PARALLEL: string;
34
+ CAR_CACHE_SIZE: string;
35
+ CAR_COMPACT_CACHE_SIZE: string;
36
+ CAR_META_CACHE_SIZE: string;
37
+ GENESIS_CID: string;
38
+ LOCAL_NAME: string;
39
+ };
40
+ export type PARAMS = (typeof PARAM)[keyof typeof PARAM];
41
+ export declare function throwFalsy<T>(value: T | Falsy): T;
42
+ export declare function falsyToUndef<T>(value: T | Falsy): T | undefined;
43
+ export type StoreType = "car" | "file" | "wal" | "meta";
44
+ export interface FPStats {
45
+ isFile(): boolean;
46
+ isDirectory(): boolean;
47
+ isBlockDevice(): boolean;
48
+ isCharacterDevice(): boolean;
49
+ isSymbolicLink(): boolean;
50
+ isFIFO(): boolean;
51
+ isSocket(): boolean;
52
+ uid: number | Falsy;
53
+ gid: number | Falsy;
54
+ size: number | Falsy;
55
+ atime: Date | Falsy;
56
+ mtime: Date | Falsy;
57
+ ctime: Date | Falsy;
58
+ birthtime: Date | Falsy;
59
+ }
60
+ export interface SysFileSystem {
61
+ start(): Promise<SysFileSystem>;
62
+ mkdir(path: string, options?: {
63
+ recursive: boolean;
64
+ }): Promise<string | undefined>;
65
+ readdir(path: string): Promise<string[]>;
66
+ rm(path: string, options?: {
67
+ recursive: boolean;
68
+ }): Promise<void>;
69
+ copyFile(source: string, destination: string): Promise<void>;
70
+ readfile(path: string): Promise<Uint8Array>;
71
+ stat(path: string): Promise<FPStats>;
72
+ unlink(path: string): Promise<void>;
73
+ writefile(path: string, data: Uint8Array | string): Promise<void>;
74
+ }
75
+ export interface PathOps {
76
+ join(...args: string[]): string;
77
+ dirname(path: string): string;
78
+ basename(path: string): string;
79
+ }
80
+ export type ToUInt8 = Uint8Array | Result<Uint8Array>;
81
+ export type PromiseToUInt8 = ToUInt8 | Promise<Uint8Array> | Promise<Result<Uint8Array>>;
82
+ export interface TextEndeCoder {
83
+ encode(input: string): Uint8Array;
84
+ decode(input: ToUInt8): string;
85
+ }
86
+ export interface SuperThisOpts {
87
+ readonly logger: Logger;
88
+ readonly pathOps: PathOps;
89
+ readonly crypto: CryptoRuntime;
90
+ readonly env: Partial<EnvFactoryOpts>;
91
+ readonly txt: TextEndeCoder;
92
+ readonly ctx: Record<string, unknown>;
93
+ }
94
+ export interface SuperThis {
95
+ readonly logger: Logger;
96
+ readonly loggerCollector?: Logger;
97
+ readonly env: Env;
98
+ readonly pathOps: PathOps;
99
+ readonly ctx: Record<string, unknown>;
100
+ readonly txt: TextEndeCoder;
101
+ timeOrderedNextId(time?: number): {
102
+ str: string;
103
+ toString: () => string;
104
+ };
105
+ nextId(bytes?: number): {
106
+ str: string;
107
+ bin: Uint8Array;
108
+ toString: () => string;
109
+ };
110
+ start(): Promise<void>;
111
+ clone(override: Partial<SuperThisOpts>): SuperThis;
112
+ }
113
+ export interface ConfigOpts extends Partial<SuperThisOpts> {
114
+ readonly public?: boolean;
115
+ readonly meta?: DbMeta;
116
+ readonly writeQueue?: Partial<WriteQueueParams>;
117
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
118
+ readonly autoCompact?: number;
119
+ readonly storeUrls?: StoreUrlsOpts;
120
+ readonly storeEnDe?: StoreEnDeFile;
121
+ readonly threshold?: number;
122
+ readonly keyBag?: Partial<KeyBagOpts>;
123
+ }
124
+ export type ClockLink = EventLink<Operation>;
125
+ export type ClockHead = ClockLink[];
126
+ export type DocFragment = Uint8Array | string | number | boolean | null | AnyLink | DocFragment[] | object;
127
+ export type DocLiteral = string | number | boolean | Uint8Array | unknown;
128
+ export type DocObject = NonNullable<unknown>;
129
+ export type DocTypes = DocObject;
130
+ export type DocRecord<T extends DocObject> = T;
131
+ export type UnknownDoc = DocRecord<never>;
132
+ export type DocFiles = Record<string, DocFileMeta | File>;
133
+ export interface DocBase {
134
+ readonly _id: string;
135
+ readonly _files?: DocFiles;
136
+ readonly _publicFiles?: DocFiles;
137
+ readonly _deleted?: boolean;
138
+ }
139
+ export type DocWithId<T extends DocTypes> = DocBase & T;
140
+ export type DocSet<T extends DocTypes> = Partial<DocBase> & T;
141
+ export interface DocFileMeta {
142
+ readonly type: string;
143
+ readonly size: number;
144
+ readonly cid: AnyLink;
145
+ readonly car?: AnyLink;
146
+ readonly lastModified?: number;
147
+ url?: string;
148
+ file?: () => Promise<File>;
149
+ }
150
+ export interface DocUpdate<T extends DocTypes> {
151
+ readonly id: string;
152
+ readonly value?: DocSet<T>;
153
+ readonly del?: boolean;
154
+ readonly clock?: ClockLink;
155
+ }
156
+ export interface DocValue<T extends DocTypes> {
157
+ readonly doc: DocWithId<T>;
158
+ readonly del: boolean;
159
+ readonly cid: AnyLink;
160
+ }
161
+ export type KeyLiteral = string | number | boolean;
162
+ export type IndexKeyType = KeyLiteral | KeyLiteral[];
163
+ export type IndexKey<K extends IndexKeyType> = [K, string];
164
+ export interface IndexUpdate<K extends IndexKeyType> {
165
+ readonly key: IndexKey<K>;
166
+ readonly value?: DocFragment;
167
+ readonly del?: boolean;
168
+ }
169
+ export interface IndexUpdateString {
170
+ readonly key: string;
171
+ readonly value?: DocFragment;
172
+ readonly del?: boolean;
173
+ }
174
+ export interface IndexRow<K extends IndexKeyType, T extends DocObject, R extends DocFragment> {
175
+ readonly id: string;
176
+ readonly key: K;
177
+ readonly value: R;
178
+ readonly doc?: DocWithId<T>;
179
+ }
180
+ export interface IndexRows<K extends IndexKeyType, T extends DocObject, R extends DocFragment = T> {
181
+ readonly rows: IndexRow<K, T, R>[];
182
+ }
183
+ export interface CRDTMeta {
184
+ readonly head: ClockHead;
185
+ }
186
+ export interface IndexTransactionMeta {
187
+ readonly indexes: Record<string, IdxMeta>;
188
+ }
189
+ export interface FileTransactionMeta {
190
+ readonly files?: AnyLink[];
191
+ }
192
+ export type MetaType = CRDTMeta | IndexTransactionMeta | FileTransactionMeta;
193
+ export interface IdxMeta {
194
+ readonly byId: AnyLink;
195
+ readonly byKey: AnyLink;
196
+ readonly map: string;
197
+ readonly name: string;
198
+ readonly head: ClockHead;
199
+ }
200
+ export interface IdxMetaMap {
201
+ readonly indexes?: Map<string, IdxMeta>;
202
+ }
203
+ export interface QueryOpts<K extends IndexKeyType> {
204
+ readonly descending?: boolean;
205
+ readonly limit?: number;
206
+ includeDocs?: boolean;
207
+ readonly range?: [IndexKeyType, IndexKeyType];
208
+ readonly key?: DocFragment;
209
+ readonly keys?: DocFragment[];
210
+ prefix?: IndexKeyType;
211
+ }
212
+ export interface AllDocsQueryOpts extends QueryOpts<string> {
213
+ readonly key?: string;
214
+ readonly keys?: string[];
215
+ prefix?: string;
216
+ }
217
+ export interface AllDocsResponse<T extends DocTypes> {
218
+ readonly rows: {
219
+ readonly key: string;
220
+ readonly value: DocWithId<T>;
221
+ }[];
222
+ readonly clock: ClockHead;
223
+ readonly name?: string;
224
+ }
225
+ type EmitFn = (k: IndexKeyType, v?: DocFragment) => void;
226
+ export type MapFn<T extends DocTypes> = (doc: DocWithId<T>, emit: EmitFn) => DocFragment | unknown;
227
+ export interface ChangesOptions {
228
+ readonly dirty?: boolean;
229
+ readonly limit?: number;
230
+ }
231
+ export interface ChangesResponseRow<T extends DocTypes> {
232
+ readonly key: string;
233
+ readonly value: DocWithId<T>;
234
+ readonly clock?: ClockLink;
235
+ }
236
+ export interface ChangesResponse<T extends DocTypes> {
237
+ readonly clock: ClockHead;
238
+ readonly rows: ChangesResponseRow<T>[];
239
+ readonly name?: string;
240
+ }
241
+ export interface DocResponse {
242
+ readonly id: string;
243
+ readonly clock: ClockHead;
244
+ readonly name?: string;
245
+ }
246
+ export interface BulkResponse {
247
+ readonly ids: string[];
248
+ readonly clock: ClockHead;
249
+ readonly name?: string;
250
+ }
251
+ export type UpdateListenerFn<T extends DocTypes> = (docs: DocWithId<T>[]) => Promise<void> | void;
252
+ export type NoUpdateListenerFn = () => Promise<void> | void;
253
+ export type ListenerFn<T extends DocTypes> = UpdateListenerFn<T> | NoUpdateListenerFn;
254
+ export interface CRDTEntry {
255
+ readonly data: string;
256
+ readonly parents: string[];
257
+ readonly cid: string;
258
+ }
259
+ export type VoidFn = () => void;
260
+ export type UnReg = () => void;
261
+ export interface CRDTClock {
262
+ readonly head: ClockHead;
263
+ onTock(fn: VoidFn): UnReg;
264
+ onTick(fn: (updates: DocUpdate<DocTypes>[]) => void): UnReg;
265
+ applyHead(newHead: ClockHead, prevHead: ClockHead, updates?: DocUpdate<DocTypes>[]): Promise<void>;
266
+ onZoom(fn: VoidFn): UnReg;
267
+ close(): Promise<void>;
268
+ ready(): Promise<void>;
269
+ }
270
+ export interface CarTransaction {
271
+ readonly parent: BaseBlockstore;
272
+ get<T, C extends number, A extends number, V extends Version>(cid: AnyLink): Promise<Block<T, C, A, V> | undefined>;
273
+ superGet(cid: AnyLink): Promise<AnyBlock | undefined>;
274
+ unshift(cid: UnknownLink, bytes: Uint8Array<ArrayBufferLike>): void;
275
+ putSync(cid: UnknownLink, bytes: Uint8Array<ArrayBufferLike>): void;
276
+ put(cid: UnknownLink, bytes: Uint8Array<ArrayBufferLike>): Promise<void>;
277
+ entries(): AsyncIterableIterator<AnyBlock>;
278
+ }
279
+ export interface BaseBlockstore {
280
+ readonly transactions: Set<CarTransaction>;
281
+ readonly sthis: SuperThis;
282
+ readonly loader: Loadable;
283
+ readonly ebOpts: BlockstoreRuntime;
284
+ ready(): Promise<void>;
285
+ close(): Promise<void>;
286
+ destroy(): Promise<void>;
287
+ compact(): Promise<void>;
288
+ readonly logger: Logger;
289
+ get<T, C extends number, A extends number, V extends Version>(cid: AnyLink): Promise<Block<T, C, A, V> | undefined>;
290
+ put(cid: UnknownLink, bytes: Uint8Array<ArrayBufferLike>): Promise<void>;
291
+ transaction<M extends TransactionMeta>(fn: (t: CarTransaction) => Promise<M>, _opts?: CarTransactionOpts): Promise<TransactionWrapper<M>>;
292
+ openTransaction(opts: CarTransactionOpts): CarTransaction;
293
+ commitTransaction<M extends TransactionMeta>(t: CarTransaction, done: M, opts: CarTransactionOpts): Promise<TransactionWrapper<M>>;
294
+ entries(): AsyncIterableIterator<AnyBlock>;
295
+ }
296
+ export interface CRDT extends ReadyCloseDestroy, HasLogger, HasSuperThis, HasCRDT {
297
+ readonly logger: Logger;
298
+ readonly sthis: SuperThis;
299
+ readonly crdt: CRDT;
300
+ readonly clock: CRDTClock;
301
+ readonly blockstore: BaseBlockstore;
302
+ readonly indexBlockstore: BaseBlockstore;
303
+ readonly indexers: Map<string, Index<IndexKeyType, DocTypes>>;
304
+ bulk<T extends DocTypes>(updates: DocUpdate<T>[]): Promise<CRDTMeta>;
305
+ ready(): Promise<void>;
306
+ close(): Promise<void>;
307
+ destroy(): Promise<void>;
308
+ allDocs<T extends DocTypes>(): Promise<{
309
+ result: DocUpdate<T>[];
310
+ head: ClockHead;
311
+ }>;
312
+ vis(): Promise<string>;
313
+ getBlock(cidString: string): Promise<Block>;
314
+ get(key: string): Promise<DocValue<DocTypes> | Falsy>;
315
+ changes<T extends DocTypes>(since?: ClockHead, opts?: ChangesOptions): Promise<{
316
+ result: DocUpdate<T>[];
317
+ head: ClockHead;
318
+ }>;
319
+ compact(): Promise<void>;
320
+ }
321
+ export interface HasCRDT {
322
+ readonly crdt: CRDT;
323
+ }
324
+ export interface RefLedger {
325
+ readonly ledger: Ledger;
326
+ }
327
+ export interface HasLogger {
328
+ readonly logger: Logger;
329
+ }
330
+ export interface HasSuperThis {
331
+ readonly sthis: SuperThis;
332
+ }
333
+ export interface ReadyCloseDestroy {
334
+ close(): Promise<void>;
335
+ destroy(): Promise<void>;
336
+ ready(): Promise<void>;
337
+ }
338
+ export interface CoerceURIandInterceptor {
339
+ readonly url: CoerceURI;
340
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
341
+ }
342
+ export interface GatewayUrlsParam {
343
+ readonly car: CoerceURIandInterceptor;
344
+ readonly file: CoerceURIandInterceptor;
345
+ readonly meta: CoerceURIandInterceptor;
346
+ readonly wal?: CoerceURIandInterceptor;
347
+ }
348
+ export interface GatewayUrls {
349
+ readonly car: UrlAndInterceptor;
350
+ readonly file: UrlAndInterceptor;
351
+ readonly meta: UrlAndInterceptor;
352
+ readonly wal?: UrlAndInterceptor;
353
+ }
354
+ export interface Attachable {
355
+ readonly name: string;
356
+ prepare(): Promise<GatewayUrlsParam>;
357
+ }
358
+ export declare class DataAndMetaAndWalAndBaseStore implements DataAndMetaAndWalStore {
359
+ readonly wal?: WALStore | undefined;
360
+ readonly file: FileStore;
361
+ readonly car: CarStore;
362
+ readonly meta: MetaStore;
363
+ readonly baseStores: BaseStore[];
364
+ constructor(dam: DataAndMetaAndWalStore);
365
+ }
366
+ export interface Attached {
367
+ readonly gatewayUrls: GatewayUrls;
368
+ readonly stores: DataAndMetaAndWalAndBaseStore;
369
+ detach(): Promise<void>;
370
+ status(): "attached" | "loading" | "loaded" | "error" | "detached" | "syncing" | "idle";
371
+ }
372
+ export interface Database extends ReadyCloseDestroy, HasLogger, HasSuperThis {
373
+ readonly ledger: Ledger;
374
+ readonly logger: Logger;
375
+ readonly sthis: SuperThis;
376
+ readonly id: string;
377
+ readonly name: string;
378
+ onClosed(fn: () => void): void;
379
+ attach(a: Attachable): Promise<Attached>;
380
+ get<T extends DocTypes>(id: string): Promise<DocWithId<T>>;
381
+ put<T extends DocTypes>(doc: DocSet<T>): Promise<DocResponse>;
382
+ bulk<T extends DocTypes>(docs: DocSet<T>[]): Promise<BulkResponse>;
383
+ del(id: string): Promise<DocResponse>;
384
+ remove(id: string): Promise<DocResponse>;
385
+ changes<T extends DocTypes>(since?: ClockHead, opts?: ChangesOptions): Promise<ChangesResponse<T>>;
386
+ allDocs<T extends DocTypes>(opts?: AllDocsQueryOpts): Promise<AllDocsResponse<T>>;
387
+ allDocuments<T extends DocTypes>(): Promise<{
388
+ rows: {
389
+ key: string;
390
+ value: DocWithId<T>;
391
+ }[];
392
+ clock: ClockHead;
393
+ }>;
394
+ subscribe<T extends DocTypes>(listener: ListenerFn<T>, updates?: boolean): () => void;
395
+ query<K extends IndexKeyType, T extends DocTypes, R extends DocFragment = T>(field: string | MapFn<T>, opts?: QueryOpts<K>): Promise<IndexRows<K, T, R>>;
396
+ compact(): Promise<void>;
397
+ }
398
+ export interface WriteQueue<T extends DocUpdate<S>, S extends DocTypes = DocTypes> {
399
+ push(task: T): Promise<MetaType>;
400
+ bulk(tasks: T[]): Promise<MetaType>;
401
+ close(): Promise<void>;
402
+ }
403
+ export interface LedgerOpts {
404
+ readonly name: string;
405
+ readonly meta?: DbMeta;
406
+ readonly gatewayInterceptor?: SerdeGatewayInterceptor;
407
+ readonly writeQueue: WriteQueueParams;
408
+ readonly storeUrls: StoreURIRuntime;
409
+ readonly storeEnDe: StoreEnDeFile;
410
+ readonly keyBag: KeyBagRuntime;
411
+ }
412
+ export interface Ledger extends HasCRDT {
413
+ readonly opts: LedgerOpts;
414
+ readonly writeQueue: WriteQueue<DocUpdate<DocTypes>>;
415
+ readonly logger: Logger;
416
+ readonly sthis: SuperThis;
417
+ readonly id: string;
418
+ readonly name: string;
419
+ readonly context: Context;
420
+ onClosed(fn: () => void): () => void;
421
+ attach(a: Attachable): Promise<Attached>;
422
+ close(): Promise<void>;
423
+ destroy(): Promise<void>;
424
+ ready(): Promise<void>;
425
+ subscribe<T extends DocTypes>(listener: ListenerFn<T>, updates?: boolean): () => void;
426
+ }
427
+ //# sourceMappingURL=types.d.ts.map