@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,130 +0,0 @@
1
- import { CID } from "multiformats";
2
- import { BaseBlockstore, bs, CarTransaction, ensureSuperThis } from "@fireproof/core";
3
- import { simpleBlockOpts } from "../helpers.js";
4
- import { anyBlock2FPBlock } from "../../src/blockstore/loader-helpers.js";
5
- import { AnyLink } from "../../src/blockstore/index.js";
6
- import { to_uint8 } from "@adviser/cement";
7
-
8
- describe("Fresh TransactionBlockstore", function () {
9
- let blocks: BaseBlockstore;
10
- const sthis = ensureSuperThis();
11
- beforeEach(async () => {
12
- blocks = new bs.BaseBlockstoreImpl(simpleBlockOpts(sthis));
13
- await blocks.ready();
14
- });
15
- // it("should not have a name", function () {
16
- // expect(blocks.name).toBeFalsy();
17
- // });
18
- // it("should not have a loader", function () {
19
- // expect(blocks.loader).toBeFalsy();
20
- // });
21
- it("should not put", async () => {
22
- const value = sthis.txt.encode("value");
23
- const e = await blocks.put(await anyBlock2FPBlock({ cid: "key" as unknown as AnyLink, bytes: value })).catch((e) => e);
24
- expect(e.message).toMatch(/transaction/g);
25
- });
26
- it("should yield a transaction", async () => {
27
- const txR = await blocks.transaction(async (tblocks) => {
28
- expect(tblocks).toBeTruthy();
29
- expect(tblocks instanceof bs.CarTransactionImpl).toBeTruthy();
30
- return { head: [] };
31
- });
32
- expect(txR).toBeTruthy();
33
- expect(txR.t).toBeTruthy();
34
- expect(txR.meta).toEqual({ head: [] });
35
- });
36
- });
37
-
38
- describe("TransactionBlockstore with name", function () {
39
- let blocks: bs.EncryptedBlockstore;
40
- const sthis = ensureSuperThis();
41
- beforeEach(async () => {
42
- blocks = new bs.EncryptedBlockstore(sthis, simpleBlockOpts(sthis));
43
- await blocks.ready();
44
- });
45
- // it("should have a name", function () {
46
- // expect(blocks.name).toEqual("test");
47
- // });
48
- it("should have a loader", function () {
49
- expect(blocks.loader).toBeTruthy();
50
- });
51
- it("should get from loader", async () => {
52
- const bytes = sthis.txt.encode("bytes");
53
- expect(blocks.loader).toBeTruthy();
54
- blocks.loader.getBlock = async (cid) => {
55
- return anyBlock2FPBlock({ cid, bytes });
56
- };
57
- const value = await blocks.get("key" as unknown as bs.AnyAnyLink);
58
- expect(value).toEqual({ cid: "key" as unknown as bs.AnyAnyLink, bytes });
59
- });
60
- });
61
-
62
- describe("A transaction", function () {
63
- let tblocks: CarTransaction;
64
- let blocks: bs.EncryptedBlockstore;
65
- const sthis = ensureSuperThis();
66
- beforeEach(async () => {
67
- blocks = new bs.EncryptedBlockstore(sthis, simpleBlockOpts(sthis, "test"));
68
- tblocks = new bs.CarTransactionImpl(blocks);
69
- blocks.transactions.add(tblocks);
70
- });
71
- it("should put and get", async () => {
72
- const cid = CID.parse("bafybeia4luuns6dgymy5kau5rm7r4qzrrzg6cglpzpogussprpy42cmcn4");
73
- const bytes = sthis.txt.encode("bytes");
74
- await tblocks.put(await anyBlock2FPBlock({ cid, bytes }));
75
- expect(blocks.transactions.has(tblocks)).toBeTruthy();
76
- const got = await tblocks.get(cid);
77
- assert(got, "missing block");
78
- expect(got.cid).toEqual(cid);
79
- expect(got.bytes).toEqual(bytes);
80
- });
81
- });
82
-
83
- // function asUInt8Array(str: string, sthis: SuperThis) {
84
- // return sthis.txt.encode(str);
85
- // }
86
-
87
- describe("TransactionBlockstore with a completed transaction", function () {
88
- let blocks: BaseBlockstore;
89
- let cid: CID;
90
- let cid2: CID;
91
- const sthis = ensureSuperThis();
92
-
93
- beforeEach(async () => {
94
- cid = CID.parse("bafybeia4luuns6dgymy5kau5rm7r4qzrrzg6cglpzpogussprpy42cmcn4");
95
- cid2 = CID.parse("bafybeibgouhn5ktecpjuovt52zamzvm4dlve5ak7x6d5smms3itkhplnhm");
96
-
97
- blocks = new bs.BaseBlockstoreImpl(simpleBlockOpts(sthis));
98
- await blocks.transaction(async (tblocks) => {
99
- await tblocks.put(await anyBlock2FPBlock({ cid, bytes: to_uint8("value") }));
100
- await tblocks.put(await anyBlock2FPBlock({ cid, bytes: to_uint8("value") }));
101
- return { head: [] };
102
- });
103
- await blocks.transaction(async (tblocks) => {
104
- await tblocks.put(await anyBlock2FPBlock({ cid, bytes: to_uint8("value") }));
105
- await tblocks.put(await anyBlock2FPBlock({ cid: cid2, bytes: to_uint8("value2") }));
106
- return { head: [] };
107
- });
108
- });
109
- it("should have transactions", async () => {
110
- const ts = blocks.transactions;
111
- expect(ts.size).toEqual(2);
112
- });
113
- it("should get", async () => {
114
- const value = (await blocks.get(cid)) as bs.AnyBlock;
115
- expect(value.cid).toEqual(cid);
116
- expect(value.bytes.toString()).toEqual(to_uint8("value").toString());
117
-
118
- const value2 = (await blocks.get(cid2)) as bs.AnyBlock;
119
- expect(value2.bytes.toString()).toEqual(to_uint8("value2").toString());
120
- });
121
- it("should yield entries", async () => {
122
- const blz = [];
123
- for await (const blk of blocks.entries()) {
124
- blz.push(blk);
125
- }
126
- expect(blz.length).toEqual(2);
127
- });
128
- });
129
-
130
- // test compact
@@ -1,461 +0,0 @@
1
- import { Database, Ledger, LedgerFactory, PARAM, bs, ensureSuperThis, fireproof } from "@fireproof/core";
2
-
3
- import { fileContent } from "./cars/bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i.js";
4
- import { simpleCID } from "../helpers.js";
5
- import { BuildURI, Future } from "@adviser/cement";
6
-
7
- describe("noop Gateway", function () {
8
- let db: Ledger;
9
- let carStore: bs.CarStore;
10
- let metaStore: bs.MetaStore;
11
- let fileStore: bs.FileStore;
12
- let walStore: bs.WALStore;
13
- let carGateway: bs.SerdeGateway;
14
- let metaGateway: bs.SerdeGateway;
15
- let fileGateway: bs.SerdeGateway;
16
- let walGateway: bs.SerdeGateway;
17
- const sthis = ensureSuperThis();
18
- let ctx: { loader: bs.Loadable };
19
-
20
- afterEach(async () => {
21
- await db.close();
22
- await db.destroy();
23
- });
24
- beforeEach(async () => {
25
- db = LedgerFactory("test-gateway-" + sthis.nextId().str, {
26
- logger: sthis.logger,
27
- });
28
- await db.ready();
29
- ctx = { loader: db.crdt.blockstore.loader };
30
-
31
- // Extract stores from the loader
32
- carStore = ctx.loader.attachedStores.local().active.car;
33
- metaStore = ctx.loader.attachedStores.local().active.meta;
34
- fileStore = ctx.loader.attachedStores.local().active.file;
35
- walStore = ctx.loader.attachedStores.local().active.wal;
36
-
37
- // Extract and log gateways
38
- carGateway = carStore.realGateway;
39
- metaGateway = metaStore.realGateway;
40
- fileGateway = fileStore.realGateway;
41
- walGateway = walStore.realGateway;
42
- });
43
-
44
- it("should have valid stores and gateways", async () => {
45
- // Add assertions
46
- expect(carStore).toBeTruthy();
47
- expect(metaStore).toBeTruthy();
48
- expect(fileStore).toBeTruthy();
49
- expect(walStore).toBeTruthy();
50
-
51
- expect(carGateway).toBeTruthy();
52
- expect(metaGateway).toBeTruthy();
53
- expect(fileGateway).toBeTruthy();
54
- expect(walGateway).toBeTruthy();
55
- });
56
-
57
- it("should have correct store names", async () => {
58
- // Check that all stores have the correct name
59
- expect(carStore.url().getParam(PARAM.NAME)).toContain("test-gateway");
60
- expect(metaStore.url().getParam(PARAM.NAME)).toContain("test-gateway");
61
- expect(fileStore.url().getParam(PARAM.NAME)).toContain("test-gateway");
62
- expect(walStore.url().getParam(PARAM.NAME)).toContain("test-gateway");
63
- });
64
-
65
- it("should have correct store types in URLs", async () => {
66
- // Check that all stores have the correct store type in their URL
67
- expect(carStore.url().toString()).toContain("store=car");
68
- expect(carStore.url().toString()).toContain("suffix=.car");
69
- expect(metaStore.url().toString()).toContain("store=meta");
70
- expect(fileStore.url().toString()).toContain("store=file");
71
- expect(walStore.url().toString()).toContain("store=wal");
72
- });
73
-
74
- it("should have version specified in URLs", async () => {
75
- // Verify that all stores have a version specified
76
- expect(carStore.url().toString()).toContain("version=");
77
- expect(metaStore.url().toString()).toContain("version=");
78
- expect(fileStore.url().toString()).toContain("version=");
79
- expect(walStore.url().toString()).toContain("version=");
80
- });
81
-
82
- it("should have correct gateway types", async () => {
83
- // Check that all gateways are instances of the expected gateway class
84
- expect(typeof carGateway).toBe("object");
85
- expect(typeof metaGateway).toBe("object");
86
- expect(typeof fileGateway).toBe("object");
87
- expect(typeof walGateway).toBe("object");
88
- });
89
-
90
- it("should build CAR Gateway URL", async () => {
91
- const testKey = "bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i";
92
- const carUrl = await carGateway.buildUrl(ctx, carStore.url(), testKey);
93
- expect(carUrl.Ok().hasParam("key")).toBeTruthy();
94
- });
95
-
96
- it("should start CAR Gateway", async () => {
97
- const url = await carGateway.start(ctx, carStore.url());
98
- expect(url.Ok().asObj()).toEqual(carStore.url().asObj());
99
- });
100
-
101
- it("should put data in CAR Gateway", async () => {
102
- const carUrl = await carGateway.buildUrl(ctx, carStore.url(), fileContent.cid);
103
- await carGateway.start(ctx, carStore.url());
104
- const carPutResult = await carGateway.put(ctx, carUrl.Ok(), {
105
- type: bs.FPEnvelopeTypes.CAR,
106
- payload: fileContent.block,
107
- });
108
- expect(carPutResult.isOk()).toBeTruthy();
109
- });
110
-
111
- it("should get data from CAR Gateway", async () => {
112
- const carUrl = await carGateway.buildUrl(ctx, carStore.url(), fileContent.cid);
113
- await carGateway.start(ctx, carStore.url());
114
- await carGateway.put(ctx, carUrl.Ok(), {
115
- type: bs.FPEnvelopeTypes.CAR,
116
- payload: fileContent.block,
117
- });
118
- const carGetResult = await carGateway.get(ctx, carUrl.Ok());
119
- expect(carGetResult.Ok().type).toEqual("car");
120
- expect(carGetResult.Ok().payload).toEqual(fileContent.block);
121
- // customExpect(carGetResult.Ok(), (v) => expect(v).toEqual(testData), "carGetResult should match testData");
122
- });
123
-
124
- it("should delete data from CAR Gateway", async () => {
125
- const carUrl = await carGateway.buildUrl(ctx, carStore.url(), fileContent.cid);
126
- await carGateway.start(ctx, carStore.url());
127
- await carGateway.put(ctx, carUrl.Ok(), {
128
- type: bs.FPEnvelopeTypes.CAR,
129
- payload: fileContent.block,
130
- });
131
- const carDeleteResult = await carGateway.delete(ctx, carUrl.Ok());
132
- expect(carDeleteResult.isOk()).toBeTruthy();
133
- });
134
-
135
- it("should close CAR Gateway", async () => {
136
- await carGateway.close(ctx, carStore.url());
137
- });
138
- it("should build Meta Gateway URL", async () => {
139
- const metaUrl = await metaGateway.buildUrl(ctx, metaStore.url(), "main");
140
- expect(metaUrl.Ok()).toBeTruthy();
141
- });
142
-
143
- it("should start Meta Gateway", async () => {
144
- await metaGateway.start(ctx, metaStore.url());
145
- });
146
-
147
- it("should close Meta Gateway", async () => {
148
- await metaGateway.start(ctx, metaStore.url());
149
- await metaGateway.close(ctx, metaStore.url());
150
- });
151
-
152
- it("should build File Gateway URL", async () => {
153
- const fileUrl = await fileGateway.buildUrl(ctx, fileStore.url(), fileContent.cid);
154
- expect(fileUrl.Ok()).toBeTruthy();
155
- });
156
-
157
- it("should start File Gateway", async () => {
158
- await fileGateway.start(ctx, fileStore.url());
159
- });
160
-
161
- it("should put data to File Gateway", async () => {
162
- const fileUrl = await fileGateway.buildUrl(ctx, fileStore.url(), fileContent.cid);
163
- await fileGateway.start(ctx, fileStore.url());
164
- const filePutResult = await fileGateway.put(ctx, fileUrl.Ok(), {
165
- type: bs.FPEnvelopeTypes.FILE,
166
- payload: fileContent.block,
167
- });
168
- expect(filePutResult.Ok()).toBeFalsy();
169
- });
170
-
171
- it("should get data from File Gateway", async () => {
172
- const fileUrl = await fileGateway.buildUrl(ctx, fileStore.url(), fileContent.cid);
173
- await fileGateway.start(ctx, fileStore.url());
174
- await fileGateway.put(ctx, fileUrl.Ok(), {
175
- type: bs.FPEnvelopeTypes.FILE,
176
- payload: fileContent.block,
177
- });
178
- const fileGetResult = await fileGateway.get(ctx, fileUrl.Ok());
179
- expect(fileGetResult.Ok().type).toEqual("file");
180
- expect(fileGetResult.Ok().payload).toEqual(fileContent.block);
181
- });
182
-
183
- it("should delete data from File Gateway", async () => {
184
- const fileUrl = await fileGateway.buildUrl(ctx, fileStore.url(), fileContent.cid);
185
- await fileGateway.start(ctx, fileStore.url());
186
- await fileGateway.put(ctx, fileUrl.Ok(), {
187
- type: bs.FPEnvelopeTypes.FILE,
188
- payload: fileContent.block,
189
- });
190
- const fileDeleteResult = await fileGateway.delete(ctx, fileUrl.Ok());
191
- expect(fileDeleteResult.isOk()).toBeTruthy();
192
- });
193
-
194
- it("should close File Gateway", async () => {
195
- await fileGateway.close(ctx, fileStore.url());
196
- });
197
- it("should build WAL Gateway URL", async () => {
198
- const testKey = "bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i";
199
- const walUrl = await walGateway.buildUrl(ctx, walStore.url(), testKey);
200
- expect(walUrl.Ok()).toBeTruthy();
201
- });
202
-
203
- it("should start WAL Gateway", async () => {
204
- await walGateway.start(ctx, walStore.url());
205
- });
206
-
207
- it("should put data to WAL Gateway", async () => {
208
- const testKey = "bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i";
209
- const walUrl = await walGateway.buildUrl(ctx, walStore.url(), testKey);
210
- await walGateway.start(ctx, walStore.url());
211
- // const walTestDataString = JSON.stringify();
212
- // const walTestData = sthis.txt.encode(walTestDataString);
213
- const walPutResult = await walGateway.put(ctx, walUrl.Ok(), {
214
- type: bs.FPEnvelopeTypes.WAL,
215
- payload: {
216
- operations: [],
217
- noLoaderOps: [],
218
- fileOperations: [],
219
- },
220
- });
221
- expect(walPutResult.Ok()).toBeFalsy();
222
- });
223
-
224
- it("should get data from WAL Gateway", async () => {
225
- const testKey = "bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i";
226
- const walUrl = await walGateway.buildUrl(ctx, walStore.url(), testKey);
227
- await walGateway.start(ctx, walStore.url());
228
- const ref: bs.WALState = {
229
- operations: [
230
- {
231
- cars: [await simpleCID(sthis)],
232
- },
233
- ],
234
- noLoaderOps: [
235
- {
236
- cars: [await simpleCID(sthis)],
237
- },
238
- ],
239
- fileOperations: [
240
- {
241
- cid: await simpleCID(sthis),
242
- public: false,
243
- },
244
- ],
245
- };
246
- // const walTestDataString = JSON.stringify({
247
- // operations: [],
248
- // noLoaderOps: [],
249
- // fileOperations: [],
250
- // });
251
- // const walTestData = sthis.txt.encode(walTestDataString);
252
- await walGateway.put(ctx, walUrl.Ok(), {
253
- type: bs.FPEnvelopeTypes.WAL,
254
- payload: ref,
255
- });
256
- const walGetResult = await walGateway.get(ctx, walUrl.Ok());
257
- expect(walGetResult.isOk()).toBeTruthy();
258
- // const okResult = walGetResult.Ok();
259
- // const decodedResult = sthis.txt.decode(okResult);
260
- expect(ref).toEqual(walGetResult.Ok().payload);
261
- });
262
-
263
- it("should delete data from WAL Gateway", async () => {
264
- const testKey = "bafkreidxwt2nhvbl4fnqfw3ctlt6zbrir4kqwmjo5im6rf4q5si27kgo2i";
265
- const walUrl = await walGateway.buildUrl(ctx, walStore.url(), testKey);
266
- await walGateway.start(ctx, walStore.url());
267
- const ref: bs.WALState = {
268
- operations: [
269
- {
270
- cars: [await simpleCID(sthis)],
271
- },
272
- ],
273
- noLoaderOps: [
274
- {
275
- cars: [await simpleCID(sthis)],
276
- },
277
- ],
278
- fileOperations: [
279
- {
280
- cid: await simpleCID(sthis),
281
- public: false,
282
- },
283
- ],
284
- };
285
- await walGateway.put(ctx, walUrl.Ok(), {
286
- type: bs.FPEnvelopeTypes.WAL,
287
- payload: ref,
288
- });
289
- const walDeleteResult = await walGateway.delete(ctx, walUrl.Ok());
290
- expect(walDeleteResult.isOk()).toBeTruthy();
291
- });
292
-
293
- it("should close WAL Gateway", async () => {
294
- await walGateway.start(ctx, walStore.url());
295
- await walGateway.close(ctx, walStore.url());
296
- });
297
-
298
- // it("should have correct CAR Gateway properties", async () =>{
299
- // // CAR Gateway assertions
300
- // expect(carGateway.fidLength).toBe(4);
301
- // expect(carGateway.headerSize).toBe(36);
302
- // carGateway.logger.Error().Msg("CAR Gateway properties");
303
- // await sthis.logger.Flush();
304
- // const last = sthis.ctx.logCollector.Logs().slice(-1)[0];
305
- // expect(last).toHaveProperty("module");
306
- // expect(carStore.).toHaveProperty("url");
307
- // });
308
-
309
- // it("should have correct Meta Gateway properties", async () =>{
310
- // // Meta Gateway assertions
311
- // expect(metaGateway.fidLength).toBe(4);
312
- // expect(metaGateway.headerSize).toBe(36);
313
- // metaGateway.logger.Error().Msg("CAR Gateway properties");
314
- // await sthis.logger.Flush();
315
- // const last = sthis.ctx.logCollector.Logs().slice(-1)[0];
316
- // expect(last).toHaveProperty("module");
317
- // expect(last).not.toHaveProperty("url");
318
- // });
319
-
320
- // it("should have correct File Gateway properties", async () =>{
321
- // // File Gateway assertions
322
- // expect(fileGateway.fidLength).toBe(4);
323
- // expect(fileGateway.headerSize).toBe(36);
324
- // fileGateway.logger.Error().Msg("CAR Gateway properties");
325
- // await sthis.logger.Flush();
326
- // const last = sthis.ctx.logCollector.Logs().slice(-1)[0];
327
- // expect(last).toHaveProperty("module");
328
- // expect(last).toHaveProperty("url");
329
- // });
330
-
331
- // it("should have correct WAL Gateway properties", async () =>{
332
- // // WAL Gateway assertions
333
- // expect(walGateway.fidLength).toBe(4);
334
- // expect(walGateway.headerSize).toBe(36);
335
- // walGateway.logger.Error().Msg("CAR Gateway properties");
336
- // await sthis.logger.Flush();
337
- // const last = sthis.ctx.logCollector.Logs().slice(-1)[0];
338
- // expect(last).toHaveProperty("module");
339
- // expect(last).not.toHaveProperty("url");
340
- // });
341
- });
342
-
343
- describe("noop Gateway subscribe", function () {
344
- let db: Database;
345
-
346
- let metaStore: bs.MetaStore;
347
-
348
- let metaGateway: bs.SerdeGateway;
349
- const sthis = ensureSuperThis();
350
- let ctx: bs.SerdeGatewayCtx;
351
-
352
- afterEach(async () => {
353
- await db.close();
354
- await db.destroy();
355
- });
356
- beforeEach(async () => {
357
- db = fireproof("test-gateway-" + sthis.nextId().str);
358
- await db.close();
359
-
360
- db = fireproof("test-gateway-" + sthis.nextId().str, {
361
- storeUrls: {
362
- ...db.ledger.opts.storeUrls,
363
- data: {
364
- ...db.ledger.opts.storeUrls.data,
365
- meta: BuildURI.from(db.ledger.opts.storeUrls.data.meta).setParam(PARAM.SELF_REFLECT, "x").URI(),
366
- },
367
- },
368
- });
369
-
370
- await db.ready();
371
-
372
- ctx = { loader: db.ledger.crdt.blockstore.loader };
373
- // Extract stores from the loader
374
- metaStore = db.ledger.crdt.blockstore.loader.attachedStores.local().active.meta;
375
-
376
- metaGateway = metaStore.realGateway;
377
- });
378
- it("should subscribe to meta Gateway", async () => {
379
- const metaUrl = await metaGateway.buildUrl(ctx, metaStore.url(), "main");
380
- await metaGateway.start(ctx, metaStore.url());
381
-
382
- let didCall = false;
383
- const p = new Future<void>();
384
-
385
- const metaSubscribeResult = (await metaGateway.subscribe(
386
- ctx,
387
- metaUrl.Ok().build().setParam(PARAM.SELF_REFLECT, "x").URI(),
388
- async (data: bs.FPEnvelopeMeta) => {
389
- // const decodedData = sthis.txt.decode(data);
390
- expect(Array.isArray(data.payload)).toBeTruthy();
391
- didCall = true;
392
- p.resolve();
393
- },
394
- )) as bs.UnsubscribeResult;
395
- expect(metaSubscribeResult.isOk()).toBeTruthy();
396
- const ok = await db.put({ _id: "key1", hello: "world1" });
397
- expect(ok).toBeTruthy();
398
- expect(ok.id).toBe("key1");
399
- await p.asPromise();
400
- expect(didCall).toBeTruthy();
401
- });
402
- });
403
-
404
- describe("Gateway", function () {
405
- let db: Database;
406
- // let carStore: ExtendedStore;
407
- let metaStore: bs.MetaStore;
408
- // let fileStore: ExtendedStore;
409
- // let walStore: ExtendedStore;
410
- // let carGateway: ExtendedGateway;
411
- let metaGateway: bs.SerdeGateway;
412
- // let fileGateway: ExtendedGateway;
413
- // let walGateway: ExtendedGateway;
414
- const sthis = ensureSuperThis();
415
-
416
- let ctx: bs.SerdeGatewayCtx;
417
-
418
- afterEach(async () => {
419
- await db.close();
420
- await db.destroy();
421
- });
422
- beforeEach(async () => {
423
- db = fireproof("test-gateway-" + sthis.nextId().str);
424
- ctx = { loader: db.ledger.crdt.blockstore.loader };
425
- const ok = await db.put({ _id: "test", foo: "bar" });
426
- expect(ok).toBeTruthy();
427
- expect(ok.id).toBe("test");
428
-
429
- // Extract stores from the loader
430
- // carStore = (await db.blockstore.loader.carStore()) as unknown as ExtendedStore;
431
- metaStore = db.ledger.crdt.blockstore.loader.attachedStores.local().active.meta;
432
- // fileStore = (await db.blockstore.loader.fileStore()) as unknown as ExtendedStore;
433
- // walStore = (await db.blockstore.loader.WALStore()) as unknown as ExtendedStore;
434
-
435
- // Extract and log gateways
436
- // carGateway = carStore.gateway;
437
- metaGateway = metaStore.realGateway;
438
- // fileGateway = fileStore.gateway;
439
- // walGateway = walStore.gateway;
440
- });
441
-
442
- it("should get data from Meta Gateway", async () => {
443
- const metaUrl = await metaGateway.buildUrl(ctx, metaStore.url(), "main");
444
- await metaGateway.start(ctx, metaStore.url());
445
- const metaGetResult = await metaGateway.get(ctx, metaUrl.Ok());
446
- expect(metaGetResult.isOk()).toBeTruthy();
447
- const meta = metaGetResult.Ok().payload as bs.DbMetaEvent[];
448
- // const metaGetResultOk = metaGetResult.Ok();
449
- // const decodedMetaGetResultOk = sthis.txt.decode(metaGetResultOk);
450
- expect(meta.length).toBe(1);
451
- expect(Object.keys(meta[0])).toEqual(["eventCid", "parents", "dbMeta"]);
452
- });
453
-
454
- it("should delete data from Meta Gateway", async () => {
455
- const metaUrl = await metaGateway.buildUrl(ctx, metaStore.url(), "main");
456
- await metaGateway.start(ctx, metaStore.url());
457
- // should we be testing .destroy() instead?
458
- const metaDeleteResult = await metaGateway.delete(ctx, metaUrl.Ok());
459
- expect(metaDeleteResult.isOk()).toBeTruthy();
460
- });
461
- });