@fireproof/core 0.20.0-dev-preview-61 → 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 (404) 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/cli/main.js +26114 -0
  94. package/context.d.ts +7 -0
  95. package/context.d.ts.map +1 -0
  96. package/context.js +15 -0
  97. package/context.js.map +1 -0
  98. package/crdt-clock.d.ts +27 -0
  99. package/crdt-clock.d.ts.map +1 -0
  100. package/crdt-clock.js +140 -0
  101. package/crdt-clock.js.map +1 -0
  102. package/crdt-helpers.d.ts +16 -0
  103. package/crdt-helpers.d.ts.map +1 -0
  104. package/crdt-helpers.js +316 -0
  105. package/crdt-helpers.js.map +1 -0
  106. package/crdt.d.ts +34 -0
  107. package/crdt.d.ts.map +1 -0
  108. package/crdt.js +131 -0
  109. package/crdt.js.map +1 -0
  110. package/database.d.ts +34 -0
  111. package/database.d.ts.map +1 -0
  112. package/database.js +121 -0
  113. package/database.js.map +1 -0
  114. package/index.d.ts +15 -2742
  115. package/index.d.ts.map +1 -0
  116. package/index.js +14 -7267
  117. package/index.js.map +1 -1
  118. package/indexer-helpers.d.ts +69 -0
  119. package/indexer-helpers.d.ts.map +1 -0
  120. package/indexer-helpers.js +135 -0
  121. package/indexer-helpers.js.map +1 -0
  122. package/indexer.d.ts +25 -0
  123. package/indexer.d.ts.map +1 -0
  124. package/indexer.js +231 -0
  125. package/indexer.js.map +1 -0
  126. package/ledger.d.ts +56 -0
  127. package/ledger.d.ts.map +1 -0
  128. package/ledger.js +224 -0
  129. package/ledger.js.map +1 -0
  130. package/package.json +18 -15
  131. package/protocols/cloud/http-connection.d.ts +25 -0
  132. package/protocols/cloud/http-connection.d.ts.map +1 -0
  133. package/protocols/cloud/http-connection.js +153 -0
  134. package/protocols/cloud/http-connection.js.map +1 -0
  135. package/protocols/cloud/index.d.ts +10 -0
  136. package/protocols/cloud/index.d.ts.map +1 -0
  137. package/protocols/cloud/index.js +10 -0
  138. package/protocols/cloud/index.js.map +1 -0
  139. package/protocols/cloud/msg-raw-connection-base.d.ts +16 -0
  140. package/protocols/cloud/msg-raw-connection-base.d.ts.map +1 -0
  141. package/protocols/cloud/msg-raw-connection-base.js +22 -0
  142. package/protocols/cloud/msg-raw-connection-base.js.map +1 -0
  143. package/protocols/cloud/msg-types-data.d.ts +36 -0
  144. package/protocols/cloud/msg-types-data.d.ts.map +1 -0
  145. package/protocols/cloud/msg-types-data.js +38 -0
  146. package/protocols/cloud/msg-types-data.js.map +1 -0
  147. package/protocols/cloud/msg-types-meta.d.ts +41 -0
  148. package/protocols/cloud/msg-types-meta.d.ts.map +1 -0
  149. package/protocols/cloud/msg-types-meta.js +98 -0
  150. package/protocols/cloud/msg-types-meta.js.map +1 -0
  151. package/protocols/cloud/msg-types-wal.d.ts +33 -0
  152. package/protocols/cloud/msg-types-wal.d.ts.map +1 -0
  153. package/protocols/cloud/msg-types-wal.js +38 -0
  154. package/protocols/cloud/msg-types-wal.js.map +1 -0
  155. package/protocols/cloud/msg-types.d.ts +279 -0
  156. package/protocols/cloud/msg-types.d.ts.map +1 -0
  157. package/protocols/cloud/msg-types.js +278 -0
  158. package/protocols/cloud/msg-types.js.map +1 -0
  159. package/protocols/cloud/msger.d.ts +79 -0
  160. package/protocols/cloud/msger.d.ts.map +1 -0
  161. package/protocols/cloud/msger.js +198 -0
  162. package/protocols/cloud/msger.js.map +1 -0
  163. package/protocols/cloud/ws-connection.d.ts +29 -0
  164. package/protocols/cloud/ws-connection.d.ts.map +1 -0
  165. package/protocols/cloud/ws-connection.js +163 -0
  166. package/protocols/cloud/ws-connection.js.map +1 -0
  167. package/protocols/index.d.ts +2 -0
  168. package/protocols/index.d.ts.map +1 -0
  169. package/protocols/index.js +2 -0
  170. package/protocols/index.js.map +1 -0
  171. package/react/{index.d.cts → img-file.d.ts} +6 -53
  172. package/react/img-file.d.ts.map +1 -0
  173. package/react/img-file.js +58 -0
  174. package/react/img-file.js.map +1 -0
  175. package/react/index.d.ts +4 -336
  176. package/react/index.d.ts.map +1 -0
  177. package/react/index.js +3 -263
  178. package/react/index.js.map +1 -1
  179. package/react/types.d.ts +43 -0
  180. package/react/types.d.ts.map +1 -0
  181. package/react/types.js +2 -0
  182. package/react/types.js.map +1 -0
  183. package/react/use-all-docs.d.ts +4 -0
  184. package/react/use-all-docs.d.ts.map +1 -0
  185. package/react/use-all-docs.js +19 -0
  186. package/react/use-all-docs.js.map +1 -0
  187. package/react/use-changes.d.ts +4 -0
  188. package/react/use-changes.d.ts.map +1 -0
  189. package/react/use-changes.js +19 -0
  190. package/react/use-changes.js.map +1 -0
  191. package/react/use-document.d.ts +4 -0
  192. package/react/use-document.d.ts.map +1 -0
  193. package/react/use-document.js +99 -0
  194. package/react/use-document.js.map +1 -0
  195. package/react/use-fireproof.d.ts +6 -0
  196. package/react/use-fireproof.d.ts.map +1 -0
  197. package/react/use-fireproof.js +15 -0
  198. package/react/use-fireproof.js.map +1 -0
  199. package/react/use-live-query.d.ts +4 -0
  200. package/react/use-live-query.d.ts.map +1 -0
  201. package/react/use-live-query.js +38 -0
  202. package/react/use-live-query.js.map +1 -0
  203. package/react/utils.d.ts +2 -0
  204. package/react/utils.d.ts.map +1 -0
  205. package/react/utils.js +4 -0
  206. package/react/utils.js.map +1 -0
  207. package/runtime/files.d.ts +12 -0
  208. package/runtime/files.d.ts.map +1 -0
  209. package/runtime/files.js +29 -0
  210. package/runtime/files.js.map +1 -0
  211. package/runtime/gateways/cloud/gateway.d.ts +44 -0
  212. package/runtime/gateways/cloud/gateway.d.ts.map +1 -0
  213. package/runtime/gateways/cloud/gateway.js +496 -0
  214. package/runtime/gateways/cloud/gateway.js.map +1 -0
  215. package/runtime/gateways/def-serde-gateway.d.ts +19 -0
  216. package/runtime/gateways/def-serde-gateway.d.ts.map +1 -0
  217. package/runtime/gateways/def-serde-gateway.js +73 -0
  218. package/runtime/gateways/def-serde-gateway.js.map +1 -0
  219. package/runtime/gateways/file/deno/deno-filesystem.d.ts +27 -0
  220. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +1 -0
  221. package/runtime/gateways/file/deno/deno-filesystem.js +51 -0
  222. package/runtime/gateways/file/deno/deno-filesystem.js.map +1 -0
  223. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +4 -0
  224. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +1 -0
  225. package/runtime/gateways/file/deno/get-sys-file-system.js +11 -0
  226. package/runtime/gateways/file/deno/get-sys-file-system.js.map +1 -0
  227. package/runtime/gateways/file/deno/index.d.ts +2 -0
  228. package/runtime/gateways/file/deno/index.d.ts.map +1 -0
  229. package/runtime/gateways/file/deno/index.js +2 -0
  230. package/runtime/gateways/file/deno/index.js.map +1 -0
  231. package/runtime/gateways/file/gateway-impl.d.ts +18 -0
  232. package/runtime/gateways/file/gateway-impl.d.ts.map +1 -0
  233. package/runtime/gateways/file/gateway-impl.js +121 -0
  234. package/runtime/gateways/file/gateway-impl.js.map +1 -0
  235. package/runtime/gateways/file/index.d.ts +3 -0
  236. package/runtime/gateways/file/index.d.ts.map +1 -0
  237. package/runtime/gateways/file/index.js +3 -0
  238. package/runtime/gateways/file/index.js.map +1 -0
  239. package/runtime/gateways/file/key-bag-file.d.ts +19 -0
  240. package/runtime/gateways/file/key-bag-file.d.ts.map +1 -0
  241. package/runtime/gateways/file/key-bag-file.js +40 -0
  242. package/runtime/gateways/file/key-bag-file.js.map +1 -0
  243. package/runtime/gateways/file/node/get-sys-file-system.d.ts +4 -0
  244. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +1 -0
  245. package/runtime/gateways/file/node/get-sys-file-system.js +11 -0
  246. package/runtime/gateways/file/node/get-sys-file-system.js.map +1 -0
  247. package/runtime/gateways/file/node/index.d.ts +2 -0
  248. package/runtime/gateways/file/node/index.d.ts.map +1 -0
  249. package/runtime/gateways/file/node/index.js +2 -0
  250. package/runtime/gateways/file/node/index.js.map +1 -0
  251. package/runtime/gateways/file/node/node-filesystem.d.ts +32 -0
  252. package/runtime/gateways/file/node/node-filesystem.d.ts.map +1 -0
  253. package/runtime/gateways/file/node/node-filesystem.js +37 -0
  254. package/runtime/gateways/file/node/node-filesystem.js.map +1 -0
  255. package/runtime/gateways/file/node/to-array-buffer.d.ts +2 -0
  256. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +1 -0
  257. package/runtime/gateways/file/node/to-array-buffer.js +12 -0
  258. package/runtime/gateways/file/node/to-array-buffer.js.map +1 -0
  259. package/runtime/gateways/file/sys-file-system-factory.d.ts +4 -0
  260. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +1 -0
  261. package/runtime/gateways/file/sys-file-system-factory.js +13 -0
  262. package/runtime/gateways/file/sys-file-system-factory.js.map +1 -0
  263. package/runtime/gateways/file/utils.d.ts +5 -0
  264. package/runtime/gateways/file/utils.d.ts.map +1 -0
  265. package/runtime/gateways/file/utils.js +27 -0
  266. package/runtime/gateways/file/utils.js.map +1 -0
  267. package/runtime/gateways/file/version.d.ts +2 -0
  268. package/runtime/gateways/file/version.d.ts.map +1 -0
  269. package/runtime/gateways/file/version.js +2 -0
  270. package/runtime/gateways/file/version.js.map +1 -0
  271. package/runtime/gateways/fp-envelope-serialize.d.ts +50 -0
  272. package/runtime/gateways/fp-envelope-serialize.d.ts.map +1 -0
  273. package/runtime/gateways/fp-envelope-serialize.js +141 -0
  274. package/runtime/gateways/fp-envelope-serialize.js.map +1 -0
  275. package/runtime/gateways/index.d.ts +6 -0
  276. package/runtime/gateways/index.d.ts.map +1 -0
  277. package/runtime/gateways/index.js +6 -0
  278. package/runtime/gateways/index.js.map +1 -0
  279. package/runtime/gateways/indexeddb/gateway-impl.d.ts +22 -0
  280. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +1 -0
  281. package/runtime/gateways/indexeddb/gateway-impl.js +147 -0
  282. package/runtime/gateways/indexeddb/gateway-impl.js.map +1 -0
  283. package/runtime/gateways/indexeddb/index.d.ts +6 -0
  284. package/runtime/gateways/indexeddb/index.d.ts.map +1 -0
  285. package/runtime/gateways/indexeddb/index.js +6 -0
  286. package/runtime/gateways/indexeddb/index.js.map +1 -0
  287. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +15 -0
  288. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +1 -0
  289. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +42 -0
  290. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +1 -0
  291. package/runtime/gateways/indexeddb-version.d.ts +2 -0
  292. package/runtime/gateways/indexeddb-version.d.ts.map +1 -0
  293. package/runtime/gateways/indexeddb-version.js +2 -0
  294. package/runtime/gateways/indexeddb-version.js.map +1 -0
  295. package/runtime/gateways/memory/gateway.d.ts +18 -0
  296. package/runtime/gateways/memory/gateway.d.ts.map +1 -0
  297. package/runtime/gateways/memory/gateway.js +58 -0
  298. package/runtime/gateways/memory/gateway.js.map +1 -0
  299. package/runtime/gateways/memory/version.d.ts +2 -0
  300. package/runtime/gateways/memory/version.d.ts.map +1 -0
  301. package/runtime/gateways/memory/version.js +2 -0
  302. package/runtime/gateways/memory/version.js.map +1 -0
  303. package/runtime/index.d.ts +13 -0
  304. package/runtime/index.d.ts.map +1 -0
  305. package/runtime/index.js +13 -0
  306. package/runtime/index.js.map +1 -0
  307. package/runtime/key-bag-memory.d.ts +12 -0
  308. package/runtime/key-bag-memory.d.ts.map +1 -0
  309. package/runtime/key-bag-memory.js +23 -0
  310. package/runtime/key-bag-memory.js.map +1 -0
  311. package/runtime/key-bag.d.ts +85 -0
  312. package/runtime/key-bag.d.ts.map +1 -0
  313. package/runtime/key-bag.js +415 -0
  314. package/runtime/key-bag.js.map +1 -0
  315. package/runtime/keyed-crypto.d.ts +19 -0
  316. package/runtime/keyed-crypto.d.ts.map +1 -0
  317. package/runtime/keyed-crypto.js +192 -0
  318. package/runtime/keyed-crypto.js.map +1 -0
  319. package/runtime/memory-sys-container.d.ts +2 -0
  320. package/runtime/memory-sys-container.d.ts.map +1 -0
  321. package/runtime/memory-sys-container.js +2 -0
  322. package/runtime/memory-sys-container.js.map +1 -0
  323. package/runtime/meta-key-hack.d.ts +42 -0
  324. package/runtime/meta-key-hack.d.ts.map +1 -0
  325. package/runtime/meta-key-hack.js +201 -0
  326. package/runtime/meta-key-hack.js.map +1 -0
  327. package/runtime/sts-service/index.d.ts +40 -0
  328. package/runtime/sts-service/index.d.ts.map +1 -0
  329. package/runtime/sts-service/index.js +102 -0
  330. package/runtime/sts-service/index.js.map +1 -0
  331. package/runtime/sys-container.d.ts +2 -0
  332. package/runtime/sys-container.d.ts.map +1 -0
  333. package/runtime/sys-container.js +2 -0
  334. package/runtime/sys-container.js.map +1 -0
  335. package/runtime/wait-pr-multiformats/block.d.ts +47 -0
  336. package/runtime/wait-pr-multiformats/block.d.ts.map +1 -0
  337. package/runtime/wait-pr-multiformats/block.js +64 -0
  338. package/runtime/wait-pr-multiformats/block.js.map +1 -0
  339. package/runtime/wait-pr-multiformats/codec-interface.d.ts +29 -0
  340. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +1 -0
  341. package/runtime/wait-pr-multiformats/codec-interface.js +2 -0
  342. package/runtime/wait-pr-multiformats/codec-interface.js.map +1 -0
  343. package/runtime/wait-pr-multiformats/index.d.ts +3 -0
  344. package/runtime/wait-pr-multiformats/index.d.ts.map +1 -0
  345. package/runtime/wait-pr-multiformats/index.js +3 -0
  346. package/runtime/wait-pr-multiformats/index.js.map +1 -0
  347. package/tests/blockstore/store.test.ts +9 -4
  348. package/tests/fireproof/attachable.test.ts +3 -3
  349. package/types.d.ts +427 -0
  350. package/types.d.ts.map +1 -0
  351. package/types.js +54 -0
  352. package/types.js.map +1 -0
  353. package/use-fireproof/index.d.ts +3 -0
  354. package/use-fireproof/index.d.ts.map +1 -0
  355. package/use-fireproof/index.js +3 -0
  356. package/use-fireproof/index.js.map +1 -0
  357. package/utils.d.ts +36 -0
  358. package/utils.d.ts.map +1 -0
  359. package/utils.js +379 -0
  360. package/utils.js.map +1 -0
  361. package/version.d.ts +2 -0
  362. package/version.d.ts.map +1 -0
  363. package/version.js +4 -0
  364. package/version.js.map +1 -0
  365. package/write-queue.d.ts +9 -0
  366. package/write-queue.d.ts.map +1 -0
  367. package/write-queue.js +70 -0
  368. package/write-queue.js.map +1 -0
  369. package/deno/index.d.ts +0 -7
  370. package/deno/index.js +0 -66
  371. package/deno/index.js.map +0 -1
  372. package/deno/metafile-esm.json +0 -1
  373. package/index.cjs +0 -7268
  374. package/index.cjs.map +0 -1
  375. package/index.d.cts +0 -2742
  376. package/indexeddb/index.cjs +0 -218
  377. package/indexeddb/index.cjs.map +0 -1
  378. package/indexeddb/index.d.cts +0 -30
  379. package/indexeddb/index.d.ts +0 -30
  380. package/indexeddb/index.js +0 -195
  381. package/indexeddb/index.js.map +0 -1
  382. package/indexeddb/metafile-cjs.json +0 -1
  383. package/indexeddb/metafile-esm.json +0 -1
  384. package/metafile-cjs.json +0 -1
  385. package/metafile-esm.json +0 -1
  386. package/node/index.cjs +0 -97
  387. package/node/index.cjs.map +0 -1
  388. package/node/index.d.cts +0 -7
  389. package/node/index.d.ts +0 -7
  390. package/node/index.js +0 -64
  391. package/node/index.js.map +0 -1
  392. package/node/metafile-cjs.json +0 -1
  393. package/node/metafile-esm.json +0 -1
  394. package/react/index.cjs +0 -297
  395. package/react/index.cjs.map +0 -1
  396. package/react/metafile-cjs.json +0 -1
  397. package/react/metafile-esm.json +0 -1
  398. package/tests/www/gallery.html +0 -132
  399. package/tests/www/iife.html +0 -42
  400. package/tests/www/todo-aws.html +0 -232
  401. package/tests/www/todo-ipfs.html +0 -213
  402. package/tests/www/todo-local.html +0 -214
  403. package/tests/www/todo-netlify.html +0 -227
  404. package/tests/www/todo.html +0 -254
