@fireproof/vendor 1.1.0 → 1.2.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.
- package/package.json +97 -4
- package/src/@ipld/car/LICENSE +4 -0
- package/src/@ipld/car/README.md +1132 -0
- package/src/@ipld/car/dist/index.min.js +5 -0
- package/src/@ipld/car/dist/src/api.d.ts +72 -0
- package/src/@ipld/car/dist/src/api.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/buffer-decoder.d.ts +67 -0
- package/src/@ipld/car/dist/src/buffer-decoder.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts +116 -0
- package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/buffer-reader.d.ts +31 -0
- package/src/@ipld/car/dist/src/buffer-reader.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/buffer-writer.d.ts +86 -0
- package/src/@ipld/car/dist/src/buffer-writer.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/coding.d.ts +49 -0
- package/src/@ipld/car/dist/src/coding.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/decoder-common.d.ts +43 -0
- package/src/@ipld/car/dist/src/decoder-common.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/decoder.d.ts +87 -0
- package/src/@ipld/car/dist/src/decoder.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/encoder.d.ts +17 -0
- package/src/@ipld/car/dist/src/encoder.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/header-validator.d.ts +5 -0
- package/src/@ipld/car/dist/src/header-validator.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/index-browser.d.ts +10 -0
- package/src/@ipld/car/dist/src/index-browser.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/index.d.ts +11 -0
- package/src/@ipld/car/dist/src/index.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts +5 -0
- package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/indexed-reader.d.ts +152 -0
- package/src/@ipld/car/dist/src/indexed-reader.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/indexer.d.ts +95 -0
- package/src/@ipld/car/dist/src/indexer.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/iterator-channel.d.ts +7 -0
- package/src/@ipld/car/dist/src/iterator-channel.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/iterator.d.ts +174 -0
- package/src/@ipld/car/dist/src/iterator.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/promise-fs-opts.d.ts +28 -0
- package/src/@ipld/car/dist/src/promise-fs-opts.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/reader-browser.d.ts +151 -0
- package/src/@ipld/car/dist/src/reader-browser.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/reader.d.ts +40 -0
- package/src/@ipld/car/dist/src/reader.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/writer-browser.d.ts +155 -0
- package/src/@ipld/car/dist/src/writer-browser.d.ts.map +1 -0
- package/src/@ipld/car/dist/src/writer.d.ts +45 -0
- package/src/@ipld/car/dist/src/writer.d.ts.map +1 -0
- package/src/@ipld/car/src/api.ts +90 -0
- package/src/@ipld/car/src/buffer-decoder.js +213 -0
- package/src/@ipld/car/src/buffer-reader-browser.js +144 -0
- package/src/@ipld/car/src/buffer-reader.js +51 -0
- package/src/@ipld/car/src/buffer-writer.js +286 -0
- package/src/@ipld/car/src/coding.ts +68 -0
- package/src/@ipld/car/src/decoder-common.js +82 -0
- package/src/@ipld/car/src/decoder.js +347 -0
- package/src/@ipld/car/src/encoder.js +76 -0
- package/src/@ipld/car/src/header-validator.js +214 -0
- package/src/@ipld/car/src/header.ipldsch +18 -0
- package/src/@ipld/car/src/index-browser.js +18 -0
- package/src/@ipld/car/src/index.js +21 -0
- package/src/@ipld/car/src/indexed-reader-browser.js +7 -0
- package/src/@ipld/car/src/indexed-reader.js +211 -0
- package/src/@ipld/car/src/indexer.js +130 -0
- package/src/@ipld/car/src/iterator-channel.js +91 -0
- package/src/@ipld/car/src/iterator.js +267 -0
- package/src/@ipld/car/src/promise-fs-opts.js +46 -0
- package/src/@ipld/car/src/reader-browser.js +194 -0
- package/src/@ipld/car/src/reader.js +54 -0
- package/src/@ipld/car/src/writer-browser.js +250 -0
- package/src/@ipld/car/src/writer.js +81 -0
- package/src/@ipld/dag-cbor/LICENSE +4 -0
- package/src/@ipld/dag-cbor/README.md +80 -0
- package/src/@ipld/dag-cbor/dist/index.min.js +3 -0
- package/src/@ipld/dag-cbor/dist/src/index.d.ts +67 -0
- package/src/@ipld/dag-cbor/dist/src/index.d.ts.map +1 -0
- package/src/@ipld/dag-cbor/src/index.js +147 -0
- package/src/@ipld/dag-json/LICENSE +4 -0
- package/src/@ipld/dag-json/README.md +58 -0
- package/src/@ipld/dag-json/dist/index.min.js +3 -0
- package/src/@ipld/dag-json/dist/src/index.d.ts +12 -0
- package/src/@ipld/dag-json/dist/src/index.d.ts.map +1 -0
- package/src/@ipld/dag-json/src/index.js +291 -0
- package/src/@web3-storage/pail/dist/src/batch/index.d.ts +53 -1
- package/src/@web3-storage/pail/dist/src/batch/index.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/batch/shard.d.ts +1 -1
- package/src/@web3-storage/pail/dist/src/batch/shard.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/block.d.ts +2 -2
- package/src/@web3-storage/pail/dist/src/block.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/clock/index.d.ts +2 -2
- package/src/@web3-storage/pail/dist/src/clock/index.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/crdt/batch/index.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/crdt/index.d.ts +2 -2
- package/src/@web3-storage/pail/dist/src/crdt/index.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/diff.d.ts +3 -3
- package/src/@web3-storage/pail/dist/src/diff.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/index.d.ts +1 -1
- package/src/@web3-storage/pail/dist/src/index.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/merge.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/src/shard.d.ts +4 -4
- package/src/@web3-storage/pail/dist/src/shard.d.ts.map +1 -1
- package/src/@web3-storage/pail/dist/tsconfig.tsbuildinfo +1 -1
- package/src/@web3-storage/pail/src/api.ts +1 -1
- package/src/@web3-storage/pail/src/clock/index.js +1 -1
- package/src/@web3-storage/pail/src/shard.js +1 -1
- package/src/cborg/.github/dependabot.yml +16 -0
- package/src/cborg/.github/workflows/test-and-release.yml +52 -0
- package/src/cborg/CHANGELOG.md +513 -0
- package/src/cborg/LICENSE +13 -0
- package/src/cborg/README.md +515 -0
- package/src/cborg/bench/bench.js +117 -0
- package/src/cborg/bench/json.js +124 -0
- package/src/cborg/bench/package.json +8 -0
- package/src/cborg/cborg/bin.js +189 -0
- package/src/cborg/cborg/common.js +28 -0
- package/src/cborg/cborg/decode.js +211 -0
- package/src/cborg/cborg/diagnostic.js +158 -0
- package/src/cborg/cborg/diagnostic_test.js +117 -0
- package/src/cborg/cborg/encode.js +466 -0
- package/src/cborg/cborg/index.js +33 -0
- package/src/cborg/cborg/is.js +106 -0
- package/src/cborg/cborg/length.js +62 -0
- package/src/cborg/example-bytestrings.js +180 -0
- package/src/cborg/example-json.js +6 -0
- package/src/cborg/example.js +5 -0
- package/src/cborg/interface.ts +59 -0
- package/src/cborg/json/decode.js +462 -0
- package/src/cborg/json/encode.js +302 -0
- package/src/cborg/json/json.js +4 -0
- package/src/cborg/taglib.js +75 -0
- package/src/cborg/test/appendix_a.js +647 -0
- package/src/cborg/test/common.js +18 -0
- package/src/cborg/test/node-test-bin.js +402 -0
- package/src/cborg/test/noop-bin-test.js +3 -0
- package/src/cborg/test/test-0uint.js +103 -0
- package/src/cborg/test/test-1negint.js +96 -0
- package/src/cborg/test/test-2bytes.js +198 -0
- package/src/cborg/test/test-3string.js +136 -0
- package/src/cborg/test/test-4array.js +93 -0
- package/src/cborg/test/test-5map.js +284 -0
- package/src/cborg/test/test-6tag.js +84 -0
- package/src/cborg/test/test-7float.js +131 -0
- package/src/cborg/test/test-bl.js +37 -0
- package/src/cborg/test/test-cbor-vectors.js +107 -0
- package/src/cborg/test/test-decode-errors.js +65 -0
- package/src/cborg/test/test-fuzz.js +42 -0
- package/src/cborg/test/test-json.js +219 -0
- package/src/cborg/test/test-length.js +65 -0
- package/src/cborg/test/test-partial.js +111 -0
- package/src/cborg/tsconfig.json +48 -0
- package/src/cborg/types/cborg/decode.d.ts +43 -0
- package/src/cborg/types/cborg/decode.d.ts.map +1 -0
- package/src/cborg/types/cborg/encode.d.ts +51 -0
- package/src/cborg/types/cborg/encode.d.ts.map +1 -0
- package/src/cborg/types/cborg/index.d.ts +26 -0
- package/src/cborg/types/cborg/index.d.ts.map +1 -0
- package/src/cborg/types/cborg/is.d.ts +6 -0
- package/src/cborg/types/cborg/is.d.ts.map +1 -0
- package/src/cborg/types/example.d.ts +2 -0
- package/src/cborg/types/example.d.ts.map +1 -0
- package/src/cborg/types/interface.d.ts +49 -0
- package/src/cborg/types/interface.d.ts.map +1 -0
- package/src/cborg/types/json/decode.d.ts +67 -0
- package/src/cborg/types/json/decode.d.ts.map +1 -0
- package/src/cborg/types/json/encode.d.ts +11 -0
- package/src/cborg/types/json/encode.d.ts.map +1 -0
- package/src/cborg/types/json/json.d.ts +6 -0
- package/src/cborg/types/json/json.d.ts.map +1 -0
- package/src/cborg/types/taglib.d.ts +18 -0
- package/src/cborg/types/taglib.d.ts.map +1 -0
- package/src/cborg/types/tsconfig.tsbuildinfo +1 -0
- package/src/cborg/types/utils/0uint.d.ts +102 -0
- package/src/cborg/types/utils/0uint.d.ts.map +1 -0
- package/src/cborg/types/utils/1negint.d.ts +59 -0
- package/src/cborg/types/utils/1negint.d.ts.map +1 -0
- package/src/cborg/types/utils/2bytes.d.ts +69 -0
- package/src/cborg/types/utils/2bytes.d.ts.map +1 -0
- package/src/cborg/types/utils/3string.d.ts +46 -0
- package/src/cborg/types/utils/3string.d.ts.map +1 -0
- package/src/cborg/types/utils/4array.d.ts +66 -0
- package/src/cborg/types/utils/4array.d.ts.map +1 -0
- package/src/cborg/types/utils/5map.d.ts +66 -0
- package/src/cborg/types/utils/5map.d.ts.map +1 -0
- package/src/cborg/types/utils/6tag.d.ts +62 -0
- package/src/cborg/types/utils/6tag.d.ts.map +1 -0
- package/src/cborg/types/utils/7float.d.ts +60 -0
- package/src/cborg/types/utils/7float.d.ts.map +1 -0
- package/src/cborg/types/utils/bl.d.ts +26 -0
- package/src/cborg/types/utils/bl.d.ts.map +1 -0
- package/src/cborg/types/utils/byte-utils.d.ts +53 -0
- package/src/cborg/types/utils/byte-utils.d.ts.map +1 -0
- package/src/cborg/types/utils/common.d.ts +8 -0
- package/src/cborg/types/utils/common.d.ts.map +1 -0
- package/src/cborg/types/utils/index.d.ts +13 -0
- package/src/cborg/types/utils/index.d.ts.map +1 -0
- package/src/cborg/types/utils/jump.d.ts +16 -0
- package/src/cborg/types/utils/jump.d.ts.map +1 -0
- package/src/cborg/types/utils/token.d.ts +59 -0
- package/src/cborg/types/utils/token.d.ts.map +1 -0
- package/src/cborg/utils/0uint.js +229 -0
- package/src/cborg/utils/1negint.js +111 -0
- package/src/cborg/utils/2bytes.js +135 -0
- package/src/cborg/utils/3string.js +90 -0
- package/src/cborg/utils/4array.js +114 -0
- package/src/cborg/utils/5map.js +113 -0
- package/src/cborg/utils/6tag.js +81 -0
- package/src/cborg/utils/7float.js +310 -0
- package/src/cborg/utils/bl.js +124 -0
- package/src/cborg/utils/byte-utils.js +417 -0
- package/src/cborg/utils/common.js +11 -0
- package/src/cborg/utils/index.js +12 -0
- package/src/cborg/utils/jump.js +222 -0
- package/src/cborg/utils/token.js +76 -0
- package/src/ipfs-unixfs-exporter/LICENSE +4 -0
- package/src/ipfs-unixfs-exporter/README.md +105 -0
- package/src/ipfs-unixfs-exporter/dist/index.min.js +3 -0
- package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts +57 -0
- package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/errors.js +73 -0
- package/src/ipfs-unixfs-exporter/dist/src/errors.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/index.d.ts +355 -0
- package/src/ipfs-unixfs-exporter/dist/src/index.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/index.js +197 -0
- package/src/ipfs-unixfs-exporter/dist/src/index.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js +9 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js +9 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js +38 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js +30 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js +9 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js +37 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js +29 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js +153 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +59 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js +25 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js +104 -0
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts +3 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js +20 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts +6 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js +116 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts +4 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js +57 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts +6 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js +30 -0
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js.map +1 -0
- package/src/ipfs-unixfs-exporter/dist/typedoc-urls.json +58 -0
- package/src/ipfs-unixfs-exporter/src/errors.ts +87 -0
- package/src/ipfs-unixfs-exporter/src/index.ts +498 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/dag-cbor.ts +12 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/dag-json.ts +12 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/identity.ts +49 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/index.ts +35 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/json.ts +12 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/raw.ts +49 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/directory.ts +39 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/file.ts +198 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +76 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/raw.ts +37 -0
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/index.ts +121 -0
- package/src/ipfs-unixfs-exporter/src/utils/extract-data-from-block.ts +24 -0
- package/src/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.ts +149 -0
- package/src/ipfs-unixfs-exporter/src/utils/resolve-object-path.ts +62 -0
- package/src/ipfs-unixfs-exporter/src/utils/validate-offset-and-length.ts +38 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { decode } from '@ipld/dag-pb';
|
|
2
|
+
import { murmur3128 } from '@multiformats/murmur3';
|
|
3
|
+
import { Bucket, createHAMT } from 'hamt-sharding';
|
|
4
|
+
import { UnixFS } from 'ipfs-unixfs';
|
|
5
|
+
import { NotUnixFSError } from '../errors.js';
|
|
6
|
+
// FIXME: this is copy/pasted from ipfs-unixfs-importer/src/options.js
|
|
7
|
+
const hashFn = async function (buf) {
|
|
8
|
+
return (await murmur3128.encode(buf))
|
|
9
|
+
// Murmur3 outputs 128 bit but, accidentally, IPFS Go's
|
|
10
|
+
// implementation only uses the first 64, so we must do the same
|
|
11
|
+
// for parity..
|
|
12
|
+
.slice(0, 8)
|
|
13
|
+
// Invert buffer because that's how Go impl does it
|
|
14
|
+
.reverse();
|
|
15
|
+
};
|
|
16
|
+
const addLinksToHamtBucket = async (links, bucket, rootBucket) => {
|
|
17
|
+
const padLength = (bucket.tableSize() - 1).toString(16).length;
|
|
18
|
+
await Promise.all(links.map(async (link) => {
|
|
19
|
+
if (link.Name == null) {
|
|
20
|
+
// TODO(@rvagg): what do? this is technically possible
|
|
21
|
+
throw new Error('Unexpected Link without a Name');
|
|
22
|
+
}
|
|
23
|
+
if (link.Name.length === padLength) {
|
|
24
|
+
const pos = parseInt(link.Name, 16);
|
|
25
|
+
bucket._putObjectAt(pos, new Bucket({
|
|
26
|
+
hash: rootBucket._options.hash,
|
|
27
|
+
bits: rootBucket._options.bits
|
|
28
|
+
}, bucket, pos));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
await rootBucket.put(link.Name.substring(2), true);
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
const toPrefix = (position, padLength) => {
|
|
35
|
+
return position
|
|
36
|
+
.toString(16)
|
|
37
|
+
.toUpperCase()
|
|
38
|
+
.padStart(padLength, '0')
|
|
39
|
+
.substring(0, padLength);
|
|
40
|
+
};
|
|
41
|
+
const toBucketPath = (position) => {
|
|
42
|
+
let bucket = position.bucket;
|
|
43
|
+
const path = [];
|
|
44
|
+
while (bucket._parent != null) {
|
|
45
|
+
path.push(bucket);
|
|
46
|
+
bucket = bucket._parent;
|
|
47
|
+
}
|
|
48
|
+
path.push(bucket);
|
|
49
|
+
return path.reverse();
|
|
50
|
+
};
|
|
51
|
+
const findShardCid = async (node, name, blockstore, context, options) => {
|
|
52
|
+
if (context == null) {
|
|
53
|
+
if (node.Data == null) {
|
|
54
|
+
throw new NotUnixFSError('no data in PBNode');
|
|
55
|
+
}
|
|
56
|
+
let dir;
|
|
57
|
+
try {
|
|
58
|
+
dir = UnixFS.unmarshal(node.Data);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
throw new NotUnixFSError(err.message);
|
|
62
|
+
}
|
|
63
|
+
if (dir.type !== 'hamt-sharded-directory') {
|
|
64
|
+
throw new NotUnixFSError('not a HAMT');
|
|
65
|
+
}
|
|
66
|
+
if (dir.fanout == null) {
|
|
67
|
+
throw new NotUnixFSError('missing fanout');
|
|
68
|
+
}
|
|
69
|
+
const rootBucket = createHAMT({
|
|
70
|
+
hashFn,
|
|
71
|
+
bits: Math.log2(Number(dir.fanout))
|
|
72
|
+
});
|
|
73
|
+
context = {
|
|
74
|
+
rootBucket,
|
|
75
|
+
hamtDepth: 1,
|
|
76
|
+
lastBucket: rootBucket
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const padLength = (context.lastBucket.tableSize() - 1).toString(16).length;
|
|
80
|
+
await addLinksToHamtBucket(node.Links, context.lastBucket, context.rootBucket);
|
|
81
|
+
const position = await context.rootBucket._findNewBucketAndPos(name);
|
|
82
|
+
let prefix = toPrefix(position.pos, padLength);
|
|
83
|
+
const bucketPath = toBucketPath(position);
|
|
84
|
+
if (bucketPath.length > context.hamtDepth) {
|
|
85
|
+
context.lastBucket = bucketPath[context.hamtDepth];
|
|
86
|
+
prefix = toPrefix(context.lastBucket._posAtParent, padLength);
|
|
87
|
+
}
|
|
88
|
+
const link = node.Links.find(link => {
|
|
89
|
+
if (link.Name == null) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
const entryPrefix = link.Name.substring(0, padLength);
|
|
93
|
+
const entryName = link.Name.substring(padLength);
|
|
94
|
+
if (entryPrefix !== prefix) {
|
|
95
|
+
// not the entry or subshard we're looking for
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (entryName !== '' && entryName !== name) {
|
|
99
|
+
// not the entry we're looking for
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
});
|
|
104
|
+
if (link == null) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (link.Name != null && link.Name.substring(padLength) === name) {
|
|
108
|
+
return link.Hash;
|
|
109
|
+
}
|
|
110
|
+
context.hamtDepth++;
|
|
111
|
+
const block = await blockstore.get(link.Hash, options);
|
|
112
|
+
node = decode(block);
|
|
113
|
+
return findShardCid(node, name, blockstore, context, options);
|
|
114
|
+
};
|
|
115
|
+
export default findShardCid;
|
|
116
|
+
//# sourceMappingURL=find-cid-in-shard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-cid-in-shard.js","sourceRoot":"","sources":["../../../src/utils/find-cid-in-shard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CID } from 'multiformats/cid';
|
|
2
|
+
import type { ResolveResult } from '../index.js';
|
|
3
|
+
export declare function resolveObjectPath(object: any, block: Uint8Array, cid: CID, name: string, path: string, toResolve: string[], depth: number): ResolveResult;
|
|
4
|
+
//# sourceMappingURL=resolve-object-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-object-path.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-object-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAyD1J"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CID } from 'multiformats/cid';
|
|
2
|
+
import { NoPropError } from '../errors.js';
|
|
3
|
+
export function resolveObjectPath(object, block, cid, name, path, toResolve, depth) {
|
|
4
|
+
let subObject = object;
|
|
5
|
+
let subPath = path;
|
|
6
|
+
while (toResolve.length > 0) {
|
|
7
|
+
const prop = toResolve[0];
|
|
8
|
+
if (prop in subObject) {
|
|
9
|
+
// remove the bit of the path we have resolved
|
|
10
|
+
toResolve.shift();
|
|
11
|
+
subPath = `${subPath}/${prop}`;
|
|
12
|
+
const subObjectCid = CID.asCID(subObject[prop]);
|
|
13
|
+
if (subObjectCid != null) {
|
|
14
|
+
return {
|
|
15
|
+
entry: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
name,
|
|
18
|
+
path,
|
|
19
|
+
cid,
|
|
20
|
+
node: block,
|
|
21
|
+
depth,
|
|
22
|
+
size: BigInt(block.length),
|
|
23
|
+
content: async function* () {
|
|
24
|
+
yield object;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
next: {
|
|
28
|
+
cid: subObjectCid,
|
|
29
|
+
name: prop,
|
|
30
|
+
path: subPath,
|
|
31
|
+
toResolve
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
subObject = subObject[prop];
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// cannot resolve further
|
|
39
|
+
throw new NoPropError(`No property named ${prop} found in node ${cid}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
entry: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
name,
|
|
46
|
+
path,
|
|
47
|
+
cid,
|
|
48
|
+
node: block,
|
|
49
|
+
depth,
|
|
50
|
+
size: BigInt(block.length),
|
|
51
|
+
content: async function* () {
|
|
52
|
+
yield object;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=resolve-object-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-object-path.js","sourceRoot":"","sources":["../../../src/utils/resolve-object-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C,MAAM,UAAU,iBAAiB,CAAE,MAAW,EAAE,KAAiB,EAAE,GAAQ,EAAE,IAAY,EAAE,IAAY,EAAE,SAAmB,EAAE,KAAa;IACzI,IAAI,SAAS,GAAG,MAAM,CAAA;IACtB,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAEzB,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,8CAA8C;YAC9C,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,OAAO,GAAG,GAAG,OAAO,IAAI,IAAI,EAAE,CAAA;YAE9B,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI;wBACJ,IAAI;wBACJ,GAAG;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK;wBACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;wBAC1B,OAAO,EAAE,KAAK,SAAU,CAAC;4BACvB,MAAM,MAAM,CAAA;wBACd,CAAC;qBACF;oBACD,IAAI,EAAE;wBACJ,GAAG,EAAE,YAAY;wBACjB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,OAAO;wBACb,SAAS;qBACV;iBACF,CAAA;YACH,CAAC;YAED,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,IAAI,WAAW,CAAC,qBAAqB,IAAI,kBAAkB,GAAG,EAAE,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,KAAK;YACX,KAAK;YACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,KAAK,SAAU,CAAC;gBACvB,MAAM,MAAM,CAAA;YACd,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-offset-and-length.d.ts","sourceRoot":"","sources":["../../../src/utils/validate-offset-and-length.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,uBAAuB,SAAU,MAAM,GAAG,MAAM,WAAU,MAAM,GAAG,MAAM,WAAc,MAAM,GAAG,MAAM,KAAU;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAiCjJ,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InvalidParametersError } from '../errors.js';
|
|
2
|
+
const validateOffsetAndLength = (size, offset = 0, length = size) => {
|
|
3
|
+
const fileSize = BigInt(size);
|
|
4
|
+
const start = BigInt(offset ?? 0);
|
|
5
|
+
let end = BigInt(length);
|
|
6
|
+
if (end !== fileSize) {
|
|
7
|
+
end = start + end;
|
|
8
|
+
}
|
|
9
|
+
if (end > fileSize) {
|
|
10
|
+
end = fileSize;
|
|
11
|
+
}
|
|
12
|
+
if (start < 0n) {
|
|
13
|
+
throw new InvalidParametersError('Offset must be greater than or equal to 0');
|
|
14
|
+
}
|
|
15
|
+
if (start > fileSize) {
|
|
16
|
+
throw new InvalidParametersError('Offset must be less than the file size');
|
|
17
|
+
}
|
|
18
|
+
if (end < 0n) {
|
|
19
|
+
throw new InvalidParametersError('Length must be greater than or equal to 0');
|
|
20
|
+
}
|
|
21
|
+
if (end > fileSize) {
|
|
22
|
+
throw new InvalidParametersError('Length must be less than the file size');
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
start,
|
|
26
|
+
end
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export default validateOffsetAndLength;
|
|
30
|
+
//# sourceMappingURL=validate-offset-and-length.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-offset-and-length.js","sourceRoot":"","sources":["../../../src/utils/validate-offset-and-length.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,uBAAuB,GAAG,CAAC,IAAqB,EAAE,SAA0B,CAAC,EAAE,SAA0B,IAAI,EAAkC,EAAE;IACrJ,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IACjC,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAExB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;QACnB,GAAG,GAAG,QAAQ,CAAA;IAChB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAAC,2CAA2C,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,sBAAsB,CAAC,wCAAwC,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAAC,2CAA2C,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,sBAAsB,CAAC,wCAAwC,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO;QACL,KAAK;QACL,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"BadPathError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.BadPathError.html",
|
|
3
|
+
"InvalidParametersError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.InvalidParametersError.html",
|
|
4
|
+
"NoPropError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.NoPropError.html",
|
|
5
|
+
"NoResolverError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.NoResolverError.html",
|
|
6
|
+
"NotFoundError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.NotFoundError.html",
|
|
7
|
+
"NotUnixFSError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.NotUnixFSError.html",
|
|
8
|
+
"OverReadError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.OverReadError.html",
|
|
9
|
+
"UnderReadError": "https://ipfs.github.io/js-ipfs-unixfs/classes/ipfs_unixfs_exporter.UnderReadError.html",
|
|
10
|
+
"ExportProgress": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExportProgress.html",
|
|
11
|
+
".:ExportProgress": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExportProgress.html",
|
|
12
|
+
"ExportWalk": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExportWalk.html",
|
|
13
|
+
".:ExportWalk": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExportWalk.html",
|
|
14
|
+
"Exportable": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Exportable.html",
|
|
15
|
+
".:Exportable": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Exportable.html",
|
|
16
|
+
"ExporterOptions": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExporterOptions.html",
|
|
17
|
+
".:ExporterOptions": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ExporterOptions.html",
|
|
18
|
+
"IdentityNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.IdentityNode.html",
|
|
19
|
+
".:IdentityNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.IdentityNode.html",
|
|
20
|
+
"NextResult": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.NextResult.html",
|
|
21
|
+
".:NextResult": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.NextResult.html",
|
|
22
|
+
"ObjectNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ObjectNode.html",
|
|
23
|
+
".:ObjectNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ObjectNode.html",
|
|
24
|
+
"RawNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.RawNode.html",
|
|
25
|
+
".:RawNode": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.RawNode.html",
|
|
26
|
+
"Resolve": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Resolve.html",
|
|
27
|
+
".:Resolve": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Resolve.html",
|
|
28
|
+
"ResolveResult": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ResolveResult.html",
|
|
29
|
+
".:ResolveResult": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ResolveResult.html",
|
|
30
|
+
"Resolver": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Resolver.html",
|
|
31
|
+
".:Resolver": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.Resolver.html",
|
|
32
|
+
"ShardTraversalContext": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ShardTraversalContext.html",
|
|
33
|
+
".:ShardTraversalContext": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.ShardTraversalContext.html",
|
|
34
|
+
"UnixFSDirectory": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixFSDirectory.html",
|
|
35
|
+
".:UnixFSDirectory": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixFSDirectory.html",
|
|
36
|
+
"UnixFSFile": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixFSFile.html",
|
|
37
|
+
".:UnixFSFile": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixFSFile.html",
|
|
38
|
+
"UnixfsV1Resolver": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixfsV1Resolver.html",
|
|
39
|
+
".:UnixfsV1Resolver": "https://ipfs.github.io/js-ipfs-unixfs/interfaces/ipfs_unixfs_exporter.UnixfsV1Resolver.html",
|
|
40
|
+
"ExporterProgressEvents": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.ExporterProgressEvents.html",
|
|
41
|
+
".:ExporterProgressEvents": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.ExporterProgressEvents.html",
|
|
42
|
+
"ReadableStorage": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.ReadableStorage.html",
|
|
43
|
+
".:ReadableStorage": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.ReadableStorage.html",
|
|
44
|
+
"UnixFSEntry": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixFSEntry.html",
|
|
45
|
+
".:UnixFSEntry": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixFSEntry.html",
|
|
46
|
+
"UnixfsV1Content": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1Content.html",
|
|
47
|
+
".:UnixfsV1Content": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1Content.html",
|
|
48
|
+
"UnixfsV1DirectoryContent": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1DirectoryContent.html",
|
|
49
|
+
".:UnixfsV1DirectoryContent": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1DirectoryContent.html",
|
|
50
|
+
"UnixfsV1FileContent": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1FileContent.html",
|
|
51
|
+
".:UnixfsV1FileContent": "https://ipfs.github.io/js-ipfs-unixfs/types/ipfs_unixfs_exporter.UnixfsV1FileContent.html",
|
|
52
|
+
"exporter": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.exporter.html",
|
|
53
|
+
".:exporter": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.exporter.html",
|
|
54
|
+
"recursive": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.recursive.html",
|
|
55
|
+
".:recursive": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.recursive.html",
|
|
56
|
+
"walkPath": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.walkPath.html",
|
|
57
|
+
".:walkPath": "https://ipfs.github.io/js-ipfs-unixfs/functions/ipfs_unixfs_exporter.walkPath.html"
|
|
58
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export class BadPathError extends Error {
|
|
2
|
+
static name = 'BadPathError'
|
|
3
|
+
static code = 'ERR_BAD_PATH'
|
|
4
|
+
name = BadPathError.name
|
|
5
|
+
code = BadPathError.code
|
|
6
|
+
|
|
7
|
+
constructor (message = 'Bad path') {
|
|
8
|
+
super(message)
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class NotFoundError extends Error {
|
|
13
|
+
static name = 'NotFoundError'
|
|
14
|
+
static code = 'ERR_NOT_FOUND'
|
|
15
|
+
name = NotFoundError.name
|
|
16
|
+
code = NotFoundError.code
|
|
17
|
+
|
|
18
|
+
constructor (message = 'Not found') {
|
|
19
|
+
super(message)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export class NoResolverError extends Error {
|
|
24
|
+
static name = 'NoResolverError'
|
|
25
|
+
static code = 'ERR_NO_RESOLVER'
|
|
26
|
+
name = NoResolverError.name
|
|
27
|
+
code = NoResolverError.code
|
|
28
|
+
|
|
29
|
+
constructor (message = 'No resolver') {
|
|
30
|
+
super(message)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class NotUnixFSError extends Error {
|
|
35
|
+
static name = 'NotUnixFSError'
|
|
36
|
+
static code = 'ERR_NOT_UNIXFS'
|
|
37
|
+
name = NotUnixFSError.name
|
|
38
|
+
code = NotUnixFSError.code
|
|
39
|
+
|
|
40
|
+
constructor (message = 'Not UnixFS') {
|
|
41
|
+
super(message)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export class OverReadError extends Error {
|
|
46
|
+
static name = 'OverReadError'
|
|
47
|
+
static code = 'ERR_OVER_READ'
|
|
48
|
+
name = OverReadError.name
|
|
49
|
+
code = OverReadError.code
|
|
50
|
+
|
|
51
|
+
constructor (message = 'Over read') {
|
|
52
|
+
super(message)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export class UnderReadError extends Error {
|
|
57
|
+
static name = 'UnderReadError'
|
|
58
|
+
static code = 'ERR_UNDER_READ'
|
|
59
|
+
name = UnderReadError.name
|
|
60
|
+
code = UnderReadError.code
|
|
61
|
+
|
|
62
|
+
constructor (message = 'Under read') {
|
|
63
|
+
super(message)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export class NoPropError extends Error {
|
|
68
|
+
static name = 'NoPropError'
|
|
69
|
+
static code = 'ERR_NO_PROP'
|
|
70
|
+
name = NoPropError.name
|
|
71
|
+
code = NoPropError.code
|
|
72
|
+
|
|
73
|
+
constructor (message = 'No Property found') {
|
|
74
|
+
super(message)
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export class InvalidParametersError extends Error {
|
|
79
|
+
static name = 'InvalidParametersError'
|
|
80
|
+
static code = 'ERR_INVALID_PARAMS'
|
|
81
|
+
name = InvalidParametersError.name
|
|
82
|
+
code = InvalidParametersError.code
|
|
83
|
+
|
|
84
|
+
constructor (message = 'Invalid parameters') {
|
|
85
|
+
super(message)
|
|
86
|
+
}
|
|
87
|
+
}
|