@fireproof/core 0.21.0-dev-preview-7 → 0.22.0-keybag

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 (444) 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 +12 -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 -316
  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 -17
  45. package/blockstore/index.d.ts.map +0 -1
  46. package/blockstore/index.js +0 -17
  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 -62
  57. package/blockstore/loader.d.ts.map +0 -1
  58. package/blockstore/loader.js +0 -523
  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 -508
  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 -26645
  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 -33
  114. package/database.d.ts.map +0 -1
  115. package/database.js +0 -132
  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 -56
  128. package/ledger.d.ts.map +0 -1
  129. package/ledger.js +0 -237
  130. package/ledger.js.map +0 -1
  131. package/protocols/cloud/http-connection.d.ts +0 -26
  132. package/protocols/cloud/http-connection.d.ts.map +0 -1
  133. package/protocols/cloud/http-connection.js +0 -154
  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 -310
  156. package/protocols/cloud/msg-types.d.ts.map +0 -1
  157. package/protocols/cloud/msg-types.js +0 -299
  158. package/protocols/cloud/msg-types.js.map +0 -1
  159. package/protocols/cloud/msger.d.ts +0 -94
  160. package/protocols/cloud/msger.d.ts.map +0 -1
  161. package/protocols/cloud/msger.js +0 -319
  162. package/protocols/cloud/msger.js.map +0 -1
  163. package/protocols/cloud/ws-connection.d.ts +0 -40
  164. package/protocols/cloud/ws-connection.d.ts.map +0 -1
  165. package/protocols/cloud/ws-connection.js +0 -205
  166. package/protocols/cloud/ws-connection.js.map +0 -1
  167. package/protocols/dashboard/index.d.ts +0 -4
  168. package/protocols/dashboard/index.d.ts.map +0 -1
  169. package/protocols/dashboard/index.js +0 -4
  170. package/protocols/dashboard/index.js.map +0 -1
  171. package/protocols/dashboard/msg-api.d.ts +0 -11
  172. package/protocols/dashboard/msg-api.d.ts.map +0 -1
  173. package/protocols/dashboard/msg-api.js +0 -55
  174. package/protocols/dashboard/msg-api.js.map +0 -1
  175. package/protocols/dashboard/msg-is.d.ts +0 -45
  176. package/protocols/dashboard/msg-is.d.ts.map +0 -1
  177. package/protocols/dashboard/msg-is.js +0 -63
  178. package/protocols/dashboard/msg-is.js.map +0 -1
  179. package/protocols/dashboard/msg-types.d.ts +0 -397
  180. package/protocols/dashboard/msg-types.d.ts.map +0 -1
  181. package/protocols/dashboard/msg-types.js +0 -4
  182. package/protocols/dashboard/msg-types.js.map +0 -1
  183. package/protocols/index.d.ts +0 -3
  184. package/protocols/index.d.ts.map +0 -1
  185. package/protocols/index.js +0 -3
  186. package/protocols/index.js.map +0 -1
  187. package/react/img-file.d.ts +0 -303
  188. package/react/img-file.d.ts.map +0 -1
  189. package/react/img-file.js +0 -92
  190. package/react/img-file.js.map +0 -1
  191. package/react/index.d.ts +0 -5
  192. package/react/index.d.ts.map +0 -1
  193. package/react/index.js +0 -5
  194. package/react/index.js.map +0 -1
  195. package/react/types.d.ts +0 -91
  196. package/react/types.d.ts.map +0 -1
  197. package/react/types.js +0 -2
  198. package/react/types.js.map +0 -1
  199. package/react/use-all-docs.d.ts +0 -4
  200. package/react/use-all-docs.d.ts.map +0 -1
  201. package/react/use-all-docs.js +0 -25
  202. package/react/use-all-docs.js.map +0 -1
  203. package/react/use-attach.d.ts +0 -11
  204. package/react/use-attach.d.ts.map +0 -1
  205. package/react/use-attach.js +0 -169
  206. package/react/use-attach.js.map +0 -1
  207. package/react/use-changes.d.ts +0 -4
  208. package/react/use-changes.d.ts.map +0 -1
  209. package/react/use-changes.js +0 -19
  210. package/react/use-changes.js.map +0 -1
  211. package/react/use-document.d.ts +0 -4
  212. package/react/use-document.d.ts.map +0 -1
  213. package/react/use-document.js +0 -109
  214. package/react/use-document.js.map +0 -1
  215. package/react/use-fireproof.d.ts +0 -6
  216. package/react/use-fireproof.d.ts.map +0 -1
  217. package/react/use-fireproof.js +0 -20
  218. package/react/use-fireproof.js.map +0 -1
  219. package/react/use-live-query.d.ts +0 -4
  220. package/react/use-live-query.d.ts.map +0 -1
  221. package/react/use-live-query.js +0 -24
  222. package/react/use-live-query.js.map +0 -1
  223. package/runtime/files.d.ts +0 -12
  224. package/runtime/files.d.ts.map +0 -1
  225. package/runtime/files.js +0 -29
  226. package/runtime/files.js.map +0 -1
  227. package/runtime/gateways/cloud/gateway.d.ts +0 -41
  228. package/runtime/gateways/cloud/gateway.d.ts.map +0 -1
  229. package/runtime/gateways/cloud/gateway.js +0 -514
  230. package/runtime/gateways/cloud/gateway.js.map +0 -1
  231. package/runtime/gateways/cloud/index.d.ts +0 -3
  232. package/runtime/gateways/cloud/index.d.ts.map +0 -1
  233. package/runtime/gateways/cloud/index.js +0 -3
  234. package/runtime/gateways/cloud/index.js.map +0 -1
  235. package/runtime/gateways/cloud/to-cloud.d.ts +0 -59
  236. package/runtime/gateways/cloud/to-cloud.d.ts.map +0 -1
  237. package/runtime/gateways/cloud/to-cloud.js +0 -175
  238. package/runtime/gateways/cloud/to-cloud.js.map +0 -1
  239. package/runtime/gateways/def-serde-gateway.d.ts +0 -18
  240. package/runtime/gateways/def-serde-gateway.d.ts.map +0 -1
  241. package/runtime/gateways/def-serde-gateway.js +0 -92
  242. package/runtime/gateways/def-serde-gateway.js.map +0 -1
  243. package/runtime/gateways/file/deno/deno-filesystem.d.ts +0 -27
  244. package/runtime/gateways/file/deno/deno-filesystem.d.ts.map +0 -1
  245. package/runtime/gateways/file/deno/deno-filesystem.js +0 -52
  246. package/runtime/gateways/file/deno/deno-filesystem.js.map +0 -1
  247. package/runtime/gateways/file/deno/get-sys-file-system.d.ts +0 -4
  248. package/runtime/gateways/file/deno/get-sys-file-system.d.ts.map +0 -1
  249. package/runtime/gateways/file/deno/get-sys-file-system.js +0 -11
  250. package/runtime/gateways/file/deno/get-sys-file-system.js.map +0 -1
  251. package/runtime/gateways/file/deno/index.d.ts +0 -2
  252. package/runtime/gateways/file/deno/index.d.ts.map +0 -1
  253. package/runtime/gateways/file/deno/index.js +0 -2
  254. package/runtime/gateways/file/deno/index.js.map +0 -1
  255. package/runtime/gateways/file/gateway-impl.d.ts +0 -18
  256. package/runtime/gateways/file/gateway-impl.d.ts.map +0 -1
  257. package/runtime/gateways/file/gateway-impl.js +0 -121
  258. package/runtime/gateways/file/gateway-impl.js.map +0 -1
  259. package/runtime/gateways/file/index.d.ts +0 -3
  260. package/runtime/gateways/file/index.d.ts.map +0 -1
  261. package/runtime/gateways/file/index.js +0 -3
  262. package/runtime/gateways/file/index.js.map +0 -1
  263. package/runtime/gateways/file/key-bag-file.d.ts +0 -20
  264. package/runtime/gateways/file/key-bag-file.d.ts.map +0 -1
  265. package/runtime/gateways/file/key-bag-file.js +0 -52
  266. package/runtime/gateways/file/key-bag-file.js.map +0 -1
  267. package/runtime/gateways/file/node/get-sys-file-system.d.ts +0 -4
  268. package/runtime/gateways/file/node/get-sys-file-system.d.ts.map +0 -1
  269. package/runtime/gateways/file/node/get-sys-file-system.js +0 -11
  270. package/runtime/gateways/file/node/get-sys-file-system.js.map +0 -1
  271. package/runtime/gateways/file/node/index.d.ts +0 -2
  272. package/runtime/gateways/file/node/index.d.ts.map +0 -1
  273. package/runtime/gateways/file/node/index.js +0 -2
  274. package/runtime/gateways/file/node/index.js.map +0 -1
  275. package/runtime/gateways/file/node/node-filesystem.d.ts +0 -32
  276. package/runtime/gateways/file/node/node-filesystem.d.ts.map +0 -1
  277. package/runtime/gateways/file/node/node-filesystem.js +0 -33
  278. package/runtime/gateways/file/node/node-filesystem.js.map +0 -1
  279. package/runtime/gateways/file/node/to-array-buffer.d.ts +0 -2
  280. package/runtime/gateways/file/node/to-array-buffer.d.ts.map +0 -1
  281. package/runtime/gateways/file/node/to-array-buffer.js +0 -12
  282. package/runtime/gateways/file/node/to-array-buffer.js.map +0 -1
  283. package/runtime/gateways/file/sys-file-system-factory.d.ts +0 -4
  284. package/runtime/gateways/file/sys-file-system-factory.d.ts.map +0 -1
  285. package/runtime/gateways/file/sys-file-system-factory.js +0 -13
  286. package/runtime/gateways/file/sys-file-system-factory.js.map +0 -1
  287. package/runtime/gateways/file/utils.d.ts +0 -5
  288. package/runtime/gateways/file/utils.d.ts.map +0 -1
  289. package/runtime/gateways/file/utils.js +0 -27
  290. package/runtime/gateways/file/utils.js.map +0 -1
  291. package/runtime/gateways/file/version.d.ts +0 -2
  292. package/runtime/gateways/file/version.d.ts.map +0 -1
  293. package/runtime/gateways/file/version.js +0 -2
  294. package/runtime/gateways/file/version.js.map +0 -1
  295. package/runtime/gateways/fp-envelope-serialize.d.ts +0 -50
  296. package/runtime/gateways/fp-envelope-serialize.d.ts.map +0 -1
  297. package/runtime/gateways/fp-envelope-serialize.js +0 -141
  298. package/runtime/gateways/fp-envelope-serialize.js.map +0 -1
  299. package/runtime/gateways/index.d.ts +0 -6
  300. package/runtime/gateways/index.d.ts.map +0 -1
  301. package/runtime/gateways/index.js +0 -6
  302. package/runtime/gateways/index.js.map +0 -1
  303. package/runtime/gateways/indexeddb/gateway-impl.d.ts +0 -22
  304. package/runtime/gateways/indexeddb/gateway-impl.d.ts.map +0 -1
  305. package/runtime/gateways/indexeddb/gateway-impl.js +0 -147
  306. package/runtime/gateways/indexeddb/gateway-impl.js.map +0 -1
  307. package/runtime/gateways/indexeddb/index.d.ts +0 -6
  308. package/runtime/gateways/indexeddb/index.d.ts.map +0 -1
  309. package/runtime/gateways/indexeddb/index.js +0 -6
  310. package/runtime/gateways/indexeddb/index.js.map +0 -1
  311. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts +0 -16
  312. package/runtime/gateways/indexeddb/key-bag-indexeddb.d.ts.map +0 -1
  313. package/runtime/gateways/indexeddb/key-bag-indexeddb.js +0 -48
  314. package/runtime/gateways/indexeddb/key-bag-indexeddb.js.map +0 -1
  315. package/runtime/gateways/indexeddb-version.d.ts +0 -2
  316. package/runtime/gateways/indexeddb-version.d.ts.map +0 -1
  317. package/runtime/gateways/indexeddb-version.js +0 -2
  318. package/runtime/gateways/indexeddb-version.js.map +0 -1
  319. package/runtime/gateways/memory/gateway.d.ts +0 -18
  320. package/runtime/gateways/memory/gateway.d.ts.map +0 -1
  321. package/runtime/gateways/memory/gateway.js +0 -73
  322. package/runtime/gateways/memory/gateway.js.map +0 -1
  323. package/runtime/gateways/memory/version.d.ts +0 -2
  324. package/runtime/gateways/memory/version.d.ts.map +0 -1
  325. package/runtime/gateways/memory/version.js +0 -2
  326. package/runtime/gateways/memory/version.js.map +0 -1
  327. package/runtime/index.d.ts +0 -13
  328. package/runtime/index.d.ts.map +0 -1
  329. package/runtime/index.js +0 -13
  330. package/runtime/index.js.map +0 -1
  331. package/runtime/key-bag-memory.d.ts +0 -13
  332. package/runtime/key-bag-memory.d.ts.map +0 -1
  333. package/runtime/key-bag-memory.js +0 -30
  334. package/runtime/key-bag-memory.js.map +0 -1
  335. package/runtime/key-bag.d.ts +0 -88
  336. package/runtime/key-bag.d.ts.map +0 -1
  337. package/runtime/key-bag.js +0 -417
  338. package/runtime/key-bag.js.map +0 -1
  339. package/runtime/keyed-crypto.d.ts +0 -19
  340. package/runtime/keyed-crypto.d.ts.map +0 -1
  341. package/runtime/keyed-crypto.js +0 -192
  342. package/runtime/keyed-crypto.js.map +0 -1
  343. package/runtime/memory-sys-container.d.ts +0 -2
  344. package/runtime/memory-sys-container.d.ts.map +0 -1
  345. package/runtime/memory-sys-container.js +0 -2
  346. package/runtime/memory-sys-container.js.map +0 -1
  347. package/runtime/meta-key-hack.d.ts +0 -42
  348. package/runtime/meta-key-hack.d.ts.map +0 -1
  349. package/runtime/meta-key-hack.js +0 -201
  350. package/runtime/meta-key-hack.js.map +0 -1
  351. package/runtime/sts-service/index.d.ts +0 -40
  352. package/runtime/sts-service/index.d.ts.map +0 -1
  353. package/runtime/sts-service/index.js +0 -108
  354. package/runtime/sts-service/index.js.map +0 -1
  355. package/runtime/sys-container.d.ts +0 -2
  356. package/runtime/sys-container.d.ts.map +0 -1
  357. package/runtime/sys-container.js +0 -2
  358. package/runtime/sys-container.js.map +0 -1
  359. package/runtime/wait-pr-multiformats/block.d.ts +0 -47
  360. package/runtime/wait-pr-multiformats/block.d.ts.map +0 -1
  361. package/runtime/wait-pr-multiformats/block.js +0 -64
  362. package/runtime/wait-pr-multiformats/block.js.map +0 -1
  363. package/runtime/wait-pr-multiformats/codec-interface.d.ts +0 -29
  364. package/runtime/wait-pr-multiformats/codec-interface.d.ts.map +0 -1
  365. package/runtime/wait-pr-multiformats/codec-interface.js +0 -2
  366. package/runtime/wait-pr-multiformats/codec-interface.js.map +0 -1
  367. package/runtime/wait-pr-multiformats/index.d.ts +0 -3
  368. package/runtime/wait-pr-multiformats/index.d.ts.map +0 -1
  369. package/runtime/wait-pr-multiformats/index.js +0 -3
  370. package/runtime/wait-pr-multiformats/index.js.map +0 -1
  371. package/tests/blockstore/fp-envelope.test.ts-off +0 -65
  372. package/tests/blockstore/fragment-gateway.test.ts-off +0 -106
  373. package/tests/blockstore/interceptor-gateway.test.ts +0 -254
  374. package/tests/blockstore/keyed-crypto-indexeddb-file.test.ts +0 -128
  375. package/tests/blockstore/keyed-crypto.test.ts +0 -376
  376. package/tests/blockstore/loader.test.ts +0 -298
  377. package/tests/blockstore/standalone.test.ts +0 -152
  378. package/tests/blockstore/store.test.ts +0 -192
  379. package/tests/blockstore/transaction.test.ts +0 -130
  380. package/tests/fireproof/all-gateway.test.ts +0 -461
  381. package/tests/fireproof/attachable.test.ts +0 -686
  382. package/tests/fireproof/cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.car +0 -0
  383. package/tests/fireproof/cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.ts +0 -324
  384. package/tests/fireproof/charwise-boolean.test.ts +0 -66
  385. package/tests/fireproof/crdt.test.ts +0 -570
  386. package/tests/fireproof/database.test.ts +0 -779
  387. package/tests/fireproof/deleted-docs-handling.test.ts +0 -111
  388. package/tests/fireproof/fireproof.test.fixture.ts +0 -133
  389. package/tests/fireproof/fireproof.test.ts +0 -777
  390. package/tests/fireproof/hello.test.ts +0 -74
  391. package/tests/fireproof/indexer.test.ts +0 -458
  392. package/tests/fireproof/multiple-ledger.test.ts +0 -65
  393. package/tests/fireproof/query-docs.test.ts +0 -116
  394. package/tests/fireproof/query-limit-issue.test.ts +0 -147
  395. package/tests/fireproof/query-property-inconsistency.test.ts +0 -89
  396. package/tests/fireproof/query-result-properties.test.ts +0 -42
  397. package/tests/fireproof/stable-cid.test.ts +0 -69
  398. package/tests/fireproof/utils.test.ts +0 -135
  399. package/tests/gateway/file/loader-config.test.ts +0 -307
  400. package/tests/gateway/indexeddb/loader-config.test.ts +0 -79
  401. package/tests/helpers.ts +0 -172
  402. package/tests/protocols/cloud/msger.test.ts +0 -548
  403. package/tests/react/img-file.test.tsx +0 -190
  404. package/tests/react/use-all-docs.test.tsx +0 -172
  405. package/tests/react/use-document-with-nonexistent-id.test.tsx +0 -96
  406. package/tests/react/use-fireproof-db-switch.test.tsx +0 -91
  407. package/tests/react/use-fireproof-stability.test.tsx +0 -145
  408. package/tests/react/use-fireproof.test.tsx +0 -645
  409. package/tests/runtime/fp-envelope-serialize.test.ts +0 -254
  410. package/tests/runtime/meta-key-hack.test.ts +0 -95
  411. package/tests/setup.file.ts +0 -1
  412. package/tests/setup.indexeddb.ts +0 -0
  413. package/tests/setup.memory.ts +0 -2
  414. package/tests/vitest.file.config.ts +0 -14
  415. package/tests/vitest.indexeddb.config.ts +0 -37
  416. package/tests/vitest.memory.config.ts +0 -25
  417. package/types.d.ts +0 -461
  418. package/types.d.ts.map +0 -1
  419. package/types.js +0 -60
  420. package/types.js.map +0 -1
  421. package/use-fireproof/iframe-strategy.d.ts +0 -14
  422. package/use-fireproof/iframe-strategy.d.ts.map +0 -1
  423. package/use-fireproof/iframe-strategy.js +0 -79
  424. package/use-fireproof/iframe-strategy.js.map +0 -1
  425. package/use-fireproof/index.d.ts +0 -14
  426. package/use-fireproof/index.d.ts.map +0 -1
  427. package/use-fireproof/index.js +0 -36
  428. package/use-fireproof/index.js.map +0 -1
  429. package/use-fireproof/redirect-strategy.d.ts +0 -15
  430. package/use-fireproof/redirect-strategy.d.ts.map +0 -1
  431. package/use-fireproof/redirect-strategy.js +0 -153
  432. package/use-fireproof/redirect-strategy.js.map +0 -1
  433. package/utils.d.ts +0 -48
  434. package/utils.d.ts.map +0 -1
  435. package/utils.js +0 -406
  436. package/utils.js.map +0 -1
  437. package/version.d.ts +0 -2
  438. package/version.d.ts.map +0 -1
  439. package/version.js +0 -4
  440. package/version.js.map +0 -1
  441. package/write-queue.d.ts +0 -9
  442. package/write-queue.d.ts.map +0 -1
  443. package/write-queue.js +0 -70
  444. package/write-queue.js.map +0 -1
