@fireproof/vendor 1.0.4 → 1.1.0

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 (302) hide show
  1. package/package.json +4 -97
  2. package/src/@web3-storage/pail/dist/src/batch/index.d.ts +1 -53
  3. package/src/@web3-storage/pail/dist/src/batch/index.d.ts.map +1 -1
  4. package/src/@web3-storage/pail/dist/src/batch/shard.d.ts +1 -1
  5. package/src/@web3-storage/pail/dist/src/batch/shard.d.ts.map +1 -1
  6. package/src/@web3-storage/pail/dist/src/block.d.ts +2 -2
  7. package/src/@web3-storage/pail/dist/src/block.d.ts.map +1 -1
  8. package/src/@web3-storage/pail/dist/src/clock/index.d.ts +2 -2
  9. package/src/@web3-storage/pail/dist/src/clock/index.d.ts.map +1 -1
  10. package/src/@web3-storage/pail/dist/src/crdt/batch/index.d.ts.map +1 -1
  11. package/src/@web3-storage/pail/dist/src/crdt/index.d.ts +2 -2
  12. package/src/@web3-storage/pail/dist/src/crdt/index.d.ts.map +1 -1
  13. package/src/@web3-storage/pail/dist/src/diff.d.ts +3 -3
  14. package/src/@web3-storage/pail/dist/src/diff.d.ts.map +1 -1
  15. package/src/@web3-storage/pail/dist/src/index.d.ts +1 -1
  16. package/src/@web3-storage/pail/dist/src/index.d.ts.map +1 -1
  17. package/src/@web3-storage/pail/dist/src/merge.d.ts.map +1 -1
  18. package/src/@web3-storage/pail/dist/src/shard.d.ts +4 -4
  19. package/src/@web3-storage/pail/dist/src/shard.d.ts.map +1 -1
  20. package/src/@web3-storage/pail/dist/tsconfig.tsbuildinfo +1 -1
  21. package/src/@web3-storage/pail/src/api.ts +1 -1
  22. package/src/@web3-storage/pail/src/clock/index.js +1 -1
  23. package/src/@web3-storage/pail/src/shard.js +1 -1
  24. package/src/@ipld/car/LICENSE +0 -4
  25. package/src/@ipld/car/README.md +0 -1132
  26. package/src/@ipld/car/dist/index.min.js +0 -5
  27. package/src/@ipld/car/dist/src/api.d.ts +0 -72
  28. package/src/@ipld/car/dist/src/api.d.ts.map +0 -1
  29. package/src/@ipld/car/dist/src/buffer-decoder.d.ts +0 -67
  30. package/src/@ipld/car/dist/src/buffer-decoder.d.ts.map +0 -1
  31. package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts +0 -116
  32. package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts.map +0 -1
  33. package/src/@ipld/car/dist/src/buffer-reader.d.ts +0 -31
  34. package/src/@ipld/car/dist/src/buffer-reader.d.ts.map +0 -1
  35. package/src/@ipld/car/dist/src/buffer-writer.d.ts +0 -86
  36. package/src/@ipld/car/dist/src/buffer-writer.d.ts.map +0 -1
  37. package/src/@ipld/car/dist/src/coding.d.ts +0 -49
  38. package/src/@ipld/car/dist/src/coding.d.ts.map +0 -1
  39. package/src/@ipld/car/dist/src/decoder-common.d.ts +0 -43
  40. package/src/@ipld/car/dist/src/decoder-common.d.ts.map +0 -1
  41. package/src/@ipld/car/dist/src/decoder.d.ts +0 -87
  42. package/src/@ipld/car/dist/src/decoder.d.ts.map +0 -1
  43. package/src/@ipld/car/dist/src/encoder.d.ts +0 -17
  44. package/src/@ipld/car/dist/src/encoder.d.ts.map +0 -1
  45. package/src/@ipld/car/dist/src/header-validator.d.ts +0 -5
  46. package/src/@ipld/car/dist/src/header-validator.d.ts.map +0 -1
  47. package/src/@ipld/car/dist/src/index-browser.d.ts +0 -10
  48. package/src/@ipld/car/dist/src/index-browser.d.ts.map +0 -1
  49. package/src/@ipld/car/dist/src/index.d.ts +0 -11
  50. package/src/@ipld/car/dist/src/index.d.ts.map +0 -1
  51. package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts +0 -5
  52. package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts.map +0 -1
  53. package/src/@ipld/car/dist/src/indexed-reader.d.ts +0 -152
  54. package/src/@ipld/car/dist/src/indexed-reader.d.ts.map +0 -1
  55. package/src/@ipld/car/dist/src/indexer.d.ts +0 -95
  56. package/src/@ipld/car/dist/src/indexer.d.ts.map +0 -1
  57. package/src/@ipld/car/dist/src/iterator-channel.d.ts +0 -7
  58. package/src/@ipld/car/dist/src/iterator-channel.d.ts.map +0 -1
  59. package/src/@ipld/car/dist/src/iterator.d.ts +0 -174
  60. package/src/@ipld/car/dist/src/iterator.d.ts.map +0 -1
  61. package/src/@ipld/car/dist/src/promise-fs-opts.d.ts +0 -30
  62. package/src/@ipld/car/dist/src/promise-fs-opts.d.ts.map +0 -1
  63. package/src/@ipld/car/dist/src/reader-browser.d.ts +0 -151
  64. package/src/@ipld/car/dist/src/reader-browser.d.ts.map +0 -1
  65. package/src/@ipld/car/dist/src/reader.d.ts +0 -39
  66. package/src/@ipld/car/dist/src/reader.d.ts.map +0 -1
  67. package/src/@ipld/car/dist/src/writer-browser.d.ts +0 -155
  68. package/src/@ipld/car/dist/src/writer-browser.d.ts.map +0 -1
  69. package/src/@ipld/car/dist/src/writer.d.ts +0 -44
  70. package/src/@ipld/car/dist/src/writer.d.ts.map +0 -1
  71. package/src/@ipld/car/src/api.ts +0 -90
  72. package/src/@ipld/car/src/buffer-decoder.js +0 -213
  73. package/src/@ipld/car/src/buffer-reader-browser.js +0 -144
  74. package/src/@ipld/car/src/buffer-reader.js +0 -51
  75. package/src/@ipld/car/src/buffer-writer.js +0 -286
  76. package/src/@ipld/car/src/coding.ts +0 -68
  77. package/src/@ipld/car/src/decoder-common.js +0 -82
  78. package/src/@ipld/car/src/decoder.js +0 -347
  79. package/src/@ipld/car/src/encoder.js +0 -76
  80. package/src/@ipld/car/src/header-validator.js +0 -214
  81. package/src/@ipld/car/src/header.ipldsch +0 -18
  82. package/src/@ipld/car/src/index-browser.js +0 -18
  83. package/src/@ipld/car/src/index.js +0 -21
  84. package/src/@ipld/car/src/indexed-reader-browser.js +0 -7
  85. package/src/@ipld/car/src/indexed-reader.js +0 -211
  86. package/src/@ipld/car/src/indexer.js +0 -130
  87. package/src/@ipld/car/src/iterator-channel.js +0 -91
  88. package/src/@ipld/car/src/iterator.js +0 -267
  89. package/src/@ipld/car/src/promise-fs-opts.js +0 -42
  90. package/src/@ipld/car/src/reader-browser.js +0 -194
  91. package/src/@ipld/car/src/reader.js +0 -53
  92. package/src/@ipld/car/src/writer-browser.js +0 -250
  93. package/src/@ipld/car/src/writer.js +0 -80
  94. package/src/@ipld/dag-cbor/LICENSE +0 -4
  95. package/src/@ipld/dag-cbor/README.md +0 -80
  96. package/src/@ipld/dag-cbor/dist/index.min.js +0 -3
  97. package/src/@ipld/dag-cbor/dist/src/index.d.ts +0 -67
  98. package/src/@ipld/dag-cbor/dist/src/index.d.ts.map +0 -1
  99. package/src/@ipld/dag-cbor/src/index.js +0 -147
  100. package/src/@ipld/dag-json/LICENSE +0 -4
  101. package/src/@ipld/dag-json/README.md +0 -58
  102. package/src/@ipld/dag-json/dist/index.min.js +0 -3
  103. package/src/@ipld/dag-json/dist/src/index.d.ts +0 -12
  104. package/src/@ipld/dag-json/dist/src/index.d.ts.map +0 -1
  105. package/src/@ipld/dag-json/src/index.js +0 -291
  106. package/src/cborg/.github/dependabot.yml +0 -16
  107. package/src/cborg/.github/workflows/test-and-release.yml +0 -52
  108. package/src/cborg/CHANGELOG.md +0 -513
  109. package/src/cborg/LICENSE +0 -13
  110. package/src/cborg/README.md +0 -515
  111. package/src/cborg/bench/bench.js +0 -117
  112. package/src/cborg/bench/json.js +0 -124
  113. package/src/cborg/bench/package.json +0 -8
  114. package/src/cborg/cborg/bin.js +0 -189
  115. package/src/cborg/cborg/common.js +0 -28
  116. package/src/cborg/cborg/decode.js +0 -211
  117. package/src/cborg/cborg/diagnostic.js +0 -158
  118. package/src/cborg/cborg/diagnostic_test.js +0 -117
  119. package/src/cborg/cborg/encode.js +0 -466
  120. package/src/cborg/cborg/index.js +0 -33
  121. package/src/cborg/cborg/is.js +0 -106
  122. package/src/cborg/cborg/length.js +0 -62
  123. package/src/cborg/example-bytestrings.js +0 -180
  124. package/src/cborg/example-json.js +0 -6
  125. package/src/cborg/example.js +0 -5
  126. package/src/cborg/interface.ts +0 -59
  127. package/src/cborg/json/decode.js +0 -462
  128. package/src/cborg/json/encode.js +0 -302
  129. package/src/cborg/json/json.js +0 -4
  130. package/src/cborg/taglib.js +0 -75
  131. package/src/cborg/test/appendix_a.js +0 -647
  132. package/src/cborg/test/common.js +0 -18
  133. package/src/cborg/test/node-test-bin.js +0 -402
  134. package/src/cborg/test/noop-bin-test.js +0 -3
  135. package/src/cborg/test/test-0uint.js +0 -103
  136. package/src/cborg/test/test-1negint.js +0 -96
  137. package/src/cborg/test/test-2bytes.js +0 -198
  138. package/src/cborg/test/test-3string.js +0 -136
  139. package/src/cborg/test/test-4array.js +0 -93
  140. package/src/cborg/test/test-5map.js +0 -284
  141. package/src/cborg/test/test-6tag.js +0 -84
  142. package/src/cborg/test/test-7float.js +0 -131
  143. package/src/cborg/test/test-bl.js +0 -37
  144. package/src/cborg/test/test-cbor-vectors.js +0 -107
  145. package/src/cborg/test/test-decode-errors.js +0 -65
  146. package/src/cborg/test/test-fuzz.js +0 -42
  147. package/src/cborg/test/test-json.js +0 -219
  148. package/src/cborg/test/test-length.js +0 -65
  149. package/src/cborg/test/test-partial.js +0 -111
  150. package/src/cborg/tsconfig.json +0 -48
  151. package/src/cborg/types/cborg/decode.d.ts +0 -43
  152. package/src/cborg/types/cborg/decode.d.ts.map +0 -1
  153. package/src/cborg/types/cborg/encode.d.ts +0 -51
  154. package/src/cborg/types/cborg/encode.d.ts.map +0 -1
  155. package/src/cborg/types/cborg/index.d.ts +0 -26
  156. package/src/cborg/types/cborg/index.d.ts.map +0 -1
  157. package/src/cborg/types/cborg/is.d.ts +0 -6
  158. package/src/cborg/types/cborg/is.d.ts.map +0 -1
  159. package/src/cborg/types/example.d.ts +0 -2
  160. package/src/cborg/types/example.d.ts.map +0 -1
  161. package/src/cborg/types/interface.d.ts +0 -49
  162. package/src/cborg/types/interface.d.ts.map +0 -1
  163. package/src/cborg/types/json/decode.d.ts +0 -67
  164. package/src/cborg/types/json/decode.d.ts.map +0 -1
  165. package/src/cborg/types/json/encode.d.ts +0 -11
  166. package/src/cborg/types/json/encode.d.ts.map +0 -1
  167. package/src/cborg/types/json/json.d.ts +0 -6
  168. package/src/cborg/types/json/json.d.ts.map +0 -1
  169. package/src/cborg/types/taglib.d.ts +0 -18
  170. package/src/cborg/types/taglib.d.ts.map +0 -1
  171. package/src/cborg/types/tsconfig.tsbuildinfo +0 -1
  172. package/src/cborg/types/utils/0uint.d.ts +0 -102
  173. package/src/cborg/types/utils/0uint.d.ts.map +0 -1
  174. package/src/cborg/types/utils/1negint.d.ts +0 -59
  175. package/src/cborg/types/utils/1negint.d.ts.map +0 -1
  176. package/src/cborg/types/utils/2bytes.d.ts +0 -69
  177. package/src/cborg/types/utils/2bytes.d.ts.map +0 -1
  178. package/src/cborg/types/utils/3string.d.ts +0 -46
  179. package/src/cborg/types/utils/3string.d.ts.map +0 -1
  180. package/src/cborg/types/utils/4array.d.ts +0 -66
  181. package/src/cborg/types/utils/4array.d.ts.map +0 -1
  182. package/src/cborg/types/utils/5map.d.ts +0 -66
  183. package/src/cborg/types/utils/5map.d.ts.map +0 -1
  184. package/src/cborg/types/utils/6tag.d.ts +0 -62
  185. package/src/cborg/types/utils/6tag.d.ts.map +0 -1
  186. package/src/cborg/types/utils/7float.d.ts +0 -60
  187. package/src/cborg/types/utils/7float.d.ts.map +0 -1
  188. package/src/cborg/types/utils/bl.d.ts +0 -26
  189. package/src/cborg/types/utils/bl.d.ts.map +0 -1
  190. package/src/cborg/types/utils/byte-utils.d.ts +0 -53
  191. package/src/cborg/types/utils/byte-utils.d.ts.map +0 -1
  192. package/src/cborg/types/utils/common.d.ts +0 -8
  193. package/src/cborg/types/utils/common.d.ts.map +0 -1
  194. package/src/cborg/types/utils/index.d.ts +0 -13
  195. package/src/cborg/types/utils/index.d.ts.map +0 -1
  196. package/src/cborg/types/utils/jump.d.ts +0 -16
  197. package/src/cborg/types/utils/jump.d.ts.map +0 -1
  198. package/src/cborg/types/utils/token.d.ts +0 -59
  199. package/src/cborg/types/utils/token.d.ts.map +0 -1
  200. package/src/cborg/utils/0uint.js +0 -229
  201. package/src/cborg/utils/1negint.js +0 -111
  202. package/src/cborg/utils/2bytes.js +0 -135
  203. package/src/cborg/utils/3string.js +0 -90
  204. package/src/cborg/utils/4array.js +0 -114
  205. package/src/cborg/utils/5map.js +0 -113
  206. package/src/cborg/utils/6tag.js +0 -81
  207. package/src/cborg/utils/7float.js +0 -310
  208. package/src/cborg/utils/bl.js +0 -124
  209. package/src/cborg/utils/byte-utils.js +0 -417
  210. package/src/cborg/utils/common.js +0 -11
  211. package/src/cborg/utils/index.js +0 -12
  212. package/src/cborg/utils/jump.js +0 -222
  213. package/src/cborg/utils/token.js +0 -76
  214. package/src/ipfs-unixfs-exporter/LICENSE +0 -4
  215. package/src/ipfs-unixfs-exporter/README.md +0 -105
  216. package/src/ipfs-unixfs-exporter/dist/index.min.js +0 -3
  217. package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts +0 -57
  218. package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts.map +0 -1
  219. package/src/ipfs-unixfs-exporter/dist/src/errors.js +0 -73
  220. package/src/ipfs-unixfs-exporter/dist/src/errors.js.map +0 -1
  221. package/src/ipfs-unixfs-exporter/dist/src/index.d.ts +0 -355
  222. package/src/ipfs-unixfs-exporter/dist/src/index.d.ts.map +0 -1
  223. package/src/ipfs-unixfs-exporter/dist/src/index.js +0 -197
  224. package/src/ipfs-unixfs-exporter/dist/src/index.js.map +0 -1
  225. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts +0 -4
  226. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts.map +0 -1
  227. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js +0 -9
  228. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js.map +0 -1
  229. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts +0 -4
  230. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts.map +0 -1
  231. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js +0 -9
  232. package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js.map +0 -1
  233. package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts +0 -4
  234. package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts.map +0 -1
  235. package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js +0 -38
  236. package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js.map +0 -1
  237. package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts +0 -4
  238. package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts.map +0 -1
  239. package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js +0 -30
  240. package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js.map +0 -1
  241. package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts +0 -4
  242. package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts.map +0 -1
  243. package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js +0 -9
  244. package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js.map +0 -1
  245. package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts +0 -4
  246. package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts.map +0 -1
  247. package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js +0 -37
  248. package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js.map +0 -1
  249. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts +0 -4
  250. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -1
  251. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js +0 -29
  252. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js.map +0 -1
  253. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts +0 -4
  254. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -1
  255. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js +0 -153
  256. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js.map +0 -1
  257. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -4
  258. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -1
  259. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -59
  260. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -1
  261. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts +0 -4
  262. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -1
  263. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js +0 -25
  264. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js.map +0 -1
  265. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts +0 -4
  266. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts.map +0 -1
  267. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js +0 -104
  268. package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js.map +0 -1
  269. package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts +0 -3
  270. package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts.map +0 -1
  271. package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js +0 -20
  272. package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js.map +0 -1
  273. package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts +0 -6
  274. package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts.map +0 -1
  275. package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js +0 -116
  276. package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js.map +0 -1
  277. package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts +0 -4
  278. package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts.map +0 -1
  279. package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js +0 -57
  280. package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js.map +0 -1
  281. package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts +0 -6
  282. package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts.map +0 -1
  283. package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js +0 -30
  284. package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js.map +0 -1
  285. package/src/ipfs-unixfs-exporter/dist/typedoc-urls.json +0 -58
  286. package/src/ipfs-unixfs-exporter/src/errors.ts +0 -87
  287. package/src/ipfs-unixfs-exporter/src/index.ts +0 -498
  288. package/src/ipfs-unixfs-exporter/src/resolvers/dag-cbor.ts +0 -12
  289. package/src/ipfs-unixfs-exporter/src/resolvers/dag-json.ts +0 -12
  290. package/src/ipfs-unixfs-exporter/src/resolvers/identity.ts +0 -49
  291. package/src/ipfs-unixfs-exporter/src/resolvers/index.ts +0 -35
  292. package/src/ipfs-unixfs-exporter/src/resolvers/json.ts +0 -12
  293. package/src/ipfs-unixfs-exporter/src/resolvers/raw.ts +0 -49
  294. package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/directory.ts +0 -39
  295. package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/file.ts +0 -198
  296. package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -76
  297. package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/raw.ts +0 -37
  298. package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/index.ts +0 -121
  299. package/src/ipfs-unixfs-exporter/src/utils/extract-data-from-block.ts +0 -24
  300. package/src/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.ts +0 -149
  301. package/src/ipfs-unixfs-exporter/src/utils/resolve-object-path.ts +0 -62
  302. package/src/ipfs-unixfs-exporter/src/utils/validate-offset-and-length.ts +0 -38
