@fireproof/vendor 0.0.0-smoke → 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 (489) hide show
  1. package/merge-package.ts +207 -0
  2. package/p-limit/index.d.ts +81 -0
  3. package/p-limit/index.js +104 -0
  4. package/p-limit/index.test-d.ts +19 -0
  5. package/p-limit/license +9 -0
  6. package/p-limit/package.json +59 -0
  7. package/p-limit/readme.md +128 -0
  8. package/p-limit/test.js +241 -0
  9. package/package.json +12 -9
  10. package/to-esm-transform.ts +42 -0
  11. package/patched/@ipld/dag-json/.github/dependabot.yml +0 -11
  12. package/patched/@ipld/dag-json/.github/workflows/js-test-and-release.yml +0 -28
  13. package/patched/@ipld/dag-json/CHANGELOG.md +0 -202
  14. package/patched/@ipld/dag-json/LICENSE +0 -4
  15. package/patched/@ipld/dag-json/LICENSE-APACHE +0 -5
  16. package/patched/@ipld/dag-json/LICENSE-MIT +0 -19
  17. package/patched/@ipld/dag-json/README.md +0 -58
  18. package/patched/@ipld/dag-json/ipld-dag-json-10.2.3.tgz +0 -0
  19. package/patched/@ipld/dag-json/package.json +0 -173
  20. package/patched/@ipld/dag-json/src/index.js +0 -291
  21. package/patched/@ipld/dag-json/test/test-basics.spec.js +0 -290
  22. package/patched/@ipld/dag-json/test/ts-use/package.json +0 -11
  23. package/patched/@ipld/dag-json/test/ts-use/src/main.ts +0 -54
  24. package/patched/@ipld/dag-json/test/ts-use/tsconfig.json +0 -9
  25. package/patched/@ipld/dag-json/tsconfig.json +0 -14
  26. package/patched/cborg/.github/dependabot.yml +0 -16
  27. package/patched/cborg/.github/workflows/test-and-release.yml +0 -52
  28. package/patched/cborg/CHANGELOG.md +0 -513
  29. package/patched/cborg/LICENSE +0 -13
  30. package/patched/cborg/README.md +0 -515
  31. package/patched/cborg/bench/bench.js +0 -117
  32. package/patched/cborg/bench/json.js +0 -124
  33. package/patched/cborg/bench/package.json +0 -8
  34. package/patched/cborg/cborg-4.2.7.tgz +0 -0
  35. package/patched/cborg/cborg.js +0 -31
  36. package/patched/cborg/example-bytestrings.js +0 -180
  37. package/patched/cborg/example-json.js +0 -6
  38. package/patched/cborg/example.js +0 -5
  39. package/patched/cborg/interface.ts +0 -56
  40. package/patched/cborg/lib/0uint.js +0 -227
  41. package/patched/cborg/lib/1negint.js +0 -111
  42. package/patched/cborg/lib/2bytes.js +0 -133
  43. package/patched/cborg/lib/3string.js +0 -90
  44. package/patched/cborg/lib/4array.js +0 -113
  45. package/patched/cborg/lib/5map.js +0 -113
  46. package/patched/cborg/lib/6tag.js +0 -80
  47. package/patched/cborg/lib/7float.js +0 -308
  48. package/patched/cborg/lib/bin.js +0 -189
  49. package/patched/cborg/lib/bl.js +0 -124
  50. package/patched/cborg/lib/byte-utils.js +0 -417
  51. package/patched/cborg/lib/common.js +0 -27
  52. package/patched/cborg/lib/decode.js +0 -209
  53. package/patched/cborg/lib/diagnostic.js +0 -156
  54. package/patched/cborg/lib/diagnostic_test.js +0 -117
  55. package/patched/cborg/lib/encode.js +0 -464
  56. package/patched/cborg/lib/is.js +0 -106
  57. package/patched/cborg/lib/json/decode.js +0 -462
  58. package/patched/cborg/lib/json/encode.js +0 -299
  59. package/patched/cborg/lib/json/json.js +0 -4
  60. package/patched/cborg/lib/jump.js +0 -209
  61. package/patched/cborg/lib/length.js +0 -61
  62. package/patched/cborg/lib/token.js +0 -76
  63. package/patched/cborg/package.json +0 -169
  64. package/patched/cborg/pnpm-lock.yaml +0 -6096
  65. package/patched/cborg/taglib.js +0 -73
  66. package/patched/cborg/test/appendix_a.js +0 -647
  67. package/patched/cborg/test/common.js +0 -18
  68. package/patched/cborg/test/node-test-bin.js +0 -402
  69. package/patched/cborg/test/noop-bin-test.js +0 -3
  70. package/patched/cborg/test/test-0uint.js +0 -103
  71. package/patched/cborg/test/test-1negint.js +0 -96
  72. package/patched/cborg/test/test-2bytes.js +0 -198
  73. package/patched/cborg/test/test-3string.js +0 -136
  74. package/patched/cborg/test/test-4array.js +0 -93
  75. package/patched/cborg/test/test-5map.js +0 -284
  76. package/patched/cborg/test/test-6tag.js +0 -85
  77. package/patched/cborg/test/test-7float.js +0 -131
  78. package/patched/cborg/test/test-bl.js +0 -37
  79. package/patched/cborg/test/test-cbor-vectors.js +0 -107
  80. package/patched/cborg/test/test-decode-errors.js +0 -65
  81. package/patched/cborg/test/test-fuzz.js +0 -42
  82. package/patched/cborg/test/test-json.js +0 -219
  83. package/patched/cborg/test/test-length.js +0 -65
  84. package/patched/cborg/test/test-partial.js +0 -111
  85. package/patched/cborg/tsconfig.json +0 -45
  86. package/patched/cborg/types/cborg.d.ts +0 -28
  87. package/patched/cborg/types/cborg.d.ts.map +0 -1
  88. package/patched/cborg/types/example.d.ts +0 -2
  89. package/patched/cborg/types/example.d.ts.map +0 -1
  90. package/patched/cborg/types/interface.d.ts +0 -47
  91. package/patched/cborg/types/interface.d.ts.map +0 -1
  92. package/patched/cborg/types/lib/0uint.d.ts +0 -100
  93. package/patched/cborg/types/lib/0uint.d.ts.map +0 -1
  94. package/patched/cborg/types/lib/1negint.d.ts +0 -58
  95. package/patched/cborg/types/lib/1negint.d.ts.map +0 -1
  96. package/patched/cborg/types/lib/2bytes.d.ts +0 -68
  97. package/patched/cborg/types/lib/2bytes.d.ts.map +0 -1
  98. package/patched/cborg/types/lib/3string.d.ts +0 -46
  99. package/patched/cborg/types/lib/3string.d.ts.map +0 -1
  100. package/patched/cborg/types/lib/4array.d.ts +0 -65
  101. package/patched/cborg/types/lib/4array.d.ts.map +0 -1
  102. package/patched/cborg/types/lib/5map.d.ts +0 -65
  103. package/patched/cborg/types/lib/5map.d.ts.map +0 -1
  104. package/patched/cborg/types/lib/6tag.d.ts +0 -61
  105. package/patched/cborg/types/lib/6tag.d.ts.map +0 -1
  106. package/patched/cborg/types/lib/7float.d.ts +0 -60
  107. package/patched/cborg/types/lib/7float.d.ts.map +0 -1
  108. package/patched/cborg/types/lib/bin.d.ts +0 -4
  109. package/patched/cborg/types/lib/bin.d.ts.map +0 -1
  110. package/patched/cborg/types/lib/bl.d.ts +0 -26
  111. package/patched/cborg/types/lib/bl.d.ts.map +0 -1
  112. package/patched/cborg/types/lib/byte-utils.d.ts +0 -53
  113. package/patched/cborg/types/lib/byte-utils.d.ts.map +0 -1
  114. package/patched/cborg/types/lib/common.d.ts +0 -10
  115. package/patched/cborg/types/lib/common.d.ts.map +0 -1
  116. package/patched/cborg/types/lib/decode.d.ts +0 -41
  117. package/patched/cborg/types/lib/decode.d.ts.map +0 -1
  118. package/patched/cborg/types/lib/diagnostic.d.ts +0 -12
  119. package/patched/cborg/types/lib/diagnostic.d.ts.map +0 -1
  120. package/patched/cborg/types/lib/diagnostic_test.d.ts +0 -2
  121. package/patched/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
  122. package/patched/cborg/types/lib/encode.d.ts +0 -50
  123. package/patched/cborg/types/lib/encode.d.ts.map +0 -1
  124. package/patched/cborg/types/lib/is.d.ts +0 -6
  125. package/patched/cborg/types/lib/is.d.ts.map +0 -1
  126. package/patched/cborg/types/lib/json/decode.d.ts +0 -67
  127. package/patched/cborg/types/lib/json/decode.d.ts.map +0 -1
  128. package/patched/cborg/types/lib/json/encode.d.ts +0 -11
  129. package/patched/cborg/types/lib/json/encode.d.ts.map +0 -1
  130. package/patched/cborg/types/lib/json/forward-cborg.d.ts +0 -6
  131. package/patched/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
  132. package/patched/cborg/types/lib/json/json.d.ts +0 -6
  133. package/patched/cborg/types/lib/json/json.d.ts.map +0 -1
  134. package/patched/cborg/types/lib/jump.d.ts +0 -12
  135. package/patched/cborg/types/lib/jump.d.ts.map +0 -1
  136. package/patched/cborg/types/lib/length.d.ts +0 -27
  137. package/patched/cborg/types/lib/length.d.ts.map +0 -1
  138. package/patched/cborg/types/lib/token.d.ts +0 -59
  139. package/patched/cborg/types/lib/token.d.ts.map +0 -1
  140. package/patched/cborg/types/taglib.d.ts +0 -18
  141. package/patched/cborg/types/taglib.d.ts.map +0 -1
  142. package/patched/cborg/types/tsconfig.tsbuildinfo +0 -1
  143. package/src/@ipld/car/car/LICENSE +0 -4
  144. package/src/@ipld/car/car/README.md +0 -1078
  145. package/src/@ipld/car/car/dist/index.min.js +0 -5
  146. package/src/@ipld/car/car/dist/src/api.d.ts +0 -72
  147. package/src/@ipld/car/car/dist/src/api.d.ts.map +0 -1
  148. package/src/@ipld/car/car/dist/src/buffer-decoder.d.ts +0 -67
  149. package/src/@ipld/car/car/dist/src/buffer-decoder.d.ts.map +0 -1
  150. package/src/@ipld/car/car/dist/src/buffer-reader-browser.d.ts +0 -116
  151. package/src/@ipld/car/car/dist/src/buffer-reader-browser.d.ts.map +0 -1
  152. package/src/@ipld/car/car/dist/src/buffer-reader.d.ts +0 -31
  153. package/src/@ipld/car/car/dist/src/buffer-reader.d.ts.map +0 -1
  154. package/src/@ipld/car/car/dist/src/buffer-writer.d.ts +0 -86
  155. package/src/@ipld/car/car/dist/src/buffer-writer.d.ts.map +0 -1
  156. package/src/@ipld/car/car/dist/src/coding.d.ts +0 -49
  157. package/src/@ipld/car/car/dist/src/coding.d.ts.map +0 -1
  158. package/src/@ipld/car/car/dist/src/decoder-common.d.ts +0 -43
  159. package/src/@ipld/car/car/dist/src/decoder-common.d.ts.map +0 -1
  160. package/src/@ipld/car/car/dist/src/decoder.d.ts +0 -87
  161. package/src/@ipld/car/car/dist/src/decoder.d.ts.map +0 -1
  162. package/src/@ipld/car/car/dist/src/encoder.d.ts +0 -17
  163. package/src/@ipld/car/car/dist/src/encoder.d.ts.map +0 -1
  164. package/src/@ipld/car/car/dist/src/header-validator.d.ts +0 -5
  165. package/src/@ipld/car/car/dist/src/header-validator.d.ts.map +0 -1
  166. package/src/@ipld/car/car/dist/src/index-browser.d.ts +0 -10
  167. package/src/@ipld/car/car/dist/src/index-browser.d.ts.map +0 -1
  168. package/src/@ipld/car/car/dist/src/index.d.ts +0 -11
  169. package/src/@ipld/car/car/dist/src/index.d.ts.map +0 -1
  170. package/src/@ipld/car/car/dist/src/indexed-reader-browser.d.ts +0 -5
  171. package/src/@ipld/car/car/dist/src/indexed-reader-browser.d.ts.map +0 -1
  172. package/src/@ipld/car/car/dist/src/indexed-reader.d.ts +0 -152
  173. package/src/@ipld/car/car/dist/src/indexed-reader.d.ts.map +0 -1
  174. package/src/@ipld/car/car/dist/src/indexer.d.ts +0 -95
  175. package/src/@ipld/car/car/dist/src/indexer.d.ts.map +0 -1
  176. package/src/@ipld/car/car/dist/src/iterator-channel.d.ts +0 -7
  177. package/src/@ipld/car/car/dist/src/iterator-channel.d.ts.map +0 -1
  178. package/src/@ipld/car/car/dist/src/iterator.d.ts +0 -174
  179. package/src/@ipld/car/car/dist/src/iterator.d.ts.map +0 -1
  180. package/src/@ipld/car/car/dist/src/reader-browser.d.ts +0 -151
  181. package/src/@ipld/car/car/dist/src/reader-browser.d.ts.map +0 -1
  182. package/src/@ipld/car/car/dist/src/reader.d.ts +0 -35
  183. package/src/@ipld/car/car/dist/src/reader.d.ts.map +0 -1
  184. package/src/@ipld/car/car/dist/src/writer-browser.d.ts +0 -155
  185. package/src/@ipld/car/car/dist/src/writer-browser.d.ts.map +0 -1
  186. package/src/@ipld/car/car/dist/src/writer.d.ts +0 -45
  187. package/src/@ipld/car/car/dist/src/writer.d.ts.map +0 -1
  188. package/src/@ipld/car/car/node_modules/.bin/cborg +0 -17
  189. package/src/@ipld/car/car/package.json +0 -235
  190. package/src/@ipld/car/car/src/api.ts +0 -90
  191. package/src/@ipld/car/car/src/buffer-decoder.js +0 -213
  192. package/src/@ipld/car/car/src/buffer-reader-browser.js +0 -144
  193. package/src/@ipld/car/car/src/buffer-reader.js +0 -51
  194. package/src/@ipld/car/car/src/buffer-writer.js +0 -286
  195. package/src/@ipld/car/car/src/coding.ts +0 -68
  196. package/src/@ipld/car/car/src/decoder-common.js +0 -82
  197. package/src/@ipld/car/car/src/decoder.js +0 -347
  198. package/src/@ipld/car/car/src/encoder.js +0 -76
  199. package/src/@ipld/car/car/src/header-validator.js +0 -214
  200. package/src/@ipld/car/car/src/header.ipldsch +0 -18
  201. package/src/@ipld/car/car/src/index-browser.js +0 -18
  202. package/src/@ipld/car/car/src/index.js +0 -21
  203. package/src/@ipld/car/car/src/indexed-reader-browser.js +0 -7
  204. package/src/@ipld/car/car/src/indexed-reader.js +0 -211
  205. package/src/@ipld/car/car/src/indexer.js +0 -130
  206. package/src/@ipld/car/car/src/iterator-channel.js +0 -91
  207. package/src/@ipld/car/car/src/iterator.js +0 -267
  208. package/src/@ipld/car/car/src/reader-browser.js +0 -194
  209. package/src/@ipld/car/car/src/reader.js +0 -56
  210. package/src/@ipld/car/car/src/writer-browser.js +0 -250
  211. package/src/@ipld/car/car/src/writer.js +0 -84
  212. package/src/@ipld/dag-cbor/dag-cbor/LICENSE +0 -4
  213. package/src/@ipld/dag-cbor/dag-cbor/README.md +0 -80
  214. package/src/@ipld/dag-cbor/dag-cbor/dist/index.min.js +0 -3
  215. package/src/@ipld/dag-cbor/dag-cbor/dist/src/index.d.ts +0 -67
  216. package/src/@ipld/dag-cbor/dag-cbor/dist/src/index.d.ts.map +0 -1
  217. package/src/@ipld/dag-cbor/dag-cbor/node_modules/.bin/cborg +0 -17
  218. package/src/@ipld/dag-cbor/dag-cbor/package.json +0 -171
  219. package/src/@ipld/dag-cbor/dag-cbor/src/index.js +0 -147
  220. package/src/@ipld/dag-json/dag-json/LICENSE +0 -4
  221. package/src/@ipld/dag-json/dag-json/README.md +0 -58
  222. package/src/@ipld/dag-json/dag-json/dist/index.min.js +0 -3
  223. package/src/@ipld/dag-json/dag-json/dist/src/index.d.ts +0 -12
  224. package/src/@ipld/dag-json/dag-json/dist/src/index.d.ts.map +0 -1
  225. package/src/@ipld/dag-json/dag-json/node_modules/.bin/cborg +0 -17
  226. package/src/@ipld/dag-json/dag-json/package.json +0 -173
  227. package/src/@ipld/dag-json/dag-json/src/index.js +0 -291
  228. package/src/@web3-storage/pail/pail/LICENSE.md +0 -232
  229. package/src/@web3-storage/pail/pail/README.md +0 -84
  230. package/src/@web3-storage/pail/pail/cli.js +0 -218
  231. package/src/@web3-storage/pail/pail/dist/src/api.d.ts +0 -59
  232. package/src/@web3-storage/pail/pail/dist/src/api.d.ts.map +0 -1
  233. package/src/@web3-storage/pail/pail/dist/src/batch/api.d.ts +0 -31
  234. package/src/@web3-storage/pail/pail/dist/src/batch/api.d.ts.map +0 -1
  235. package/src/@web3-storage/pail/pail/dist/src/batch/index.d.ts +0 -75
  236. package/src/@web3-storage/pail/pail/dist/src/batch/index.d.ts.map +0 -1
  237. package/src/@web3-storage/pail/pail/dist/src/batch/shard.d.ts +0 -3
  238. package/src/@web3-storage/pail/pail/dist/src/batch/shard.d.ts.map +0 -1
  239. package/src/@web3-storage/pail/pail/dist/src/block.d.ts +0 -35
  240. package/src/@web3-storage/pail/pail/dist/src/block.d.ts.map +0 -1
  241. package/src/@web3-storage/pail/pail/dist/src/clock/api.d.ts +0 -10
  242. package/src/@web3-storage/pail/pail/dist/src/clock/api.d.ts.map +0 -1
  243. package/src/@web3-storage/pail/pail/dist/src/clock/index.d.ts +0 -48
  244. package/src/@web3-storage/pail/pail/dist/src/clock/index.d.ts.map +0 -1
  245. package/src/@web3-storage/pail/pail/dist/src/crdt/api.d.ts +0 -26
  246. package/src/@web3-storage/pail/pail/dist/src/crdt/api.d.ts.map +0 -1
  247. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/api.d.ts +0 -11
  248. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/api.d.ts.map +0 -1
  249. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/index.d.ts +0 -5
  250. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/index.d.ts.map +0 -1
  251. package/src/@web3-storage/pail/pail/dist/src/crdt/index.d.ts +0 -9
  252. package/src/@web3-storage/pail/pail/dist/src/crdt/index.d.ts.map +0 -1
  253. package/src/@web3-storage/pail/pail/dist/src/diff.d.ts +0 -13
  254. package/src/@web3-storage/pail/pail/dist/src/diff.d.ts.map +0 -1
  255. package/src/@web3-storage/pail/pail/dist/src/index.d.ts +0 -10
  256. package/src/@web3-storage/pail/pail/dist/src/index.d.ts.map +0 -1
  257. package/src/@web3-storage/pail/pail/dist/src/merge.d.ts +0 -5
  258. package/src/@web3-storage/pail/pail/dist/src/merge.d.ts.map +0 -1
  259. package/src/@web3-storage/pail/pail/dist/src/shard.d.ts +0 -43
  260. package/src/@web3-storage/pail/pail/dist/src/shard.d.ts.map +0 -1
  261. package/src/@web3-storage/pail/pail/dist/tsconfig.tsbuildinfo +0 -1
  262. package/src/@web3-storage/pail/pail/node_modules/.bin/pail +0 -17
  263. package/src/@web3-storage/pail/pail/package.json +0 -173
  264. package/src/@web3-storage/pail/pail/src/api.js +0 -1
  265. package/src/@web3-storage/pail/pail/src/api.ts +0 -90
  266. package/src/@web3-storage/pail/pail/src/batch/api.js +0 -1
  267. package/src/@web3-storage/pail/pail/src/batch/api.ts +0 -59
  268. package/src/@web3-storage/pail/pail/src/batch/index.js +0 -258
  269. package/src/@web3-storage/pail/pail/src/batch/shard.js +0 -13
  270. package/src/@web3-storage/pail/pail/src/block.js +0 -75
  271. package/src/@web3-storage/pail/pail/src/clock/api.js +0 -1
  272. package/src/@web3-storage/pail/pail/src/clock/api.ts +0 -12
  273. package/src/@web3-storage/pail/pail/src/clock/index.js +0 -182
  274. package/src/@web3-storage/pail/pail/src/crdt/api.js +0 -1
  275. package/src/@web3-storage/pail/pail/src/crdt/api.ts +0 -33
  276. package/src/@web3-storage/pail/pail/src/crdt/batch/api.js +0 -1
  277. package/src/@web3-storage/pail/pail/src/crdt/batch/api.ts +0 -30
  278. package/src/@web3-storage/pail/pail/src/crdt/batch/index.js +0 -155
  279. package/src/@web3-storage/pail/pail/src/crdt/index.js +0 -354
  280. package/src/@web3-storage/pail/pail/src/diff.js +0 -151
  281. package/src/@web3-storage/pail/pail/src/index.js +0 -406
  282. package/src/@web3-storage/pail/pail/src/merge.js +0 -43
  283. package/src/@web3-storage/pail/pail/src/shard.js +0 -180
  284. package/src/cborg/cborg/.github/dependabot.yml +0 -16
  285. package/src/cborg/cborg/.github/workflows/test-and-release.yml +0 -52
  286. package/src/cborg/cborg/CHANGELOG.md +0 -513
  287. package/src/cborg/cborg/LICENSE +0 -13
  288. package/src/cborg/cborg/README.md +0 -515
  289. package/src/cborg/cborg/bench/bench.js +0 -117
  290. package/src/cborg/cborg/bench/json.js +0 -124
  291. package/src/cborg/cborg/bench/package.json +0 -8
  292. package/src/cborg/cborg/cborg.js +0 -31
  293. package/src/cborg/cborg/example-bytestrings.js +0 -180
  294. package/src/cborg/cborg/example-json.js +0 -6
  295. package/src/cborg/cborg/example.js +0 -5
  296. package/src/cborg/cborg/interface.ts +0 -56
  297. package/src/cborg/cborg/lib/0uint.js +0 -227
  298. package/src/cborg/cborg/lib/1negint.js +0 -111
  299. package/src/cborg/cborg/lib/2bytes.js +0 -133
  300. package/src/cborg/cborg/lib/3string.js +0 -90
  301. package/src/cborg/cborg/lib/4array.js +0 -113
  302. package/src/cborg/cborg/lib/5map.js +0 -113
  303. package/src/cborg/cborg/lib/6tag.js +0 -80
  304. package/src/cborg/cborg/lib/7float.js +0 -308
  305. package/src/cborg/cborg/lib/bin.js +0 -189
  306. package/src/cborg/cborg/lib/bl.js +0 -124
  307. package/src/cborg/cborg/lib/byte-utils.js +0 -417
  308. package/src/cborg/cborg/lib/common.js +0 -27
  309. package/src/cborg/cborg/lib/decode.js +0 -209
  310. package/src/cborg/cborg/lib/diagnostic.js +0 -156
  311. package/src/cborg/cborg/lib/diagnostic_test.js +0 -117
  312. package/src/cborg/cborg/lib/encode.js +0 -464
  313. package/src/cborg/cborg/lib/is.js +0 -106
  314. package/src/cborg/cborg/lib/json/decode.js +0 -462
  315. package/src/cborg/cborg/lib/json/encode.js +0 -299
  316. package/src/cborg/cborg/lib/json/json.js +0 -4
  317. package/src/cborg/cborg/lib/jump.js +0 -209
  318. package/src/cborg/cborg/lib/length.js +0 -61
  319. package/src/cborg/cborg/lib/token.js +0 -76
  320. package/src/cborg/cborg/node_modules/.bin/cborg +0 -17
  321. package/src/cborg/cborg/package.json +0 -168
  322. package/src/cborg/cborg/taglib.js +0 -73
  323. package/src/cborg/cborg/test/appendix_a.js +0 -647
  324. package/src/cborg/cborg/test/common.js +0 -18
  325. package/src/cborg/cborg/test/node-test-bin.js +0 -402
  326. package/src/cborg/cborg/test/noop-bin-test.js +0 -3
  327. package/src/cborg/cborg/test/test-0uint.js +0 -103
  328. package/src/cborg/cborg/test/test-1negint.js +0 -96
  329. package/src/cborg/cborg/test/test-2bytes.js +0 -198
  330. package/src/cborg/cborg/test/test-3string.js +0 -136
  331. package/src/cborg/cborg/test/test-4array.js +0 -93
  332. package/src/cborg/cborg/test/test-5map.js +0 -284
  333. package/src/cborg/cborg/test/test-6tag.js +0 -85
  334. package/src/cborg/cborg/test/test-7float.js +0 -131
  335. package/src/cborg/cborg/test/test-bl.js +0 -37
  336. package/src/cborg/cborg/test/test-cbor-vectors.js +0 -107
  337. package/src/cborg/cborg/test/test-decode-errors.js +0 -65
  338. package/src/cborg/cborg/test/test-fuzz.js +0 -42
  339. package/src/cborg/cborg/test/test-json.js +0 -219
  340. package/src/cborg/cborg/test/test-length.js +0 -65
  341. package/src/cborg/cborg/test/test-partial.js +0 -111
  342. package/src/cborg/cborg/tsconfig.json +0 -45
  343. package/src/cborg/cborg/types/cborg.d.ts +0 -28
  344. package/src/cborg/cborg/types/cborg.d.ts.map +0 -1
  345. package/src/cborg/cborg/types/example.d.ts +0 -2
  346. package/src/cborg/cborg/types/example.d.ts.map +0 -1
  347. package/src/cborg/cborg/types/interface.d.ts +0 -47
  348. package/src/cborg/cborg/types/interface.d.ts.map +0 -1
  349. package/src/cborg/cborg/types/lib/0uint.d.ts +0 -100
  350. package/src/cborg/cborg/types/lib/0uint.d.ts.map +0 -1
  351. package/src/cborg/cborg/types/lib/1negint.d.ts +0 -58
  352. package/src/cborg/cborg/types/lib/1negint.d.ts.map +0 -1
  353. package/src/cborg/cborg/types/lib/2bytes.d.ts +0 -68
  354. package/src/cborg/cborg/types/lib/2bytes.d.ts.map +0 -1
  355. package/src/cborg/cborg/types/lib/3string.d.ts +0 -46
  356. package/src/cborg/cborg/types/lib/3string.d.ts.map +0 -1
  357. package/src/cborg/cborg/types/lib/4array.d.ts +0 -65
  358. package/src/cborg/cborg/types/lib/4array.d.ts.map +0 -1
  359. package/src/cborg/cborg/types/lib/5map.d.ts +0 -65
  360. package/src/cborg/cborg/types/lib/5map.d.ts.map +0 -1
  361. package/src/cborg/cborg/types/lib/6tag.d.ts +0 -61
  362. package/src/cborg/cborg/types/lib/6tag.d.ts.map +0 -1
  363. package/src/cborg/cborg/types/lib/7float.d.ts +0 -60
  364. package/src/cborg/cborg/types/lib/7float.d.ts.map +0 -1
  365. package/src/cborg/cborg/types/lib/bin.d.ts +0 -4
  366. package/src/cborg/cborg/types/lib/bin.d.ts.map +0 -1
  367. package/src/cborg/cborg/types/lib/bl.d.ts +0 -26
  368. package/src/cborg/cborg/types/lib/bl.d.ts.map +0 -1
  369. package/src/cborg/cborg/types/lib/byte-utils.d.ts +0 -53
  370. package/src/cborg/cborg/types/lib/byte-utils.d.ts.map +0 -1
  371. package/src/cborg/cborg/types/lib/common.d.ts +0 -10
  372. package/src/cborg/cborg/types/lib/common.d.ts.map +0 -1
  373. package/src/cborg/cborg/types/lib/decode.d.ts +0 -41
  374. package/src/cborg/cborg/types/lib/decode.d.ts.map +0 -1
  375. package/src/cborg/cborg/types/lib/diagnostic.d.ts +0 -12
  376. package/src/cborg/cborg/types/lib/diagnostic.d.ts.map +0 -1
  377. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts +0 -2
  378. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
  379. package/src/cborg/cborg/types/lib/encode.d.ts +0 -50
  380. package/src/cborg/cborg/types/lib/encode.d.ts.map +0 -1
  381. package/src/cborg/cborg/types/lib/is.d.ts +0 -6
  382. package/src/cborg/cborg/types/lib/is.d.ts.map +0 -1
  383. package/src/cborg/cborg/types/lib/json/decode.d.ts +0 -67
  384. package/src/cborg/cborg/types/lib/json/decode.d.ts.map +0 -1
  385. package/src/cborg/cborg/types/lib/json/encode.d.ts +0 -11
  386. package/src/cborg/cborg/types/lib/json/encode.d.ts.map +0 -1
  387. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts +0 -6
  388. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
  389. package/src/cborg/cborg/types/lib/json/json.d.ts +0 -6
  390. package/src/cborg/cborg/types/lib/json/json.d.ts.map +0 -1
  391. package/src/cborg/cborg/types/lib/jump.d.ts +0 -12
  392. package/src/cborg/cborg/types/lib/jump.d.ts.map +0 -1
  393. package/src/cborg/cborg/types/lib/length.d.ts +0 -27
  394. package/src/cborg/cborg/types/lib/length.d.ts.map +0 -1
  395. package/src/cborg/cborg/types/lib/token.d.ts +0 -59
  396. package/src/cborg/cborg/types/lib/token.d.ts.map +0 -1
  397. package/src/cborg/cborg/types/taglib.d.ts +0 -18
  398. package/src/cborg/cborg/types/taglib.d.ts.map +0 -1
  399. package/src/cborg/cborg/types/tsconfig.tsbuildinfo +0 -1
  400. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/LICENSE +0 -4
  401. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/README.md +0 -105
  402. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/index.min.js +0 -3
  403. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.d.ts +0 -57
  404. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.d.ts.map +0 -1
  405. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.js +0 -73
  406. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.js.map +0 -1
  407. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.d.ts +0 -355
  408. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.d.ts.map +0 -1
  409. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.js +0 -197
  410. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.js.map +0 -1
  411. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts +0 -4
  412. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts.map +0 -1
  413. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js +0 -9
  414. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js.map +0 -1
  415. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts +0 -4
  416. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts.map +0 -1
  417. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js +0 -9
  418. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js.map +0 -1
  419. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts +0 -4
  420. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts.map +0 -1
  421. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.js +0 -38
  422. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.js.map +0 -1
  423. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts +0 -4
  424. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts.map +0 -1
  425. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.js +0 -30
  426. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.js.map +0 -1
  427. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts +0 -4
  428. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts.map +0 -1
  429. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.js +0 -9
  430. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.js.map +0 -1
  431. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts +0 -4
  432. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts.map +0 -1
  433. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.js +0 -37
  434. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.js.map +0 -1
  435. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts +0 -4
  436. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -1
  437. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js +0 -29
  438. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js.map +0 -1
  439. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts +0 -4
  440. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -1
  441. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js +0 -153
  442. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js.map +0 -1
  443. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -4
  444. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -1
  445. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -59
  446. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -1
  447. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts +0 -4
  448. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -1
  449. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js +0 -25
  450. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js.map +0 -1
  451. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts +0 -4
  452. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts.map +0 -1
  453. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js +0 -104
  454. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js.map +0 -1
  455. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts +0 -3
  456. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts.map +0 -1
  457. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js +0 -20
  458. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js.map +0 -1
  459. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts +0 -6
  460. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts.map +0 -1
  461. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js +0 -116
  462. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js.map +0 -1
  463. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts +0 -4
  464. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts.map +0 -1
  465. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js +0 -57
  466. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js.map +0 -1
  467. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts +0 -6
  468. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts.map +0 -1
  469. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js +0 -30
  470. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js.map +0 -1
  471. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/typedoc-urls.json +0 -58
  472. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/package.json +0 -180
  473. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/errors.ts +0 -87
  474. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/index.ts +0 -498
  475. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/dag-cbor.ts +0 -12
  476. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/dag-json.ts +0 -12
  477. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/identity.ts +0 -49
  478. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/index.ts +0 -35
  479. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/json.ts +0 -12
  480. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/raw.ts +0 -49
  481. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/directory.ts +0 -39
  482. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/file.ts +0 -198
  483. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -76
  484. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/raw.ts +0 -37
  485. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/index.ts +0 -121
  486. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/extract-data-from-block.ts +0 -24
  487. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.ts +0 -149
  488. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/resolve-object-path.ts +0 -62
  489. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/validate-offset-and-length.ts +0 -38
