@fireproof/core 0.21.0-dev-preview-7 → 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 (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 +11 -69
  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 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * as block from "./block.js";
2
- export * as codec from "./codec-interface.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/wait-pr-multiformats/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC"}
@@ -1,65 +0,0 @@
1
-
2
- describe("FPEnvelope", () => {
3
- // const sthis = mockSuperThis();
4
- // it("unknown bytes", () => {
5
- // expect(bs.FPMsgMatch2Envelope(Uint8Array.from([1, 2, 3]), "bla").Err().message).toStrictEqual(
6
- // "failed to decode envelope: Error: CBOR decode error: too many terminals, data makes no sense"
7
- // );
8
- // });
9
-
10
- // it("unknown type", () => {
11
- // expect(bs.FPMsgMatch2Envelope(encode({ type: "blax", payload: 4 }), "bla"))
12
- // .toStrictEqual(Result.Err("expected type to be bla"));
13
- // })
14
-
15
- // it("no type", () => {
16
- // expect(bs.FPMsgMatch2Envelope(encode({ type: "blax", payload: 4 })))
17
- // .toStrictEqual(Result.Ok({ type: "blax", payload: 4 }));
18
- // })
19
-
20
- // it("car type", () => {
21
- // expect(bs.FPMsg2Car(bs.Car2FPMsg(Uint8Array.from([1, 2, 3])).Ok().payload).Ok()).toStrictEqual(Uint8Array.from([1, 2, 3]));
22
- // })
23
-
24
- // it("file type", () => {
25
- // expect(bs.FPMsg2File(bs.File2FPMsg(Uint8Array.from([1, 2, 3])).Ok().payload).Ok()).toStrictEqual(Uint8Array.from([1, 2, 3]));
26
- // })
27
-
28
- // it("meta type", async () => {
29
- // const ref = {
30
- // eventCid: await simpleCID(sthis),
31
- // dbMeta: {
32
- // cars: [
33
- // await simpleCID(sthis)
34
- // ]
35
- // },
36
- // parents: [
37
- // await simpleCID(sthis),
38
- // await simpleCID(sthis)
39
- // ]
40
- // } satisfies DbMetaEvent;
41
- // expect(bs.FPMsg2Meta(bs.Meta2FPMsg([ref])).Ok()).toEqual(ref);
42
- // })
43
-
44
- // it("wal type", () => {
45
- // const ref: bs.WALState = {
46
- // fileOperations: [],
47
- // noLoaderOps: [],
48
- // operations: [
49
- // {
50
- // cars: [
51
- // CID.parse("bag4yvqabciqdzvfxrxfi6feubspyz666zegmp3z5w556mr4ykya2kkdm22r7pyy")
52
- // ]
53
- // },
54
- // {
55
- // cars: [
56
- // CID.parse("bag4yvqabciqd2ul2tw4mdcpvfq2pdqhvnqp2ktuyrtcl3j3gwhxbjzjt62xzeaq")
57
- // ]
58
- // }
59
- // ]
60
- // };
61
- // const res = bs.FPMsg2WAL(bs.WAL2FPMsg(sthis, ref).Ok()).Ok();
62
- // expect(res).toStrictEqual(ref);
63
- // expect(res.operations[0].cars[0].version).toStrictEqual(1);
64
- // })
65
- })
@@ -1,106 +0,0 @@
1
- import { Result, URI } from "@adviser/cement";
2
- import { bs, ensureSuperThis } from "@fireproof/core";
3
-
4
- class TraceGateway implements bs.Gateway {
5
- readonly buildUrlFn = vitest.fn();
6
-
7
- readonly fragSize: number;
8
- constructor(fragSize = 0) {
9
- this.fragSize = fragSize;
10
- }
11
-
12
- buildUrl(baseUrl: URI, key: string): Promise<Result<URI>> {
13
- this.buildUrlFn(baseUrl, key);
14
- return Promise.resolve(Result.Ok(baseUrl.build().setParam("key", key).URI()));
15
- }
16
- readonly startFn = vitest.fn();
17
- start(baseUrl: URI): Promise<Result<URI>> {
18
- this.startFn(baseUrl);
19
- const burl = baseUrl.build();
20
- if (this.fragSize) {
21
- burl.setParam("fragSize", this.fragSize.toString());
22
- }
23
- return Promise.resolve(Result.Ok(burl.URI()));
24
- }
25
- readonly closeFn = vitest.fn();
26
- close(baseUrl: URI): Promise<bs.VoidResult> {
27
- this.closeFn(baseUrl);
28
- return Promise.resolve(Result.Ok(undefined));
29
- }
30
- readonly destroyFn = vitest.fn();
31
- destroy(baseUrl: URI): Promise<bs.VoidResult> {
32
- this.destroyFn(baseUrl);
33
- return Promise.resolve(Result.Ok(undefined));
34
- }
35
- readonly getFn = vitest.fn();
36
- putCalls = 0;
37
- async get(url: URI): Promise<Result<Uint8Array>> {
38
- const idx = this.putCalls++;
39
- this.getFn(url);
40
- return Result.Ok(this.putFn.mock.calls[idx][1]);
41
- }
42
- readonly putFn = vitest.fn();
43
- async put(url: URI, data: Uint8Array): Promise<Result<void>> {
44
- this.putFn(url, data);
45
- return Result.Ok(undefined);
46
- }
47
- readonly deleteFn = vitest.fn();
48
- async delete(url: URI): Promise<Result<void>> {
49
- this.deleteFn(url);
50
- return Result.Ok(undefined);
51
- }
52
- }
53
-
54
- describe("FragmentGateway", () => {
55
- const sthis = ensureSuperThis();
56
- it("passthrough", async () => {
57
- const innerGW = new TraceGateway();
58
- const fgw = new bs.FragmentGateway(sthis, innerGW);
59
- const url = URI.from("http://example.com?key=3333");
60
-
61
- expect(await fgw.put(url, new Uint8Array([1, 2, 3, 4]))).toEqual(Result.Ok(undefined));
62
- expect(innerGW.putFn).toHaveBeenCalledWith(url, new Uint8Array([1, 2, 3, 4]));
63
-
64
- expect(await fgw.get(url)).toEqual(Result.Ok(new Uint8Array([1, 2, 3, 4])));
65
- expect(innerGW.getFn).toHaveBeenCalledWith(url);
66
- });
67
-
68
- function slice(total: number, headerSize: number, fragSize: number): { len?: string; ofs: string }[] {
69
- const res = [];
70
- for (let ofs = 0; ofs < total; ofs += fragSize - headerSize) {
71
- res.push({ len: total.toString(), ofs: ofs.toString() });
72
- }
73
- return res;
74
- }
75
-
76
- it("enable frag", async () => {
77
- const innerGW = new TraceGateway(128);
78
- const fgw = new bs.FragmentGateway(sthis, innerGW);
79
- const url = (await fgw.start(URI.from("http://example.com?key=3333"))).Ok();
80
- const buf = new Uint8Array(1024).fill(1).map((_, i) => i);
81
-
82
- expect(await fgw.put(url, buf)).toEqual(Result.Ok(undefined));
83
-
84
- const ref = slice(1024, fgw.headerSize, 128);
85
-
86
- expect(
87
- innerGW.putFn.mock.calls.map((i) => {
88
- return {
89
- len: i[0].getParam("len"),
90
- ofs: i[0].getParam("ofs"),
91
- };
92
- }),
93
- ).toEqual(ref);
94
-
95
- expect((await fgw.get(url)).Ok()).toEqual(buf);
96
- ref[0].len = undefined;
97
- expect(
98
- innerGW.getFn.mock.calls.map((i) => {
99
- return {
100
- len: i[0].getParam("len"),
101
- ofs: i[0].getParam("ofs"),
102
- };
103
- }),
104
- ).toEqual(ref);
105
- });
106
- });
@@ -1,254 +0,0 @@
1
- import { BuildURI, Result, URI } from "@adviser/cement";
2
- import { bs, rt, fireproof, SuperThis } from "@fireproof/core";
3
-
4
- class TestInterceptor extends bs.PassThroughGateway {
5
- readonly fn = vitest.fn();
6
-
7
- async buildUrl(ctx: bs.SerdeGatewayCtx, baseUrl: URI, key: string): Promise<Result<bs.SerdeGatewayBuildUrlReturn>> {
8
- const ret = await super.buildUrl(ctx, baseUrl, key);
9
- this.fn("buildUrl", ret);
10
- return ret;
11
- }
12
-
13
- async start(ctx: bs.SerdeGatewayCtx, baseUrl: URI): Promise<Result<bs.SerdeGatewayStartReturn>> {
14
- const ret = await super.start(ctx, baseUrl);
15
- this.fn("start", ret);
16
- return ret;
17
- }
18
- async close(ctx: bs.SerdeGatewayCtx, baseUrl: URI): Promise<Result<bs.SerdeGatewayCloseReturn>> {
19
- const ret = await super.close(ctx, baseUrl);
20
- this.fn("close", ret);
21
- return ret;
22
- }
23
- async delete(ctx: bs.SerdeGatewayCtx, baseUrl: URI): Promise<Result<bs.SerdeGatewayDeleteReturn>> {
24
- const ret = await super.delete(ctx, baseUrl);
25
- this.fn("delete", ret);
26
- return ret;
27
- }
28
- async destroy(ctx: bs.SerdeGatewayCtx, baseUrl: URI): Promise<Result<bs.SerdeGatewayDestroyReturn>> {
29
- const ret = await super.destroy(ctx, baseUrl);
30
- this.fn("destroy", ret);
31
- return ret;
32
- }
33
- async put<T>(ctx: bs.SerdeGatewayCtx, url: URI, body: bs.FPEnvelope<T>): Promise<Result<bs.SerdeGatewayPutReturn<T>>> {
34
- const ret = await super.put<T>(ctx, url, body);
35
- this.fn("put", ret);
36
- return ret;
37
- }
38
- async get<S>(ctx: bs.SerdeGatewayCtx, url: URI): Promise<Result<bs.SerdeGatewayGetReturn<S>>> {
39
- const ret = await super.get<S>(ctx, url);
40
- this.fn("get", ret);
41
- return ret;
42
- }
43
- async subscribe(
44
- ctx: bs.SerdeGatewayCtx,
45
- url: URI,
46
- callback: (meta: bs.FPEnvelopeMeta) => Promise<void>,
47
- ): Promise<Result<bs.SerdeGatewaySubscribeReturn>> {
48
- const ret = await super.subscribe(ctx, url, callback);
49
- this.fn("subscribe", ret);
50
- return ret;
51
- }
52
- }
53
-
54
- export class URITrackGateway implements bs.Gateway {
55
- readonly uris: Set<string>;
56
- readonly memgw: rt.gw.memory.MemoryGateway;
57
-
58
- constructor(sthis: SuperThis, memorys: Map<string, Uint8Array>, uris: Set<string>) {
59
- this.memgw = new rt.gw.memory.MemoryGateway(sthis, memorys);
60
- this.uris = uris;
61
- }
62
-
63
- uriAdd(uri: URI) {
64
- if (!uri.getParam("itis")) {
65
- throw new Error("itis not set");
66
- }
67
- if (this.uris.has(uri.toString())) {
68
- throw new Error(`uri already added:${uri.toString()}`);
69
- }
70
- this.uris.add(uri.toString());
71
- }
72
-
73
- buildUrl(baseUrl: URI, key: string): Promise<Result<URI>> {
74
- this.uriAdd(baseUrl);
75
- return this.memgw.buildUrl(baseUrl, key);
76
- }
77
- start(baseUrl: URI): Promise<Result<URI>> {
78
- this.uriAdd(baseUrl);
79
- return this.memgw.start(baseUrl);
80
- }
81
- close(uri: URI): Promise<bs.VoidResult> {
82
- this.uriAdd(uri);
83
- return this.memgw.close(uri);
84
- }
85
- destroy(baseUrl: URI): Promise<bs.VoidResult> {
86
- this.uriAdd(baseUrl);
87
- return this.memgw.destroy(baseUrl);
88
- }
89
-
90
- put(url: URI, bytes: Uint8Array, sthis: SuperThis): Promise<bs.VoidResult> {
91
- // console.log("put", url.getParam(PARAM.KEY), url.toString());
92
- this.uriAdd(url);
93
- return this.memgw.put(url.build().cleanParams("itis").URI(), bytes, sthis);
94
- }
95
-
96
- async get(url: URI, sthis: SuperThis): Promise<bs.GetResult> {
97
- this.uriAdd(url);
98
- const ret = await this.memgw.get(url.build().cleanParams("itis").URI(), sthis);
99
- // if (ret.isErr()) {
100
- // console.log("get-err", url.getParam(PARAM.KEY), url.toString());
101
- // }
102
- return ret;
103
- }
104
- delete(url: URI): Promise<bs.VoidResult> {
105
- this.uriAdd(url);
106
- return this.memgw.delete(url);
107
- }
108
-
109
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
- subscribe(url: URI, callback: (meta: Uint8Array) => void, sthis: SuperThis): Promise<bs.UnsubscribeResult> {
111
- this.uriAdd(url);
112
- return Promise.resolve(
113
- Result.Ok(() => {
114
- /* noop */
115
- }),
116
- );
117
- }
118
-
119
- async getPlain(url: URI, key: string): Promise<Result<Uint8Array>> {
120
- this.uriAdd(url);
121
- return this.memgw.getPlain(url, key);
122
- }
123
- }
124
-
125
- describe("InterceptorGateway", () => {
126
- it("passthrough", async () => {
127
- const gwi = new TestInterceptor();
128
- const db = fireproof("interceptor-gateway", {
129
- gatewayInterceptor: gwi,
130
- });
131
- expect(
132
- await db.put({
133
- _id: "foo",
134
- foo: 4,
135
- }),
136
- );
137
- expect(await db.get("foo")).toEqual({
138
- _id: "foo",
139
- foo: 4,
140
- });
141
- await db.close();
142
- await db.destroy();
143
- // await sleep(1000);
144
- expect(gwi.fn.mock.calls.length).toBe(54);
145
- // might be a stupid test
146
- expect(gwi.fn.mock.calls.map((i) => i[0]).sort() /* not ok there are some operation */).toEqual(
147
- [
148
- "start",
149
- "start",
150
- "buildUrl",
151
- "get",
152
- "buildUrl",
153
- "buildUrl",
154
- "buildUrl",
155
- "buildUrl",
156
- "buildUrl",
157
- "buildUrl",
158
- "buildUrl",
159
- "buildUrl",
160
- "get",
161
- "get",
162
- "start",
163
- "start",
164
- "buildUrl",
165
- "get",
166
- "get",
167
- "buildUrl",
168
- "put",
169
- "put",
170
- "buildUrl",
171
- "put",
172
- "buildUrl",
173
- "put",
174
- "put",
175
- "put",
176
- "put",
177
- "put",
178
- "start",
179
- "start",
180
- "start",
181
- "start",
182
- "close",
183
- "close",
184
- "close",
185
- "close",
186
- "buildUrl",
187
- "get",
188
- "close",
189
- "close",
190
- "close",
191
- "close",
192
- "destroy",
193
- "destroy",
194
- "destroy",
195
- "destroy",
196
- "destroy",
197
- "destroy",
198
- "destroy",
199
- "destroy",
200
- "subscribe",
201
- "subscribe",
202
- ].sort() /* not ok there are some operation */,
203
- );
204
- });
205
-
206
- it("use the uri-interceptor", async () => {
207
- let callCount = 0;
208
- const gwUris = new Set<string>();
209
- const unreg = bs.registerStoreProtocol({
210
- protocol: "uriTest:",
211
- isDefault: false,
212
- defaultURI: () => {
213
- return BuildURI.from("uriTest://").pathname("ram").URI();
214
- },
215
- gateway: async (sthis) => {
216
- return new URITrackGateway(sthis, new Map<string, Uint8Array>(), gwUris);
217
- },
218
- });
219
- const db = fireproof("interceptor-gateway", {
220
- storeUrls: {
221
- base: "uriTest://inspector-gateway",
222
- },
223
- gatewayInterceptor: bs.URIInterceptor.withMapper(async (uri: URI) =>
224
- uri
225
- .build()
226
- .setParam("itis", "" + ++callCount)
227
- .URI(),
228
- ),
229
- });
230
- await Promise.all(
231
- Array(5)
232
- .fill(0)
233
- .map((_, i) => db.put({ _id: "foo" + i, foo: i })),
234
- );
235
- expect((await db.allDocs<{ foo: number }>()).rows.map((i) => i.value.foo)).toEqual(
236
- Array(5)
237
- .fill(0)
238
- .map((_, i) => i),
239
- );
240
- await db.close();
241
- expect(callCount).toBe(gwUris.size);
242
- expect(
243
- Array.from(gwUris)
244
- .map((i) => URI.from(i).getParam("itis"))
245
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
246
- .sort((a, b) => +a! - +b!),
247
- ).toEqual(
248
- Array(gwUris.size)
249
- .fill(1)
250
- .map((_, i) => "" + (i + 1)),
251
- );
252
- unreg();
253
- });
254
- });
@@ -1,128 +0,0 @@
1
- import { bs, ensureSuperThis, PARAM, rt } from "@fireproof/core";
2
- import { runtimeFn, toCryptoRuntime, URI } from "@adviser/cement";
3
- import { base58btc } from "multiformats/bases/base58";
4
- import { mockLoader, mockSuperThis } from "../helpers.js";
5
- import { KeyBagProviderIndexedDB } from "@fireproof/core/indexeddb";
6
-
7
- describe("KeyBag indexeddb and file", () => {
8
- let url: URI;
9
- const sthis = mockSuperThis();
10
- beforeAll(async () => {
11
- await sthis.start();
12
- if (runtimeFn().isBrowser) {
13
- url = URI.from("indexeddb://fp-keybag");
14
- } else {
15
- url = URI.merge(`file://./dist/tests/key.bag`, sthis.env.get("FP_KEYBAG_URL"));
16
- }
17
- });
18
- it("default-path", async () => {
19
- const old = sthis.env.get("FP_KEYBAG_URL");
20
- sthis.env.delete("FP_KEYBAG_URL");
21
- const kb = await rt.kb.getKeyBag(sthis);
22
- if (runtimeFn().isBrowser) {
23
- expect(kb.rt.url.toString()).toBe(`indexeddb://fp-keybag`);
24
- } else {
25
- expect(kb.rt.url.toString()).toBe(`file://${sthis.env.get("HOME")}/.fireproof/keybag`);
26
- }
27
- sthis.env.set("FP_KEYBAG_URL", old);
28
- });
29
- it("from env", async () => {
30
- const old = sthis.env.get("FP_KEYBAG_URL");
31
- sthis.env.set("FP_KEYBAG_URL", url.toString());
32
- const kb = await rt.kb.getKeyBag(sthis);
33
- expect(kb.rt.url.toString()).toBe(url.toString());
34
- sthis.env.set("FP_KEYBAG_URL", old);
35
- });
36
- it("simple add", async () => {
37
- const kb = await rt.kb.getKeyBag(sthis, {
38
- url: url.toString(),
39
- crypto: toCryptoRuntime({
40
- randomBytes: (size) => new Uint8Array(size).map((_, i) => i),
41
- }),
42
- });
43
- const name = "setkey" + Math.random();
44
- expect((await kb.getNamedKey(name, true)).isErr()).toBeTruthy();
45
-
46
- const key = base58btc.encode(kb.rt.crypto.randomBytes(kb.rt.keyLength));
47
- const res = await kb.getNamedKey(name, false, key);
48
- expect(res.isOk()).toBeTruthy();
49
- expect((await kb.getNamedKey(name, true)).Ok()).toEqual(res.Ok());
50
-
51
- const name2 = "implicit" + Math.random();
52
- const created = await kb.getNamedKey(name2);
53
- expect(created.isOk()).toBeTruthy();
54
-
55
- expect((await kb.getNamedKey(name2)).Ok()).toEqual(created.Ok());
56
-
57
- let diskBag: rt.kb.KeysItem;
58
- let diskBag2: rt.kb.KeysItem;
59
- const provider = await kb.rt.getBagProvider();
60
- if (runtimeFn().isBrowser) {
61
- const p = provider as KeyBagProviderIndexedDB;
62
- diskBag = await p._prepare().then((db) => db.get("bag", name));
63
- diskBag2 = await p._prepare().then((db) => db.get("bag", name2));
64
- } else {
65
- const p = provider as rt.gw.file.KeyBagProviderFile;
66
- const { sysFS } = await p._prepare(name);
67
-
68
- diskBag = await sysFS.readfile((await p._prepare(name)).fName).then((data) => {
69
- return JSON.parse(sthis.txt.decode(data)) as rt.kb.KeysItem;
70
- });
71
- diskBag2 = await sysFS.readfile((await p._prepare(name2)).fName).then((data) => {
72
- return JSON.parse(sthis.txt.decode(data)) as rt.kb.KeysItem;
73
- });
74
- }
75
- expect((await rt.kb.toKeyWithFingerPrint(kb, Object.values(diskBag.keys)[0].key)).Ok().fingerPrint).toEqual(
76
- (await res.Ok().get())?.fingerPrint,
77
- );
78
- expect((await rt.kb.toKeyWithFingerPrint(kb, Object.values(diskBag2.keys)[0].key)).Ok().fingerPrint).toEqual(
79
- (await created.Ok().get())?.fingerPrint,
80
- );
81
- const algo = {
82
- name: "AES-GCM",
83
- iv: kb.rt.crypto.randomBytes(12),
84
- tagLength: 128,
85
- };
86
- const data = kb.rt.crypto.randomBytes(122);
87
- const rkc = (await res.Ok().get()) as bs.KeyWithFingerPrint;
88
- const ckc = (await created.Ok().get()) as bs.KeyWithFingerPrint;
89
- expect(await kb.rt.crypto.encrypt(algo, rkc.key, data)).toEqual(await kb.rt.crypto.encrypt(algo, ckc.key, data));
90
- expect(await kb.rt.crypto.encrypt(algo, await kb.subtleKey(Object.values(diskBag.keys)[0].key), data)).toEqual(
91
- await kb.rt.crypto.encrypt(algo, ckc.key, data),
92
- );
93
- expect(await kb.rt.crypto.encrypt(algo, await kb.subtleKey(Object.values(diskBag2.keys)[0].key), data)).toEqual(
94
- await kb.rt.crypto.encrypt(algo, ckc.key, data),
95
- );
96
- });
97
- });
98
-
99
- describe("KeyedCryptoStore", () => {
100
- let loader: bs.Loadable;
101
- // let logger: Logger;
102
- let baseUrl: URI;
103
- const sthis = ensureSuperThis();
104
- beforeEach(async () => {
105
- await sthis.start();
106
- // logger = MockLogger().logger;
107
- // let kbUrl: URI;
108
- if (runtimeFn().isBrowser) {
109
- // kbUrl = URI.from("indexeddb://fp-keybag");
110
- baseUrl = URI.from("indexeddb://fp-keyed-crypto-store");
111
- } else {
112
- // kbUrl = URI.merge(`file://./dist/tests/key.bag`, sthis.env.get("FP_KEYBAG_URL"));
113
- baseUrl = URI.merge("file://./dist/tests/keyed-crypto-store", sthis.env.get("FP_STORAGE_URL"));
114
- }
115
- baseUrl = baseUrl.build().defParam(PARAM.NAME, "test").URI();
116
- loader = mockLoader(sthis);
117
- });
118
- it("no crypto", async () => {
119
- const url = baseUrl.build().setParam(PARAM.STORE_KEY, "insecure").URI();
120
- for (const pstore of (await bs.createAttachedStores(url, loader, "insecure")).stores.baseStores) {
121
- const store = await pstore;
122
- // await store.start();
123
- const kc = await store.keyedCrypto();
124
- expect(kc.constructor.name).toBe("noCrypto");
125
- // expect(kc.isEncrypting).toBe(false);
126
- }
127
- });
128
- });