@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,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
- });