@@ -1,211 +0,0 @@
1
- import fs from 'fs'
2
- import { Readable } from 'stream'
3
- import { CID } from 'multiformats/cid'
4
- import { CarIndexer } from './indexer.js'
5
- import { CarReader as NodeCarReader } from './reader.js'
6
-
7
- /**
8
- * @typedef {import('fs').promises.FileHandle} FileHandle
9
- * @typedef {import('./api').Block} Block
10
- * @typedef {import('./api').BlockIndex} BlockIndex
11
- * @typedef {import('./api').CarReader} CarReaderIface
12
- * @typedef {import('./reader-browser').CarReader} CarReader
13
- * @typedef {{ blockLength:number, blockOffset:number }} RawLocation
14
- */
15
-
16
- /**
17
- * A form of {@link CarReader} that pre-indexes a CAR archive from a file and
18
- * provides random access to blocks within the file using the index data. This
19
- * function is **only available in Node.js** and not a browser environment.
20
- *
21
- * For large CAR files, using this form of `CarReader` can be singificantly more
22
- * efficient in terms of memory. The index consists of a list of `CID`s and
23
- * their location within the archive (see {@link CarIndexer}). For large numbers
24
- * of blocks, this index can also occupy a significant amount of memory. In some
25
- * cases it may be necessary to expand the memory capacity of a Node.js instance
26
- * to allow this index to fit. (e.g. by running with
27
- * `NODE_OPTIONS="--max-old-space-size=16384"`).
28
- *
29
- * As an `CarIndexedReader` instance maintains an open file descriptor for its
30
- * CAR file, an additional {@link CarReader#close} method is attached. This
31
- * _must_ be called to have full clean-up of resources after use.
32
- *
33
- * Load this class with either
34
- * `import { CarIndexedReader } from '@ipld/car/indexed-reader'`
35
- * (`const { CarIndexedReader } = require('@ipld/car/indexed-reader')`). Or
36
- * `import { CarIndexedReader } from '@ipld/car'`
37
- * (`const { CarIndexedReader } = require('@ipld/car')`). The former will likely
38
- * result in smaller bundle sizes where this is important.
39
- *
40
- * @name CarIndexedReader
41
- * @class
42
- * @implements {CarReaderIface}
43
- * @extends {CarReader}
44
- * @property {number} version The version number of the CAR referenced by this
45
- * reader (should be `1`).
46
- */
47
- export class CarIndexedReader {
48
- /**
49
- * @param {number} version
50
- * @param {string} path
51
- * @param {CID[]} roots
52
- * @param {Map<string, RawLocation>} index
53
- * @param {string[]} order
54
- */
55
- constructor (version, path, roots, index, order) {
56
- this._version = version
57
- this._path = path
58
- this._roots = roots
59
- this._index = index
60
- this._order = order
61
- this._fd = null
62
- }
63
-
64
- get version () {
65
- return this._version
66
- }
67
-
68
- /**
69
- * See {@link CarReader#getRoots}
70
- *
71
- * @function
72
- * @memberof CarIndexedReader
73
- * @instance
74
- * @async
75
- * @returns {Promise<CID[]>}
76
- */
77
- async getRoots () {
78
- return this._roots
79
- }
80
-
81
- /**
82
- * See {@link CarReader#has}
83
- *
84
- * @function
85
- * @memberof CarIndexedReader
86
- * @instance
87
- * @async
88
- * @param {CID} key
89
- * @returns {Promise<boolean>}
90
- */
91
- async has (key) {
92
- return this._index.has(key.toString())
93
- }
94
-
95
- /**
96
- * See {@link CarReader#get}
97
- *
98
- * @function
99
- * @memberof CarIndexedReader
100
- * @instance
101
- * @async
102
- * @param {CID} key
103
- * @returns {Promise<Block | undefined>}
104
- */
105
- async get (key) {
106
- const blockIndex = this._index.get(key.toString())
107
- if (!blockIndex) {
108
- return undefined
109
- }
110
- if (!this._fd) {
111
- this._fd = await fs.promises.open(this._path, 'r')
112
- }
113
- const readIndex = {
114
- cid: key,
115
- length: 0,
116
- offset: 0,
117
- blockLength: blockIndex.blockLength,
118
- blockOffset: blockIndex.blockOffset
119
- }
120
- return NodeCarReader.readRaw(this._fd, readIndex)
121
- }
122
-
123
- /**
124
- * See {@link CarReader#blocks}
125
- *
126
- * @function
127
- * @memberof CarIndexedReader
128
- * @instance
129
- * @async
130
- * @generator
131
- * @returns {AsyncGenerator<Block>}
132
- */
133
- async * blocks () {
134
- for (const cidStr of this._order) {
135
- const block = await this.get(CID.parse(cidStr))
136
- /* c8 ignore next 3 */
137
- if (!block) {
138
- throw new Error('Unexpected internal error')
139
- }
140
- yield block
141
- }
142
- }
143
-
144
- /**
145
- * See {@link CarReader#cids}
146
- *
147
- * @function
148
- * @memberof CarIndexedReader
149
- * @instance
150
- * @async
151
- * @generator
152
- * @returns {AsyncGenerator<CID>}
153
- */
154
- async * cids () {
155
- for (const cidStr of this._order) {
156
- yield CID.parse(cidStr)
157
- }
158
- }
159
-
160
- /**
161
- * Close the underlying file descriptor maintained by this `CarIndexedReader`.
162
- * This must be called for proper resource clean-up to occur.
163
- *
164
- * @function
165
- * @memberof CarIndexedReader
166
- * @instance
167
- * @async
168
- * @returns {Promise<void>}
169
- */
170
- async close () {
171
- if (this._fd) {
172
- return this._fd.close()
173
- }
174
- }
175
-
176
- /**
177
- * Instantiate an {@link CarIndexedReader} from a file with the provided
178
- * `path`. The CAR file is first indexed with a full path that collects `CID`s
179
- * and block locations. This index is maintained in memory. Subsequent reads
180
- * operate on a read-only file descriptor, fetching the block from its in-file
181
- * location.
182
- *
183
- * For large archives, the initial indexing may take some time. The returned
184
- * `Promise` will resolve only after this is complete.
185
- *
186
- * @async
187
- * @static
188
- * @memberof CarIndexedReader
189
- * @param {string} path
190
- * @returns {Promise<CarIndexedReader>}
191
- */
192
- static async fromFile (path) {
193
- if (typeof path !== 'string') {
194
- throw new TypeError('fromFile() requires a file path string')
195
- }
196
-
197
- const iterable = await CarIndexer.fromIterable(Readable.from(fs.createReadStream(path)))
198
- /** @type {Map<string, RawLocation>} */
199
- const index = new Map()
200
- /** @type {string[]} */
201
- const order = []
202
- for await (const { cid, blockLength, blockOffset } of iterable) {
203
- const cidStr = cid.toString()
204
- index.set(cidStr, { blockLength, blockOffset })
205
- order.push(cidStr)
206
- }
207
- return new CarIndexedReader(iterable.version, path, await iterable.getRoots(), index, order)
208
- }
209
- }
210
-
211
- export const __browser = false
@@ -1,130 +0,0 @@
1
- import {
2
- asyncIterableReader,
3
- bytesReader,
4
- createDecoder
5
- } from './decoder.js'
6
-
7
- /**
8
- * @typedef {import('multiformats').CID} CID
9
- * @typedef {import('./api').Block} Block
10
- * @typedef {import('./api').RootsReader} RootsReader
11
- * @typedef {import('./api').BlockIndex} BlockIndex
12
- * @typedef {import('./coding').BytesReader} BytesReader
13
- */
14
-
15
- /**
16
- * Provides an iterator over all of the `Block`s in a CAR, returning their CIDs
17
- * and byte-location information. Implements an `AsyncIterable<BlockIndex>`.
18
- * Where a `BlockIndex` is a
19
- * `{ cid:CID, length:number, offset:number, blockLength:number, blockOffset:number }`.
20
- *
21
- * As an implementer of `AsyncIterable`, this class can be used directly in a
22
- * `for await (const blockIndex of iterator) {}` loop. Where the `iterator` is
23
- * constructed using {@link CarIndexer.fromBytes} or
24
- * {@link CarIndexer.fromIterable}.
25
- *
26
- * An iteration can only be performce _once_ per instantiation.
27
- *
28
- * `CarIndexer` also implements the `RootsReader` interface and provides
29
- * the {@link CarIndexer.getRoots `getRoots()`} method.
30
- *
31
- * Load this class with either
32
- * `import { CarIndexer } from '@ipld/car/indexer'`
33
- * (`const { CarIndexer } = require('@ipld/car/indexer')`). Or
34
- * `import { CarIndexer } from '@ipld/car'`
35
- * (`const { CarIndexer } = require('@ipld/car')`). The former will likely
36
- * result in smaller bundle sizes where this is important.
37
- *
38
- * @name CarIndexer
39
- * @class
40
- * @implements {RootsReader}
41
- * @implements {AsyncIterable<BlockIndex>}
42
- * @property {number} version The version number of the CAR referenced by this
43
- * reader (should be `1`).
44
- */
45
- export class CarIndexer {
46
- /**
47
- * @param {number} version
48
- * @param {CID[]} roots
49
- * @param {AsyncGenerator<BlockIndex>} iterator
50
- */
51
- constructor (version, roots, iterator) {
52
- this._version = version
53
- this._roots = roots
54
- this._iterator = iterator
55
- }
56
-
57
- get version () {
58
- return this._version
59
- }
60
-
61
- /**
62
- * Get the list of roots defined by the CAR referenced by this indexer. May be
63
- * zero or more `CID`s.
64
- *
65
- * @function
66
- * @memberof CarIndexer
67
- * @instance
68
- * @async
69
- * @returns {Promise<CID[]>}
70
- */
71
- async getRoots () {
72
- return this._roots
73
- }
74
-
75
- /**
76
- * @returns {AsyncIterator<BlockIndex>}
77
- */
78
- [Symbol.asyncIterator] () {
79
- return this._iterator
80
- }
81
-
82
- /**
83
- * Instantiate a {@link CarIndexer} from a `Uint8Array` blob. Only the header
84
- * is decoded initially, the remainder is processed and emitted via the
85
- * iterator as it is consumed.
86
- *
87
- * @async
88
- * @static
89
- * @memberof CarIndexer
90
- * @param {Uint8Array} bytes
91
- * @returns {Promise<CarIndexer>}
92
- */
93
- static async fromBytes (bytes) {
94
- if (!(bytes instanceof Uint8Array)) {
95
- throw new TypeError('fromBytes() requires a Uint8Array')
96
- }
97
- return decodeIndexerComplete(bytesReader(bytes))
98
- }
99
-
100
- /**
101
- * Instantiate a {@link CarIndexer} from a `AsyncIterable<Uint8Array>`,
102
- * such as a [modern Node.js stream](https://nodejs.org/api/stream.html#stream_streams_compatibility_with_async_generators_and_async_iterators).
103
- * is decoded initially, the remainder is processed and emitted via the
104
- * iterator as it is consumed.
105
- *
106
- * @async
107
- * @static
108
- * @memberof CarIndexer
109
- * @param {AsyncIterable<Uint8Array>} asyncIterable
110
- * @returns {Promise<CarIndexer>}
111
- */
112
- static async fromIterable (asyncIterable) {
113
- if (!asyncIterable || !(typeof asyncIterable[Symbol.asyncIterator] === 'function')) {
114
- throw new TypeError('fromIterable() requires an async iterable')
115
- }
116
- return decodeIndexerComplete(asyncIterableReader(asyncIterable))
117
- }
118
- }
119
-
120
- /**
121
- * @private
122
- * @param {BytesReader} reader
123
- * @returns {Promise<CarIndexer>}
124
- */
125
- async function decodeIndexerComplete (reader) {
126
- const decoder = createDecoder(reader)
127
- const { version, roots } = await decoder.header()
128
-
129
- return new CarIndexer(version, roots, decoder.blocksIndex())
130
- }
@@ -1,91 +0,0 @@
1
- /**
2
- * @template {any} T
3
- * @typedef {import('./coding').IteratorChannel<T>} IteratorChannel
4
- */
5
-
6
- function noop () {}
7
-
8
- /**
9
- * @template {any} T
10
- * @returns {IteratorChannel<T>}
11
- */
12
- export function create () {
13
- /** @type {T[]} */
14
- const chunkQueue = []
15
- /** @type {Promise<void> | null} */
16
- let drainer = null
17
- let drainerResolver = noop
18
- let ended = false
19
- /** @type {Promise<IteratorResult<T>> | null} */
20
- let outWait = null
21
- let outWaitResolver = noop
22
-
23
- const makeDrainer = () => {
24
- if (!drainer) {
25
- drainer = new Promise((resolve) => {
26
- drainerResolver = () => {
27
- drainer = null
28
- drainerResolver = noop
29
- resolve()
30
- }
31
- })
32
- }
33
- return drainer
34
- }
35
-
36
- /**
37
- * @returns {IteratorChannel<T>}
38
- */
39
- const writer = {
40
- /**
41
- * @param {T} chunk
42
- * @returns {Promise<void>}
43
- */
44
- write (chunk) {
45
- chunkQueue.push(chunk)
46
- const drainer = makeDrainer()
47
- outWaitResolver()
48
- return drainer
49
- },
50
-
51
- async end () {
52
- ended = true
53
- const drainer = makeDrainer()
54
- outWaitResolver()
55
- await drainer
56
- }
57
- }
58
-
59
- /** @type {AsyncIterator<T>} */
60
- const iterator = {
61
- /** @returns {Promise<IteratorResult<T>>} */
62
- async next () {
63
- const chunk = chunkQueue.shift()
64
- if (chunk) {
65
- if (chunkQueue.length === 0) {
66
- drainerResolver()
67
- }
68
- return { done: false, value: chunk }
69
- }
70
-
71
- if (ended) {
72
- drainerResolver()
73
- return { done: true, value: undefined }
74
- }
75
-
76
- if (!outWait) {
77
- outWait = new Promise((resolve) => {
78
- outWaitResolver = () => {
79
- outWait = null
80
- outWaitResolver = noop
81
- return resolve(iterator.next())
82
- }
83
- })
84
- }
85
-
86
- return outWait
87
- }
88
- }
89
-
90
- return { writer, iterator }
91
- }
@@ -1,267 +0,0 @@
1
- import {
2
- asyncIterableReader,
3
- bytesReader,
4
- createDecoder
5
- } from './decoder.js'
6
-
7
- /**
8
- * @typedef {import('multiformats').CID} CID
9
- * @typedef {import('./api').Block} Block
10
- * @typedef {import('./api').RootsReader} RootsReader
11
- * @typedef {import('./coding').BytesReader} BytesReader
12
- */
13
-
14
- /**
15
- * @class
16
- * @implements {RootsReader}
17
- * @property {number} version The version number of the CAR referenced by this reader (should be `1`).
18
- */
19
- export class CarIteratorBase {
20
- /**
21
- * @param {number} version
22
- * @param {CID[]} roots
23
- * @param {AsyncIterable<Block>|void} iterable
24
- */
25
- constructor (version, roots, iterable) {
26
- this._version = version
27
- this._roots = roots
28
- this._iterable = iterable
29
- this._decoded = false
30
- }
31
-
32
- get version () {
33
- return this._version
34
- }
35
-
36
- /**
37
- * @returns {Promise<CID[]>}
38
- */
39
- async getRoots () {
40
- return this._roots
41
- }
42
- }
43
-
44
- /**
45
- * Provides an iterator over all of the `Block`s in a CAR. Implements a
46
- * `BlockIterator` interface, or `AsyncIterable<Block>`. Where a `Block` is
47
- * a `{ cid:CID, bytes:Uint8Array }` pair.
48
- *
49
- * As an implementer of `AsyncIterable`, this class can be used directly in a
50
- * `for await (const block of iterator) {}` loop. Where the `iterator` is
51
- * constructed using {@link CarBlockiterator.fromBytes} or
52
- * {@link CarBlockiterator.fromIterable}.
53
- *
54
- * An iteration can only be performce _once_ per instantiation.
55
- *
56
- * `CarBlockIterator` also implements the `RootsReader` interface and provides
57
- * the {@link CarBlockiterator.getRoots `getRoots()`} method.
58
- *
59
- * Load this class with either
60
- * `import { CarBlockIterator } from '@ipld/car/iterator'`
61
- * (`const { CarBlockIterator } = require('@ipld/car/iterator')`). Or
62
- * `import { CarBlockIterator } from '@ipld/car'`
63
- * (`const { CarBlockIterator } = require('@ipld/car')`).
64
- *
65
- * @name CarBlockIterator
66
- * @class
67
- * @implements {RootsReader}
68
- * @implements {AsyncIterable<Block>}
69
- * @property {number} version The version number of the CAR referenced by this
70
- * iterator (should be `1`).
71
- */
72
- export class CarBlockIterator extends CarIteratorBase {
73
- // inherited method
74
- /**
75
- * Get the list of roots defined by the CAR referenced by this iterator. May be
76
- * zero or more `CID`s.
77
- *
78
- * @function getRoots
79
- * @memberof CarBlockIterator
80
- * @instance
81
- * @async
82
- * @returns {Promise<CID[]>}
83
- */
84
-
85
- /**
86
- * @returns {AsyncIterator<Block>}
87
- */
88
- [Symbol.asyncIterator] () {
89
- if (this._decoded) {
90
- throw new Error('Cannot decode more than once')
91
- }
92
- /* c8 ignore next 3 */
93
- if (!this._iterable) {
94
- throw new Error('Block iterable not found')
95
- }
96
- this._decoded = true
97
- return this._iterable[Symbol.asyncIterator]()
98
- }
99
-
100
- /**
101
- * Instantiate a {@link CarBlockIterator} from a `Uint8Array` blob. Rather
102
- * than decoding the entire byte array prior to returning the iterator, as in
103
- * {@link CarReader.fromBytes}, only the header is decoded and the remainder
104
- * of the CAR is parsed as the `Block`s as yielded.
105
- *
106
- * @async
107
- * @static
108
- * @memberof CarBlockIterator
109
- * @param {Uint8Array} bytes
110
- * @returns {Promise<CarBlockIterator>}
111
- */
112
- static async fromBytes (bytes) {
113
- const { version, roots, iterator } = await fromBytes(bytes)
114
- return new CarBlockIterator(version, roots, iterator)
115
- }
116
-
117
- /**
118
- * Instantiate a {@link CarBlockIterator} from a `AsyncIterable<Uint8Array>`,
119
- * such as a [modern Node.js stream](https://nodejs.org/api/stream.html#stream_streams_compatibility_with_async_generators_and_async_iterators).
120
- * Rather than decoding the entire byte array prior to returning the iterator,
121
- * as in {@link CarReader.fromIterable}, only the header is decoded and the
122
- * remainder of the CAR is parsed as the `Block`s as yielded.
123
- *
124
- * @async
125
- * @static
126
- * @param {AsyncIterable<Uint8Array>} asyncIterable
127
- * @returns {Promise<CarBlockIterator>}
128
- */
129
- static async fromIterable (asyncIterable) {
130
- const { version, roots, iterator } = await fromIterable(asyncIterable)
131
- return new CarBlockIterator(version, roots, iterator)
132
- }
133
- }
134
-
135
- /**
136
- * Provides an iterator over all of the `CID`s in a CAR. Implements a
137
- * `CIDIterator` interface, or `AsyncIterable<CID>`. Similar to
138
- * {@link CarBlockIterator} but only yields the CIDs in the CAR.
139
- *
140
- * As an implementer of `AsyncIterable`, this class can be used directly in a
141
- * `for await (const cid of iterator) {}` loop. Where the `iterator` is
142
- * constructed using {@link CarCIDiterator.fromBytes} or
143
- * {@link CarCIDiterator.fromIterable}.
144
- *
145
- * An iteration can only be performce _once_ per instantiation.
146
- *
147
- * `CarCIDIterator` also implements the `RootsReader` interface and provides
148
- * the {@link CarCIDiterator.getRoots `getRoots()`} method.
149
- *
150
- * Load this class with either
151
- * `import { CarCIDIterator } from '@ipld/car/iterator'`
152
- * (`const { CarCIDIterator } = require('@ipld/car/iterator')`). Or
153
- * `import { CarCIDIterator } from '@ipld/car'`
154
- * (`const { CarCIDIterator } = require('@ipld/car')`).
155
- *
156
- * @name CarCIDIterator
157
- * @class
158
- * @implements {RootsReader}
159
- * @implements {AsyncIterable<CID>}
160
- * @property {number} version The version number of the CAR referenced by this
161
- * iterator (should be `1`).
162
- */
163
- export class CarCIDIterator extends CarIteratorBase {
164
- // inherited method
165
- /**
166
- * Get the list of roots defined by the CAR referenced by this iterator. May be
167
- * zero or more `CID`s.
168
- *
169
- * @function getRoots
170
- * @memberof CarCIDIterator
171
- * @instance
172
- * @async
173
- * @returns {Promise<CID[]>}
174
- */
175
-
176
- /**
177
- * @returns {AsyncIterator<CID>}
178
- */
179
- [Symbol.asyncIterator] () {
180
- if (this._decoded) {
181
- throw new Error('Cannot decode more than once')
182
- }
183
- /* c8 ignore next 3 */
184
- if (!this._iterable) {
185
- throw new Error('Block iterable not found')
186
- }
187
- this._decoded = true
188
- const iterable = this._iterable[Symbol.asyncIterator]()
189
- return {
190
- async next () {
191
- const next = await iterable.next()
192
- if (next.done) {
193
- return next
194
- }
195
- return { done: false, value: next.value.cid }
196
- }
197
- }
198
- }
199
-
200
- /**
201
- * Instantiate a {@link CarCIDIterator} from a `Uint8Array` blob. Rather
202
- * than decoding the entire byte array prior to returning the iterator, as in
203
- * {@link CarReader.fromBytes}, only the header is decoded and the remainder
204
- * of the CAR is parsed as the `CID`s as yielded.
205
- *
206
- * @async
207
- * @static
208
- * @memberof CarCIDIterator
209
- * @param {Uint8Array} bytes
210
- * @returns {Promise<CarCIDIterator>}
211
- */
212
- static async fromBytes (bytes) {
213
- const { version, roots, iterator } = await fromBytes(bytes)
214
- return new CarCIDIterator(version, roots, iterator)
215
- }
216
-
217
- /**
218
- * Instantiate a {@link CarCIDIterator} from a `AsyncIterable<Uint8Array>`,
219
- * such as a [modern Node.js stream](https://nodejs.org/api/stream.html#stream_streams_compatibility_with_async_generators_and_async_iterators).
220
- * Rather than decoding the entire byte array prior to returning the iterator,
221
- * as in {@link CarReader.fromIterable}, only the header is decoded and the
222
- * remainder of the CAR is parsed as the `CID`s as yielded.
223
- *
224
- * @async
225
- * @static
226
- * @memberof CarCIDIterator
227
- * @param {AsyncIterable<Uint8Array>} asyncIterable
228
- * @returns {Promise<CarCIDIterator>}
229
- */
230
- static async fromIterable (asyncIterable) {
231
- const { version, roots, iterator } = await fromIterable(asyncIterable)
232
- return new CarCIDIterator(version, roots, iterator)
233
- }
234
- }
235
-
236
- /**
237
- * @param {Uint8Array} bytes
238
- * @returns {Promise<{ version:number, roots:CID[], iterator:AsyncIterable<Block>}>}
239
- */
240
- async function fromBytes (bytes) {
241
- if (!(bytes instanceof Uint8Array)) {
242
- throw new TypeError('fromBytes() requires a Uint8Array')
243
- }
244
- return decodeIterator(bytesReader(bytes))
245
- }
246
-
247
- /**
248
- * @param {AsyncIterable<Uint8Array>} asyncIterable
249
- * @returns {Promise<{ version:number, roots:CID[], iterator:AsyncIterable<Block>}>}
250
- */
251
- async function fromIterable (asyncIterable) {
252
- if (!asyncIterable || !(typeof asyncIterable[Symbol.asyncIterator] === 'function')) {
253
- throw new TypeError('fromIterable() requires an async iterable')
254
- }
255
- return decodeIterator(asyncIterableReader(asyncIterable))
256
- }
257
-
258
- /**
259
- * @private
260
- * @param {BytesReader} reader
261
- * @returns {Promise<{ version:number, roots:CID[], iterator:AsyncIterable<Block>}>}
262
- */
263
- async function decodeIterator (reader) {
264
- const decoder = createDecoder(reader)
265
- const { version, roots } = await decoder.header()
266
- return { version, roots, iterator: decoder.blocks() }
267
- }