package/utils.js ADDED
@@ -0,0 +1,379 @@
1
+ import { LoggerImpl, IsLogger, Result, ResolveOnce, isURL, URI, envFactory, toCryptoRuntime, JSONFormatter, YAMLFormatter, } from "@adviser/cement";
2
+ import { PARAM } from "./types.js";
3
+ import { base58btc } from "multiformats/bases/base58";
4
+ const _globalLogger = new ResolveOnce();
5
+ function globalLogger() {
6
+ return _globalLogger.once(() => new LoggerImpl());
7
+ }
8
+ const registerFP_DEBUG = new ResolveOnce();
9
+ class SuperThisImpl {
10
+ constructor(opts) {
11
+ this.logger = opts.logger;
12
+ this.env = opts.env;
13
+ this.crypto = opts.crypto;
14
+ this.pathOps = opts.pathOps;
15
+ this.txt = opts.txt;
16
+ this.ctx = { ...opts.ctx };
17
+ }
18
+ nextId(bytes = 6) {
19
+ const bin = this.crypto.randomBytes(bytes);
20
+ return {
21
+ str: base58btc.encode(bin),
22
+ bin,
23
+ };
24
+ }
25
+ timeOrderedNextId(now) {
26
+ now = typeof now === "number" ? now : new Date().getTime();
27
+ const t = (0x1000000000000 + now).toString(16).replace(/^1/, "");
28
+ const bin = this.crypto.randomBytes(10);
29
+ bin[1] = (bin[1] & 0xf0) | (bin[1] | 0x08 && 0x0b);
30
+ const hex = Array.from(bin)
31
+ .map((i) => i.toString(16).padStart(2, "0"))
32
+ .join("");
33
+ return {
34
+ str: `${t.slice(0, 8)}-${t.slice(8)}-7${hex.slice(0, 3)}-${hex.slice(3, 7)}-${hex.slice(7, 19)}`,
35
+ };
36
+ }
37
+ start() {
38
+ return Promise.resolve();
39
+ }
40
+ clone(override) {
41
+ return new SuperThisImpl({
42
+ logger: override.logger || this.logger,
43
+ env: envFactory(override.env) || this.env,
44
+ crypto: override.crypto || this.crypto,
45
+ pathOps: override.pathOps || this.pathOps,
46
+ txt: override.txt || this.txt,
47
+ ctx: { ...this.ctx, ...override.ctx },
48
+ });
49
+ }
50
+ }
51
+ function presetEnv(ipreset) {
52
+ let preset = {};
53
+ if (ipreset instanceof Map) {
54
+ preset = Object.fromEntries(ipreset.entries());
55
+ }
56
+ else if (typeof ipreset === "object" && ipreset !== null) {
57
+ preset = ipreset;
58
+ }
59
+ const penv = new Map([
60
+ ...Array.from(Object.entries({
61
+ ...setPresetEnv({}),
62
+ ...preset,
63
+ })),
64
+ ]);
65
+ return penv;
66
+ }
67
+ class pathOpsImpl {
68
+ join(...paths) {
69
+ return paths.map((i) => i.replace(/\/+$/, "")).join("/");
70
+ }
71
+ dirname(path) {
72
+ return path.split("/").slice(0, -1).join("/");
73
+ }
74
+ basename(path) {
75
+ return path.split("/").pop() || "";
76
+ }
77
+ }
78
+ const pathOps = new pathOpsImpl();
79
+ const txtOps = ((txtEncoder, txtDecoder) => ({
80
+ encode: (input) => txtEncoder.encode(input),
81
+ decode: (input) => txtDecoder.decode(coerceIntoUint8(input).Ok()),
82
+ }))(new TextEncoder(), new TextDecoder());
83
+ const _onSuperThis = new Map();
84
+ export function onSuperThis(fn) {
85
+ const key = `onSuperThis-${Math.random().toString(36).slice(2)}`;
86
+ _onSuperThis.set(key, fn);
87
+ return () => {
88
+ _onSuperThis.delete(key);
89
+ };
90
+ }
91
+ export function ensureSuperThis(osthis) {
92
+ const env = envFactory({
93
+ symbol: osthis?.env?.symbol || "FP_ENV",
94
+ presetEnv: presetEnv(osthis?.env?.presetEnv),
95
+ });
96
+ const ret = new SuperThisImpl({
97
+ logger: osthis?.logger || globalLogger(),
98
+ env,
99
+ crypto: osthis?.crypto || toCryptoRuntime(),
100
+ ctx: osthis?.ctx || {},
101
+ pathOps,
102
+ txt: osthis?.txt || txtOps,
103
+ });
104
+ _onSuperThis.forEach((fn) => fn(ret));
105
+ return ret;
106
+ }
107
+ export function ensureSuperLog(sthis, componentName, ctx) {
108
+ return sthis.clone({
109
+ logger: ensureLogger(sthis, componentName, ctx),
110
+ });
111
+ }
112
+ export function ensureLogger(sthis, componentName, ctx) {
113
+ let logger;
114
+ if (sthis && IsLogger(sthis.logger)) {
115
+ logger = sthis.logger;
116
+ }
117
+ else {
118
+ logger = globalLogger();
119
+ }
120
+ const cLogger = logger.With().Module(componentName);
121
+ const debug = [];
122
+ let exposeStack = false;
123
+ if (ctx) {
124
+ if ("debug" in ctx) {
125
+ if (typeof ctx.debug === "string" && ctx.debug.length > 0) {
126
+ debug.push(ctx.debug);
127
+ }
128
+ else {
129
+ debug.push(componentName);
130
+ }
131
+ delete ctx.debug;
132
+ }
133
+ if ("exposeStack" in ctx) {
134
+ exposeStack = true;
135
+ delete ctx.exposeStack;
136
+ }
137
+ if ("exposeStack" in ctx) {
138
+ exposeStack = true;
139
+ delete ctx.exposeStack;
140
+ }
141
+ if ("this" in ctx) {
142
+ cLogger.Str("this", sthis.nextId(4).str);
143
+ delete ctx.this;
144
+ }
145
+ for (const [key, value] of Object.entries(ctx)) {
146
+ switch (typeof value) {
147
+ case "string":
148
+ cLogger.Str(key, value);
149
+ break;
150
+ case "number":
151
+ cLogger.Uint64(key, value);
152
+ break;
153
+ default:
154
+ if (value instanceof Date) {
155
+ cLogger.Str(key, value.toISOString());
156
+ }
157
+ else if (isURL(value)) {
158
+ cLogger.Str(key, value.toString());
159
+ }
160
+ else if (typeof value === "function") {
161
+ cLogger.Ref(key, value);
162
+ }
163
+ else {
164
+ cLogger.Any(key, value);
165
+ }
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ registerFP_DEBUG
171
+ .once(async () => {
172
+ sthis.env.onSet((key, value) => {
173
+ switch (key) {
174
+ case "FP_FORMAT": {
175
+ switch (value) {
176
+ case "jsonice":
177
+ logger.SetFormatter(new JSONFormatter(logger.TxtEnDe(), 2));
178
+ break;
179
+ case "yaml":
180
+ logger.SetFormatter(new YAMLFormatter(logger.TxtEnDe(), 2));
181
+ break;
182
+ case "json":
183
+ default:
184
+ logger.SetFormatter(new JSONFormatter(logger.TxtEnDe()));
185
+ break;
186
+ }
187
+ break;
188
+ }
189
+ case "FP_DEBUG":
190
+ logger.SetDebug(value || []);
191
+ break;
192
+ case "FP_STACK":
193
+ logger.SetExposeStack(!!value);
194
+ break;
195
+ }
196
+ }, "FP_FORMAT", "FP_DEBUG", "FP_STACK");
197
+ })
198
+ .finally(() => {
199
+ });
200
+ if (debug.length > 0) {
201
+ logger.SetDebug(debug);
202
+ }
203
+ if (exposeStack) {
204
+ logger.SetExposeStack(true);
205
+ }
206
+ const out = cLogger.Logger();
207
+ if (sthis.env.get("FP_CONSTRUCTOR_DEBUG")) {
208
+ out.Debug().Msg("constructor");
209
+ }
210
+ return out;
211
+ }
212
+ export function getStore(url, sthis, joiner) {
213
+ const fromUrl = url.getParam(PARAM.STORE);
214
+ let pathPart;
215
+ switch (fromUrl) {
216
+ case "car":
217
+ case "file":
218
+ pathPart = "data";
219
+ break;
220
+ case "wal":
221
+ case "meta":
222
+ pathPart = fromUrl;
223
+ break;
224
+ default:
225
+ throw sthis.logger.Error().Url(url).Msg(`store not found`).AsError();
226
+ }
227
+ let name = pathPart;
228
+ if (url.hasParam("index")) {
229
+ name = joiner(url.getParam(PARAM.INDEX) || "idx", name);
230
+ }
231
+ return { pathPart, fromUrl, name };
232
+ }
233
+ export function getKey(url, logger) {
234
+ const result = url.getParam(PARAM.KEY);
235
+ if (!result)
236
+ throw logger.Error().Str("url", url.toString()).Msg(`key not found`).AsError();
237
+ return result;
238
+ }
239
+ export function getName(sthis, url) {
240
+ let result = url.getParam(PARAM.NAME);
241
+ if (!result) {
242
+ result = sthis.pathOps.dirname(url.pathname);
243
+ if (result.length === 0) {
244
+ throw sthis.logger.Error().Str("url", url.toString()).Msg(`name not found`).AsError();
245
+ }
246
+ }
247
+ return result;
248
+ }
249
+ export async function exceptionWrapper(fn) {
250
+ return fn().catch((e) => Result.Err(e));
251
+ }
252
+ export class NotFoundError extends Error {
253
+ constructor() {
254
+ super(...arguments);
255
+ this.code = "ENOENT";
256
+ }
257
+ }
258
+ export function isNotFoundError(e) {
259
+ if (Result.Is(e)) {
260
+ if (e.isOk())
261
+ return false;
262
+ e = e.Err();
263
+ }
264
+ if (e.code === "ENOENT")
265
+ return true;
266
+ return false;
267
+ }
268
+ export function UInt8ArrayEqual(a, b) {
269
+ if (a.length !== b.length) {
270
+ return false;
271
+ }
272
+ for (let i = 0; i < a.length; i++) {
273
+ if (a[i] !== b[i]) {
274
+ return false;
275
+ }
276
+ }
277
+ return true;
278
+ }
279
+ export function inplaceFilter(i, pred) {
280
+ const founds = [];
281
+ for (let j = 0; j < i.length; j++) {
282
+ if (!pred(i[j], j)) {
283
+ founds.push(j);
284
+ }
285
+ }
286
+ for (let j = founds.length - 1; j >= 0; j--) {
287
+ i.splice(founds[j], 1);
288
+ }
289
+ return i;
290
+ }
291
+ export function toSortedArray(set) {
292
+ if (!set)
293
+ return [];
294
+ return Object.entries(set)
295
+ .sort(([a], [b]) => a.localeCompare(b))
296
+ .map(([k, v]) => ({ [k]: v }));
297
+ }
298
+ export function coerceIntoUint8(raw) {
299
+ if (raw instanceof Uint8Array) {
300
+ return Result.Ok(raw);
301
+ }
302
+ if (Result.Is(raw)) {
303
+ return raw;
304
+ }
305
+ return Result.Err("Not a Uint8Array");
306
+ }
307
+ export async function coercePromiseIntoUint8(raw) {
308
+ if (raw instanceof Uint8Array) {
309
+ return Result.Ok(raw);
310
+ }
311
+ if (Result.Is(raw)) {
312
+ return raw;
313
+ }
314
+ if (typeof raw.then === "function") {
315
+ try {
316
+ return coercePromiseIntoUint8(await raw);
317
+ }
318
+ catch (e) {
319
+ return Result.Err(e);
320
+ }
321
+ }
322
+ return Result.Err("Not a Uint8Array");
323
+ }
324
+ export function makeName(fnString) {
325
+ const regex = /\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g;
326
+ let found = null;
327
+ const matches = Array.from(fnString.matchAll(regex), (match) => match[1].trim());
328
+ if (matches.length === 0) {
329
+ found = /=>\s*{?\s*([^{}]+)\s*}?/.exec(fnString);
330
+ if (found && found[1].includes("return")) {
331
+ found = null;
332
+ }
333
+ }
334
+ if (!found) {
335
+ return fnString;
336
+ }
337
+ else {
338
+ return found[1];
339
+ }
340
+ }
341
+ export function storeType2DataMetaWal(store) {
342
+ switch (store) {
343
+ case "car":
344
+ case "file":
345
+ return "data";
346
+ case "meta":
347
+ case "wal":
348
+ return store;
349
+ default:
350
+ throw new Error(`unknown store ${store}`);
351
+ }
352
+ }
353
+ export function ensureURIDefaults(sthis, names, curi, uri, store, ctx) {
354
+ ctx = ctx || {};
355
+ const ret = (curi ? URI.from(curi) : uri).build().setParam(PARAM.STORE, store).defParam(PARAM.NAME, names.name);
356
+ if (names.local) {
357
+ ret.defParam(PARAM.LOCAL_NAME, names.local);
358
+ }
359
+ if (ctx.idx) {
360
+ ret.defParam(PARAM.INDEX, "idx");
361
+ ret.defParam(PARAM.STORE_KEY, `@${ret.getParam(PARAM.NAME)}-${storeType2DataMetaWal(store)}-idx@`);
362
+ }
363
+ else {
364
+ ret.defParam(PARAM.STORE_KEY, `@${ret.getParam(PARAM.NAME)}-${storeType2DataMetaWal(store)}@`);
365
+ }
366
+ if (store === "car") {
367
+ ret.defParam(PARAM.SUFFIX, ".car");
368
+ }
369
+ return ret.URI();
370
+ }
371
+ export function setPresetEnv(o, symbol = "FP_PRESET_ENV") {
372
+ const key = Symbol.for(symbol);
373
+ const env = globalThis[key] ?? {};
374
+ for (const [k, v] of Object.entries(o)) {
375
+ env[k] = v;
376
+ }
377
+ return env;
378
+ }
379
+ //# sourceMappingURL=utils.js.map
package/utils.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"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"}
package/version.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const PACKAGE_VERSION: string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAEnB,MAAM,CAAC"}
package/version.js ADDED
@@ -0,0 +1,4 @@
1
+ export const PACKAGE_VERSION = Object.keys({
2
+ __packageVersion__: "xxxx",
3
+ })[0];
4
+ //# sourceMappingURL=version.js.map
package/version.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IACzC,kBAAkB,EAAE,MAAM;CAC3B,CAAC,CAAC,CAAC,CAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { DocTypes, MetaType, DocUpdate, SuperThis, WriteQueue } from "./types.js";
2
+ type WorkerFunction<T extends DocTypes> = (tasks: DocUpdate<T>[]) => Promise<MetaType>;
3
+ export interface WriteQueueParams {
4
+ readonly chunkSize: number;
5
+ }
6
+ export declare function defaultWriteQueueOpts(opts?: Partial<WriteQueueParams>): WriteQueueParams;
7
+ export declare function writeQueue<T extends DocUpdate<S>, S extends DocTypes = DocTypes>(sthis: SuperThis, worker: WorkerFunction<S>, opts: WriteQueueParams): WriteQueue<T, S>;
8
+ export {};
9
+ //# sourceMappingURL=write-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-queue.d.ts","sourceRoot":"","sources":["../../../src/write-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGlF,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AASvF,MAAM,WAAW,gBAAgB;IAG/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CAK5F;AAmED,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC9E,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,gBAAgB,GACrB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAElB"}
package/write-queue.js ADDED
@@ -0,0 +1,70 @@
1
+ import { ensureLogger } from "./utils.js";
2
+ import { Future } from "@adviser/cement";
3
+ export function defaultWriteQueueOpts(opts = {}) {
4
+ return {
5
+ ...opts,
6
+ chunkSize: opts.chunkSize && opts.chunkSize > 0 ? opts.chunkSize : 32,
7
+ };
8
+ }
9
+ class WriteQueueImpl {
10
+ constructor(sthis, worker, opts) {
11
+ this.queue = [];
12
+ this.isProcessing = false;
13
+ this.logger = ensureLogger(sthis, "WriteQueueImpl");
14
+ this.worker = worker;
15
+ this.opts = defaultWriteQueueOpts(opts);
16
+ }
17
+ testEmptyQueue() {
18
+ if (this.waitForEmptyQueue && this.queue.length === 0) {
19
+ this.waitForEmptyQueue.resolve();
20
+ }
21
+ }
22
+ async process() {
23
+ if (this.isProcessing || this.queue.length === 0) {
24
+ this.testEmptyQueue();
25
+ return;
26
+ }
27
+ this.isProcessing = true;
28
+ try {
29
+ this.logger.Debug().Any("opts", this.opts).Len(this.queue).Msg("Processing tasks");
30
+ const tasksToProcess = this.queue.splice(0, this.opts.chunkSize);
31
+ const updates = tasksToProcess.map((item) => item.tasks).filter((item) => item);
32
+ const promises = updates.map(async (update, index) => {
33
+ try {
34
+ const result = await this.worker(update);
35
+ tasksToProcess[index].resolve(result);
36
+ }
37
+ catch (error) {
38
+ tasksToProcess[index].reject(this.logger.Error().Err(error).Msg("Error processing task").AsError());
39
+ }
40
+ });
41
+ await Promise.allSettled(promises);
42
+ this.logger.Debug().Any("opts", this.opts).Len(this.queue).Msg("Processed tasks");
43
+ }
44
+ catch (error) {
45
+ this.logger.Error().Err(error).Msg("Error processing tasks");
46
+ }
47
+ finally {
48
+ this.isProcessing = false;
49
+ setTimeout(() => this.process(), 0);
50
+ }
51
+ }
52
+ bulk(tasks) {
53
+ return new Promise((resolve, reject) => {
54
+ this.queue.push({ tasks, resolve, reject });
55
+ this.process();
56
+ });
57
+ }
58
+ push(task) {
59
+ return this.bulk([task]);
60
+ }
61
+ close() {
62
+ this.waitForEmptyQueue = new Future();
63
+ this.testEmptyQueue();
64
+ return this.waitForEmptyQueue.asPromise();
65
+ }
66
+ }
67
+ export function writeQueue(sthis, worker, opts) {
68
+ return new WriteQueueImpl(sthis, worker, opts);
69
+ }
70
+ //# sourceMappingURL=write-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-queue.js","sourceRoot":"","sources":["../../../src/write-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAU,MAAM,iBAAiB,CAAC;AAiBjD,MAAM,UAAU,qBAAqB,CAAC,OAAkC,EAAE;IACxE,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,cAAc;IAQlB,YAAY,KAAgB,EAAE,MAAyB,EAAE,IAAsB;QAL9D,UAAK,GAAwB,EAAE,CAAC;QAEzC,iBAAY,GAAG,KAAK,CAAC;QAI3B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAGO,cAAc;QACpB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACnF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAqB,CAAC;YACpG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAqB;QACxB,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAkB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CACxB,KAAgB,EAChB,MAAyB,EACzB,IAAsB;IAEtB,OAAO,IAAI,cAAc,CAAO,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC"}
package/deno/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { SysFileSystem } from '@fireproof/core';
2
- import { URI } from '@adviser/cement';
3
-
4
- declare function getSysFileSystem(url: URI): Promise<SysFileSystem>;
5
-
6
- export { getSysFileSystem };
7
- declare module '@fireproof/core/deno'
package/deno/index.js DELETED
@@ -1,66 +0,0 @@
1
- // src/runtime/gateways/file/deno/deno-filesystem.ts
2
- var DenoFileSystem = class {
3
- async start() {
4
- this.fs = Deno;
5
- return this;
6
- }
7
- async mkdir(path, options) {
8
- return this.fs?.mkdir(path, options).then(() => path);
9
- }
10
- async readdir(path) {
11
- const ret = [];
12
- for await (const dirEntry of this.fs.readDir(path)) {
13
- ret.push(dirEntry.name);
14
- }
15
- return ret;
16
- }
17
- async rm(path, options) {
18
- return this.fs?.rm(path, options);
19
- }
20
- async copyFile(source, destination) {
21
- return this.fs?.copyFile(source, destination);
22
- }
23
- async readfile(path) {
24
- return this.fs.readFile(path);
25
- }
26
- async stat(path) {
27
- const x = await this.fs.stat(path);
28
- return {
29
- isFile: () => x.isFile,
30
- isDirectory: () => x.isDirectory,
31
- isBlockDevice: () => !!x.isBlockDevice,
32
- isCharacterDevice: () => !!x.isCharDevice,
33
- isSymbolicLink: () => !!x.isSymlink,
34
- isFIFO: () => !!x.isFifo,
35
- isSocket: () => !!x.isSocket,
36
- uid: x.uid,
37
- gid: x.gid,
38
- size: x.size,
39
- atime: x.atime,
40
- mtime: x.mtime,
41
- ctime: x.birthtime,
42
- birthtime: x.birthtime
43
- };
44
- }
45
- async unlink(path) {
46
- return this.fs?.remove(path);
47
- }
48
- async writefile(path, data) {
49
- return this.fs?.writeFile(path, Buffer.from(data));
50
- }
51
- };
52
-
53
- // src/runtime/gateways/file/deno/get-sys-file-system.ts
54
- import { ResolveOnce } from "@adviser/cement";
55
- var nfs = new ResolveOnce();
56
- async function getSysFileSystem(url) {
57
- return nfs.once(async () => {
58
- const nfs2 = new DenoFileSystem();
59
- await nfs2.start();
60
- return nfs2;
61
- });
62
- }
63
- export {
64
- getSysFileSystem
65
- };
66
- //# sourceMappingURL=index.js.map
package/deno/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/runtime/gateways/file/deno/deno-filesystem.ts","../../../src/runtime/gateways/file/deno/get-sys-file-system.ts"],"sourcesContent":["import type { FPStats, SysFileSystem } from \"@fireproof/core\";\n\nexport class DenoFileSystem implements SysFileSystem {\n fs?: {\n mkdir: typeof Deno.mkdir;\n readDir: typeof Deno.readDir;\n rm: typeof Deno.remove;\n copyFile: typeof Deno.copyFile;\n readFile: typeof Deno.readFile;\n stat: typeof Deno.stat;\n remove: typeof Deno.remove;\n writeFile: typeof Deno.writeFile;\n };\n\n async start(): Promise<SysFileSystem> {\n this.fs = Deno as unknown as DenoFileSystem[\"fs\"];\n return this;\n }\n async mkdir(path: string, options?: { recursive: boolean }): Promise<string | undefined> {\n return this.fs?.mkdir(path, options).then(() => path);\n }\n async readdir(path: string): Promise<string[]> {\n const ret = [];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n for await (const dirEntry of this.fs!.readDir(path)) {\n ret.push(dirEntry.name);\n }\n return ret;\n }\n async rm(path: string, options?: { recursive: boolean }): Promise<void> {\n return this.fs?.rm(path, options);\n }\n async copyFile(source: string, destination: string): Promise<void> {\n return this.fs?.copyFile(source, destination);\n }\n async readfile(path: string): Promise<Uint8Array> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.fs!.readFile(path);\n }\n async stat(path: string): Promise<FPStats> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const x = await this.fs!.stat(path);\n return {\n isFile: () => x.isFile,\n isDirectory: () => x.isDirectory,\n isBlockDevice: () => !!x.isBlockDevice,\n isCharacterDevice: () => !!x.isCharDevice,\n isSymbolicLink: () => !!x.isSymlink,\n isFIFO: () => !!x.isFifo,\n isSocket: () => !!x.isSocket,\n uid: x.uid,\n gid: x.gid,\n size: x.size,\n atime: x.atime,\n mtime: x.mtime,\n ctime: x.birthtime,\n birthtime: x.birthtime,\n };\n }\n async unlink(path: string): Promise<void> {\n return this.fs?.remove(path);\n }\n async writefile(path: string, data: Uint8Array | string): Promise<void> {\n return this.fs?.writeFile(path, Buffer.from(data));\n }\n}\n","import type { SysFileSystem } from \"@fireproof/core\";\nimport { DenoFileSystem } from \"./deno-filesystem.js\";\nimport { ResolveOnce, URI } from \"@adviser/cement\";\n\nconst nfs = new ResolveOnce<SysFileSystem>();\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport async function getSysFileSystem(url: URI): Promise<SysFileSystem> {\n return nfs.once(async () => {\n const nfs = new DenoFileSystem();\n await nfs.start();\n return nfs;\n });\n}\n"],"mappings":";AAEO,IAAM,iBAAN,MAA8C;AAAA,EAYnD,MAAM,QAAgC;AACpC,SAAK,KAAK;AACV,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,MAAc,SAA+D;AACvF,WAAO,KAAK,IAAI,MAAM,MAAM,OAAO,EAAE,KAAK,MAAM,IAAI;AAAA,EACtD;AAAA,EACA,MAAM,QAAQ,MAAiC;AAC7C,UAAM,MAAM,CAAC;AAEb,qBAAiB,YAAY,KAAK,GAAI,QAAQ,IAAI,GAAG;AACnD,UAAI,KAAK,SAAS,IAAI;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,GAAG,MAAc,SAAiD;AACtE,WAAO,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,EAClC;AAAA,EACA,MAAM,SAAS,QAAgB,aAAoC;AACjE,WAAO,KAAK,IAAI,SAAS,QAAQ,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,SAAS,MAAmC;AAEhD,WAAO,KAAK,GAAI,SAAS,IAAI;AAAA,EAC/B;AAAA,EACA,MAAM,KAAK,MAAgC;AAEzC,UAAM,IAAI,MAAM,KAAK,GAAI,KAAK,IAAI;AAClC,WAAO;AAAA,MACL,QAAQ,MAAM,EAAE;AAAA,MAChB,aAAa,MAAM,EAAE;AAAA,MACrB,eAAe,MAAM,CAAC,CAAC,EAAE;AAAA,MACzB,mBAAmB,MAAM,CAAC,CAAC,EAAE;AAAA,MAC7B,gBAAgB,MAAM,CAAC,CAAC,EAAE;AAAA,MAC1B,QAAQ,MAAM,CAAC,CAAC,EAAE;AAAA,MAClB,UAAU,MAAM,CAAC,CAAC,EAAE;AAAA,MACpB,KAAK,EAAE;AAAA,MACP,KAAK,EAAE;AAAA,MACP,MAAM,EAAE;AAAA,MACR,OAAO,EAAE;AAAA,MACT,OAAO,EAAE;AAAA,MACT,OAAO,EAAE;AAAA,MACT,WAAW,EAAE;AAAA,IACf;AAAA,EACF;AAAA,EACA,MAAM,OAAO,MAA6B;AACxC,WAAO,KAAK,IAAI,OAAO,IAAI;AAAA,EAC7B;AAAA,EACA,MAAM,UAAU,MAAc,MAA0C;AACtE,WAAO,KAAK,IAAI,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACnD;AACF;;;AC/DA,SAAS,mBAAwB;AAEjC,IAAM,MAAM,IAAI,YAA2B;AAE3C,eAAsB,iBAAiB,KAAkC;AACvE,SAAO,IAAI,KAAK,YAAY;AAC1B,UAAMA,OAAM,IAAI,eAAe;AAC/B,UAAMA,KAAI,MAAM;AAChB,WAAOA;AAAA,EACT,CAAC;AACH;","names":["nfs"]}
@@ -1 +0,0 @@
1
- {"inputs":{"src/runtime/gateways/file/deno/deno-filesystem.ts":{"bytes":2181,"imports":[],"format":"esm"},"src/runtime/gateways/file/deno/get-sys-file-system.ts":{"bytes":462,"imports":[{"path":"src/runtime/gateways/file/deno/deno-filesystem.ts","kind":"import-statement","original":"./deno-filesystem.js"},{"path":"@adviser/cement","kind":"import-statement","external":true}],"format":"esm"},"src/runtime/gateways/file/deno/index.ts":{"bytes":61,"imports":[{"path":"src/runtime/gateways/file/deno/get-sys-file-system.ts","kind":"import-statement","original":"./get-sys-file-system.js"}],"format":"esm"}},"outputs":{"dist/fireproof-core/deno/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4331},"dist/fireproof-core/deno/index.js":{"imports":[{"path":"@adviser/cement","kind":"import-statement","external":true}],"exports":["getSysFileSystem"],"entryPoint":"src/runtime/gateways/file/deno/index.ts","inputs":{"src/runtime/gateways/file/deno/deno-filesystem.ts":{"bytesInOutput":1243},"src/runtime/gateways/file/deno/get-sys-file-system.ts":{"bytesInOutput":235},"src/runtime/gateways/file/deno/index.ts":{"bytesInOutput":0}},"bytes":1620}}}