@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,232 +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.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
- // 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 });
41
- cx = connect.awsFree(db);
42
- cx.ready.then(async () => {
43
- const span = document.querySelector("#cxInfo");
44
- span.innerText = `📡`;
45
- span.addEventListener("click", () => {
46
- cx.refresh();
47
- });
48
- });
49
- }
50
-
51
- window.db = db;
52
- window.cx = cx;
53
-
54
- db.changes([], { limit: 1 }).then((changes) => {
55
- if (changes.clock.length > 0) {
56
- input.disabled = false;
57
- } else {
58
- cx.ready.then(async () => {
59
- input.disabled = false;
60
- });
61
- }
62
- });
63
-
64
- dbUnsubscribe = db.subscribe(redraw);
65
- return db;
66
- }
67
-
68
- let doing;
69
- const redraw = async () => {
70
- if (doing) {
71
- return doing;
72
- }
73
- doing = doRedraw().finally(() => (doing = null));
74
- return doing;
75
- };
76
- window.redraw = redraw;
77
-
78
- let compactor = "🚗";
79
- function drawInfo() {
80
- document.querySelector("#carLog").innerText =
81
- ` ⏰ ${db._crdt.clock.head.length} ${compactor} ${cx.loader.carLog.length} 📩 ${cx.loader.remoteWAL.walState.operations.length}`;
82
- }
83
- const doRedraw = async () => {
84
- drawInfo();
85
- const result = await db.allDocs();
86
- drawInfo();
87
- document.querySelector("ul").innerHTML = "";
88
- for (const row of result.rows) {
89
- // const doc = await db.get(row.id);
90
- const doc = row.value;
91
- const checkbox = document.createElement("input");
92
- checkbox.setAttribute("type", "checkbox");
93
- if (doc.completed) {
94
- checkbox.setAttribute("checked", true);
95
- }
96
- checkbox.onchange = async (e) => {
97
- e.target.indeterminate = true;
98
- const clicks = doc.clicks || 0;
99
- doc.clicks = clicks + 1;
100
- doc.completed = !doc.completed;
101
- await db.put(doc);
102
- };
103
- const textSpan = document.createElement("span");
104
- textSpan.innerText = `${doc.actor}:${doc.clicks || 0} ${doc.task}`;
105
- const li = document.createElement("li");
106
- li.appendChild(checkbox);
107
- li.appendChild(textSpan);
108
- document.querySelector("ul").appendChild(li);
109
- }
110
- };
111
-
112
- async function initialize() {
113
- ps = new URLSearchParams(location.search);
114
- const listQ = ps.get("list");
115
- setupDb(listQ || "my-list");
116
- const input = document.querySelector("#list");
117
- input.value = dbName;
118
- redraw();
119
- }
120
-
121
- async function openDashboard(e) {
122
- db.openDashboard();
123
- }
124
- window.openDashboard = openDashboard;
125
-
126
- async function changeList(e) {
127
- e.preventDefault();
128
- const input = document.querySelector("#list");
129
- dbName = input.value;
130
- history.pushState(null, "", location.pathname + "?list=" + encodeURIComponent(dbName));
131
- setupDb(dbName);
132
- redraw();
133
- }
134
- window.changeList = changeList;
135
-
136
- async function createTodoClick(e) {
137
- e.preventDefault();
138
- const input = document.querySelector("#todo");
139
- input.disabled = true;
140
- const ok = await db.put({
141
- actor: actorTag,
142
- created: Date.now(),
143
- task: input.value,
144
- completed: false,
145
- });
146
- input.disabled = false;
147
- input.value = "";
148
- }
149
- window.createTodoClick = createTodoClick;
150
-
151
- let worker;
152
- async function startWorker() {
153
- const button = document.querySelector("#robot");
154
- button.innerText = "🦾";
155
- const dcs = await db.allDocs();
156
- console.log("start worker", dcs.rows.length);
157
- // worker = setInterval(async () => {
158
- // dcs.rows.map((r) => db.put({ ...r.value, clicks: (r.value.clicks || 0) + 1, completed: Math.random() > 0.5 }))
159
- // }, 5000)
160
- goWorker(dcs);
161
- }
162
- const goWorker = (dcs) => {
163
- const timeout = 10 + db._crdt.clock.head.length * (Math.floor(Math.random() * 2000) + 2000);
164
- // console.log('go worker', timeout)
165
- worker = setTimeout(async () => {
166
- await Promise.all(
167
- dcs.rows.slice(0, 5).map((r) => {
168
- r.value.clicks = r.value.clicks || 0;
169
- r.value.clicks += 1;
170
- r.value.completed = Math.random() > 0.5;
171
- db.put({ ...r.value });
172
- }),
173
- );
174
- goWorker(dcs);
175
- }, timeout);
176
- };
177
-
178
- const stopWorker = () => {
179
- const button = document.querySelector("#robot");
180
- button.innerText = "🤖";
181
- console.log("stop worker");
182
- clearTimeout(worker);
183
- };
184
- const toggleWorker = (e) => {
185
- e.preventDefault();
186
- if (worker) {
187
- stopWorker();
188
- } else {
189
- startWorker(e);
190
- }
191
- };
192
- window.toggleWorker = toggleWorker;
193
-
194
- async function doCompact(e) {
195
- e.preventDefault();
196
- compactor = "🚕";
197
- drawInfo();
198
- await db.compact();
199
- drawInfo();
200
- compactor = "🚗";
201
- }
202
- window.doCompact = doCompact;
203
-
204
- window.onload = initialize;
205
- window.db = db;
206
- }
207
-
208
- todoApp();
209
- </script>
210
- </head>
211
-
212
- <body>
213
- <h1><a href="https://use-fireproof.com/">Fireproof</a> Test App</h1>
214
- Ledger:
215
- <input title="Change list" type="text" name="list" id="list" />
216
- <button onclick="changeList(event)">Switch</button>
217
-
218
- <p>
219
- This version of the Fireprof test app uses AWS S3 as the storage backend. Click the 📡 to refresh the latest data from other
220
- clients.
221
- </p>
222
-
223
- <button id="robot" onclick="toggleWorker(event)">🤖</button>
224
- <span id="carLog" onclick="doCompact(event)"></span>
225
- <span id="cxInfo"></span>
226
-
227
- <h3>Todos</h3>
228
- <input title="Create a todo" type="text" name="todo" id="todo" />
229
- <button onclick="createTodoClick(event)">Create Todo</button>
230
- <ul></ul>
231
- </body>
232
- </html>
@@ -1,213 +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?14345"></script>
8
- <script src="./ipfs.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 } = FireproofConnectUCAN;
14
- console.log("fireproofconnect", connect);
15
-
16
- let dbName;
17
- let db;
18
- let cx;
19
-
20
- let dbUnsubscribe = false;
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.ipfs(db, "todo-test");
40
- }
41
-
42
- window.db = db;
43
- window.cx = cx;
44
-
45
- cx.ready.then(async () => {
46
- input.disabled = false;
47
- console.log("ready", cx.authorized, cx);
48
- if (cx.authorized) {
49
- document.querySelector("#login").hidden = true;
50
- document.querySelector("#authorized").hidden = false;
51
- // console.log('authorized', await cx.shareToken())
52
- // document.querySelector('#agent').innerText = await cx.shareToken()
53
- document.querySelector("#account-email").innerText = await cx.accountEmail();
54
- } else {
55
- input.disabled = false;
56
- document.querySelector("#login").hidden = false;
57
- document.querySelector("#authorized").hidden = true;
58
- }
59
- });
60
-
61
- dbUnsubscribe = db.subscribe(redraw);
62
- return db;
63
- }
64
-
65
- let doing;
66
- const redraw = async () => {
67
- if (doing) {
68
- return doing;
69
- }
70
- doing = doRedraw().finally(() => (doing = null));
71
- return doing;
72
- };
73
- window.redraw = redraw;
74
-
75
- const doRedraw = async () => {
76
- const result = await db.query("created", { includeDocs: true });
77
- document.querySelector("ul").innerHTML = "";
78
-
79
- for (const row of result.rows) {
80
- // const doc = await db.get(row.id);
81
- const doc = row.doc;
82
- const checkbox = document.createElement("input");
83
- checkbox.setAttribute("type", "checkbox");
84
- if (doc.completed) {
85
- checkbox.setAttribute("checked", true);
86
- }
87
- checkbox.onchange = async (e) => {
88
- e.target.indeterminate = true;
89
- doc.completed = !doc.completed;
90
- await db.put(doc);
91
- };
92
- const textSpan = document.createElement("span");
93
- textSpan.innerText = doc.actor + ": " + doc.task;
94
- const li = document.createElement("li");
95
- li.appendChild(checkbox);
96
- li.appendChild(textSpan);
97
- document.querySelector("ul").appendChild(li);
98
- }
99
- };
100
-
101
- async function initialize() {
102
- ps = new URLSearchParams(location.search);
103
- const listQ = ps.get("list");
104
- setupDb(listQ || "my-list");
105
- const input = document.querySelector("#list");
106
- input.value = dbName;
107
- redraw();
108
- }
109
-
110
- async function openDashboard(e) {
111
- db.openDashboard();
112
- }
113
- window.openDashboard = openDashboard;
114
-
115
- async function verifyEmail(e) {
116
- const input = document.querySelector("#email");
117
- input.disabled = true;
118
- const val = input.value;
119
- const area = document.querySelector("#login");
120
- area.innerHTML = "Sending verification email to " + val + "...";
121
- await cx.authorize(input.value);
122
- // setTimeout(() => {
123
- // setupDb(dbName);
124
- // }, 1100)
125
- }
126
- window.verifyEmail = verifyEmail;
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
-
141
- const input = document.querySelector("#todo");
142
- const ok = await db.put({ actor: actorTag, created: Date.now(), task: input.value, completed: false });
143
- input.value = "";
144
- }
145
- window.createTodoClick = createTodoClick;
146
-
147
- window.doShareWith = async (e) => {
148
- e.preventDefault();
149
- e.target.disabled = true;
150
- const input = document.querySelector("#share");
151
- const did = await cx.shareWith(input.value);
152
- document.querySelector("#share-code").innerText = did;
153
- };
154
-
155
- window.doJoin = async (e) => {
156
- e.preventDefault();
157
- e.target.disabled = true;
158
- const input = document.querySelector("#join");
159
- const { ledger: newDb, connection: newConn } = await cx.joinShared(input.value);
160
- setupDb(null, newDb, newConn);
161
- };
162
-
163
- window.onload = initialize;
164
- window.db = db;
165
- }
166
-
167
- todoApp();
168
- </script>
169
- </head>
170
-
171
- <body>
172
- <h1>Fireproof Todos</h1>
173
- List:
174
- <input type="text" name="list" id="list" />
175
- <button onclick="changeList(event)">Change List</button>
176
-
177
- <div id="login">
178
- <p>Work locally or verify your email address to sync.</p>
179
- Email: <input title="email" placeholder="name@example.com" name="email" id="email" />
180
- <button onclick="verifyEmail(event)">Verify email</button>
181
- </div>
182
-
183
- <p>
184
- Fireproof stores data locally and encrypts it before sending it to the cloud. This demo uses web3.storage, but you can easily
185
- run Fireproof on S3 or another provider.
186
- <a href="https://use-fireproof.com/">Learn more in the Fireproof developer docs.</a>
187
- </p>
188
-
189
- <div id="authorized" hidden>
190
- <p>Logged in as <span id="account-email">loading...</span></p>
191
- <button onclick="openDashboard(event)">🔥 Import to Dashboard</button>
192
-
193
- <p>
194
- Share this list to someone's share id: <input title="share" placeholder="did:key:..." name="share" id="share" />
195
- <button onclick="doShareWith(event)">Share</button>
196
- <code id="share-code"></code>
197
- </p>
198
- <p>
199
- Join a shared list: <input title="join" placeholder="bafy..." name="join" id="join" />
200
- <button onclick="doJoin(event)">Join</button>
201
- </p>
202
- <p>
203
- Request access to other lists by sharing your share id:<br />
204
- <code id="agent"></code>
205
- </p>
206
- </div>
207
-
208
- <h3>Todos</h3>
209
- <input title="Create a todo" type="text" name="todo" id="todo" />
210
- <button onclick="createTodoClick(event)">Create Todo</button>
211
- <ul></ul>
212
- </body>
213
- </html>
@@ -1,214 +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 type="text/javascript">
9
- function todoApp() {
10
- const actorTag = Math.random().toString(36).substring(2, 7);
11
- const { fireproof, index } = Fireproof;
12
-
13
- // console.log('connect', connect)
14
-
15
- let dbName;
16
- let db;
17
- let cx;
18
-
19
- let dbUnsubscribe = false;
20
-
21
- function setupDb(name, newDb) {
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
-
34
- const input = document.querySelector("#list");
35
- input.value = dbName;
36
- } else {
37
- dbName = name;
38
- db = fireproof(name, { autoCompact: 100 });
39
- }
40
-
41
- window.db = db;
42
-
43
- db.changes([], { limit: 1 }).then((changes) => {
44
- input.disabled = false;
45
- });
46
-
47
- dbUnsubscribe = db.subscribe(redraw);
48
- return db;
49
- }
50
-
51
- let doing;
52
- const redraw = async () => {
53
- if (doing) {
54
- return doing;
55
- }
56
- doing = doRedraw().finally(() => (doing = null));
57
- return doing;
58
- };
59
- window.redraw = redraw;
60
-
61
- let compactor = "🚗";
62
- function drawInfo() {
63
- document.querySelector("#carLog").innerText = ` ⏰ ${db._crdt.clock.head.length} ${compactor}`;
64
- }
65
- const doRedraw = async () => {
66
- drawInfo();
67
- const result = await db.allDocs().catch((e) => {
68
- console.error("allDocs error", e, ` ⏰ ${db._crdt.clock.head.length} ${compactor}`);
69
- return { rows: [] };
70
- });
71
- drawInfo();
72
- document.querySelector("ul").innerHTML = "";
73
- for (const row of result.rows) {
74
- // const doc = await db.get(row.id);
75
- const doc = row.value;
76
- const checkbox = document.createElement("input");
77
- checkbox.setAttribute("type", "checkbox");
78
- if (doc.completed) {
79
- checkbox.setAttribute("checked", true);
80
- }
81
- checkbox.onchange = async (e) => {
82
- e.target.indeterminate = true;
83
- const clicks = doc.clicks || 0;
84
- doc.clicks = clicks + 1;
85
- doc.completed = !doc.completed;
86
- await db.put(doc);
87
- };
88
- const textSpan = document.createElement("span");
89
- textSpan.innerText = `${doc.actor}:${doc.clicks || 0} ${doc.task}`;
90
- const li = document.createElement("li");
91
- li.appendChild(checkbox);
92
- li.appendChild(textSpan);
93
- document.querySelector("ul").appendChild(li);
94
- }
95
- };
96
-
97
- async function initialize() {
98
- ps = new URLSearchParams(location.search);
99
- const listQ = ps.get("list");
100
- setupDb(listQ || "my-list");
101
- const input = document.querySelector("#list");
102
- input.value = dbName;
103
- redraw();
104
- }
105
-
106
- async function openDashboard(e) {
107
- db.openDashboard();
108
- }
109
- window.openDashboard = openDashboard;
110
-
111
- async function changeList(e) {
112
- e.preventDefault();
113
- const input = document.querySelector("#list");
114
- dbName = input.value;
115
- history.pushState(null, "", location.pathname + "?list=" + encodeURIComponent(dbName));
116
- setupDb(dbName);
117
- redraw();
118
- }
119
- window.changeList = changeList;
120
-
121
- async function createTodoClick(e) {
122
- e.preventDefault();
123
- const input = document.querySelector("#todo");
124
- input.disabled = true;
125
- const ok = await db.put({
126
- actor: actorTag,
127
- created: Date.now(),
128
- task: input.value,
129
- completed: false,
130
- });
131
- input.disabled = false;
132
- input.value = "";
133
- }
134
- window.createTodoClick = createTodoClick;
135
-
136
- let worker;
137
- async function startWorker() {
138
- const button = document.querySelector("#robot");
139
- button.innerText = "🦾";
140
- const dcs = await db.allDocs();
141
- console.log("start worker", dcs.rows.length);
142
- // worker = setInterval(async () => {
143
- // dcs.rows.map((r) => db.put({ ...r.value, clicks: (r.value.clicks || 0) + 1, completed: Math.random() > 0.5 }))
144
- // }, 5000)
145
- goWorker(dcs);
146
- }
147
- const goWorker = (dcs) => {
148
- const timeout = 10 + Math.pow(db._crdt.clock.head.length, 2) * (Math.floor(Math.random() * 50) + 50);
149
- console.log("go worker", timeout / 1000);
150
- worker = setTimeout(async () => {
151
- await Promise.all(
152
- dcs.rows.slice(0, 5).map((r) => {
153
- r.value.clicks = r.value.clicks || 0;
154
- r.value.clicks += 1;
155
- r.value.completed = Math.random() > 0.5;
156
- db.put({ ...r.value });
157
- }),
158
- );
159
- goWorker(dcs);
160
- }, timeout);
161
- };
162
-
163
- const stopWorker = () => {
164
- const button = document.querySelector("#robot");
165
- button.innerText = "🤖";
166
- console.log("stop worker");
167
- clearTimeout(worker);
168
- };
169
- const toggleWorker = (e) => {
170
- e.preventDefault();
171
- if (worker) {
172
- stopWorker();
173
- } else {
174
- startWorker(e);
175
- }
176
- };
177
- window.toggleWorker = toggleWorker;
178
-
179
- async function doCompact(e) {
180
- e.preventDefault();
181
- compactor = "🚕";
182
- drawInfo();
183
- await db.compact();
184
- drawInfo();
185
- compactor = "🚗";
186
- }
187
- window.doCompact = doCompact;
188
-
189
- window.onload = initialize;
190
- window.db = db;
191
- }
192
-
193
- todoApp();
194
- </script>
195
- </head>
196
-
197
- <body>
198
- <h1><a href="https://use-fireproof.com/">Fireproof</a> Test App</h1>
199
- Ledger:
200
- <input title="Change list" type="text" name="list" id="list" />
201
- <button onclick="changeList(event)">Switch</button>
202
-
203
- <p>This version of the Fireprof test app uses PartyKit as the storage backend. Refresh is automatic and live.</p>
204
-
205
- <button id="robot" onclick="toggleWorker(event)">🤖</button>
206
- <span id="carLog" onclick="doCompact(event)"></span>
207
- <span id="cxInfo"></span>
208
-
209
- <h3>Todos</h3>
210
- <input title="Create a todo" type="text" name="todo" id="todo" />
211
- <button onclick="createTodoClick(event)">Create Todo</button>
212
- <ul></ul>
213
- </body>
214
- </html>