@@ -1,74 +0,0 @@
1
- import { fireproof, DocResponse, DocWithId, index, Database, isDatabase } from "@fireproof/core";
2
- import { mockSuperThis } from "../helpers.js";
3
-
4
- describe("Hello World Test", function () {
5
- it("should pass the hello world test", function () {
6
- const result = fireproof("hello"); // call to your library function
7
- expect(result.name).toBe("hello");
8
- });
9
- });
10
-
11
- describe("hello public API", () => {
12
- interface TestDoc {
13
- foo: string;
14
- }
15
- let db: Database;
16
- let ok: DocResponse;
17
- let doc: DocWithId<TestDoc>;
18
- // let idx: Index<string, TestDoc>;
19
- const sthis = mockSuperThis();
20
- afterEach(async () => {
21
- await db.close();
22
- await db.destroy();
23
- });
24
- beforeEach(async () => {
25
- await sthis.start();
26
- db = fireproof("test-public-api");
27
- index<TestDoc, string>(db, "test-index", (doc) => doc.foo);
28
- ok = await db.put({ _id: "test", foo: "bar" });
29
- doc = await db.get("test");
30
- });
31
- it("should have a ledger", function () {
32
- expect(db).toBeTruthy();
33
- expect(isDatabase(db)).toBeTruthy();
34
- });
35
- it("should put", function () {
36
- expect(ok).toBeTruthy();
37
- expect(ok.id).toBe("test");
38
- });
39
- it("should get", function () {
40
- expect(doc.foo).toBe("bar");
41
- });
42
- it("should get when you open it again", async () => {
43
- await db.close();
44
- db = fireproof("test-public-api");
45
- doc = await db.get("test");
46
- expect(doc.foo).toBe("bar");
47
- });
48
- });
49
-
50
- describe("Simplified Reopening a ledger", function () {
51
- let db: Database;
52
- afterEach(async () => {
53
- await db.close();
54
- await db.destroy();
55
- });
56
- beforeEach(async () => {
57
- db = fireproof("test-reopen-simple");
58
- const ok = await db.put({ _id: "test", foo: "bar" });
59
- expect(ok).toBeTruthy();
60
- expect(ok.id).toBe("test");
61
- });
62
-
63
- it("should persist data", async () => {
64
- const doc = await db.get<{ foo: string }>("test");
65
- expect(doc.foo).toBe("bar");
66
- });
67
-
68
- it("should have the same data on reopen", async () => {
69
- const db2 = fireproof("test-reopen-simple");
70
- const doc = await db2.get<{ foo: string }>("test");
71
- expect(doc.foo).toBe("bar");
72
- await db2.close();
73
- });
74
- });
@@ -1,458 +0,0 @@
1
- import {
2
- Index,
3
- index,
4
- CRDT,
5
- IndexRows,
6
- toStoreURIRuntime,
7
- bs,
8
- rt,
9
- defaultWriteQueueOpts,
10
- ensureSuperThis,
11
- LedgerOpts,
12
- Database,
13
- CRDTImpl,
14
- fireproof,
15
- } from "@fireproof/core";
16
- import { tracer } from "../helpers.js";
17
- import { AppContext } from "@adviser/cement";
18
-
19
- interface TestType {
20
- readonly title: string;
21
- readonly score: number;
22
- }
23
-
24
- describe("basic Index", () => {
25
- let db: Database;
26
- let indexer: Index<TestType, string>;
27
- let didMap: boolean;
28
- const sthis = ensureSuperThis();
29
- afterEach(async () => {
30
- await db.close();
31
- await db.destroy();
32
- // await indexer.close();
33
- // await indexer.destroy();
34
- });
35
- beforeEach(async () => {
36
- await sthis.start();
37
- db = fireproof("test-indexer");
38
- await db.put({ title: "amazing" });
39
- await db.put({ title: "creative" });
40
- await db.put({ title: "bazillas" });
41
- indexer = new Index<TestType, string>(sthis, db.ledger.crdt, "hello", (doc) => {
42
- didMap = true;
43
- return doc.title;
44
- });
45
- await indexer.ready();
46
- });
47
- it("should have properties", function () {
48
- expect(indexer.crdt).toBe(db.ledger.crdt);
49
- // expect(indexer.crdt.name).toBe("test-indexer");
50
- expect(indexer.name).toBe("hello");
51
- expect(indexer.mapFn).toBeTruthy();
52
- });
53
- it("should call the map function on first query", async () => {
54
- didMap = false;
55
- await indexer.query();
56
- expect(didMap).toBeTruthy();
57
- });
58
- it("should not call the map function on second query", async () => {
59
- await indexer.query();
60
- didMap = false;
61
- await indexer.query();
62
- expect(didMap).toBeFalsy();
63
- });
64
- it("should get results", async () => {
65
- const result = await indexer.query();
66
- expect(result).toBeTruthy();
67
- expect(result.rows).toBeTruthy();
68
- expect(result.rows.length).toBe(3);
69
- });
70
- it("should be in order", async () => {
71
- const { rows } = await indexer.query();
72
- expect(rows[0].key).toBe("amazing");
73
- });
74
- it("should work with limit", async () => {
75
- const { rows } = await indexer.query({ limit: 1 });
76
- expect(rows.length).toBe(1);
77
- });
78
- it("should work with descending", async () => {
79
- const { rows } = await indexer.query({ descending: true });
80
- expect(rows[0].key).toBe("creative");
81
- });
82
- it("should range query all", async () => {
83
- const { rows } = await indexer.query({ range: ["a", "z"] });
84
- expect(rows.length).toBe(3);
85
- expect(rows[0].key).toBe("amazing");
86
- });
87
- it("should range query all twice", async () => {
88
- const { rows } = await indexer.query({ range: ["a", "z"] });
89
- expect(rows.length).toBe(3);
90
- expect(rows[0].key).toBe("amazing");
91
- const { rows: rows2 } = await indexer.query({ range: ["a", "z"] });
92
- expect(rows2.length).toBe(3);
93
- expect(rows2[0].key).toBe("amazing");
94
- });
95
- it("should range query", async () => {
96
- const { rows } = await indexer.query({ range: ["b", "d"] });
97
- expect(rows[0].key).toBe("bazillas");
98
- });
99
- it("should key query", async () => {
100
- const { rows } = await indexer.query({ key: "bazillas" });
101
- expect(rows.length).toBe(1);
102
- });
103
- it("should include docs", async () => {
104
- const { rows } = await indexer.query({ includeDocs: true });
105
- expect(rows[0]).toBeTruthy();
106
- expect(rows[0].id).toBeTruthy();
107
- expect(rows[0].doc).toBeTruthy();
108
- expect(rows[0].doc?._id).toBe(rows[0].id);
109
- });
110
- });
111
-
112
- describe("Index query with compound key", function () {
113
- let db: Database;
114
- let indexer: Index<TestType, [string, number]>;
115
- const sthis = ensureSuperThis();
116
- afterEach(async () => {
117
- await db.close();
118
- await db.destroy();
119
- // await indexer.close();
120
- // await indexer.destroy();
121
- });
122
- beforeEach(async () => {
123
- await sthis.start();
124
- db = fireproof("test-indexer");
125
- await db.put({ title: "amazing", score: 1 });
126
- await db.put({ title: "creative", score: 2 });
127
- await db.put({ title: "creative", score: 20 });
128
- await db.put({ title: "bazillas", score: 3 });
129
- indexer = new Index<TestType, [string, number]>(sthis, db.ledger.crdt, "hello", (doc) => {
130
- return [doc.title, doc.score];
131
- });
132
- await indexer.ready();
133
- });
134
- it("should prefix query", async () => {
135
- const { rows } = await indexer.query({ prefix: "creative" });
136
- expect(rows.length).toBe(2);
137
- expect(rows[0].key).toEqual(["creative", 2]);
138
- expect(rows[1].key).toEqual(["creative", 20]);
139
- });
140
- });
141
-
142
- describe("basic Index with map fun", function () {
143
- let db: Database;
144
- let indexer: Index<TestType, string>;
145
- const sthis = ensureSuperThis();
146
- afterEach(async () => {
147
- await db.close();
148
- await db.destroy();
149
- // await indexer.close();
150
- // await indexer.destroy();
151
- });
152
- beforeEach(async () => {
153
- await sthis.start();
154
- db = fireproof("test-indexer");
155
- await db.put({ title: "amazing" });
156
- await db.put({ title: "creative" });
157
- await db.put({ title: "bazillas" });
158
- indexer = new Index<TestType, string>(sthis, db.ledger.crdt, "hello", (doc, map) => {
159
- map(doc.title);
160
- });
161
- await indexer.ready();
162
- });
163
- it("should get results", async () => {
164
- const result = await indexer.query();
165
- expect(result).toBeTruthy();
166
- expect(result.rows).toBeTruthy();
167
- expect(result.rows.length).toBe(3);
168
- expect(result.rows[0].key).toBe("amazing");
169
- });
170
- });
171
-
172
- describe("basic Index with map fun with value", function () {
173
- let db: Database;
174
- let indexer: Index<TestType, string, number>;
175
- const sthis = ensureSuperThis();
176
- afterEach(async () => {
177
- await db.close();
178
- await db.destroy();
179
- });
180
- beforeEach(async () => {
181
- await sthis.start();
182
- db = fireproof("test-indexer");
183
- await db.put({ title: "amazing" });
184
- await db.put({ title: "creative" });
185
- await db.put({ title: "bazillas" });
186
- indexer = new Index<TestType, string, number>(sthis, db.ledger.crdt, "hello", (doc, map) => {
187
- map(doc.title, doc.title.length);
188
- });
189
- });
190
- it("should get results", async () => {
191
- const result = await indexer.query();
192
- expect(result).toBeTruthy();
193
- expect(result.rows).toBeTruthy();
194
- expect(result.rows.length).toBe(3);
195
- expect(result.rows[0].key).toBe("amazing");
196
- // @jchris why is this not a object?
197
- expect(result.rows[0].value).toBe(7);
198
- });
199
- it("should include docs", async () => {
200
- const { rows } = await indexer.query({ includeDocs: true });
201
- expect(rows[0].doc).toBeTruthy();
202
- expect(rows[0].doc?._id).toBe(rows[0].id);
203
- expect(rows.length).toBe(3);
204
- expect(rows[0].key).toBe("amazing");
205
- // @jchris why is this not a object?
206
- expect(rows[0].value).toBe(7);
207
- });
208
- });
209
-
210
- describe("Index query with map and compound key", function () {
211
- let db: Database;
212
- let indexer: Index<TestType, [string, number]>;
213
- const sthis = ensureSuperThis();
214
- afterEach(async () => {
215
- await db.close();
216
- await db.destroy();
217
- // await indexer.close();
218
- // await indexer.destroy();
219
- });
220
- beforeEach(async () => {
221
- await sthis.start();
222
- db = fireproof("test-indexer");
223
- await db.put({ title: "amazing", score: 1 });
224
- await db.put({ title: "creative", score: 2 });
225
- await db.put({ title: "creative", score: 20 });
226
- await db.put({ title: "bazillas", score: 3 });
227
- indexer = new Index<TestType, [string, number]>(sthis, db.ledger.crdt, "hello", (doc, emit) => {
228
- emit([doc.title, doc.score]);
229
- });
230
- await indexer.ready();
231
- });
232
- it("should prefix query", async () => {
233
- const { rows } = await indexer.query({ prefix: "creative" });
234
- expect(rows.length).toBe(2);
235
- expect(rows[0].key).toEqual(["creative", 2]);
236
- expect(rows[1].key).toEqual(["creative", 20]);
237
- });
238
- });
239
-
240
- describe("basic Index with string fun", function () {
241
- let db: Database;
242
- let indexer: Index<TestType, string>;
243
- const sthis = ensureSuperThis();
244
- afterEach(async () => {
245
- await db.close();
246
- await db.destroy();
247
- // await indexer.close();
248
- // await indexer.destroy();
249
- });
250
- beforeEach(async () => {
251
- await sthis.start();
252
- db = fireproof("test-indexer");
253
- await db.put({ title: "amazing" });
254
- await db.put({ title: "creative" });
255
- await db.put({ title: "bazillas" });
256
- indexer = new Index<TestType, string>(sthis, db.ledger.crdt, "title");
257
- await indexer.ready();
258
- });
259
- it("should get results", async () => {
260
- const result = await indexer.query();
261
- expect(result).toBeTruthy();
262
- expect(result.rows).toBeTruthy();
263
- expect(result.rows.length).toBe(3);
264
- });
265
- it("should include docs", async () => {
266
- const { rows } = await indexer.query();
267
- expect(rows.length).toBeTruthy();
268
- expect(rows[0].doc).toBeTruthy();
269
- });
270
- });
271
-
272
- describe("basic Index with string fun and numeric keys", function () {
273
- let db: Database;
274
- let indexer: Index<TestType, string>;
275
- const sthis = ensureSuperThis();
276
- afterEach(async () => {
277
- await db.close();
278
- await db.destroy();
279
- // await indexer.close();
280
- // await indexer.destroy();
281
- });
282
- beforeEach(async () => {
283
- await sthis.start();
284
- db = fireproof("test-indexer");
285
- await db.put({ points: 0 });
286
- await db.put({ points: 1 });
287
- await db.put({ points: 2 });
288
- await db.put({ points: 3 });
289
- indexer = new Index<TestType, string>(sthis, db.ledger.crdt, "points");
290
- await indexer.ready();
291
- });
292
- it("should get results", async () => {
293
- const result = await indexer.query();
294
- expect(result).toBeTruthy();
295
- expect(result.rows).toBeTruthy();
296
- expect(result.rows.length).toBe(4);
297
- });
298
- it("should include docs", async () => {
299
- const { rows } = await indexer.query();
300
- expect(rows.length).toBeTruthy();
301
- expect(rows[0].doc).toBeTruthy();
302
- });
303
- });
304
-
305
- describe("basic Index upon cold start", function () {
306
- interface TestType {
307
- title: string;
308
- score?: number;
309
- }
310
- let crdt: CRDT;
311
- let indexer: Index<TestType>;
312
- let didMap: number;
313
- let mapFn: (doc: TestType) => string;
314
- let result: IndexRows<TestType>;
315
- const sthis = ensureSuperThis();
316
- let dbOpts: LedgerOpts;
317
- // result, mapFn;
318
- afterEach(async () => {
319
- await crdt.close();
320
- await crdt.destroy();
321
- // await indexer.close();
322
- // await indexer.destroy();
323
- });
324
- beforeEach(async () => {
325
- await sthis.start();
326
- const logger = sthis.logger.With().Module("IndexerTest").Logger();
327
- logger.Debug().Msg("enter beforeEach");
328
- dbOpts = {
329
- name: "test-indexer-cold",
330
- writeQueue: defaultWriteQueueOpts({}),
331
- keyBag: rt.kb.defaultKeyBagOpts(sthis),
332
- storeUrls: toStoreURIRuntime(sthis, "test-indexer-cold"),
333
- storeEnDe: bs.ensureStoreEnDeFile({}),
334
- ctx: new AppContext(),
335
- tracer,
336
- };
337
- crdt = new CRDTImpl(sthis, dbOpts);
338
- await crdt.bulk([
339
- { id: "abc1", value: { title: "amazing" } },
340
- { id: "abc2", value: { title: "creative" } },
341
- { id: "abc3", value: { title: "bazillas" } },
342
- ]);
343
- logger.Debug().Msg("post bulk beforeEach");
344
- didMap = 0;
345
- mapFn = (doc) => {
346
- didMap++;
347
- return doc.title;
348
- };
349
- indexer = await index<TestType>(crdt, "hello", mapFn);
350
- logger.Debug().Msg("post index beforeEach");
351
- await indexer.ready();
352
- logger.Debug().Msg("post indexer.ready beforeEach");
353
- // new Index(db._crdt.indexBlockstore, db._crdt, 'hello', mapFn)
354
- result = await indexer.query();
355
-
356
- logger.Debug().Msg("post indexer.query beforeEach");
357
- expect(indexer.indexHead).toEqual(crdt.clock.head);
358
- });
359
- it("should call map on first query", function () {
360
- expect(didMap).toBeTruthy();
361
- expect(didMap).toEqual(3);
362
- });
363
- it("should get results on first query", function () {
364
- expect(result).toBeTruthy();
365
- expect(result.rows).toBeTruthy();
366
- expect(result.rows.length).toEqual(3);
367
- });
368
- it("should work on cold load", async () => {
369
- const crdt2 = new CRDTImpl(sthis, dbOpts);
370
- await crdt2.ready();
371
- const { result, head } = await crdt2.changes();
372
- expect(result).toBeTruthy();
373
- await crdt2.ready();
374
- const indexer2 = await index<TestType>(crdt2, "hello", mapFn);
375
- await indexer2.ready();
376
- const result2 = await indexer2.query();
377
- expect(indexer2.indexHead).toEqual(head);
378
- expect(result2).toBeTruthy();
379
- expect(result2.rows.length).toEqual(3);
380
- expect(indexer2.indexHead).toEqual(head);
381
- });
382
- it.skip("should not rerun the map function on seen changes", async () => {
383
- didMap = 0;
384
- const crdt2 = new CRDTImpl(sthis, dbOpts);
385
- const indexer2 = await index(crdt2, "hello", mapFn);
386
- const { result, head } = await crdt2.changes([]);
387
- expect(result.length).toEqual(3);
388
- expect(head.length).toEqual(1);
389
- const { result: ch2, head: h2 } = await crdt2.changes(head);
390
- expect(ch2.length).toEqual(0);
391
- expect(h2.length).toEqual(1);
392
- expect(h2).toEqual(head);
393
- const result2 = await indexer2.query();
394
- expect(indexer2.indexHead).toEqual(head);
395
- expect(result2).toBeTruthy();
396
- expect(result2.rows.length).toEqual(3);
397
- expect(didMap).toEqual(0);
398
- await crdt2.bulk([{ id: "abc4", value: { title: "despicable", score: 0 } }]);
399
-
400
- const { result: ch3, head: h3 } = await crdt2.changes(head);
401
- expect(ch3.length).toEqual(1);
402
- expect(h3.length).toEqual(1);
403
- const result3 = await indexer2.query();
404
- expect(result3).toBeTruthy();
405
- expect(result3.rows.length).toEqual(4);
406
- expect(didMap).toEqual(1);
407
- });
408
- it("should ignore meta when map function definiton changes", async () => {
409
- const crdt2 = new CRDTImpl(sthis, dbOpts);
410
- const result = await index<TestType>(crdt2, "hello", (doc) => doc.title.split("").reverse().join("")).query();
411
- expect(result.rows.length).toEqual(3);
412
- expect(result.rows[0].key).toEqual("evitaerc"); // creative
413
- });
414
- });
415
-
416
- describe("basic Index with no data", function () {
417
- let db: Database;
418
- let indexer: Index<TestType>;
419
- let didMap: boolean;
420
- const sthis = ensureSuperThis();
421
- afterEach(async () => {
422
- await db.close();
423
- await db.destroy();
424
- // await indexer.close();
425
- // await indexer.destroy();
426
- });
427
- beforeEach(async () => {
428
- await sthis.start();
429
- db = fireproof("test-indexer");
430
- indexer = new Index<TestType>(sthis, db.ledger.crdt, "hello", (doc) => {
431
- didMap = true;
432
- return doc.title;
433
- });
434
- await indexer.ready();
435
- });
436
- it("should have properties", function () {
437
- expect(indexer.crdt).toEqual(db.ledger.crdt);
438
- expect(indexer.name).toEqual("hello");
439
- expect(indexer.mapFn).toBeTruthy();
440
- });
441
- it("should not call the map function on first query", async () => {
442
- didMap = false;
443
- await indexer.query();
444
- expect(didMap).toBeFalsy();
445
- });
446
- it("should not call the map function on second query", async () => {
447
- await indexer.query();
448
- didMap = false;
449
- await indexer.query();
450
- expect(didMap).toBeFalsy();
451
- });
452
- it("should get results", async () => {
453
- const result = await indexer.query();
454
- expect(result).toBeTruthy();
455
- expect(result.rows).toBeTruthy();
456
- expect(result.rows.length).toEqual(0);
457
- });
458
- });
@@ -1,65 +0,0 @@
1
- import { Database, ensureSuperThis, fireproof } from "@fireproof/core";
2
-
3
- interface DBItem {
4
- readonly db: Database;
5
- readonly name: string;
6
- }
7
-
8
- function shuffle(ina: DBItem[]): DBItem[] {
9
- const array = [...ina];
10
- for (let i = array.length - 1; i > 0; i--) {
11
- const j = Math.floor(Math.random() * (i + 1));
12
- [array[i], array[j]] = [array[j], array[i]];
13
- }
14
- return array;
15
- }
16
-
17
- describe("Multiple Databases", () => {
18
- const dbs: DBItem[] = [];
19
- const sthis = ensureSuperThis();
20
- const rows = 10;
21
- const concurrentDbs = 7;
22
- beforeEach(async () => {
23
- const group = sthis.nextId().str;
24
- await Promise.all(
25
- Array(concurrentDbs)
26
- .fill(0)
27
- .map(async (_, i) => {
28
- const name = `db-${group}-${i}`;
29
- const db = fireproof(name);
30
- dbs.push({ db, name });
31
- for (let i = 0; i < rows; i++) {
32
- await db.put({ _id: `${name}-${i}`, hello: "world" });
33
- }
34
- }),
35
- );
36
- });
37
- afterEach(async () => {
38
- await Promise.all(
39
- dbs.map(async (db) => {
40
- await db.db.close();
41
- await db.db.destroy();
42
- }),
43
- );
44
- dbs.length = 0;
45
- });
46
-
47
- it("random access to multiple databases", async () => {
48
- const random = shuffle(dbs);
49
- const res = await Promise.all(
50
- random.map((di) => {
51
- return Promise.all(
52
- Array(10)
53
- .fill(0)
54
- .map(async (_, i) => di.db.get(`${di.name}-${i}`)),
55
- );
56
- }),
57
- );
58
- // console.log(res)
59
- res.forEach((res, i) => {
60
- for (let j = 0; j < rows; j++) {
61
- expect(res[j]._id).toBe(`${random[i].name}-${j}`);
62
- }
63
- });
64
- });
65
- });