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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/apply-head-queue.d.ts +18 -0
  2. package/apply-head-queue.d.ts.map +1 -0
  3. package/apply-head-queue.js +47 -0
  4. package/apply-head-queue.js.map +1 -0
  5. package/blockstore/attachable-store.d.ts +19 -0
  6. package/blockstore/attachable-store.d.ts.map +1 -0
  7. package/blockstore/attachable-store.js +316 -0
  8. package/blockstore/attachable-store.js.map +1 -0
  9. package/blockstore/commit-queue.d.ts +17 -0
  10. package/blockstore/commit-queue.d.ts.map +1 -0
  11. package/blockstore/commit-queue.js +60 -0
  12. package/blockstore/commit-queue.js.map +1 -0
  13. package/blockstore/commitor.d.ts +21 -0
  14. package/blockstore/commitor.d.ts.map +1 -0
  15. package/blockstore/commitor.js +95 -0
  16. package/blockstore/commitor.js.map +1 -0
  17. package/blockstore/connect-raw.d.ts +2 -0
  18. package/blockstore/connect-raw.d.ts.map +1 -0
  19. package/blockstore/connect-raw.js +2 -0
  20. package/blockstore/connect-raw.js.map +1 -0
  21. package/blockstore/connection-base.d.ts +2 -0
  22. package/blockstore/connection-base.d.ts.map +1 -0
  23. package/blockstore/connection-base.js +2 -0
  24. package/blockstore/connection-base.js.map +1 -0
  25. package/blockstore/encrypt-helpers.d.ts +2 -0
  26. package/blockstore/encrypt-helpers.d.ts.map +1 -0
  27. package/blockstore/encrypt-helpers.js +2 -0
  28. package/blockstore/encrypt-helpers.js.map +1 -0
  29. package/blockstore/fp-envelope.d.ts +32 -0
  30. package/blockstore/fp-envelope.d.ts.map +1 -0
  31. package/blockstore/fp-envelope.js +14 -0
  32. package/blockstore/fp-envelope.js.map +1 -0
  33. package/blockstore/gateway.d.ts +20 -0
  34. package/blockstore/gateway.d.ts.map +1 -0
  35. package/blockstore/gateway.js +2 -0
  36. package/blockstore/gateway.js.map +1 -0
  37. package/blockstore/index.d.ts +16 -0
  38. package/blockstore/index.d.ts.map +1 -0
  39. package/blockstore/index.js +16 -0
  40. package/blockstore/index.js.map +1 -0
  41. package/blockstore/interceptor-gateway.d.ts +29 -0
  42. package/blockstore/interceptor-gateway.d.ts.map +1 -0
  43. package/blockstore/interceptor-gateway.js +137 -0
  44. package/blockstore/interceptor-gateway.js.map +1 -0
  45. package/blockstore/loader-helpers.d.ts +10 -0
  46. package/blockstore/loader-helpers.d.ts.map +1 -0
  47. package/blockstore/loader-helpers.js +115 -0
  48. package/blockstore/loader-helpers.js.map +1 -0
  49. package/blockstore/loader.d.ts +61 -0
  50. package/blockstore/loader.d.ts.map +1 -0
  51. package/blockstore/loader.js +494 -0
  52. package/blockstore/loader.js.map +1 -0
  53. package/blockstore/register-store-protocol.d.ts +22 -0
  54. package/blockstore/register-store-protocol.d.ts.map +1 -0
  55. package/blockstore/register-store-protocol.js +114 -0
  56. package/blockstore/register-store-protocol.js.map +1 -0
  57. package/blockstore/serde-gateway.d.ts +78 -0
  58. package/blockstore/serde-gateway.d.ts.map +1 -0
  59. package/blockstore/serde-gateway.js +2 -0
  60. package/blockstore/serde-gateway.js.map +1 -0
  61. package/blockstore/store-factory.d.ts +11 -0
  62. package/blockstore/store-factory.d.ts.map +1 -0
  63. package/blockstore/store-factory.js +104 -0
  64. package/blockstore/store-factory.js.map +1 -0
  65. package/blockstore/store-remote.d.ts +2 -0
  66. package/blockstore/store-remote.d.ts.map +1 -0
  67. package/blockstore/store-remote.js +2 -0
  68. package/blockstore/store-remote.js.map +1 -0
  69. package/blockstore/store.d.ts +86 -0
  70. package/blockstore/store.d.ts.map +1 -0
  71. package/blockstore/store.js +439 -0
  72. package/blockstore/store.js.map +1 -0
  73. package/blockstore/task-manager.d.ts +19 -0
  74. package/blockstore/task-manager.d.ts.map +1 -0
  75. package/blockstore/task-manager.js +50 -0
  76. package/blockstore/task-manager.js.map +1 -0
  77. package/blockstore/transaction.d.ts +62 -0
  78. package/blockstore/transaction.d.ts.map +1 -0
  79. package/blockstore/transaction.js +261 -0
  80. package/blockstore/transaction.js.map +1 -0
  81. package/blockstore/types.d.ts +508 -0
  82. package/blockstore/types.d.ts.map +1 -0
  83. package/blockstore/types.js +83 -0
  84. package/blockstore/types.js.map +1 -0
  85. package/blockstore/uri-interceptor.d.ts +19 -0
  86. package/blockstore/uri-interceptor.d.ts.map +1 -0
  87. package/blockstore/uri-interceptor.js +61 -0
  88. package/blockstore/uri-interceptor.js.map +1 -0
  89. package/bundle-not-impl.d.ts +2 -0
  90. package/bundle-not-impl.d.ts.map +1 -0
  91. package/bundle-not-impl.js +4 -0
  92. package/bundle-not-impl.js.map +1 -0
  93. package/cli/main.js +26616 -0
  94. package/crdt-clock.d.ts +27 -0
  95. package/crdt-clock.d.ts.map +1 -0
  96. package/crdt-clock.js +138 -0
  97. package/crdt-clock.js.map +1 -0
  98. package/crdt-helpers.d.ts +19 -0
  99. package/crdt-helpers.d.ts.map +1 -0
  100. package/crdt-helpers.js +332 -0
  101. package/crdt-helpers.js.map +1 -0
  102. package/crdt.d.ts +41 -0
  103. package/crdt.d.ts.map +1 -0
  104. package/crdt.js +164 -0
  105. package/crdt.js.map +1 -0
  106. package/database.d.ts +34 -0
  107. package/database.d.ts.map +1 -0
  108. package/database.js +124 -0
  109. package/database.js.map +1 -0
  110. package/deno.json +2 -2
  111. package/index.d.ts +15 -2741
  112. package/index.d.ts.map +1 -0
  113. package/index.js +14 -7274
  114. package/index.js.map +1 -1
  115. package/indexer-helpers.d.ts +69 -0
  116. package/indexer-helpers.d.ts.map +1 -0
  117. package/indexer-helpers.js +136 -0
  118. package/indexer-helpers.js.map +1 -0
  119. package/indexer.d.ts +24 -0
  120. package/indexer.d.ts.map +1 -0
  121. package/indexer.js +230 -0
  122. package/indexer.js.map +1 -0
  123. package/ledger.d.ts +55 -0
  124. package/ledger.d.ts.map +1 -0
  125. package/ledger.js +234 -0
  126. package/ledger.js.map +1 -0
  127. package/package.json +26 -17
  128. package/protocols/cloud/http-connection.d.ts +25 -0
  129. package/protocols/cloud/http-connection.d.ts.map +1 -0
  130. package/protocols/cloud/http-connection.js +153 -0
  131. package/protocols/cloud/http-connection.js.map +1 -0
  132. package/protocols/cloud/index.d.ts +10 -0
  133. package/protocols/cloud/index.d.ts.map +1 -0
  134. package/protocols/cloud/index.js +10 -0
  135. package/protocols/cloud/index.js.map +1 -0
  136. package/protocols/cloud/msg-raw-connection-base.d.ts +16 -0
  137. package/protocols/cloud/msg-raw-connection-base.d.ts.map +1 -0
  138. package/protocols/cloud/msg-raw-connection-base.js +22 -0
  139. package/protocols/cloud/msg-raw-connection-base.js.map +1 -0
  140. package/protocols/cloud/msg-types-data.d.ts +36 -0
  141. package/protocols/cloud/msg-types-data.d.ts.map +1 -0
  142. package/protocols/cloud/msg-types-data.js +38 -0
  143. package/protocols/cloud/msg-types-data.js.map +1 -0
  144. package/protocols/cloud/msg-types-meta.d.ts +41 -0
  145. package/protocols/cloud/msg-types-meta.d.ts.map +1 -0
  146. package/protocols/cloud/msg-types-meta.js +98 -0
  147. package/protocols/cloud/msg-types-meta.js.map +1 -0
  148. package/protocols/cloud/msg-types-wal.d.ts +33 -0
  149. package/protocols/cloud/msg-types-wal.d.ts.map +1 -0
  150. package/protocols/cloud/msg-types-wal.js +38 -0
  151. package/protocols/cloud/msg-types-wal.js.map +1 -0
  152. package/protocols/cloud/msg-types.d.ts +282 -0
  153. package/protocols/cloud/msg-types.d.ts.map +1 -0
  154. package/protocols/cloud/msg-types.js +278 -0
  155. package/protocols/cloud/msg-types.js.map +1 -0
  156. package/protocols/cloud/msger.d.ts +79 -0
  157. package/protocols/cloud/msger.d.ts.map +1 -0
  158. package/protocols/cloud/msger.js +198 -0
  159. package/protocols/cloud/msger.js.map +1 -0
  160. package/protocols/cloud/ws-connection.d.ts +29 -0
  161. package/protocols/cloud/ws-connection.d.ts.map +1 -0
  162. package/protocols/cloud/ws-connection.js +166 -0
  163. package/protocols/cloud/ws-connection.js.map +1 -0
  164. package/protocols/index.d.ts +2 -0
  165. package/protocols/index.d.ts.map +1 -0
  166. package/protocols/index.js +2 -0
  167. package/protocols/index.js.map +1 -0
  168. package/react/create-attach.d.ts +6 -0
  169. package/react/create-attach.d.ts.map +1 -0
  170. package/react/create-attach.js +75 -0
  171. package/react/create-attach.js.map +1 -0
  172. package/react/{index.d.cts → img-file.d.ts} +6 -53
  173. package/react/img-file.d.ts.map +1 -0
  174. package/react/img-file.js +57 -0
  175. package/react/img-file.js.map +1 -0
  176. package/react/index.d.ts +5 -336
  177. package/react/index.d.ts.map +1 -0
  178. package/react/index.js +4 -358
  179. package/react/index.js.map +1 -1
  180. package/react/types.d.ts +71 -0
  181. package/react/types.d.ts.map +1 -0
  182. package/react/types.js +2 -0
  183. package/react/types.js.map +1 -0
  184. package/react/use-all-docs.d.ts +4 -0
  185. package/react/use-all-docs.d.ts.map +1 -0
  186. package/react/use-all-docs.js +25 -0
  187. package/react/use-all-docs.js.map +1 -0
  188. package/react/use-attach.d.ts +6 -0
  189. package/react/use-attach.d.ts.map +1 -0
  190. package/react/use-attach.js +75 -0
  191. package/react/use-attach.js.map +1 -0
  192. package/react/use-changes.d.ts +4 -0
  193. package/react/use-changes.d.ts.map +1 -0
  194. package/react/use-changes.js +19 -0
  195. package/react/use-changes.js.map +1 -0
  196. package/react/use-document.d.ts +4 -0
  197. package/react/use-document.d.ts.map +1 -0
  198. package/react/use-document.js +109 -0
  199. package/react/use-document.js.map +1 -0
  200. package/react/use-fireproof.d.ts +6 -0
  201. package/react/use-fireproof.d.ts.map +1 -0
  202. package/react/use-fireproof.js +20 -0
  203. package/react/use-fireproof.js.map +1 -0
  204. package/react/use-live-query.d.ts +4 -0
  205. package/react/use-live-query.d.ts.map +1 -0
  206. package/react/use-live-query.js +27 -0
  207. package/react/use-live-query.js.map +1 -0
  208. package/runtime/files.d.ts +12 -0
  209. package/runtime/files.d.ts.map +1 -0
  210. package/runtime/files.js +29 -0
  211. package/runtime/files.js.map +1 -0
  212. package/runtime/gateways/cloud/gateway.d.ts +42 -0
  213. package/runtime/gateways/cloud/gateway.d.ts.map +1 -0
  214. package/runtime/gateways/cloud/gateway.js +528 -0
  215. package/runtime/gateways/cloud/gateway.js.map +1 -0
  216. package/runtime/gateways/cloud/index.d.ts +3 -0
  217. package/runtime/gateways/cloud/index.d.ts.map +1 -0
  218. package/runtime/gateways/cloud/index.js +3 -0
  219. package/runtime/gateways/cloud/index.js.map +1 -0
  220. package/runtime/gateways/cloud/to-cloud.d.ts +46 -0
  221. package/runtime/gateways/cloud/to-cloud.d.ts.map +1 -0
  222. package/runtime/gateways/cloud/to-cloud.js +159 -0
  223. package/runtime/gateways/cloud/to-cloud.js.map +1 -0
  224. package/runtime/gateways/def-serde-gateway.d.ts +18 -0
  225. package/runtime/gateways/def-serde-gateway.d.ts.map +1 -0
  226. package/runtime/gateways/def-serde-gateway.js +89 -0
  227. package/runtime/gateways/def-serde-gateway.js.map +1 -0
  228. package/runtime/gateways/file/deno/deno-filesystem.d.ts +27 -0
  229. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +1 -0
  230. package/runtime/gateways/file/deno/deno-filesystem.js +52 -0
  231. package/runtime/gateways/file/deno/deno-filesystem.js.map +1 -0
  232. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +4 -0
  233. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +1 -0
  234. package/runtime/gateways/file/deno/get-sys-file-system.js +11 -0
  235. package/runtime/gateways/file/deno/get-sys-file-system.js.map +1 -0
  236. package/runtime/gateways/file/deno/index.d.ts +2 -0
  237. package/runtime/gateways/file/deno/index.d.ts.map +1 -0
  238. package/runtime/gateways/file/deno/index.js +2 -0
  239. package/runtime/gateways/file/deno/index.js.map +1 -0
  240. package/runtime/gateways/file/gateway-impl.d.ts +18 -0
  241. package/runtime/gateways/file/gateway-impl.d.ts.map +1 -0
  242. package/runtime/gateways/file/gateway-impl.js +121 -0
  243. package/runtime/gateways/file/gateway-impl.js.map +1 -0
  244. package/runtime/gateways/file/index.d.ts +3 -0
  245. package/runtime/gateways/file/index.d.ts.map +1 -0
  246. package/runtime/gateways/file/index.js +3 -0
  247. package/runtime/gateways/file/index.js.map +1 -0
  248. package/runtime/gateways/file/key-bag-file.d.ts +19 -0
  249. package/runtime/gateways/file/key-bag-file.d.ts.map +1 -0
  250. package/runtime/gateways/file/key-bag-file.js +40 -0
  251. package/runtime/gateways/file/key-bag-file.js.map +1 -0
  252. package/runtime/gateways/file/node/get-sys-file-system.d.ts +4 -0
  253. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +1 -0
  254. package/runtime/gateways/file/node/get-sys-file-system.js +11 -0
  255. package/runtime/gateways/file/node/get-sys-file-system.js.map +1 -0
  256. package/runtime/gateways/file/node/index.d.ts +2 -0
  257. package/runtime/gateways/file/node/index.d.ts.map +1 -0
  258. package/runtime/gateways/file/node/index.js +2 -0
  259. package/runtime/gateways/file/node/index.js.map +1 -0
  260. package/runtime/gateways/file/node/node-filesystem.d.ts +32 -0
  261. package/runtime/gateways/file/node/node-filesystem.d.ts.map +1 -0
  262. package/runtime/gateways/file/node/node-filesystem.js +33 -0
  263. package/runtime/gateways/file/node/node-filesystem.js.map +1 -0
  264. package/runtime/gateways/file/node/to-array-buffer.d.ts +2 -0
  265. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +1 -0
  266. package/runtime/gateways/file/node/to-array-buffer.js +12 -0
  267. package/runtime/gateways/file/node/to-array-buffer.js.map +1 -0
  268. package/runtime/gateways/file/sys-file-system-factory.d.ts +4 -0
  269. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +1 -0
  270. package/runtime/gateways/file/sys-file-system-factory.js +13 -0
  271. package/runtime/gateways/file/sys-file-system-factory.js.map +1 -0
  272. package/runtime/gateways/file/utils.d.ts +5 -0
  273. package/runtime/gateways/file/utils.d.ts.map +1 -0
  274. package/runtime/gateways/file/utils.js +27 -0
  275. package/runtime/gateways/file/utils.js.map +1 -0
  276. package/runtime/gateways/file/version.d.ts +2 -0
  277. package/runtime/gateways/file/version.d.ts.map +1 -0
  278. package/runtime/gateways/file/version.js +2 -0
  279. package/runtime/gateways/file/version.js.map +1 -0
  280. package/runtime/gateways/fp-envelope-serialize.d.ts +50 -0
  281. package/runtime/gateways/fp-envelope-serialize.d.ts.map +1 -0
  282. package/runtime/gateways/fp-envelope-serialize.js +141 -0
  283. package/runtime/gateways/fp-envelope-serialize.js.map +1 -0
  284. package/runtime/gateways/index.d.ts +6 -0
  285. package/runtime/gateways/index.d.ts.map +1 -0
  286. package/runtime/gateways/index.js +6 -0
  287. package/runtime/gateways/index.js.map +1 -0
  288. package/runtime/gateways/indexeddb/gateway-impl.d.ts +22 -0
  289. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +1 -0
  290. package/runtime/gateways/indexeddb/gateway-impl.js +147 -0
  291. package/runtime/gateways/indexeddb/gateway-impl.js.map +1 -0
  292. package/runtime/gateways/indexeddb/index.d.ts +6 -0
  293. package/runtime/gateways/indexeddb/index.d.ts.map +1 -0
  294. package/runtime/gateways/indexeddb/index.js +6 -0
  295. package/runtime/gateways/indexeddb/index.js.map +1 -0
  296. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +15 -0
  297. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +1 -0
  298. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +42 -0
  299. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +1 -0
  300. package/runtime/gateways/indexeddb-version.d.ts +2 -0
  301. package/runtime/gateways/indexeddb-version.d.ts.map +1 -0
  302. package/runtime/gateways/indexeddb-version.js +2 -0
  303. package/runtime/gateways/indexeddb-version.js.map +1 -0
  304. package/runtime/gateways/memory/gateway.d.ts +18 -0
  305. package/runtime/gateways/memory/gateway.d.ts.map +1 -0
  306. package/runtime/gateways/memory/gateway.js +73 -0
  307. package/runtime/gateways/memory/gateway.js.map +1 -0
  308. package/runtime/gateways/memory/version.d.ts +2 -0
  309. package/runtime/gateways/memory/version.d.ts.map +1 -0
  310. package/runtime/gateways/memory/version.js +2 -0
  311. package/runtime/gateways/memory/version.js.map +1 -0
  312. package/runtime/index.d.ts +13 -0
  313. package/runtime/index.d.ts.map +1 -0
  314. package/runtime/index.js +13 -0
  315. package/runtime/index.js.map +1 -0
  316. package/runtime/key-bag-memory.d.ts +12 -0
  317. package/runtime/key-bag-memory.d.ts.map +1 -0
  318. package/runtime/key-bag-memory.js +23 -0
  319. package/runtime/key-bag-memory.js.map +1 -0
  320. package/runtime/key-bag.d.ts +85 -0
  321. package/runtime/key-bag.d.ts.map +1 -0
  322. package/runtime/key-bag.js +411 -0
  323. package/runtime/key-bag.js.map +1 -0
  324. package/runtime/keyed-crypto.d.ts +19 -0
  325. package/runtime/keyed-crypto.d.ts.map +1 -0
  326. package/runtime/keyed-crypto.js +192 -0
  327. package/runtime/keyed-crypto.js.map +1 -0
  328. package/runtime/memory-sys-container.d.ts +2 -0
  329. package/runtime/memory-sys-container.d.ts.map +1 -0
  330. package/runtime/memory-sys-container.js +2 -0
  331. package/runtime/memory-sys-container.js.map +1 -0
  332. package/runtime/meta-key-hack.d.ts +42 -0
  333. package/runtime/meta-key-hack.d.ts.map +1 -0
  334. package/runtime/meta-key-hack.js +201 -0
  335. package/runtime/meta-key-hack.js.map +1 -0
  336. package/runtime/sts-service/index.d.ts +40 -0
  337. package/runtime/sts-service/index.d.ts.map +1 -0
  338. package/runtime/sts-service/index.js +102 -0
  339. package/runtime/sts-service/index.js.map +1 -0
  340. package/runtime/sys-container.d.ts +2 -0
  341. package/runtime/sys-container.d.ts.map +1 -0
  342. package/runtime/sys-container.js +2 -0
  343. package/runtime/sys-container.js.map +1 -0
  344. package/runtime/wait-pr-multiformats/block.d.ts +47 -0
  345. package/runtime/wait-pr-multiformats/block.d.ts.map +1 -0
  346. package/runtime/wait-pr-multiformats/block.js +64 -0
  347. package/runtime/wait-pr-multiformats/block.js.map +1 -0
  348. package/runtime/wait-pr-multiformats/codec-interface.d.ts +29 -0
  349. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +1 -0
  350. package/runtime/wait-pr-multiformats/codec-interface.js +2 -0
  351. package/runtime/wait-pr-multiformats/codec-interface.js.map +1 -0
  352. package/runtime/wait-pr-multiformats/index.d.ts +3 -0
  353. package/runtime/wait-pr-multiformats/index.d.ts.map +1 -0
  354. package/runtime/wait-pr-multiformats/index.js +3 -0
  355. package/runtime/wait-pr-multiformats/index.js.map +1 -0
  356. package/tests/blockstore/interceptor-gateway.test.ts +10 -9
  357. package/tests/blockstore/keyed-crypto.test.ts +2 -2
  358. package/tests/blockstore/loader.test.ts +68 -51
  359. package/tests/blockstore/standalone.test.ts +152 -0
  360. package/tests/blockstore/store.test.ts +16 -9
  361. package/tests/blockstore/transaction.test.ts +19 -16
  362. package/tests/fireproof/all-gateway.test.ts +12 -27
  363. package/tests/fireproof/attachable.test.ts +426 -97
  364. package/tests/fireproof/crdt.test.ts +23 -0
  365. package/tests/fireproof/database.test.ts +13 -12
  366. package/tests/fireproof/fireproof.test.ts +2 -5
  367. package/tests/fireproof/indexer.test.ts +4 -0
  368. package/tests/helpers.ts +30 -14
  369. package/tests/react/img-file.test.tsx +0 -9
  370. package/tests/react/use-fireproof-stability.test.tsx +5 -5
  371. package/tests/react/use-fireproof.test.tsx +18 -13
  372. package/tests/runtime/meta-key-hack.test.ts +7 -6
  373. package/tests/setup.indexeddb.ts +0 -9
  374. package/types.d.ts +460 -0
  375. package/types.d.ts.map +1 -0
  376. package/types.js +60 -0
  377. package/types.js.map +1 -0
  378. package/use-fireproof/iframe-strategy.d.ts +13 -0
  379. package/use-fireproof/iframe-strategy.d.ts.map +1 -0
  380. package/use-fireproof/iframe-strategy.js +83 -0
  381. package/use-fireproof/iframe-strategy.js.map +1 -0
  382. package/use-fireproof/index.d.ts +10 -0
  383. package/use-fireproof/index.d.ts.map +1 -0
  384. package/use-fireproof/index.js +16 -0
  385. package/use-fireproof/index.js.map +1 -0
  386. package/use-fireproof/redirect-strategy.d.ts +8 -0
  387. package/use-fireproof/redirect-strategy.d.ts.map +1 -0
  388. package/use-fireproof/redirect-strategy.js +31 -0
  389. package/use-fireproof/redirect-strategy.js.map +1 -0
  390. package/utils.d.ts +45 -0
  391. package/utils.d.ts.map +1 -0
  392. package/utils.js +406 -0
  393. package/utils.js.map +1 -0
  394. package/version.d.ts +2 -0
  395. package/version.d.ts.map +1 -0
  396. package/version.js +4 -0
  397. package/version.js.map +1 -0
  398. package/write-queue.d.ts +9 -0
  399. package/write-queue.d.ts.map +1 -0
  400. package/write-queue.js +70 -0
  401. package/write-queue.js.map +1 -0
  402. package/deno/index.d.ts +0 -7
  403. package/deno/index.js +0 -67
  404. package/deno/index.js.map +0 -1
  405. package/deno/metafile-esm.json +0 -1
  406. package/index.cjs +0 -7275
  407. package/index.cjs.map +0 -1
  408. package/index.d.cts +0 -2741
  409. package/indexeddb/index.cjs +0 -218
  410. package/indexeddb/index.cjs.map +0 -1
  411. package/indexeddb/index.d.cts +0 -30
  412. package/indexeddb/index.d.ts +0 -30
  413. package/indexeddb/index.js +0 -195
  414. package/indexeddb/index.js.map +0 -1
  415. package/indexeddb/metafile-cjs.json +0 -1
  416. package/indexeddb/metafile-esm.json +0 -1
  417. package/metafile-cjs.json +0 -1
  418. package/metafile-esm.json +0 -1
  419. package/node/index.cjs +0 -93
  420. package/node/index.cjs.map +0 -1
  421. package/node/index.d.cts +0 -7
  422. package/node/index.d.ts +0 -7
  423. package/node/index.js +0 -60
  424. package/node/index.js.map +0 -1
  425. package/node/metafile-cjs.json +0 -1
  426. package/node/metafile-esm.json +0 -1
  427. package/react/index.cjs +0 -392
  428. package/react/index.cjs.map +0 -1
  429. package/react/metafile-cjs.json +0 -1
  430. package/react/metafile-esm.json +0 -1
  431. package/tests/www/gallery.html +0 -132
  432. package/tests/www/iife.html +0 -42
  433. package/tests/www/todo-aws.html +0 -232
  434. package/tests/www/todo-ipfs.html +0 -213
  435. package/tests/www/todo-local.html +0 -214
  436. package/tests/www/todo-netlify.html +0 -227
  437. package/tests/www/todo.html +0 -254
