@fireproof/core 0.21.0-dev-preview-6 → 0.22.0-dev-preview

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 (428) hide show
  1. package/index.d.ts +2 -16
  2. package/index.js +2 -15
  3. package/index.js.map +1 -1
  4. package/index.ts +2 -0
  5. package/package.json +11 -70
  6. package/tsconfig.json +18 -0
  7. package/README.md +0 -269
  8. package/apply-head-queue.d.ts +0 -18
  9. package/apply-head-queue.d.ts.map +0 -1
  10. package/apply-head-queue.js +0 -47
  11. package/apply-head-queue.js.map +0 -1
  12. package/blockstore/attachable-store.d.ts +0 -19
  13. package/blockstore/attachable-store.d.ts.map +0 -1
  14. package/blockstore/attachable-store.js +0 -317
  15. package/blockstore/attachable-store.js.map +0 -1
  16. package/blockstore/commit-queue.d.ts +0 -17
  17. package/blockstore/commit-queue.d.ts.map +0 -1
  18. package/blockstore/commit-queue.js +0 -60
  19. package/blockstore/commit-queue.js.map +0 -1
  20. package/blockstore/commitor.d.ts +0 -21
  21. package/blockstore/commitor.d.ts.map +0 -1
  22. package/blockstore/commitor.js +0 -95
  23. package/blockstore/commitor.js.map +0 -1
  24. package/blockstore/connect-raw.d.ts +0 -2
  25. package/blockstore/connect-raw.d.ts.map +0 -1
  26. package/blockstore/connect-raw.js +0 -2
  27. package/blockstore/connect-raw.js.map +0 -1
  28. package/blockstore/connection-base.d.ts +0 -2
  29. package/blockstore/connection-base.d.ts.map +0 -1
  30. package/blockstore/connection-base.js +0 -2
  31. package/blockstore/connection-base.js.map +0 -1
  32. package/blockstore/encrypt-helpers.d.ts +0 -2
  33. package/blockstore/encrypt-helpers.d.ts.map +0 -1
  34. package/blockstore/encrypt-helpers.js +0 -2
  35. package/blockstore/encrypt-helpers.js.map +0 -1
  36. package/blockstore/fp-envelope.d.ts +0 -32
  37. package/blockstore/fp-envelope.d.ts.map +0 -1
  38. package/blockstore/fp-envelope.js +0 -14
  39. package/blockstore/fp-envelope.js.map +0 -1
  40. package/blockstore/gateway.d.ts +0 -20
  41. package/blockstore/gateway.d.ts.map +0 -1
  42. package/blockstore/gateway.js +0 -2
  43. package/blockstore/gateway.js.map +0 -1
  44. package/blockstore/index.d.ts +0 -16
  45. package/blockstore/index.d.ts.map +0 -1
  46. package/blockstore/index.js +0 -16
  47. package/blockstore/index.js.map +0 -1
  48. package/blockstore/interceptor-gateway.d.ts +0 -29
  49. package/blockstore/interceptor-gateway.d.ts.map +0 -1
  50. package/blockstore/interceptor-gateway.js +0 -137
  51. package/blockstore/interceptor-gateway.js.map +0 -1
  52. package/blockstore/loader-helpers.d.ts +0 -10
  53. package/blockstore/loader-helpers.d.ts.map +0 -1
  54. package/blockstore/loader-helpers.js +0 -115
  55. package/blockstore/loader-helpers.js.map +0 -1
  56. package/blockstore/loader.d.ts +0 -61
  57. package/blockstore/loader.d.ts.map +0 -1
  58. package/blockstore/loader.js +0 -493
  59. package/blockstore/loader.js.map +0 -1
  60. package/blockstore/register-store-protocol.d.ts +0 -22
  61. package/blockstore/register-store-protocol.d.ts.map +0 -1
  62. package/blockstore/register-store-protocol.js +0 -125
  63. package/blockstore/register-store-protocol.js.map +0 -1
  64. package/blockstore/serde-gateway.d.ts +0 -78
  65. package/blockstore/serde-gateway.d.ts.map +0 -1
  66. package/blockstore/serde-gateway.js +0 -2
  67. package/blockstore/serde-gateway.js.map +0 -1
  68. package/blockstore/store-factory.d.ts +0 -11
  69. package/blockstore/store-factory.d.ts.map +0 -1
  70. package/blockstore/store-factory.js +0 -104
  71. package/blockstore/store-factory.js.map +0 -1
  72. package/blockstore/store-remote.d.ts +0 -2
  73. package/blockstore/store-remote.d.ts.map +0 -1
  74. package/blockstore/store-remote.js +0 -2
  75. package/blockstore/store-remote.js.map +0 -1
  76. package/blockstore/store.d.ts +0 -86
  77. package/blockstore/store.d.ts.map +0 -1
  78. package/blockstore/store.js +0 -437
  79. package/blockstore/store.js.map +0 -1
  80. package/blockstore/task-manager.d.ts +0 -19
  81. package/blockstore/task-manager.d.ts.map +0 -1
  82. package/blockstore/task-manager.js +0 -50
  83. package/blockstore/task-manager.js.map +0 -1
  84. package/blockstore/transaction.d.ts +0 -62
  85. package/blockstore/transaction.d.ts.map +0 -1
  86. package/blockstore/transaction.js +0 -256
  87. package/blockstore/transaction.js.map +0 -1
  88. package/blockstore/types.d.ts +0 -510
  89. package/blockstore/types.d.ts.map +0 -1
  90. package/blockstore/types.js +0 -83
  91. package/blockstore/types.js.map +0 -1
  92. package/blockstore/uri-interceptor.d.ts +0 -19
  93. package/blockstore/uri-interceptor.d.ts.map +0 -1
  94. package/blockstore/uri-interceptor.js +0 -61
  95. package/blockstore/uri-interceptor.js.map +0 -1
  96. package/bundle-not-impl.d.ts +0 -2
  97. package/bundle-not-impl.d.ts.map +0 -1
  98. package/bundle-not-impl.js +0 -4
  99. package/bundle-not-impl.js.map +0 -1
  100. package/cli/main.js +0 -26613
  101. package/crdt-clock.d.ts +0 -26
  102. package/crdt-clock.d.ts.map +0 -1
  103. package/crdt-clock.js +0 -133
  104. package/crdt-clock.js.map +0 -1
  105. package/crdt-helpers.d.ts +0 -19
  106. package/crdt-helpers.d.ts.map +0 -1
  107. package/crdt-helpers.js +0 -332
  108. package/crdt-helpers.js.map +0 -1
  109. package/crdt.d.ts +0 -41
  110. package/crdt.d.ts.map +0 -1
  111. package/crdt.js +0 -164
  112. package/crdt.js.map +0 -1
  113. package/database.d.ts +0 -34
  114. package/database.d.ts.map +0 -1
  115. package/database.js +0 -133
  116. package/database.js.map +0 -1
  117. package/deno.json +0 -20
  118. package/index.d.ts.map +0 -1
  119. package/indexer-helpers.d.ts +0 -68
  120. package/indexer-helpers.d.ts.map +0 -1
  121. package/indexer-helpers.js +0 -157
  122. package/indexer-helpers.js.map +0 -1
  123. package/indexer.d.ts +0 -24
  124. package/indexer.d.ts.map +0 -1
  125. package/indexer.js +0 -239
  126. package/indexer.js.map +0 -1
  127. package/ledger.d.ts +0 -55
  128. package/ledger.d.ts.map +0 -1
  129. package/ledger.js +0 -240
  130. package/ledger.js.map +0 -1
  131. package/protocols/cloud/http-connection.d.ts +0 -25
  132. package/protocols/cloud/http-connection.d.ts.map +0 -1
  133. package/protocols/cloud/http-connection.js +0 -153
  134. package/protocols/cloud/http-connection.js.map +0 -1
  135. package/protocols/cloud/index.d.ts +0 -10
  136. package/protocols/cloud/index.d.ts.map +0 -1
  137. package/protocols/cloud/index.js +0 -10
  138. package/protocols/cloud/index.js.map +0 -1
  139. package/protocols/cloud/msg-raw-connection-base.d.ts +0 -16
  140. package/protocols/cloud/msg-raw-connection-base.d.ts.map +0 -1
  141. package/protocols/cloud/msg-raw-connection-base.js +0 -22
  142. package/protocols/cloud/msg-raw-connection-base.js.map +0 -1
  143. package/protocols/cloud/msg-types-data.d.ts +0 -36
  144. package/protocols/cloud/msg-types-data.d.ts.map +0 -1
  145. package/protocols/cloud/msg-types-data.js +0 -38
  146. package/protocols/cloud/msg-types-data.js.map +0 -1
  147. package/protocols/cloud/msg-types-meta.d.ts +0 -41
  148. package/protocols/cloud/msg-types-meta.d.ts.map +0 -1
  149. package/protocols/cloud/msg-types-meta.js +0 -98
  150. package/protocols/cloud/msg-types-meta.js.map +0 -1
  151. package/protocols/cloud/msg-types-wal.d.ts +0 -33
  152. package/protocols/cloud/msg-types-wal.d.ts.map +0 -1
  153. package/protocols/cloud/msg-types-wal.js +0 -38
  154. package/protocols/cloud/msg-types-wal.js.map +0 -1
  155. package/protocols/cloud/msg-types.d.ts +0 -296
  156. package/protocols/cloud/msg-types.d.ts.map +0 -1
  157. package/protocols/cloud/msg-types.js +0 -296
  158. package/protocols/cloud/msg-types.js.map +0 -1
  159. package/protocols/cloud/msger.d.ts +0 -79
  160. package/protocols/cloud/msger.d.ts.map +0 -1
  161. package/protocols/cloud/msger.js +0 -198
  162. package/protocols/cloud/msger.js.map +0 -1
  163. package/protocols/cloud/ws-connection.d.ts +0 -29
  164. package/protocols/cloud/ws-connection.d.ts.map +0 -1
  165. package/protocols/cloud/ws-connection.js +0 -166
  166. package/protocols/cloud/ws-connection.js.map +0 -1
  167. package/protocols/index.d.ts +0 -2
  168. package/protocols/index.d.ts.map +0 -1
  169. package/protocols/index.js +0 -2
  170. package/protocols/index.js.map +0 -1
  171. package/react/img-file.d.ts +0 -303
  172. package/react/img-file.d.ts.map +0 -1
  173. package/react/img-file.js +0 -92
  174. package/react/img-file.js.map +0 -1
  175. package/react/index.d.ts +0 -5
  176. package/react/index.d.ts.map +0 -1
  177. package/react/index.js +0 -5
  178. package/react/index.js.map +0 -1
  179. package/react/types.d.ts +0 -71
  180. package/react/types.d.ts.map +0 -1
  181. package/react/types.js +0 -2
  182. package/react/types.js.map +0 -1
  183. package/react/use-all-docs.d.ts +0 -4
  184. package/react/use-all-docs.d.ts.map +0 -1
  185. package/react/use-all-docs.js +0 -25
  186. package/react/use-all-docs.js.map +0 -1
  187. package/react/use-attach.d.ts +0 -6
  188. package/react/use-attach.d.ts.map +0 -1
  189. package/react/use-attach.js +0 -75
  190. package/react/use-attach.js.map +0 -1
  191. package/react/use-changes.d.ts +0 -4
  192. package/react/use-changes.d.ts.map +0 -1
  193. package/react/use-changes.js +0 -19
  194. package/react/use-changes.js.map +0 -1
  195. package/react/use-document.d.ts +0 -4
  196. package/react/use-document.d.ts.map +0 -1
  197. package/react/use-document.js +0 -109
  198. package/react/use-document.js.map +0 -1
  199. package/react/use-fireproof.d.ts +0 -6
  200. package/react/use-fireproof.d.ts.map +0 -1
  201. package/react/use-fireproof.js +0 -20
  202. package/react/use-fireproof.js.map +0 -1
  203. package/react/use-live-query.d.ts +0 -4
  204. package/react/use-live-query.d.ts.map +0 -1
  205. package/react/use-live-query.js +0 -24
  206. package/react/use-live-query.js.map +0 -1
  207. package/runtime/files.d.ts +0 -12
  208. package/runtime/files.d.ts.map +0 -1
  209. package/runtime/files.js +0 -29
  210. package/runtime/files.js.map +0 -1
  211. package/runtime/gateways/cloud/gateway.d.ts +0 -41
  212. package/runtime/gateways/cloud/gateway.d.ts.map +0 -1
  213. package/runtime/gateways/cloud/gateway.js +0 -512
  214. package/runtime/gateways/cloud/gateway.js.map +0 -1
  215. package/runtime/gateways/cloud/index.d.ts +0 -3
  216. package/runtime/gateways/cloud/index.d.ts.map +0 -1
  217. package/runtime/gateways/cloud/index.js +0 -3
  218. package/runtime/gateways/cloud/index.js.map +0 -1
  219. package/runtime/gateways/cloud/to-cloud.d.ts +0 -46
  220. package/runtime/gateways/cloud/to-cloud.d.ts.map +0 -1
  221. package/runtime/gateways/cloud/to-cloud.js +0 -159
  222. package/runtime/gateways/cloud/to-cloud.js.map +0 -1
  223. package/runtime/gateways/def-serde-gateway.d.ts +0 -18
  224. package/runtime/gateways/def-serde-gateway.d.ts.map +0 -1
  225. package/runtime/gateways/def-serde-gateway.js +0 -92
  226. package/runtime/gateways/def-serde-gateway.js.map +0 -1
  227. package/runtime/gateways/file/deno/deno-filesystem.d.ts +0 -27
  228. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +0 -1
  229. package/runtime/gateways/file/deno/deno-filesystem.js +0 -52
  230. package/runtime/gateways/file/deno/deno-filesystem.js.map +0 -1
  231. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +0 -4
  232. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +0 -1
  233. package/runtime/gateways/file/deno/get-sys-file-system.js +0 -11
  234. package/runtime/gateways/file/deno/get-sys-file-system.js.map +0 -1
  235. package/runtime/gateways/file/deno/index.d.ts +0 -2
  236. package/runtime/gateways/file/deno/index.d.ts.map +0 -1
  237. package/runtime/gateways/file/deno/index.js +0 -2
  238. package/runtime/gateways/file/deno/index.js.map +0 -1
  239. package/runtime/gateways/file/gateway-impl.d.ts +0 -18
  240. package/runtime/gateways/file/gateway-impl.d.ts.map +0 -1
  241. package/runtime/gateways/file/gateway-impl.js +0 -121
  242. package/runtime/gateways/file/gateway-impl.js.map +0 -1
  243. package/runtime/gateways/file/index.d.ts +0 -3
  244. package/runtime/gateways/file/index.d.ts.map +0 -1
  245. package/runtime/gateways/file/index.js +0 -3
  246. package/runtime/gateways/file/index.js.map +0 -1
  247. package/runtime/gateways/file/key-bag-file.d.ts +0 -19
  248. package/runtime/gateways/file/key-bag-file.d.ts.map +0 -1
  249. package/runtime/gateways/file/key-bag-file.js +0 -40
  250. package/runtime/gateways/file/key-bag-file.js.map +0 -1
  251. package/runtime/gateways/file/node/get-sys-file-system.d.ts +0 -4
  252. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +0 -1
  253. package/runtime/gateways/file/node/get-sys-file-system.js +0 -11
  254. package/runtime/gateways/file/node/get-sys-file-system.js.map +0 -1
  255. package/runtime/gateways/file/node/index.d.ts +0 -2
  256. package/runtime/gateways/file/node/index.d.ts.map +0 -1
  257. package/runtime/gateways/file/node/index.js +0 -2
  258. package/runtime/gateways/file/node/index.js.map +0 -1
  259. package/runtime/gateways/file/node/node-filesystem.d.ts +0 -32
  260. package/runtime/gateways/file/node/node-filesystem.d.ts.map +0 -1
  261. package/runtime/gateways/file/node/node-filesystem.js +0 -33
  262. package/runtime/gateways/file/node/node-filesystem.js.map +0 -1
  263. package/runtime/gateways/file/node/to-array-buffer.d.ts +0 -2
  264. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +0 -1
  265. package/runtime/gateways/file/node/to-array-buffer.js +0 -12
  266. package/runtime/gateways/file/node/to-array-buffer.js.map +0 -1
  267. package/runtime/gateways/file/sys-file-system-factory.d.ts +0 -4
  268. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +0 -1
  269. package/runtime/gateways/file/sys-file-system-factory.js +0 -13
  270. package/runtime/gateways/file/sys-file-system-factory.js.map +0 -1
  271. package/runtime/gateways/file/utils.d.ts +0 -5
  272. package/runtime/gateways/file/utils.d.ts.map +0 -1
  273. package/runtime/gateways/file/utils.js +0 -27
  274. package/runtime/gateways/file/utils.js.map +0 -1
  275. package/runtime/gateways/file/version.d.ts +0 -2
  276. package/runtime/gateways/file/version.d.ts.map +0 -1
  277. package/runtime/gateways/file/version.js +0 -2
  278. package/runtime/gateways/file/version.js.map +0 -1
  279. package/runtime/gateways/fp-envelope-serialize.d.ts +0 -50
  280. package/runtime/gateways/fp-envelope-serialize.d.ts.map +0 -1
  281. package/runtime/gateways/fp-envelope-serialize.js +0 -141
  282. package/runtime/gateways/fp-envelope-serialize.js.map +0 -1
  283. package/runtime/gateways/index.d.ts +0 -6
  284. package/runtime/gateways/index.d.ts.map +0 -1
  285. package/runtime/gateways/index.js +0 -6
  286. package/runtime/gateways/index.js.map +0 -1
  287. package/runtime/gateways/indexeddb/gateway-impl.d.ts +0 -22
  288. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +0 -1
  289. package/runtime/gateways/indexeddb/gateway-impl.js +0 -147
  290. package/runtime/gateways/indexeddb/gateway-impl.js.map +0 -1
  291. package/runtime/gateways/indexeddb/index.d.ts +0 -6
  292. package/runtime/gateways/indexeddb/index.d.ts.map +0 -1
  293. package/runtime/gateways/indexeddb/index.js +0 -6
  294. package/runtime/gateways/indexeddb/index.js.map +0 -1
  295. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +0 -15
  296. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +0 -1
  297. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +0 -42
  298. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +0 -1
  299. package/runtime/gateways/indexeddb-version.d.ts +0 -2
  300. package/runtime/gateways/indexeddb-version.d.ts.map +0 -1
  301. package/runtime/gateways/indexeddb-version.js +0 -2
  302. package/runtime/gateways/indexeddb-version.js.map +0 -1
  303. package/runtime/gateways/memory/gateway.d.ts +0 -18
  304. package/runtime/gateways/memory/gateway.d.ts.map +0 -1
  305. package/runtime/gateways/memory/gateway.js +0 -73
  306. package/runtime/gateways/memory/gateway.js.map +0 -1
  307. package/runtime/gateways/memory/version.d.ts +0 -2
  308. package/runtime/gateways/memory/version.d.ts.map +0 -1
  309. package/runtime/gateways/memory/version.js +0 -2
  310. package/runtime/gateways/memory/version.js.map +0 -1
  311. package/runtime/index.d.ts +0 -13
  312. package/runtime/index.d.ts.map +0 -1
  313. package/runtime/index.js +0 -13
  314. package/runtime/index.js.map +0 -1
  315. package/runtime/key-bag-memory.d.ts +0 -12
  316. package/runtime/key-bag-memory.d.ts.map +0 -1
  317. package/runtime/key-bag-memory.js +0 -23
  318. package/runtime/key-bag-memory.js.map +0 -1
  319. package/runtime/key-bag.d.ts +0 -85
  320. package/runtime/key-bag.d.ts.map +0 -1
  321. package/runtime/key-bag.js +0 -411
  322. package/runtime/key-bag.js.map +0 -1
  323. package/runtime/keyed-crypto.d.ts +0 -19
  324. package/runtime/keyed-crypto.d.ts.map +0 -1
  325. package/runtime/keyed-crypto.js +0 -192
  326. package/runtime/keyed-crypto.js.map +0 -1
  327. package/runtime/memory-sys-container.d.ts +0 -2
  328. package/runtime/memory-sys-container.d.ts.map +0 -1
  329. package/runtime/memory-sys-container.js +0 -2
  330. package/runtime/memory-sys-container.js.map +0 -1
  331. package/runtime/meta-key-hack.d.ts +0 -42
  332. package/runtime/meta-key-hack.d.ts.map +0 -1
  333. package/runtime/meta-key-hack.js +0 -201
  334. package/runtime/meta-key-hack.js.map +0 -1
  335. package/runtime/sts-service/index.d.ts +0 -40
  336. package/runtime/sts-service/index.d.ts.map +0 -1
  337. package/runtime/sts-service/index.js +0 -108
  338. package/runtime/sts-service/index.js.map +0 -1
  339. package/runtime/sys-container.d.ts +0 -2
  340. package/runtime/sys-container.d.ts.map +0 -1
  341. package/runtime/sys-container.js +0 -2
  342. package/runtime/sys-container.js.map +0 -1
  343. package/runtime/wait-pr-multiformats/block.d.ts +0 -47
  344. package/runtime/wait-pr-multiformats/block.d.ts.map +0 -1
  345. package/runtime/wait-pr-multiformats/block.js +0 -64
  346. package/runtime/wait-pr-multiformats/block.js.map +0 -1
  347. package/runtime/wait-pr-multiformats/codec-interface.d.ts +0 -29
  348. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +0 -1
  349. package/runtime/wait-pr-multiformats/codec-interface.js +0 -2
  350. package/runtime/wait-pr-multiformats/codec-interface.js.map +0 -1
  351. package/runtime/wait-pr-multiformats/index.d.ts +0 -3
  352. package/runtime/wait-pr-multiformats/index.d.ts.map +0 -1
  353. package/runtime/wait-pr-multiformats/index.js +0 -3
  354. package/runtime/wait-pr-multiformats/index.js.map +0 -1
  355. package/tests/blockstore/fp-envelope.test.ts-off +0 -65
  356. package/tests/blockstore/fragment-gateway.test.ts-off +0 -106
  357. package/tests/blockstore/interceptor-gateway.test.ts +0 -254
  358. package/tests/blockstore/keyed-crypto-indexeddb-file.test.ts +0 -128
  359. package/tests/blockstore/keyed-crypto.test.ts +0 -526
  360. package/tests/blockstore/loader.test.ts +0 -297
  361. package/tests/blockstore/standalone.test.ts +0 -152
  362. package/tests/blockstore/store.test.ts +0 -192
  363. package/tests/blockstore/transaction.test.ts +0 -130
  364. package/tests/fireproof/all-gateway.test.ts +0 -461
  365. package/tests/fireproof/attachable.test.ts +0 -686
  366. package/tests/fireproof/cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.car +0 -0
  367. package/tests/fireproof/cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.ts +0 -324
  368. package/tests/fireproof/charwise-boolean.test.ts +0 -66
  369. package/tests/fireproof/crdt.test.ts +0 -570
  370. package/tests/fireproof/database.test.ts +0 -779
  371. package/tests/fireproof/deleted-docs-handling.test.ts +0 -111
  372. package/tests/fireproof/fireproof.test.fixture.ts +0 -133
  373. package/tests/fireproof/fireproof.test.ts +0 -777
  374. package/tests/fireproof/hello.test.ts +0 -74
  375. package/tests/fireproof/indexer.test.ts +0 -458
  376. package/tests/fireproof/multiple-ledger.test.ts +0 -65
  377. package/tests/fireproof/query-docs.test.ts +0 -116
  378. package/tests/fireproof/query-limit-issue.test.ts +0 -147
  379. package/tests/fireproof/query-property-inconsistency.test.ts +0 -89
  380. package/tests/fireproof/query-result-properties.test.ts +0 -42
  381. package/tests/fireproof/stable-cid.test.ts +0 -69
  382. package/tests/fireproof/utils.test.ts +0 -135
  383. package/tests/gateway/file/loader-config.test.ts +0 -307
  384. package/tests/gateway/indexeddb/loader-config.test.ts +0 -79
  385. package/tests/helpers.ts +0 -174
  386. package/tests/react/img-file.test.tsx +0 -190
  387. package/tests/react/use-all-docs.test.tsx +0 -173
  388. package/tests/react/use-document-with-nonexistent-id.test.tsx +0 -96
  389. package/tests/react/use-fireproof-db-switch.test.tsx +0 -91
  390. package/tests/react/use-fireproof-stability.test.tsx +0 -145
  391. package/tests/react/use-fireproof.test.tsx +0 -645
  392. package/tests/runtime/fp-envelope-serialize.test.ts +0 -254
  393. package/tests/runtime/meta-key-hack.test.ts +0 -95
  394. package/tests/setup.file.ts +0 -1
  395. package/tests/setup.indexeddb.ts +0 -0
  396. package/tests/setup.memory.ts +0 -2
  397. package/tests/utils.test.ts +0 -192
  398. package/tests/vitest.file.config.ts +0 -14
  399. package/tests/vitest.indexeddb.config.ts +0 -37
  400. package/tests/vitest.memory.config.ts +0 -25
  401. package/types.d.ts +0 -462
  402. package/types.d.ts.map +0 -1
  403. package/types.js +0 -60
  404. package/types.js.map +0 -1
  405. package/use-fireproof/iframe-strategy.d.ts +0 -13
  406. package/use-fireproof/iframe-strategy.d.ts.map +0 -1
  407. package/use-fireproof/iframe-strategy.js +0 -83
  408. package/use-fireproof/iframe-strategy.js.map +0 -1
  409. package/use-fireproof/index.d.ts +0 -10
  410. package/use-fireproof/index.d.ts.map +0 -1
  411. package/use-fireproof/index.js +0 -16
  412. package/use-fireproof/index.js.map +0 -1
  413. package/use-fireproof/redirect-strategy.d.ts +0 -8
  414. package/use-fireproof/redirect-strategy.d.ts.map +0 -1
  415. package/use-fireproof/redirect-strategy.js +0 -31
  416. package/use-fireproof/redirect-strategy.js.map +0 -1
  417. package/utils.d.ts +0 -49
  418. package/utils.d.ts.map +0 -1
  419. package/utils.js +0 -454
  420. package/utils.js.map +0 -1
  421. package/version.d.ts +0 -2
  422. package/version.d.ts.map +0 -1
  423. package/version.js +0 -4
  424. package/version.js.map +0 -1
  425. package/write-queue.d.ts +0 -9
  426. package/write-queue.d.ts.map +0 -1
  427. package/write-queue.js +0 -70
  428. package/write-queue.js.map +0 -1