@@ -1,68 +0,0 @@
1
- import type { Block, BlockIndex } from './api.js'
2
- import type { CID } from 'multiformats/cid'
3
-
4
- export interface CarEncoder {
5
- setRoots(roots: CID[]): Promise<void>
6
-
7
- writeBlock(block: Block): Promise<void>
8
-
9
- close(): Promise<void>
10
-
11
- version(): number
12
- }
13
-
14
- export interface IteratorChannel_Writer<T> {
15
- write(chunk: T): Promise<void>
16
- end(): Promise<void>
17
- }
18
-
19
- export interface IteratorChannel<T> {
20
- writer: IteratorChannel_Writer<T>
21
-
22
- iterator: AsyncIterator<T>
23
- }
24
-
25
- export interface CarHeader {
26
- version: 1
27
- roots: CID[]
28
- }
29
-
30
- export interface CarV2FixedHeader {
31
- characteristics: [bigint, bigint]
32
- dataOffset: number
33
- dataSize: number
34
- indexOffset: number
35
- }
36
-
37
- export interface CarV2Header extends CarV2FixedHeader {
38
- version: 2
39
- roots: CID[]
40
- }
41
-
42
- export interface CarDecoder {
43
- header(): Promise<CarHeader | CarV2Header>
44
-
45
- blocks(): AsyncGenerator<Block>
46
-
47
- blocksIndex(): AsyncGenerator<BlockIndex>
48
- }
49
-
50
- export interface Seekable {
51
- seek(length: number): void
52
- }
53
-
54
- export interface BytesReader extends Seekable {
55
- upTo(length: number): Promise<Uint8Array>
56
-
57
- exactly(length: number, seek?: boolean): Promise<Uint8Array>
58
-
59
- pos: number
60
- }
61
-
62
- export interface BytesBufferReader extends Seekable {
63
- upTo(length: number): Uint8Array
64
-
65
- exactly(length: number, seek?: boolean): Uint8Array
66
-
67
- pos: number
68
- }
@@ -1,82 +0,0 @@
1
- import varint from 'varint'
2
-
3
- export const CIDV0_BYTES = {
4
- SHA2_256: 0x12,
5
- LENGTH: 0x20,
6
- DAG_PB: 0x70
7
- }
8
-
9
- export const V2_HEADER_LENGTH = /* characteristics */ 16 /* v1 offset */ + 8 /* v1 size */ + 8 /* index offset */ + 8
10
-
11
- /**
12
- * Decodes varint and seeks the buffer
13
- *
14
- * ```js
15
- * // needs bytes to be read first
16
- * const bytes = reader.upTo(8) // maybe async
17
- * ```
18
- *
19
- * @param {Uint8Array} bytes
20
- * @param {import('./coding').Seekable} seeker
21
- * @returns {number}
22
- */
23
- export function decodeVarint (bytes, seeker) {
24
- if (!bytes.length) {
25
- throw new Error('Unexpected end of data')
26
- }
27
- const i = varint.decode(bytes)
28
- seeker.seek(/** @type {number} */(varint.decode.bytes))
29
- return i
30
- }
31
-
32
- /**
33
- * Decode v2 header
34
- *
35
- * ```js
36
- * // needs bytes to be read first
37
- * const bytes = reader.exactly(V2_HEADER_LENGTH, true) // maybe async
38
- * ```
39
- *
40
- * @param {Uint8Array} bytes
41
- * @returns {import('./coding').CarV2FixedHeader}
42
- */
43
- export function decodeV2Header (bytes) {
44
- const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength)
45
- let offset = 0
46
- const header = {
47
- version: 2,
48
- /** @type {[bigint, bigint]} */
49
- characteristics: [
50
- dv.getBigUint64(offset, true),
51
- dv.getBigUint64(offset += 8, true)
52
- ],
53
- dataOffset: Number(dv.getBigUint64(offset += 8, true)),
54
- dataSize: Number(dv.getBigUint64(offset += 8, true)),
55
- indexOffset: Number(dv.getBigUint64(offset += 8, true))
56
- }
57
- return header
58
- }
59
-
60
- /**
61
- * Checks the length of the multihash to be read afterwards
62
- *
63
- * ```js
64
- * // needs bytes to be read first
65
- * const bytes = reader.upTo(8) // maybe async
66
- * ```
67
- *
68
- * @param {Uint8Array} bytes
69
- */
70
- export function getMultihashLength (bytes) {
71
- // | code | length | .... |
72
- // where both code and length are varints, so we have to decode
73
- // them first before we can know total length
74
-
75
- varint.decode(bytes) // code
76
- const codeLength = /** @type {number} */(varint.decode.bytes)
77
- const length = varint.decode(bytes.subarray(varint.decode.bytes))
78
- const lengthLength = /** @type {number} */(varint.decode.bytes)
79
- const mhLength = codeLength + lengthLength + length
80
-
81
- return mhLength
82
- }
@@ -1,347 +0,0 @@
1
- import { decode as decodeDagCbor } from "@fireproof/vendor/@ipld/dag-cbor"
2
- import { CID } from 'multiformats/cid'
3
- import * as Digest from 'multiformats/hashes/digest'
4
- import { CIDV0_BYTES, decodeV2Header, decodeVarint, getMultihashLength, V2_HEADER_LENGTH } from './decoder-common.js'
5
- import { CarV1HeaderOrV2Pragma } from './header-validator.js'
6
-
7
- /**
8
- * @typedef {import('./api').Block} Block
9
- * @typedef {import('./api').BlockHeader} BlockHeader
10
- * @typedef {import('./api').BlockIndex} BlockIndex
11
- * @typedef {import('./coding').BytesReader} BytesReader
12
- * @typedef {import('./coding').CarHeader} CarHeader
13
- * @typedef {import('./coding').CarV2Header} CarV2Header
14
- * @typedef {import('./coding').CarV2FixedHeader} CarV2FixedHeader
15
- * @typedef {import('./coding').CarDecoder} CarDecoder
16
- */
17
-
18
- /**
19
- * Reads header data from a `BytesReader`. The header may either be in the form
20
- * of a `CarHeader` or `CarV2Header` depending on the CAR being read.
21
- *
22
- * @name async decoder.readHeader(reader)
23
- * @param {BytesReader} reader
24
- * @param {number} [strictVersion]
25
- * @returns {Promise<CarHeader|CarV2Header>}
26
- */
27
- export async function readHeader (reader, strictVersion) {
28
- const length = decodeVarint(await reader.upTo(8), reader)
29
- if (length === 0) {
30
- throw new Error('Invalid CAR header (zero length)')
31
- }
32
- const header = await reader.exactly(length, true)
33
- const block = decodeDagCbor(header)
34
- if (CarV1HeaderOrV2Pragma.toTyped(block) === undefined) {
35
- throw new Error('Invalid CAR header format')
36
- }
37
- if ((block.version !== 1 && block.version !== 2) || (strictVersion !== undefined && block.version !== strictVersion)) {
38
- throw new Error(`Invalid CAR version: ${block.version}${strictVersion !== undefined ? ` (expected ${strictVersion})` : ''}`)
39
- }
40
- if (block.version === 1) {
41
- // CarV1HeaderOrV2Pragma makes roots optional, let's make it mandatory
42
- if (!Array.isArray(block.roots)) {
43
- throw new Error('Invalid CAR header format')
44
- }
45
- return block
46
- }
47
- // version 2
48
- if (block.roots !== undefined) {
49
- throw new Error('Invalid CAR header format')
50
- }
51
- const v2Header = decodeV2Header(await reader.exactly(V2_HEADER_LENGTH, true))
52
- reader.seek(v2Header.dataOffset - reader.pos)
53
- const v1Header = await readHeader(reader, 1)
54
- return Object.assign(v1Header, v2Header)
55
- }
56
-
57
- /**
58
- * @param {BytesReader} reader
59
- * @returns {Promise<CID>}
60
- */
61
- async function readCid (reader) {
62
- const first = await reader.exactly(2, false)
63
- if (first[0] === CIDV0_BYTES.SHA2_256 && first[1] === CIDV0_BYTES.LENGTH) {
64
- // cidv0 32-byte sha2-256
65
- const bytes = await reader.exactly(34, true)
66
- const multihash = Digest.decode(bytes)
67
- return CID.create(0, CIDV0_BYTES.DAG_PB, multihash)
68
- }
69
-
70
- const version = decodeVarint(await reader.upTo(8), reader)
71
- if (version !== 1) {
72
- throw new Error(`Unexpected CID version (${version})`)
73
- }
74
- const codec = decodeVarint(await reader.upTo(8), reader)
75
- const bytes = await reader.exactly(getMultihashLength(await reader.upTo(8)), true)
76
- const multihash = Digest.decode(bytes)
77
- return CID.create(version, codec, multihash)
78
- }
79
-
80
- /**
81
- * Reads the leading data of an individual block from CAR data from a
82
- * `BytesReader`. Returns a `BlockHeader` object which contains
83
- * `{ cid, length, blockLength }` which can be used to either index the block
84
- * or read the block binary data.
85
- *
86
- * @name async decoder.readBlockHead(reader)
87
- * @param {BytesReader} reader
88
- * @returns {Promise<BlockHeader>}
89
- */
90
- export async function readBlockHead (reader) {
91
- // length includes a CID + Binary, where CID has a variable length
92
- // we have to deal with
93
- const start = reader.pos
94
- let length = decodeVarint(await reader.upTo(8), reader)
95
- if (length === 0) {
96
- throw new Error('Invalid CAR section (zero length)')
97
- }
98
- length += (reader.pos - start)
99
- const cid = await readCid(reader)
100
- const blockLength = length - Number(reader.pos - start) // subtract CID length
101
-
102
- return { cid, length, blockLength }
103
- }
104
-
105
- /**
106
- * @param {BytesReader} reader
107
- * @returns {Promise<Block>}
108
- */
109
- async function readBlock (reader) {
110
- const { cid, blockLength } = await readBlockHead(reader)
111
- const bytes = await reader.exactly(blockLength, true)
112
- return { bytes, cid }
113
- }
114
-
115
- /**
116
- * @param {BytesReader} reader
117
- * @returns {Promise<BlockIndex>}
118
- */
119
- async function readBlockIndex (reader) {
120
- const offset = reader.pos
121
- const { cid, length, blockLength } = await readBlockHead(reader)
122
- const index = { cid, length, blockLength, offset, blockOffset: reader.pos }
123
- reader.seek(index.blockLength)
124
- return index
125
- }
126
-
127
- /**
128
- * Creates a `CarDecoder` from a `BytesReader`. The `CarDecoder` is as async
129
- * interface that will consume the bytes from the `BytesReader` to yield a
130
- * `header()` and either `blocks()` or `blocksIndex()` data.
131
- *
132
- * @name decoder.createDecoder(reader)
133
- * @param {BytesReader} reader
134
- * @returns {CarDecoder}
135
- */
136
- export function createDecoder (reader) {
137
- const headerPromise = (async () => {
138
- const header = await readHeader(reader)
139
- if (header.version === 2) {
140
- const v1length = reader.pos - header.dataOffset
141
- reader = limitReader(reader, header.dataSize - v1length)
142
- }
143
- return header
144
- })()
145
-
146
- return {
147
- header: () => headerPromise,
148
-
149
- async * blocks () {
150
- await headerPromise
151
- while ((await reader.upTo(8)).length > 0) {
152
- yield await readBlock(reader)
153
- }
154
- },
155
-
156
- async * blocksIndex () {
157
- await headerPromise
158
- while ((await reader.upTo(8)).length > 0) {
159
- yield await readBlockIndex(reader)
160
- }
161
- }
162
- }
163
- }
164
-
165
- /**
166
- * Creates a `BytesReader` from a `Uint8Array`.
167
- *
168
- * @name decoder.bytesReader(bytes)
169
- * @param {Uint8Array} bytes
170
- * @returns {BytesReader}
171
- */
172
- export function bytesReader (bytes) {
173
- let pos = 0
174
-
175
- /** @type {BytesReader} */
176
- return {
177
- async upTo (length) {
178
- const out = bytes.subarray(pos, pos + Math.min(length, bytes.length - pos))
179
- return out
180
- },
181
-
182
- async exactly (length, seek = false) {
183
- if (length > bytes.length - pos) {
184
- throw new Error('Unexpected end of data')
185
- }
186
- const out = bytes.subarray(pos, pos + length)
187
- if (seek) {
188
- pos += length
189
- }
190
- return out
191
- },
192
-
193
- seek (length) {
194
- pos += length
195
- },
196
-
197
- get pos () {
198
- return pos
199
- }
200
- }
201
- }
202
-
203
- /**
204
- * @ignore
205
- * reusable reader for streams and files, we just need a way to read an
206
- * additional chunk (of some undetermined size) and a way to close the
207
- * reader when finished
208
- * @param {() => Promise<Uint8Array|null>} readChunk
209
- * @returns {BytesReader}
210
- */
211
- export function chunkReader (readChunk /*, closer */) {
212
- let pos = 0
213
- let have = 0
214
- let offset = 0
215
- let currentChunk = new Uint8Array(0)
216
-
217
- const read = async (/** @type {number} */ length) => {
218
- have = currentChunk.length - offset
219
- const bufa = [currentChunk.subarray(offset)]
220
- while (have < length) {
221
- const chunk = await readChunk()
222
- if (chunk == null) {
223
- break
224
- }
225
- /* c8 ignore next 8 */
226
- // undo this ignore ^ when we have a fd implementation that can seek()
227
- if (have < 0) { // because of a seek()
228
- /* c8 ignore next 4 */
229
- // toohard to test the else
230
- if (chunk.length > have) {
231
- bufa.push(chunk.subarray(-have))
232
- } // else discard
233
- } else {
234
- bufa.push(chunk)
235
- }
236
- have += chunk.length
237
- }
238
- currentChunk = new Uint8Array(bufa.reduce((p, c) => p + c.length, 0))
239
- let off = 0
240
- for (const b of bufa) {
241
- currentChunk.set(b, off)
242
- off += b.length
243
- }
244
- offset = 0
245
- }
246
-
247
- /** @type {BytesReader} */
248
- return {
249
- async upTo (length) {
250
- if (currentChunk.length - offset < length) {
251
- await read(length)
252
- }
253
- return currentChunk.subarray(offset, offset + Math.min(currentChunk.length - offset, length))
254
- },
255
-
256
- async exactly (length, seek = false) {
257
- if (currentChunk.length - offset < length) {
258
- await read(length)
259
- }
260
- if (currentChunk.length - offset < length) {
261
- throw new Error('Unexpected end of data')
262
- }
263
- const out = currentChunk.subarray(offset, offset + length)
264
- if (seek) {
265
- pos += length
266
- offset += length
267
- }
268
- return out
269
- },
270
-
271
- seek (length) {
272
- pos += length
273
- offset += length
274
- },
275
-
276
- get pos () {
277
- return pos
278
- }
279
- }
280
- }
281
-
282
- /**
283
- * Creates a `BytesReader` from an `AsyncIterable<Uint8Array>`, which allows for
284
- * consumption of CAR data from a streaming source.
285
- *
286
- * @name decoder.asyncIterableReader(asyncIterable)
287
- * @param {AsyncIterable<Uint8Array>} asyncIterable
288
- * @returns {BytesReader}
289
- */
290
- export function asyncIterableReader (asyncIterable) {
291
- const iterator = asyncIterable[Symbol.asyncIterator]()
292
-
293
- async function readChunk () {
294
- const next = await iterator.next()
295
- if (next.done) {
296
- return null
297
- }
298
- return next.value
299
- }
300
-
301
- return chunkReader(readChunk)
302
- }
303
-
304
- /**
305
- * Wraps a `BytesReader` in a limiting `BytesReader` which limits maximum read
306
- * to `byteLimit` bytes. It _does not_ update `pos` of the original
307
- * `BytesReader`.
308
- *
309
- * @name decoder.limitReader(reader, byteLimit)
310
- * @param {BytesReader} reader
311
- * @param {number} byteLimit
312
- * @returns {BytesReader}
313
- */
314
- export function limitReader (reader, byteLimit) {
315
- let bytesRead = 0
316
-
317
- /** @type {BytesReader} */
318
- return {
319
- async upTo (length) {
320
- let bytes = await reader.upTo(length)
321
- if (bytes.length + bytesRead > byteLimit) {
322
- bytes = bytes.subarray(0, byteLimit - bytesRead)
323
- }
324
- return bytes
325
- },
326
-
327
- async exactly (length, seek = false) {
328
- const bytes = await reader.exactly(length, seek)
329
- if (bytes.length + bytesRead > byteLimit) {
330
- throw new Error('Unexpected end of data')
331
- }
332
- if (seek) {
333
- bytesRead += length
334
- }
335
- return bytes
336
- },
337
-
338
- seek (length) {
339
- bytesRead += length
340
- reader.seek(length)
341
- },
342
-
343
- get pos () {
344
- return reader.pos
345
- }
346
- }
347
- }
@@ -1,76 +0,0 @@
1
- import { encode as dagCborEncode } from "@fireproof/vendor/@ipld/dag-cbor"
2
- import varint from 'varint'
3
-
4
- /**
5
- * @typedef {import('multiformats').CID} CID
6
- * @typedef {import('./api').Block} Block
7
- * @typedef {import('./coding').CarEncoder} CarEncoder
8
- * @typedef {import('./coding').IteratorChannel_Writer<Uint8Array>} IteratorChannel_Writer
9
- */
10
-
11
- const CAR_V1_VERSION = 1
12
-
13
- /**
14
- * Create a header from an array of roots.
15
- *
16
- * @param {CID[]} roots
17
- * @returns {Uint8Array}
18
- */
19
- export function createHeader (roots) {
20
- const headerBytes = dagCborEncode({ version: CAR_V1_VERSION, roots })
21
- const varintBytes = varint.encode(headerBytes.length)
22
- const header = new Uint8Array(varintBytes.length + headerBytes.length)
23
- header.set(varintBytes, 0)
24
- header.set(headerBytes, varintBytes.length)
25
- return header
26
- }
27
-
28
- /**
29
- * @param {IteratorChannel_Writer} writer
30
- * @returns {CarEncoder}
31
- */
32
- function createEncoder (writer) {
33
- // none of this is wrapped in a mutex, that needs to happen above this to
34
- // avoid overwrites
35
-
36
- return {
37
- /**
38
- * @param {CID[]} roots
39
- * @returns {Promise<void>}
40
- */
41
- async setRoots (roots) {
42
- const bytes = createHeader(roots)
43
- await writer.write(bytes)
44
- },
45
-
46
- /**
47
- * @param {Block} block
48
- * @returns {Promise<void>}
49
- */
50
- async writeBlock (block) {
51
- const { cid, bytes } = block
52
- await writer.write(new Uint8Array(varint.encode(cid.bytes.length + bytes.length)))
53
- await writer.write(cid.bytes)
54
- if (bytes.length) {
55
- // zero-length blocks are valid, but it'd be safer if we didn't write them
56
- await writer.write(bytes)
57
- }
58
- },
59
-
60
- /**
61
- * @returns {Promise<void>}
62
- */
63
- async close () {
64
- await writer.end()
65
- },
66
-
67
- /**
68
- * @returns {number}
69
- */
70
- version () {
71
- return CAR_V1_VERSION
72
- }
73
- }
74
- }
75
-
76
- export { createEncoder }