@@ -1,227 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Fireproof Test</title>
7
- <script src="./fireproof.iife.js"></script>
8
- <script src="./connect-netlify.iife.js"></script>
9
- <script type="text/javascript">
10
- function todoApp() {
11
- const actorTag = Math.random().toString(36).substring(2, 7);
12
- const { fireproof, index } = Fireproof;
13
- const { connect } = FireproofConnect;
14
-
15
- let dbName;
16
- let db;
17
- let cx;
18
-
19
- let dbUnsubscribe = false;
20
-
21
- function setupDb(name, newDb, newConn) {
22
- const input = document.querySelector("#todo");
23
- input.disabled = true;
24
-
25
- if (dbUnsubscribe) {
26
- dbUnsubscribe();
27
- }
28
- if (newDb) {
29
- // console.log('new db', newDb, newConn)
30
- name = newDb.name;
31
- dbName = newDb.name;
32
- db = newDb;
33
- cx = newConn;
34
- const input = document.querySelector("#list");
35
- input.value = dbName;
36
- } else {
37
- dbName = name;
38
- db = fireproof(name);
39
- cx = connect.netlify(db);
40
- cx.ready.then(async () => {
41
- const span = document.querySelector("#cxInfo");
42
- span.innerText = `📡 ${cx.name}`;
43
- });
44
- }
45
-
46
- window.db = db;
47
- window.cx = cx;
48
-
49
- db.changes([], { limit: 1 }).then((changes) => {
50
- if (changes.clock.length > 0) {
51
- input.disabled = false;
52
- } else {
53
- cx.ready.then(async () => {
54
- input.disabled = false;
55
- });
56
- }
57
- });
58
-
59
- dbUnsubscribe = db.subscribe(redraw);
60
- return db;
61
- }
62
-
63
- let doing;
64
- const redraw = async () => {
65
- if (doing) {
66
- return doing;
67
- }
68
- doing = doRedraw().finally(() => (doing = null));
69
- return doing;
70
- };
71
- window.redraw = redraw;
72
-
73
- let compactor = "🚗";
74
- function drawInfo() {
75
- document.querySelector("#carLog").innerText =
76
- ` ⏰ ${db._crdt.clock.head.length} ${compactor} ${cx.loader.carLog.length} 📩 ${cx.taskManager.queue.length}`;
77
- }
78
- const doRedraw = async () => {
79
- drawInfo();
80
- const result = await db.allDocs();
81
- drawInfo();
82
- document.querySelector("ul").innerHTML = "";
83
- for (const row of result.rows) {
84
- // const doc = await db.get(row.id);
85
- const doc = row.value;
86
- const checkbox = document.createElement("input");
87
- checkbox.setAttribute("type", "checkbox");
88
- if (doc.completed) {
89
- checkbox.setAttribute("checked", true);
90
- }
91
- checkbox.onchange = async (e) => {
92
- e.target.indeterminate = true;
93
- const clicks = doc.clicks || 0;
94
- doc.clicks = clicks + 1;
95
- doc.completed = !doc.completed;
96
- await db.put(doc);
97
- };
98
- const textSpan = document.createElement("span");
99
- textSpan.innerText = `${doc.actor}:${doc.clicks || 0} ${doc.task}`;
100
- const li = document.createElement("li");
101
- li.appendChild(checkbox);
102
- li.appendChild(textSpan);
103
- document.querySelector("ul").appendChild(li);
104
- }
105
- };
106
-
107
- async function initialize() {
108
- ps = new URLSearchParams(location.search);
109
- const listQ = ps.get("list");
110
- setupDb(listQ || "my-list");
111
- const input = document.querySelector("#list");
112
- input.value = dbName;
113
- redraw();
114
- }
115
-
116
- async function openDashboard(e) {
117
- db.openDashboard();
118
- }
119
- window.openDashboard = openDashboard;
120
-
121
- async function changeList(e) {
122
- e.preventDefault();
123
- const input = document.querySelector("#list");
124
- dbName = input.value;
125
- history.pushState(null, "", location.pathname + "?list=" + encodeURIComponent(dbName));
126
- setupDb(dbName);
127
- redraw();
128
- }
129
- window.changeList = changeList;
130
-
131
- async function createTodoClick(e) {
132
- e.preventDefault();
133
- const input = document.querySelector("#todo");
134
- input.disabled = true;
135
- const ok = await db.put({ actor: actorTag, created: Date.now(), task: input.value, completed: false });
136
- input.disabled = false;
137
- input.value = "";
138
- }
139
- window.createTodoClick = createTodoClick;
140
-
141
- let worker;
142
- async function startWorker() {
143
- const button = document.querySelector("#robot");
144
- button.innerText = "🦾";
145
- const dcs = await db.allDocs();
146
- console.log("start worker", dcs.rows.length);
147
- // worker = setInterval(async () => {
148
- // dcs.rows.map((r) => db.put({ ...r.value, clicks: (r.value.clicks || 0) + 1, completed: Math.random() > 0.5 }))
149
- // }, 5000)
150
- goWorker(dcs);
151
- }
152
- const goWorker = (dcs) => {
153
- worker = setTimeout(
154
- async () => {
155
- await Promise.all(
156
- dcs.rows.slice(0, 5).map((r) => {
157
- r.value.clicks = r.value.clicks || 0;
158
- r.value.clicks += 1;
159
- r.value.completed = Math.random() > 0.5;
160
- db.put({ ...r.value });
161
- }),
162
- );
163
- goWorker(dcs);
164
- },
165
- Math.floor(Math.random() * 5000) + 5000,
166
- );
167
- };
168
-
169
- const stopWorker = () => {
170
- const button = document.querySelector("#robot");
171
- button.innerText = "🤖";
172
- console.log("stop worker");
173
- clearTimeout(worker);
174
- };
175
- const toggleWorker = (e) => {
176
- e.preventDefault();
177
- if (worker) {
178
- stopWorker();
179
- } else {
180
- startWorker(e);
181
- }
182
- };
183
- window.toggleWorker = toggleWorker;
184
-
185
- async function doCompact(e) {
186
- e.preventDefault();
187
- compactor = "🚕";
188
- drawInfo();
189
- await db.compact();
190
- drawInfo();
191
- compactor = "🚗";
192
- }
193
- window.doCompact = doCompact;
194
-
195
- window.onload = initialize;
196
- window.db = db;
197
- }
198
-
199
- todoApp();
200
- </script>
201
- </head>
202
-
203
- <body>
204
- <h1>Fireproof Todos</h1>
205
- List:
206
- <input title="Change list" type="text" name="list" id="list" />
207
- <button onclick="changeList(event)">Change List</button>
208
-
209
- <p>
210
- Fireproof stores data locally and encrypts it before sending it to the cloud. This demo uses web3.storage, but you can easily
211
- run Fireproof on S3 or another provider.
212
- <a href="https://use-fireproof.com/">Learn more in the Fireproof developer docs.</a>
213
- </p>
214
-
215
- <button onclick="openDashboard(event)">🔥 Import to Dashboard</button>
216
- <button id="robot" onclick="toggleWorker(event)">🤖</button>
217
- <br />
218
- <span id="carLog" onclick="doCompact(event)"></span>
219
- <br />
220
- <span id="cxInfo"></span>
221
-
222
- <h3>Todos</h3>
223
- <input title="Create a todo" type="text" name="todo" id="todo" />
224
- <button onclick="createTodoClick(event)">Create Todo</button>
225
- <ul></ul>
226
- </body>
227
- </html>
@@ -1,254 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Fireproof Test</title>
7
- <script src="index.global.js"></script>
8
- <script src="partykit.global.js"></script>
9
- <script type="text/javascript">
10
- function todoApp() {
11
- const actorTag = Math.random().toString(36).substring(2, 7);
12
- const { fireproof, index } = Fireproof;
13
- const { connect } = Connect;
14
-
15
- // console.log('connect', connect)
16
-
17
- let dbName;
18
- let db;
19
- let cx;
20
-
21
- let dbUnsubscribe = false;
22
-
23
- function setupDb(name, newDb, newConn) {
24
- const input = document.querySelector("#todo");
25
- input.disabled = true;
26
-
27
- if (dbUnsubscribe) {
28
- dbUnsubscribe();
29
- }
30
- if (newDb) {
31
- // console.log('new db', newDb, newConn)
32
- name = newDb.name;
33
- dbName = newDb.name;
34
- db = newDb;
35
- cx = newConn;
36
- const input = document.querySelector("#list");
37
- input.value = dbName;
38
- } else {
39
- dbName = name;
40
- db = fireproof(name, { autoCompact: 100, threshold: 50000 });
41
- cx = connect(db);
42
- cx.loaded.then(async () => {
43
- const span = document.querySelector("#cxInfo");
44
- console.log("cx", cx);
45
- span.innerText = `📡 ${cx.url.toString()}`;
46
- });
47
- }
48
-
49
- window.db = db;
50
- window.cx = cx;
51
-
52
- db.changes([], { limit: 1 }).then((changes) => {
53
- if (changes.clock.length > 0) {
54
- input.disabled = false;
55
- } else {
56
- cx.loaded.then(async () => {
57
- input.disabled = false;
58
- });
59
- }
60
- });
61
-
62
- dbUnsubscribe = db.subscribe(redraw);
63
- return db;
64
- }
65
-
66
- let doing;
67
- const redraw = async () => {
68
- if (doing) {
69
- return doing;
70
- }
71
- doing = doRedraw().finally(() => (doing = null));
72
- return doing;
73
- };
74
- window.redraw = redraw;
75
-
76
- let compactor = "🚗";
77
- function drawInfo() {
78
- document.querySelector("#carLog").innerText = ` ⏰ ${db._crdt.clock.head.length} ${compactor} ${
79
- cx.loader.carLog.length
80
- } 📩 ${1}`;
81
- }
82
- const doRedraw = async () => {
83
- drawInfo();
84
- const result = await db.allDocs().catch((e) => {
85
- console.error("allDocs error", e, ` ⏰ ${db._crdt.clock.head.length} ${compactor} ${cx.loader.carLog.length} 📩 ${1}`);
86
- return { rows: [] };
87
- });
88
- drawInfo();
89
- document.querySelector("ul").innerHTML = "";
90
- for (const row of result.rows) {
91
- // const doc = await db.get(row.id);
92
- const doc = row.value;
93
- const checkbox = document.createElement("input");
94
- checkbox.setAttribute("type", "checkbox");
95
- if (doc.completed) {
96
- checkbox.setAttribute("checked", true);
97
- }
98
- checkbox.onchange = async (e) => {
99
- e.target.indeterminate = true;
100
- const clicks = doc.clicks || 0;
101
- doc.clicks = clicks + 1;
102
- doc.completed = !doc.completed;
103
- await db.put(doc);
104
- };
105
- const textSpan = document.createElement("span");
106
- textSpan.innerText = `${doc.actor}:${doc.clicks || 0} ${doc.task}`;
107
- const li = document.createElement("li");
108
- li.appendChild(checkbox);
109
- li.appendChild(textSpan);
110
- document.querySelector("ul").appendChild(li);
111
- }
112
- };
113
-
114
- async function initialize() {
115
- ps = new URLSearchParams(location.search);
116
- const listQ = ps.get("list");
117
- setupDb(listQ || "my-list");
118
- const input = document.querySelector("#list");
119
- input.value = dbName;
120
- redraw();
121
- }
122
-
123
- async function openDashboard(e) {
124
- db.openDashboard();
125
- }
126
- window.openDashboard = openDashboard;
127
-
128
- async function changeList(e) {
129
- e.preventDefault();
130
- const input = document.querySelector("#list");
131
- dbName = input.value;
132
- history.pushState(null, "", location.pathname + "?list=" + encodeURIComponent(dbName));
133
- setupDb(dbName);
134
- redraw();
135
- }
136
- window.changeList = changeList;
137
-
138
- async function createTodoClick(e) {
139
- e.preventDefault();
140
- const input = document.querySelector("#todo");
141
- input.disabled = true;
142
- const ok = await db.put({
143
- actor: actorTag,
144
- created: Date.now(),
145
- task: input.value,
146
- completed: false,
147
- });
148
- input.disabled = false;
149
- input.value = "";
150
- }
151
- window.createTodoClick = createTodoClick;
152
-
153
- let worker;
154
- async function startWorker() {
155
- const button = document.querySelector("#robot");
156
- button.innerText = "🦾";
157
- const dcs = await db.allDocs();
158
- console.log("start worker", dcs.rows.length);
159
- // worker = setInterval(async () => {
160
- // dcs.rows.map((r) => db.put({ ...r.value, clicks: (r.value.clicks || 0) + 1, completed: Math.random() > 0.5 }))
161
- // }, 5000)
162
- goWorker(dcs);
163
- }
164
- const goWorker = (dcs) => {
165
- const timeout =
166
- 10 +
167
- Math.pow(db._crdt.clock.head.length + cx.loader.taskManager.queue.length, 2) *
168
- (Math.floor(Math.random() * 1000) + 1000);
169
- // console.log('go worker', timeout/ 1000)
170
- worker = setTimeout(async () => {
171
- await Promise.all(
172
- dcs.rows.slice(0, 5).map((r) => {
173
- r.value.clicks = r.value.clicks || 0;
174
- r.value.clicks += 1;
175
- r.value.completed = Math.random() > 0.5;
176
- db.put({ ...r.value });
177
- }),
178
- );
179
- goWorker(await db.allDocs());
180
- }, timeout);
181
- };
182
-
183
- const stopWorker = () => {
184
- const button = document.querySelector("#robot");
185
- button.innerText = "🤖";
186
- console.log("stop worker");
187
- clearTimeout(worker);
188
- };
189
- const toggleWorker = (e) => {
190
- e.preventDefault();
191
- if (worker) {
192
- stopWorker();
193
- } else {
194
- startWorker(e);
195
- }
196
- };
197
- window.toggleWorker = toggleWorker;
198
-
199
- async function writeStorm(e) {
200
- e.preventDefault();
201
- compactor = "🐦‍🔥";
202
- drawInfo();
203
-
204
- const dcs = await db.allDocs();
205
- const lastRow = dcs.rows[dcs.rows.length - 1];
206
- const theDoc = lastRow.value;
207
- for (let i = 0; i < 50; i++) {
208
- theDoc.clicks = (theDoc.clicks || 0) + 1;
209
- theDoc.completed = !theDoc.completed;
210
- await db.put(theDoc);
211
- }
212
-
213
- drawInfo();
214
- compactor = "🚗";
215
- }
216
- window.writeStorm = writeStorm;
217
-
218
- async function doCompact(e) {
219
- e.preventDefault();
220
- compactor = "🚕";
221
- drawInfo();
222
- await db.compact();
223
- drawInfo();
224
- compactor = "🚗";
225
- }
226
- window.doCompact = doCompact;
227
-
228
- window.onload = initialize;
229
- window.db = db;
230
- }
231
-
232
- todoApp();
233
- </script>
234
- </head>
235
-
236
- <body>
237
- <h1><a href="https://use-fireproof.com/">Fireproof</a> Test App</h1>
238
- Ledger:
239
- <input title="Change list" type="text" name="list" id="list" />
240
- <button onclick="changeList(event)">Switch</button>
241
-
242
- <p>This version of the Fireprof test app uses PartyKit as the storage backend. Refresh is automatic and live.</p>
243
-
244
- <button id="rocket" onclick="writeStorm(event)">🚀</button>
245
- <button id="robot" onclick="toggleWorker(event)">🤖</button>
246
- <span id="carLog" onclick="doCompact(event)"></span>
247
- <span id="cxInfo"></span>
248
-
249
- <h3>Todos</h3>
250
- <input title="Create a todo" type="text" name="todo" id="todo" />
251
- <button onclick="createTodoClick(event)">Create Todo</button>
252
- <ul></ul>
253
- </body>
254
- </html>