@@ -1,645 +0,0 @@
1
- import { renderHook, waitFor } from "@testing-library/react";
2
- import { describe, expect, it } from "vitest";
3
- import { fireproof, useFireproof } from "use-fireproof";
4
- import type { Database, DocResponse, LiveQueryResult, UseDocumentResult } from "use-fireproof";
5
-
6
- const TEST_TIMEOUT = 45000;
7
-
8
- describe("HOOK: useFireproof", () => {
9
- it(
10
- "should be defined",
11
- () => {
12
- expect(useFireproof).toBeDefined();
13
- },
14
- TEST_TIMEOUT,
15
- );
16
-
17
- it(
18
- "renders the hook correctly and checks types",
19
- () => {
20
- renderHook(() => {
21
- const { database, useLiveQuery, useDocument } = useFireproof("dbname");
22
- expect(typeof useLiveQuery).toBe("function");
23
- expect(typeof useDocument).toBe("function");
24
- expect(database?.constructor.name).toMatch(/^Database/);
25
- });
26
- },
27
- TEST_TIMEOUT,
28
- );
29
- });
30
-
31
- describe("HOOK: useFireproof useLiveQuery has results", () => {
32
- const dbName = "useLiveQueryHasResults";
33
- let db: Database,
34
- query: LiveQueryResult<{ foo: string }, string>,
35
- database: ReturnType<typeof useFireproof>["database"],
36
- useLiveQuery: ReturnType<typeof useFireproof>["useLiveQuery"];
37
-
38
- beforeEach(async () => {
39
- const expectedValues = ["aha", "bar", "caz"];
40
- db = fireproof(dbName);
41
- for (const value of expectedValues) {
42
- await db.put({ foo: value });
43
- }
44
-
45
- const allDocs = await db.allDocs<{ foo: string }>();
46
- expect(allDocs.rows.map((row) => row.value.foo)).toEqual(expectedValues);
47
- });
48
-
49
- it(
50
- "queries correctly",
51
- async () => {
52
- renderHook(() => {
53
- const result = useFireproof(dbName);
54
- database = result.database;
55
- useLiveQuery = result.useLiveQuery;
56
- query = useLiveQuery<{ foo: string }>("foo");
57
- });
58
-
59
- await waitFor(() => {
60
- expect(query.rows.map((row) => row.doc?.foo)).toEqual(["aha", "bar", "caz"]);
61
- });
62
- },
63
- TEST_TIMEOUT,
64
- );
65
-
66
- afterEach(async () => {
67
- await db.close();
68
- await db.destroy();
69
- await database?.close();
70
- await database?.destroy();
71
- });
72
- });
73
-
74
- describe("HOOK: useFireproof useDocument has results", () => {
75
- const dbName = "useDocumentHasResults";
76
- let db: Database,
77
- docResult: UseDocumentResult<{ input: string }>,
78
- database: ReturnType<typeof useFireproof>["database"],
79
- useDocument: ReturnType<typeof useFireproof>["useDocument"];
80
-
81
- beforeEach(async () => {
82
- db = fireproof(dbName);
83
-
84
- renderHook(() => {
85
- const result = useFireproof(dbName);
86
- database = result.database;
87
- useDocument = result.useDocument;
88
- docResult = useDocument<{ input: string }>({ input: "" });
89
- });
90
- });
91
-
92
- it(
93
- "should have empty setup data",
94
- async () => {
95
- const allDocs = await db.allDocs<{ input: string }>();
96
- expect(allDocs.rows.length).toBe(0);
97
- },
98
- TEST_TIMEOUT,
99
- );
100
-
101
- it(
102
- "queries correctly",
103
- async () => {
104
- await waitFor(() => {
105
- expect(docResult.doc.input).toBe("");
106
- expect(docResult.doc._id).toBeUndefined();
107
- });
108
- },
109
- TEST_TIMEOUT,
110
- );
111
-
112
- it(
113
- "handles mutations correctly",
114
- async () => {
115
- docResult.merge({ input: "new" });
116
- await waitFor(() => {
117
- expect(docResult.doc.input).toBe("new");
118
- expect(docResult.doc._id).toBeUndefined();
119
- });
120
- },
121
- TEST_TIMEOUT,
122
- );
123
-
124
- it(
125
- "handles save correctly",
126
- async () => {
127
- docResult.merge({ input: "first" });
128
- await waitFor(() => {
129
- expect(docResult.doc.input).toBe("first");
130
- expect(docResult.doc._id).toBeUndefined();
131
- });
132
-
133
- renderHook(() => {
134
- docResult.save();
135
- });
136
-
137
- await waitFor(() => {
138
- expect(docResult.doc._id).toBeDefined();
139
- });
140
- },
141
- TEST_TIMEOUT,
142
- );
143
-
144
- it(
145
- "handles reset after save",
146
- async () => {
147
- // Create a document with input "first" to ensure it exists in the database
148
- await db.put({ input: "first" });
149
-
150
- docResult.merge({ input: "new" });
151
- await waitFor(() => {
152
- expect(docResult.doc.input).toBe("new");
153
- expect(docResult.doc._id).toBeUndefined();
154
- });
155
-
156
- renderHook(() => {
157
- docResult.save();
158
- });
159
-
160
- await waitFor(() => {
161
- expect(docResult.doc._id).toBeDefined();
162
- });
163
-
164
- const doc1 = await db.get<{ input: string }>(docResult.doc._id);
165
- expect(doc1.input).toBe("new");
166
-
167
- renderHook(() => {
168
- docResult.reset();
169
- });
170
-
171
- await waitFor(() => {
172
- expect(docResult.doc.input).toBe("");
173
- expect(docResult.doc._id).toBeUndefined();
174
- });
175
-
176
- renderHook(() => {
177
- docResult.merge({ input: "fresh" });
178
- });
179
-
180
- renderHook(() => {
181
- docResult.save();
182
- });
183
-
184
- await waitFor(() => {
185
- expect(docResult.doc.input).toBe("fresh");
186
- expect(docResult.doc._id).toBeDefined();
187
- });
188
-
189
- const doc2 = await db.get<{ input: string }>(docResult.doc._id);
190
- expect(doc2.input).toBe("fresh");
191
- expect(doc2._id).toBe(docResult.doc._id);
192
- expect(doc1._id).not.toBe(doc2._id);
193
-
194
- const allDocs = await db.allDocs<{ input: string }>();
195
- const inputs = allDocs.rows.map((r) => r.value.input);
196
- expect(inputs).toEqual(expect.arrayContaining(["first", "new", "fresh"]));
197
- },
198
- TEST_TIMEOUT,
199
- );
200
-
201
- afterEach(async () => {
202
- await db.close();
203
- await db.destroy();
204
- await database.close();
205
- await database.destroy();
206
- });
207
- });
208
-
209
- describe("HOOK: useFireproof useDocument has results reset sync", () => {
210
- const dbName = "useDocumentHasResultsSync";
211
- let db: Database,
212
- docResult: UseDocumentResult<{ input: string }>,
213
- database: ReturnType<typeof useFireproof>["database"],
214
- useDocument: ReturnType<typeof useFireproof>["useDocument"];
215
-
216
- beforeEach(async () => {
217
- db = fireproof(dbName);
218
-
219
- renderHook(() => {
220
- const result = useFireproof(dbName);
221
- database = result.database;
222
- useDocument = result.useDocument;
223
- docResult = useDocument<{ input: string }>({ input: "" });
224
- });
225
- });
226
-
227
- it(
228
- "should have empty setup data",
229
- async () => {
230
- const allDocs = await db.allDocs<{ input: string }>();
231
- expect(allDocs.rows.length).toBe(0);
232
- },
233
- TEST_TIMEOUT,
234
- );
235
-
236
- it(
237
- "queries correctly",
238
- async () => {
239
- await waitFor(() => {
240
- expect(docResult.doc.input).toBe("");
241
- expect(docResult.doc._id).toBeUndefined();
242
- });
243
- },
244
- TEST_TIMEOUT,
245
- );
246
-
247
- it(
248
- "handles mutations correctly",
249
- async () => {
250
- docResult.merge({ input: "new" });
251
- await waitFor(() => {
252
- expect(docResult.doc.input).toBe("new");
253
- expect(docResult.doc._id).toBeUndefined();
254
- });
255
- },
256
- TEST_TIMEOUT,
257
- );
258
-
259
- it(
260
- "handles save correctly",
261
- async () => {
262
- docResult.merge({ input: "first" });
263
- await waitFor(() => {
264
- expect(docResult.doc.input).toBe("first");
265
- expect(docResult.doc._id).toBeUndefined();
266
- });
267
-
268
- renderHook(() => {
269
- docResult.save();
270
- });
271
-
272
- await waitFor(() => {
273
- expect(docResult.doc._id).toBeDefined();
274
- });
275
- },
276
- TEST_TIMEOUT,
277
- );
278
-
279
- it(
280
- "handles reset after save",
281
- async () => {
282
- // Create documents with input "first" and "new" to ensure they exist in the database
283
- await db.put({ input: "first" });
284
- await db.put({ input: "new" });
285
-
286
- docResult.merge({ input: "new" });
287
- await waitFor(() => {
288
- expect(docResult.doc.input).toBe("new");
289
- expect(docResult.doc._id).toBeUndefined();
290
- });
291
-
292
- renderHook(() => {
293
- docResult.save();
294
- docResult.reset();
295
- });
296
-
297
- await waitFor(() => {
298
- expect(docResult.doc.input).toBe("");
299
- expect(docResult.doc._id).toBeUndefined();
300
- });
301
-
302
- renderHook(() => {
303
- docResult.merge({ input: "fresh" });
304
- });
305
-
306
- let waitForSave: Promise<DocResponse>;
307
- renderHook(() => {
308
- waitForSave = docResult.save();
309
- });
310
-
311
- await waitFor(async () => {
312
- await waitForSave;
313
- expect(docResult.doc.input).toBe("fresh");
314
- expect(docResult.doc._id).toBeDefined();
315
- });
316
-
317
- const doc2 = await db.get<{ input: string }>(docResult.doc._id);
318
- expect(doc2.input).toBe("fresh");
319
- expect(doc2._id).toBe(docResult.doc._id);
320
-
321
- const allDocs = await db.allDocs<{ input: string }>();
322
- expect(allDocs.rows.length).toBe(4); // We now have 4 documents due to our explicit creation
323
- const inputs = allDocs.rows.map((r) => r.value.input);
324
- expect(inputs).toEqual(expect.arrayContaining(["first", "new", "fresh"]));
325
- },
326
- TEST_TIMEOUT,
327
- );
328
-
329
- afterEach(async () => {
330
- await db.close();
331
- await db.destroy();
332
- await database.close();
333
- await database.destroy();
334
- });
335
- });
336
-
337
- describe("HOOK: useFireproof useDocument with existing document has results", () => {
338
- const dbName = "useDocumentWithExistingDoc";
339
- let db: Database,
340
- docResult: UseDocumentResult<{ input: string }>,
341
- id: string,
342
- database: ReturnType<typeof useFireproof>["database"],
343
- useDocument: ReturnType<typeof useFireproof>["useDocument"];
344
-
345
- beforeEach(async () => {
346
- db = fireproof(dbName);
347
- const res = await db.put({ input: "initial" });
348
- id = res.id;
349
-
350
- renderHook(() => {
351
- const result = useFireproof(dbName);
352
- database = result.database;
353
- useDocument = result.useDocument;
354
- docResult = useDocument<{ input: string }>({ _id: id } as { _id: string; input: string });
355
- });
356
- });
357
-
358
- it(
359
- "should have setup data",
360
- async () => {
361
- const allDocs = await db.allDocs<{ input: string }>();
362
- expect(allDocs.rows.length).toBe(1);
363
- expect(allDocs.rows[0].value.input).toBe("initial");
364
- expect(allDocs.rows[0].key).toBe(id);
365
- },
366
- TEST_TIMEOUT,
367
- );
368
-
369
- it(
370
- "queries correctly",
371
- async () => {
372
- await waitFor(() => {
373
- expect(docResult.doc.input).toBe("initial");
374
- expect(docResult.doc._id).toBe(id);
375
- });
376
- },
377
- TEST_TIMEOUT,
378
- );
379
-
380
- it(
381
- "handles mutations correctly",
382
- async () => {
383
- // First verify initial state
384
- await waitFor(() => {
385
- expect(docResult.doc.input).toBe("initial");
386
- expect(docResult.doc._id).toBe(id);
387
- });
388
-
389
- // Run merge in hook context
390
- renderHook(() => {
391
- docResult.merge({ input: "new" });
392
- });
393
-
394
- // Then verify the mutation took effect
395
- await waitFor(() => {
396
- expect(docResult.doc.input).toBe("new");
397
- expect(docResult.doc._id).toBe(id);
398
- });
399
- },
400
- TEST_TIMEOUT,
401
- );
402
-
403
- afterEach(async () => {
404
- await db.close();
405
- await db.destroy();
406
- await database.close();
407
- await database.destroy();
408
- });
409
- });
410
-
411
- describe("HOOK: useFireproof useDocument with existing document handles external updates", () => {
412
- const dbName = "useDocumentWithExternalUpdates";
413
- let db: Database,
414
- docResult: UseDocumentResult<{ input: string }>,
415
- id: string,
416
- database: ReturnType<typeof useFireproof>["database"],
417
- useDocument: ReturnType<typeof useFireproof>["useDocument"];
418
-
419
- beforeEach(async () => {
420
- db = fireproof(dbName);
421
- const res = await db.put({ input: "initial" });
422
- id = res.id;
423
-
424
- renderHook(() => {
425
- const result = useFireproof(dbName);
426
- database = result.database;
427
- useDocument = result.useDocument;
428
- docResult = useDocument<{ input: string }>({ _id: id } as { _id: string; input: string });
429
- });
430
- });
431
-
432
- it(
433
- "should have setup data",
434
- async () => {
435
- const allDocs = await db.allDocs<{ input: string }>();
436
- expect(allDocs.rows.length).toBe(1);
437
- expect(allDocs.rows[0].value.input).toBe("initial");
438
- expect(allDocs.rows[0].key).toBe(id);
439
- },
440
- TEST_TIMEOUT,
441
- );
442
-
443
- it(
444
- "queries correctly",
445
- async () => {
446
- await waitFor(() => {
447
- expect(docResult.doc.input).toBe("initial");
448
- expect(docResult.doc._id).toBe(id);
449
- });
450
- },
451
- TEST_TIMEOUT,
452
- );
453
-
454
- it(
455
- "handles mutations correctly",
456
- async () => {
457
- // First verify initial state
458
- await waitFor(() => {
459
- expect(docResult.doc.input).toBe("initial");
460
- expect(docResult.doc._id).toBe(id);
461
- });
462
-
463
- // Run merge in hook context
464
- renderHook(() => {
465
- // docResult.merge({ input: "new" });
466
- db.put({ _id: id, input: "external" });
467
- });
468
-
469
- // Then verify the mutation took effect
470
- await waitFor(() => {
471
- expect(docResult.doc.input).toBe("external");
472
- expect(docResult.doc._id).toBe(id);
473
- });
474
- },
475
- TEST_TIMEOUT,
476
- );
477
-
478
- afterEach(async () => {
479
- await db.close();
480
- await db.destroy();
481
- await database.close();
482
- await database.destroy();
483
- });
484
- });
485
-
486
- describe("HOOK: useFireproof bug fix: once the ID is set, it can reset", () => {
487
- const dbName = "bugTestDocReset";
488
- let db: Database,
489
- docResult: UseDocumentResult<{ input: string }>,
490
- database: ReturnType<typeof useFireproof>["database"],
491
- useDocument: ReturnType<typeof useFireproof>["useDocument"];
492
-
493
- beforeEach(async () => {
494
- db = fireproof(dbName);
495
-
496
- renderHook(() => {
497
- const result = useFireproof(dbName);
498
- database = result.database;
499
- useDocument = result.useDocument;
500
- docResult = useDocument<{ input: string }>({ input: "" });
501
- });
502
- });
503
-
504
- it(
505
- "ensures save() then reset() yields an ephemeral doc (blank _id)",
506
- async () => {
507
- // Merge some changes
508
- docResult.merge({ input: "temp data" });
509
- await waitFor(() => {
510
- expect(docResult.doc.input).toBe("temp data");
511
- expect(docResult.doc._id).toBeUndefined();
512
- });
513
-
514
- // Save
515
- renderHook(() => {
516
- docResult.save();
517
- docResult.reset();
518
- });
519
-
520
- await waitFor(() => {
521
- expect(docResult.doc._id).toBeUndefined();
522
- expect(docResult.doc.input).toBe("");
523
- });
524
-
525
- renderHook(() => {
526
- docResult.merge({ input: "new temp data" });
527
- });
528
-
529
- let waitForSave: Promise<DocResponse>;
530
- renderHook(() => {
531
- waitForSave = docResult.save();
532
- });
533
-
534
- await waitFor(async () => {
535
- await waitForSave;
536
- expect(docResult.doc._id).toBeDefined();
537
- expect(docResult.doc.input).toBe("new temp data");
538
- });
539
-
540
- // Confirm it's actually in the DB
541
- const allDocs = await db.allDocs<{ input: string }>();
542
- expect(allDocs.rows.length).toBe(2);
543
- const docInputs = allDocs.rows.map((row) => row.value.input);
544
- expect(docInputs).toContain("temp data");
545
- expect(docInputs).toContain("new temp data");
546
- },
547
- TEST_TIMEOUT,
548
- );
549
-
550
- afterEach(async () => {
551
- await db.close();
552
- await db.destroy();
553
- await database.close();
554
- await database.destroy();
555
- });
556
- });
557
-
558
- describe("HOOK: useFireproof race condition: calling save() without await overwrites reset", () => {
559
- const dbName = "raceConditionDb";
560
- let db: Database, docResult: UseDocumentResult<{ input: string }>;
561
-
562
- beforeEach(async () => {
563
- db = fireproof(dbName);
564
-
565
- // Render a new hook instance
566
- renderHook(() => {
567
- const { useDocument } = useFireproof(dbName);
568
- docResult = useDocument<{ input: string }>({ input: "" });
569
- });
570
- });
571
-
572
- it.skip(
573
- "demonstrates that reset() takes precedence over save() when both are called",
574
- async () => {
575
- // Merge some changes into doc
576
- docResult.merge({ input: "some data" });
577
-
578
- // Call save and don't await it
579
- const savePromise = docResult.save();
580
-
581
- // Add a small delay to avoid React state queue issues in test environment
582
- await new Promise((resolve) => setTimeout(resolve, 10));
583
-
584
- // Call reset after save
585
- docResult.reset();
586
-
587
- // Wait for save to complete
588
- await savePromise;
589
-
590
- // Let any async subscriptions complete
591
- await new Promise((resolve) => setTimeout(resolve, 100));
592
-
593
- // Verify the reset took precedence
594
- expect(docResult.doc._id).toBeUndefined();
595
- expect(docResult.doc.input).toBe("");
596
- },
597
- TEST_TIMEOUT,
598
- );
599
-
600
- afterEach(async () => {
601
- await db.close();
602
- await db.destroy();
603
- });
604
- });
605
-
606
- describe("useFireproof calling submit()", () => {
607
- const dbName = "submitDb";
608
- let db: Database, docResult: UseDocumentResult<{ input: string }>;
609
-
610
- beforeEach(async () => {
611
- db = fireproof(dbName);
612
-
613
- // Render a new hook instance
614
- renderHook(() => {
615
- const { useDocument } = useFireproof(dbName);
616
- docResult = useDocument<{ input: string }>({ input: "" });
617
- });
618
- });
619
-
620
- it(
621
- "demonstrates that calling docResult.save() and docResult.reset() in the same tick can overwrite reset",
622
- async () => {
623
- // Merge some changes into doc
624
- docResult.merge({ input: "some data" });
625
-
626
- docResult.submit();
627
-
628
- // Let the async subscription produce a new doc in case the doc is reloaded with an _id
629
- await new Promise((resolve) => setTimeout(resolve, 500));
630
-
631
- // If the reset worked, doc._id should STILL be undefined.
632
- // If the subscription wins, doc._id will be defined => test fails.
633
- await waitFor(() => {
634
- expect(docResult.doc._id).toBeUndefined();
635
- expect(docResult.doc.input).toBe("");
636
- });
637
- },
638
- TEST_TIMEOUT,
639
- );
640
-
641
- afterEach(async () => {
642
- await db.close();
643
- await db.destroy();
644
- });
645
- });