@fireproof/vendor 0.0.0-smoke → 1.0.1
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 +155 -8
- package/src/@ipld/car/{car/README.md → README.md} +229 -175
- package/src/@ipld/car/dist/src/reader.d.ts.map +1 -0
- package/src/@ipld/car/{car/src → src}/reader.js +19 -2
- package/src/cborg/cborg/{lib/bin.js → bin.js} +2 -2
- package/src/cborg/cborg/common.js +28 -0
- package/{patched/cborg/lib → src/cborg/cborg}/decode.js +24 -22
- package/src/cborg/cborg/{lib/diagnostic.js → diagnostic.js} +6 -4
- package/{patched/cborg/lib → src/cborg/cborg}/diagnostic_test.js +1 -1
- package/src/cborg/cborg/{lib/encode.js → encode.js} +23 -21
- package/{patched/cborg/cborg.js → src/cborg/cborg/index.js} +12 -10
- package/src/cborg/cborg/{lib/length.js → length.js} +3 -2
- package/{patched → src}/cborg/interface.ts +7 -4
- package/src/cborg/{cborg/lib/json → json}/decode.js +25 -25
- package/src/cborg/{cborg/lib/json → json}/encode.js +19 -16
- package/src/cborg/{cborg/package.json → package.json} +15 -11
- package/src/cborg/{cborg/taglib.js → taglib.js} +3 -1
- package/src/cborg/{cborg/test → test}/common.js +1 -1
- package/{patched → src}/cborg/test/noop-bin-test.js +1 -1
- package/{patched → src}/cborg/test/test-0uint.js +2 -2
- package/src/cborg/{cborg/test → test}/test-1negint.js +2 -2
- package/src/cborg/{cborg/test → test}/test-2bytes.js +2 -2
- package/src/cborg/{cborg/test → test}/test-3string.js +2 -2
- package/{patched → src}/cborg/test/test-4array.js +2 -2
- package/{patched → src}/cborg/test/test-5map.js +2 -2
- package/src/cborg/{cborg/test → test}/test-6tag.js +2 -3
- package/{patched → src}/cborg/test/test-7float.js +2 -2
- package/{patched → src}/cborg/test/test-bl.js +1 -1
- package/src/cborg/{cborg/test → test}/test-cbor-vectors.js +2 -2
- package/src/cborg/{cborg/test → test}/test-decode-errors.js +2 -2
- package/{patched → src}/cborg/test/test-fuzz.js +1 -1
- package/src/cborg/{cborg/test → test}/test-json.js +25 -25
- package/{patched → src}/cborg/test/test-length.js +3 -3
- package/src/cborg/{cborg/test → test}/test-partial.js +2 -2
- package/src/cborg/{cborg/tsconfig.json → tsconfig.json} +5 -2
- package/{patched/cborg/types/lib → src/cborg/types/cborg}/decode.d.ts +5 -3
- package/src/cborg/types/cborg/decode.d.ts.map +1 -0
- package/{patched/cborg/types/lib → src/cborg/types/cborg}/encode.d.ts +4 -3
- 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.map +1 -0
- package/src/cborg/{cborg/types → types}/interface.d.ts +6 -4
- package/src/cborg/types/interface.d.ts.map +1 -0
- package/{patched/cborg/types/lib → src/cborg/types}/json/decode.d.ts +7 -7
- 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.map +1 -0
- package/{patched → src}/cborg/types/taglib.d.ts +1 -1
- package/{patched → src}/cborg/types/taglib.d.ts.map +1 -1
- package/src/cborg/types/tsconfig.tsbuildinfo +1 -0
- package/{patched/cborg/types/lib → src/cborg/types/utils}/0uint.d.ts +6 -4
- package/src/cborg/types/utils/0uint.d.ts.map +1 -0
- package/{patched/cborg/types/lib → src/cborg/types/utils}/1negint.d.ts +4 -3
- package/src/cborg/types/utils/1negint.d.ts.map +1 -0
- package/src/cborg/{cborg/types/lib → types/utils}/2bytes.d.ts +5 -4
- package/src/cborg/types/utils/2bytes.d.ts.map +1 -0
- package/src/cborg/{cborg/types/lib → types/utils}/3string.d.ts +1 -1
- package/src/cborg/types/utils/3string.d.ts.map +1 -0
- package/{patched/cborg/types/lib → src/cborg/types/utils}/4array.d.ts +3 -2
- package/src/cborg/types/utils/4array.d.ts.map +1 -0
- package/src/cborg/{cborg/types/lib → types/utils}/5map.d.ts +3 -2
- package/src/cborg/types/utils/5map.d.ts.map +1 -0
- package/{patched/cborg/types/lib → src/cborg/types/utils}/6tag.d.ts +4 -3
- package/src/cborg/types/utils/6tag.d.ts.map +1 -0
- package/src/cborg/{cborg/types/lib → types/utils}/7float.d.ts +2 -2
- package/src/cborg/types/utils/7float.d.ts.map +1 -0
- package/src/cborg/types/utils/bl.d.ts.map +1 -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.map +1 -0
- package/src/cborg/{cborg/lib → utils}/0uint.js +16 -14
- package/src/cborg/{cborg/lib → utils}/1negint.js +5 -5
- package/src/cborg/{cborg/lib → utils}/2bytes.js +16 -14
- package/src/cborg/{cborg/lib → utils}/3string.js +4 -4
- package/src/cborg/{cborg/lib → utils}/4array.js +7 -6
- package/{patched/cborg/lib → src/cborg/utils}/5map.js +6 -6
- package/{patched/cborg/lib → src/cborg/utils}/6tag.js +4 -3
- package/src/cborg/{cborg/lib → utils}/7float.js +23 -21
- package/{patched/cborg/lib → src/cborg/utils}/bl.js +1 -1
- 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/patched/@ipld/dag-json/.github/dependabot.yml +0 -11
- package/patched/@ipld/dag-json/.github/workflows/js-test-and-release.yml +0 -28
- package/patched/@ipld/dag-json/CHANGELOG.md +0 -202
- package/patched/@ipld/dag-json/LICENSE-APACHE +0 -5
- package/patched/@ipld/dag-json/LICENSE-MIT +0 -19
- package/patched/@ipld/dag-json/ipld-dag-json-10.2.3.tgz +0 -0
- package/patched/@ipld/dag-json/src/index.js +0 -291
- package/patched/@ipld/dag-json/test/test-basics.spec.js +0 -290
- package/patched/@ipld/dag-json/test/ts-use/package.json +0 -11
- package/patched/@ipld/dag-json/test/ts-use/src/main.ts +0 -54
- package/patched/@ipld/dag-json/test/ts-use/tsconfig.json +0 -9
- package/patched/@ipld/dag-json/tsconfig.json +0 -14
- package/patched/cborg/cborg-4.2.7.tgz +0 -0
- package/patched/cborg/example-json.js +0 -6
- package/patched/cborg/example.js +0 -5
- package/patched/cborg/lib/0uint.js +0 -227
- package/patched/cborg/lib/1negint.js +0 -111
- package/patched/cborg/lib/2bytes.js +0 -133
- package/patched/cborg/lib/3string.js +0 -90
- package/patched/cborg/lib/4array.js +0 -113
- package/patched/cborg/lib/7float.js +0 -308
- package/patched/cborg/lib/bin.js +0 -189
- package/patched/cborg/lib/common.js +0 -27
- package/patched/cborg/lib/diagnostic.js +0 -156
- package/patched/cborg/lib/encode.js +0 -464
- package/patched/cborg/lib/json/decode.js +0 -462
- package/patched/cborg/lib/json/encode.js +0 -299
- package/patched/cborg/lib/jump.js +0 -209
- package/patched/cborg/lib/length.js +0 -61
- package/patched/cborg/package.json +0 -169
- package/patched/cborg/pnpm-lock.yaml +0 -6096
- package/patched/cborg/taglib.js +0 -73
- package/patched/cborg/test/common.js +0 -18
- package/patched/cborg/test/test-1negint.js +0 -96
- package/patched/cborg/test/test-2bytes.js +0 -198
- package/patched/cborg/test/test-3string.js +0 -136
- package/patched/cborg/test/test-6tag.js +0 -85
- package/patched/cborg/test/test-cbor-vectors.js +0 -107
- package/patched/cborg/test/test-decode-errors.js +0 -65
- package/patched/cborg/test/test-json.js +0 -219
- package/patched/cborg/test/test-partial.js +0 -111
- package/patched/cborg/tsconfig.json +0 -45
- package/patched/cborg/types/cborg.d.ts +0 -28
- package/patched/cborg/types/cborg.d.ts.map +0 -1
- package/patched/cborg/types/interface.d.ts +0 -47
- package/patched/cborg/types/interface.d.ts.map +0 -1
- package/patched/cborg/types/lib/0uint.d.ts.map +0 -1
- package/patched/cborg/types/lib/1negint.d.ts.map +0 -1
- package/patched/cborg/types/lib/2bytes.d.ts +0 -68
- package/patched/cborg/types/lib/2bytes.d.ts.map +0 -1
- package/patched/cborg/types/lib/3string.d.ts +0 -46
- package/patched/cborg/types/lib/3string.d.ts.map +0 -1
- package/patched/cborg/types/lib/4array.d.ts.map +0 -1
- package/patched/cborg/types/lib/5map.d.ts +0 -65
- package/patched/cborg/types/lib/5map.d.ts.map +0 -1
- package/patched/cborg/types/lib/6tag.d.ts.map +0 -1
- package/patched/cborg/types/lib/7float.d.ts +0 -60
- package/patched/cborg/types/lib/7float.d.ts.map +0 -1
- package/patched/cborg/types/lib/bin.d.ts +0 -4
- package/patched/cborg/types/lib/bin.d.ts.map +0 -1
- package/patched/cborg/types/lib/bl.d.ts.map +0 -1
- package/patched/cborg/types/lib/byte-utils.d.ts.map +0 -1
- package/patched/cborg/types/lib/common.d.ts +0 -10
- package/patched/cborg/types/lib/common.d.ts.map +0 -1
- package/patched/cborg/types/lib/decode.d.ts.map +0 -1
- package/patched/cborg/types/lib/diagnostic.d.ts +0 -12
- package/patched/cborg/types/lib/diagnostic.d.ts.map +0 -1
- package/patched/cborg/types/lib/diagnostic_test.d.ts +0 -2
- package/patched/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
- package/patched/cborg/types/lib/encode.d.ts.map +0 -1
- package/patched/cborg/types/lib/is.d.ts.map +0 -1
- package/patched/cborg/types/lib/json/decode.d.ts.map +0 -1
- package/patched/cborg/types/lib/json/encode.d.ts +0 -11
- package/patched/cborg/types/lib/json/encode.d.ts.map +0 -1
- package/patched/cborg/types/lib/json/forward-cborg.d.ts +0 -6
- package/patched/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
- package/patched/cborg/types/lib/json/json.d.ts.map +0 -1
- package/patched/cborg/types/lib/jump.d.ts +0 -12
- package/patched/cborg/types/lib/jump.d.ts.map +0 -1
- package/patched/cborg/types/lib/length.d.ts +0 -27
- package/patched/cborg/types/lib/length.d.ts.map +0 -1
- package/patched/cborg/types/lib/token.d.ts.map +0 -1
- package/patched/cborg/types/tsconfig.tsbuildinfo +0 -1
- package/src/@ipld/car/car/dist/src/reader.d.ts.map +0 -1
- package/src/@ipld/car/car/node_modules/.bin/cborg +0 -17
- package/src/@ipld/dag-cbor/dag-cbor/node_modules/.bin/cborg +0 -17
- package/src/@ipld/dag-json/dag-json/README.md +0 -58
- package/src/@ipld/dag-json/dag-json/node_modules/.bin/cborg +0 -17
- package/src/@ipld/dag-json/dag-json/package.json +0 -173
- package/src/@web3-storage/pail/pail/node_modules/.bin/pail +0 -17
- package/src/cborg/cborg/.github/dependabot.yml +0 -16
- package/src/cborg/cborg/.github/workflows/test-and-release.yml +0 -52
- package/src/cborg/cborg/CHANGELOG.md +0 -513
- package/src/cborg/cborg/LICENSE +0 -13
- package/src/cborg/cborg/README.md +0 -515
- package/src/cborg/cborg/bench/bench.js +0 -117
- package/src/cborg/cborg/bench/json.js +0 -124
- package/src/cborg/cborg/bench/package.json +0 -8
- package/src/cborg/cborg/cborg.js +0 -31
- package/src/cborg/cborg/example-bytestrings.js +0 -180
- package/src/cborg/cborg/interface.ts +0 -56
- package/src/cborg/cborg/lib/5map.js +0 -113
- package/src/cborg/cborg/lib/6tag.js +0 -80
- package/src/cborg/cborg/lib/bl.js +0 -124
- package/src/cborg/cborg/lib/byte-utils.js +0 -417
- package/src/cborg/cborg/lib/common.js +0 -27
- package/src/cborg/cborg/lib/decode.js +0 -209
- package/src/cborg/cborg/lib/diagnostic_test.js +0 -117
- package/src/cborg/cborg/lib/is.js +0 -106
- package/src/cborg/cborg/lib/json/json.js +0 -4
- package/src/cborg/cborg/lib/jump.js +0 -209
- package/src/cborg/cborg/lib/token.js +0 -76
- package/src/cborg/cborg/node_modules/.bin/cborg +0 -17
- package/src/cborg/cborg/test/appendix_a.js +0 -647
- package/src/cborg/cborg/test/node-test-bin.js +0 -402
- package/src/cborg/cborg/test/noop-bin-test.js +0 -3
- package/src/cborg/cborg/test/test-0uint.js +0 -103
- package/src/cborg/cborg/test/test-4array.js +0 -93
- package/src/cborg/cborg/test/test-5map.js +0 -284
- package/src/cborg/cborg/test/test-7float.js +0 -131
- package/src/cborg/cborg/test/test-bl.js +0 -37
- package/src/cborg/cborg/test/test-fuzz.js +0 -42
- package/src/cborg/cborg/test/test-length.js +0 -65
- package/src/cborg/cborg/types/cborg.d.ts +0 -28
- package/src/cborg/cborg/types/cborg.d.ts.map +0 -1
- package/src/cborg/cborg/types/example.d.ts +0 -2
- package/src/cborg/cborg/types/example.d.ts.map +0 -1
- package/src/cborg/cborg/types/interface.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/0uint.d.ts +0 -100
- package/src/cborg/cborg/types/lib/0uint.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/1negint.d.ts +0 -58
- package/src/cborg/cborg/types/lib/1negint.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/2bytes.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/3string.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/4array.d.ts +0 -65
- package/src/cborg/cborg/types/lib/4array.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/5map.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/6tag.d.ts +0 -61
- package/src/cborg/cborg/types/lib/6tag.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/7float.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/bin.d.ts +0 -4
- package/src/cborg/cborg/types/lib/bin.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/bl.d.ts +0 -26
- package/src/cborg/cborg/types/lib/bl.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/byte-utils.d.ts +0 -53
- package/src/cborg/cborg/types/lib/byte-utils.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/common.d.ts +0 -10
- package/src/cborg/cborg/types/lib/common.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/decode.d.ts +0 -41
- package/src/cborg/cborg/types/lib/decode.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/diagnostic.d.ts +0 -12
- package/src/cborg/cborg/types/lib/diagnostic.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/diagnostic_test.d.ts +0 -2
- package/src/cborg/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/encode.d.ts +0 -50
- package/src/cborg/cborg/types/lib/encode.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/is.d.ts +0 -6
- package/src/cborg/cborg/types/lib/is.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/json/decode.d.ts +0 -67
- package/src/cborg/cborg/types/lib/json/decode.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/json/encode.d.ts +0 -11
- package/src/cborg/cborg/types/lib/json/encode.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts +0 -6
- package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/json/json.d.ts +0 -6
- package/src/cborg/cborg/types/lib/json/json.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/jump.d.ts +0 -12
- package/src/cborg/cborg/types/lib/jump.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/length.d.ts +0 -27
- package/src/cborg/cborg/types/lib/length.d.ts.map +0 -1
- package/src/cborg/cborg/types/lib/token.d.ts +0 -59
- package/src/cborg/cborg/types/lib/token.d.ts.map +0 -1
- package/src/cborg/cborg/types/taglib.d.ts +0 -18
- package/src/cborg/cborg/types/taglib.d.ts.map +0 -1
- package/src/cborg/cborg/types/tsconfig.tsbuildinfo +0 -1
- package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/LICENSE +0 -4
- /package/{patched/@ipld/dag-json → src/@ipld/car}/LICENSE +0 -0
- /package/src/@ipld/car/{car/dist → dist}/index.min.js +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/api.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/api.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-decoder.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-decoder.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader-browser.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader-browser.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-writer.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/buffer-writer.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/coding.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/coding.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/decoder-common.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/decoder-common.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/decoder.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/decoder.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/encoder.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/encoder.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/header-validator.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/header-validator.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/index-browser.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/index-browser.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/index.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/index.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader-browser.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader-browser.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexer.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/indexer.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/iterator-channel.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/iterator-channel.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/iterator.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/iterator.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/reader-browser.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/reader-browser.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/reader.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/writer-browser.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/writer-browser.d.ts.map +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/writer.d.ts +0 -0
- /package/src/@ipld/car/{car/dist → dist}/src/writer.d.ts.map +0 -0
- /package/src/@ipld/car/{car/package.json → package.json} +0 -0
- /package/src/@ipld/car/{car/src → src}/api.ts +0 -0
- /package/src/@ipld/car/{car/src → src}/buffer-decoder.js +0 -0
- /package/src/@ipld/car/{car/src → src}/buffer-reader-browser.js +0 -0
- /package/src/@ipld/car/{car/src → src}/buffer-reader.js +0 -0
- /package/src/@ipld/car/{car/src → src}/buffer-writer.js +0 -0
- /package/src/@ipld/car/{car/src → src}/coding.ts +0 -0
- /package/src/@ipld/car/{car/src → src}/decoder-common.js +0 -0
- /package/src/@ipld/car/{car/src → src}/decoder.js +0 -0
- /package/src/@ipld/car/{car/src → src}/encoder.js +0 -0
- /package/src/@ipld/car/{car/src → src}/header-validator.js +0 -0
- /package/src/@ipld/car/{car/src → src}/header.ipldsch +0 -0
- /package/src/@ipld/car/{car/src → src}/index-browser.js +0 -0
- /package/src/@ipld/car/{car/src → src}/index.js +0 -0
- /package/src/@ipld/car/{car/src → src}/indexed-reader-browser.js +0 -0
- /package/src/@ipld/car/{car/src → src}/indexed-reader.js +0 -0
- /package/src/@ipld/car/{car/src → src}/indexer.js +0 -0
- /package/src/@ipld/car/{car/src → src}/iterator-channel.js +0 -0
- /package/src/@ipld/car/{car/src → src}/iterator.js +0 -0
- /package/src/@ipld/car/{car/src → src}/reader-browser.js +0 -0
- /package/src/@ipld/car/{car/src → src}/writer-browser.js +0 -0
- /package/src/@ipld/car/{car/src → src}/writer.js +0 -0
- /package/src/@ipld/{car/car → dag-cbor}/LICENSE +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/README.md → README.md} +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/index.min.js +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/src/index.d.ts +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/src/index.d.ts.map +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/package.json → package.json} +0 -0
- /package/src/@ipld/dag-cbor/{dag-cbor/src → src}/index.js +0 -0
- /package/src/@ipld/{dag-cbor/dag-cbor → dag-json}/LICENSE +0 -0
- /package/{patched → src}/@ipld/dag-json/README.md +0 -0
- /package/src/@ipld/dag-json/{dag-json/dist → dist}/index.min.js +0 -0
- /package/src/@ipld/dag-json/{dag-json/dist → dist}/src/index.d.ts +0 -0
- /package/src/@ipld/dag-json/{dag-json/dist → dist}/src/index.d.ts.map +0 -0
- /package/{patched → src}/@ipld/dag-json/package.json +0 -0
- /package/src/@ipld/dag-json/{dag-json/src → src}/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/LICENSE.md → LICENSE.md} +0 -0
- /package/src/@web3-storage/pail/{pail/README.md → README.md} +0 -0
- /package/src/@web3-storage/pail/{pail/cli.js → cli.js} +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/api.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/api.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/api.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/api.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/index.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/index.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/shard.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/shard.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/block.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/block.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/api.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/api.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/index.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/index.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/api.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/api.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/api.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/api.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/index.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/index.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/index.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/index.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/diff.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/diff.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/index.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/index.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/merge.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/merge.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/shard.d.ts +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/src/shard.d.ts.map +0 -0
- /package/src/@web3-storage/pail/{pail/dist → dist}/tsconfig.tsbuildinfo +0 -0
- /package/src/@web3-storage/pail/{pail/package.json → package.json} +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/api.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/api.ts +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/batch/api.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/batch/api.ts +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/batch/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/batch/shard.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/block.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/clock/api.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/clock/api.ts +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/clock/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/api.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/api.ts +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/api.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/api.ts +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/crdt/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/diff.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/index.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/merge.js +0 -0
- /package/src/@web3-storage/pail/{pail/src → src}/shard.js +0 -0
- /package/{patched → src}/cborg/.github/dependabot.yml +0 -0
- /package/{patched → src}/cborg/.github/workflows/test-and-release.yml +0 -0
- /package/{patched → src}/cborg/CHANGELOG.md +0 -0
- /package/{patched → src}/cborg/LICENSE +0 -0
- /package/{patched → src}/cborg/README.md +0 -0
- /package/{patched → src}/cborg/bench/bench.js +0 -0
- /package/{patched → src}/cborg/bench/json.js +0 -0
- /package/{patched → src}/cborg/bench/package.json +0 -0
- /package/{patched/cborg/lib → src/cborg/cborg}/is.js +0 -0
- /package/{patched → src}/cborg/example-bytestrings.js +0 -0
- /package/src/cborg/{cborg/example-json.js → example-json.js} +0 -0
- /package/src/cborg/{cborg/example.js → example.js} +0 -0
- /package/{patched/cborg/lib → src/cborg}/json/json.js +0 -0
- /package/{patched → src}/cborg/test/appendix_a.js +0 -0
- /package/{patched → src}/cborg/test/node-test-bin.js +0 -0
- /package/{patched/cborg/types/lib → src/cborg/types/cborg}/is.d.ts +0 -0
- /package/{patched → src}/cborg/types/example.d.ts +0 -0
- /package/{patched → src}/cborg/types/example.d.ts.map +0 -0
- /package/{patched/cborg/types/lib → src/cborg/types}/json/json.d.ts +0 -0
- /package/{patched/cborg/types/lib → src/cborg/types/utils}/bl.d.ts +0 -0
- /package/{patched/cborg/types/lib → src/cborg/types/utils}/byte-utils.d.ts +0 -0
- /package/{patched/cborg/types/lib → src/cborg/types/utils}/token.d.ts +0 -0
- /package/{patched/cborg/lib → src/cborg/utils}/byte-utils.js +0 -0
- /package/{patched/cborg/lib → src/cborg/utils}/token.js +0 -0
- /package/src/{@ipld/dag-json/dag-json → ipfs-unixfs-exporter}/LICENSE +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/README.md → README.md} +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/index.min.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.d.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.d.ts.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.js +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.js.map +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/typedoc-urls.json +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/package.json → package.json} +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/errors.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/index.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/dag-cbor.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/dag-json.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/identity.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/index.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/json.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/raw.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/directory.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/file.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/raw.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/index.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/extract-data-from-block.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/find-cid-in-shard.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/resolve-object-path.ts +0 -0
- /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/validate-offset-and-length.ts +0 -0
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import { decodeErrPrefix } from './common.js'
|
|
2
|
-
import { Type } from './token.js'
|
|
3
|
-
import { jump, quick } from './jump.js'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @typedef {import('./token.js').Token} Token
|
|
7
|
-
* @typedef {import('../interface').DecodeOptions} DecodeOptions
|
|
8
|
-
* @typedef {import('../interface').DecodeTokenizer} DecodeTokenizer
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
const defaultDecodeOptions = {
|
|
12
|
-
strict: false,
|
|
13
|
-
allowIndefinite: true,
|
|
14
|
-
allowUndefined: true,
|
|
15
|
-
allowBigInt: true
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @implements {DecodeTokenizer}
|
|
20
|
-
*/
|
|
21
|
-
class Tokeniser {
|
|
22
|
-
/**
|
|
23
|
-
* @param {Uint8Array} data
|
|
24
|
-
* @param {DecodeOptions} options
|
|
25
|
-
*/
|
|
26
|
-
constructor (data, options = {}) {
|
|
27
|
-
this._pos = 0
|
|
28
|
-
this.data = data
|
|
29
|
-
this.options = options
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
pos () {
|
|
33
|
-
return this._pos
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
done () {
|
|
37
|
-
return this._pos >= this.data.length
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
next () {
|
|
41
|
-
const byt = this.data[this._pos]
|
|
42
|
-
let token = quick[byt]
|
|
43
|
-
if (token === undefined) {
|
|
44
|
-
const decoder = jump[byt]
|
|
45
|
-
/* c8 ignore next 4 */
|
|
46
|
-
// if we're here then there's something wrong with our jump or quick lists!
|
|
47
|
-
if (!decoder) {
|
|
48
|
-
throw new Error(`${decodeErrPrefix} no decoder for major type ${byt >>> 5} (byte 0x${byt.toString(16).padStart(2, '0')})`)
|
|
49
|
-
}
|
|
50
|
-
const minor = byt & 31
|
|
51
|
-
token = decoder(this.data, this._pos, minor, this.options)
|
|
52
|
-
}
|
|
53
|
-
// @ts-ignore we get to assume encodedLength is set (crossing fingers slightly)
|
|
54
|
-
this._pos += token.encodedLength
|
|
55
|
-
return token
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const DONE = Symbol.for('DONE')
|
|
60
|
-
const BREAK = Symbol.for('BREAK')
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* @param {Token} token
|
|
64
|
-
* @param {DecodeTokenizer} tokeniser
|
|
65
|
-
* @param {DecodeOptions} options
|
|
66
|
-
* @returns {any|BREAK|DONE}
|
|
67
|
-
*/
|
|
68
|
-
function tokenToArray (token, tokeniser, options) {
|
|
69
|
-
const arr = []
|
|
70
|
-
for (let i = 0; i < token.value; i++) {
|
|
71
|
-
const value = tokensToObject(tokeniser, options)
|
|
72
|
-
if (value === BREAK) {
|
|
73
|
-
if (token.value === Infinity) {
|
|
74
|
-
// normal end to indefinite length array
|
|
75
|
-
break
|
|
76
|
-
}
|
|
77
|
-
throw new Error(`${decodeErrPrefix} got unexpected break to lengthed array`)
|
|
78
|
-
}
|
|
79
|
-
if (value === DONE) {
|
|
80
|
-
throw new Error(`${decodeErrPrefix} found array but not enough entries (got ${i}, expected ${token.value})`)
|
|
81
|
-
}
|
|
82
|
-
arr[i] = value
|
|
83
|
-
}
|
|
84
|
-
return arr
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @param {Token} token
|
|
89
|
-
* @param {DecodeTokenizer} tokeniser
|
|
90
|
-
* @param {DecodeOptions} options
|
|
91
|
-
* @returns {any|BREAK|DONE}
|
|
92
|
-
*/
|
|
93
|
-
function tokenToMap (token, tokeniser, options) {
|
|
94
|
-
const useMaps = options.useMaps === true
|
|
95
|
-
const obj = useMaps ? undefined : {}
|
|
96
|
-
const m = useMaps ? new Map() : undefined
|
|
97
|
-
for (let i = 0; i < token.value; i++) {
|
|
98
|
-
const key = tokensToObject(tokeniser, options)
|
|
99
|
-
if (key === BREAK) {
|
|
100
|
-
if (token.value === Infinity) {
|
|
101
|
-
// normal end to indefinite length map
|
|
102
|
-
break
|
|
103
|
-
}
|
|
104
|
-
throw new Error(`${decodeErrPrefix} got unexpected break to lengthed map`)
|
|
105
|
-
}
|
|
106
|
-
if (key === DONE) {
|
|
107
|
-
throw new Error(`${decodeErrPrefix} found map but not enough entries (got ${i} [no key], expected ${token.value})`)
|
|
108
|
-
}
|
|
109
|
-
if (useMaps !== true && typeof key !== 'string') {
|
|
110
|
-
throw new Error(`${decodeErrPrefix} non-string keys not supported (got ${typeof key})`)
|
|
111
|
-
}
|
|
112
|
-
if (options.rejectDuplicateMapKeys === true) {
|
|
113
|
-
// @ts-ignore
|
|
114
|
-
if ((useMaps && m.has(key)) || (!useMaps && (key in obj))) {
|
|
115
|
-
throw new Error(`${decodeErrPrefix} found repeat map key "${key}"`)
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
const value = tokensToObject(tokeniser, options)
|
|
119
|
-
if (value === DONE) {
|
|
120
|
-
throw new Error(`${decodeErrPrefix} found map but not enough entries (got ${i} [no value], expected ${token.value})`)
|
|
121
|
-
}
|
|
122
|
-
if (useMaps) {
|
|
123
|
-
// @ts-ignore TODO reconsider this .. maybe needs to be strict about key types
|
|
124
|
-
m.set(key, value)
|
|
125
|
-
} else {
|
|
126
|
-
// @ts-ignore TODO reconsider this .. maybe needs to be strict about key types
|
|
127
|
-
obj[key] = value
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// @ts-ignore c'mon man
|
|
131
|
-
return useMaps ? m : obj
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* @param {DecodeTokenizer} tokeniser
|
|
136
|
-
* @param {DecodeOptions} options
|
|
137
|
-
* @returns {any|BREAK|DONE}
|
|
138
|
-
*/
|
|
139
|
-
function tokensToObject (tokeniser, options) {
|
|
140
|
-
// should we support array as an argument?
|
|
141
|
-
// check for tokenIter[Symbol.iterator] and replace tokenIter with what that returns?
|
|
142
|
-
if (tokeniser.done()) {
|
|
143
|
-
return DONE
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const token = tokeniser.next()
|
|
147
|
-
|
|
148
|
-
if (token.type.equals(Type.break)) {
|
|
149
|
-
return BREAK
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (token.type.terminal) {
|
|
153
|
-
return token.value
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (token.type.equals(Type.array)) {
|
|
157
|
-
return tokenToArray(token, tokeniser, options)
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (token.type.equals(Type.map)) {
|
|
161
|
-
return tokenToMap(token, tokeniser, options)
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
if (token.type.equals(Type.tag)) {
|
|
165
|
-
if (options.tags && typeof options.tags[token.value] === 'function') {
|
|
166
|
-
const tagged = tokensToObject(tokeniser, options)
|
|
167
|
-
return options.tags[token.value](tagged)
|
|
168
|
-
}
|
|
169
|
-
throw new Error(`${decodeErrPrefix} tag not supported (${token.value})`)
|
|
170
|
-
}
|
|
171
|
-
/* c8 ignore next */
|
|
172
|
-
throw new Error('unsupported')
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* @param {Uint8Array} data
|
|
177
|
-
* @param {DecodeOptions} [options]
|
|
178
|
-
* @returns {[any, Uint8Array]}
|
|
179
|
-
*/
|
|
180
|
-
function decodeFirst (data, options) {
|
|
181
|
-
if (!(data instanceof Uint8Array)) {
|
|
182
|
-
throw new Error(`${decodeErrPrefix} data to decode must be a Uint8Array`)
|
|
183
|
-
}
|
|
184
|
-
options = Object.assign({}, defaultDecodeOptions, options)
|
|
185
|
-
const tokeniser = options.tokenizer || new Tokeniser(data, options)
|
|
186
|
-
const decoded = tokensToObject(tokeniser, options)
|
|
187
|
-
if (decoded === DONE) {
|
|
188
|
-
throw new Error(`${decodeErrPrefix} did not find any content to decode`)
|
|
189
|
-
}
|
|
190
|
-
if (decoded === BREAK) {
|
|
191
|
-
throw new Error(`${decodeErrPrefix} got unexpected break`)
|
|
192
|
-
}
|
|
193
|
-
return [decoded, data.subarray(tokeniser.pos())]
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* @param {Uint8Array} data
|
|
198
|
-
* @param {DecodeOptions} [options]
|
|
199
|
-
* @returns {any}
|
|
200
|
-
*/
|
|
201
|
-
function decode (data, options) {
|
|
202
|
-
const [decoded, remainder] = decodeFirst(data, options)
|
|
203
|
-
if (remainder.length > 0) {
|
|
204
|
-
throw new Error(`${decodeErrPrefix} too many terminals, data makes no sense`)
|
|
205
|
-
}
|
|
206
|
-
return decoded
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
export { Tokeniser, tokensToObject, decode, decodeFirst }
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { tokensToDiagnostic } from './diagnostic.js'
|
|
2
|
-
import { fromHex } from './byte-utils.js'
|
|
3
|
-
|
|
4
|
-
const inp = `
|
|
5
|
-
a7
|
|
6
|
-
62
|
|
7
|
-
6964
|
|
8
|
-
78 40
|
|
9
|
-
6469643a6578616d706c653a31324433
|
|
10
|
-
4b6f6f574d4864727a6377706a626472
|
|
11
|
-
5a733547477145524176636771583362
|
|
12
|
-
3564707550745061396f743639796577
|
|
13
|
-
65
|
|
14
|
-
70726f6f66
|
|
15
|
-
a4
|
|
16
|
-
64
|
|
17
|
-
74797065
|
|
18
|
-
74
|
|
19
|
-
656432353531395369676e617475726532303138
|
|
20
|
-
67
|
|
21
|
-
63726561746564
|
|
22
|
-
74
|
|
23
|
-
323032302d30352d30315430333a30303a30325a
|
|
24
|
-
67
|
|
25
|
-
63726561746f72
|
|
26
|
-
78 8c
|
|
27
|
-
6469643a6578616d706c653a31324433
|
|
28
|
-
4b6f6f574d4864727a6377706a626472
|
|
29
|
-
5a733547477145524176636771583362
|
|
30
|
-
3564707550745061396f743639796577
|
|
31
|
-
3b206578616d706c653a6b65793d6964
|
|
32
|
-
3d626166797265696375627478357771
|
|
33
|
-
6f336e6f73633463617a726b63746668
|
|
34
|
-
776436726577657a6770776f65347377
|
|
35
|
-
69726c733465626468733269
|
|
36
|
-
6e
|
|
37
|
-
7369676e617475726556616c7565
|
|
38
|
-
78 58
|
|
39
|
-
6f3972364c78676f474e38466f616565
|
|
40
|
-
554136456444637631324776447a4645
|
|
41
|
-
6d43676a577a76707572325953517941
|
|
42
|
-
3857327230535357554b2b6e4835744d
|
|
43
|
-
717a61464c756e3677775a31456f7433
|
|
44
|
-
37616d4744673d3d
|
|
45
|
-
67
|
|
46
|
-
63726561746564
|
|
47
|
-
74
|
|
48
|
-
323031382d31322d30315430333a30303a30305a
|
|
49
|
-
67
|
|
50
|
-
75706461746564
|
|
51
|
-
74
|
|
52
|
-
323032302d30352d30315430333a30303a30305a
|
|
53
|
-
68
|
|
54
|
-
40636f6e74657874
|
|
55
|
-
78 1c
|
|
56
|
-
68747470733a2f2f7777772e77332e6f
|
|
57
|
-
72672f6e732f6469642f7631
|
|
58
|
-
69
|
|
59
|
-
7075626c69634b6579
|
|
60
|
-
81
|
|
61
|
-
a5
|
|
62
|
-
62
|
|
63
|
-
6964
|
|
64
|
-
78 85
|
|
65
|
-
6261667972656963756274783577716f
|
|
66
|
-
336e6f73633463617a726b6374666877
|
|
67
|
-
6436726577657a6770776f6534737769
|
|
68
|
-
726c7334656264687332693b6578616d
|
|
69
|
-
706c653a6b65793d6964626166797265
|
|
70
|
-
6963756274783577716f336e6f736334
|
|
71
|
-
63617a726b6374666877643672657765
|
|
72
|
-
7a6770776f6534737769726c73346562
|
|
73
|
-
6468733269
|
|
74
|
-
64
|
|
75
|
-
74797065
|
|
76
|
-
6e
|
|
77
|
-
45644473615075626c69634b6579
|
|
78
|
-
65
|
|
79
|
-
6375727665
|
|
80
|
-
67
|
|
81
|
-
65643235353139
|
|
82
|
-
67
|
|
83
|
-
65787069726573
|
|
84
|
-
74
|
|
85
|
-
323031392d31322d30315430333a30303a30305a
|
|
86
|
-
6f
|
|
87
|
-
7075626c69634b6579426173653634
|
|
88
|
-
78 2c
|
|
89
|
-
716d7a3774704c4e4b4b4b646c376344
|
|
90
|
-
375062656a4469425670374f4e706d5a
|
|
91
|
-
62666d633763454b396d673d
|
|
92
|
-
6e
|
|
93
|
-
61757468656e7469636174696f6e
|
|
94
|
-
81
|
|
95
|
-
78 83
|
|
96
|
-
6469643a6578616d706c653a31324433
|
|
97
|
-
4b6f6f574d4864727a6377706a626472
|
|
98
|
-
5a733547477145524176636771583362
|
|
99
|
-
3564707550745061396f743639796577
|
|
100
|
-
3b6b65792d69643d6261667972656963
|
|
101
|
-
756274783577716f336e6f7363346361
|
|
102
|
-
7a726b63746668776436726577657a67
|
|
103
|
-
70776f6534737769726c733465626468
|
|
104
|
-
733269
|
|
105
|
-
`.replace(/[\n ]/g, '')
|
|
106
|
-
|
|
107
|
-
// tokensToDiagnostic(fromHex('861864fb4376345785d8a0002063796570428411fb3ff199999999999a'))
|
|
108
|
-
for (const line of tokensToDiagnostic(fromHex('851864fb4376345785d8a00020a661624284116166f46168f7616ef6617379012c7965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965707965706174f5fb3ff199999999999a'))) {
|
|
109
|
-
console.log(line)
|
|
110
|
-
}
|
|
111
|
-
for (const line of tokensToDiagnostic(fromHex(inp))) {
|
|
112
|
-
console.log(line)
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
for (const line of tokensToDiagnostic(fromHex('82410181a161318182410041ff'))) {
|
|
116
|
-
console.log(line)
|
|
117
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
// This is an unfortunate replacement for @sindresorhus/is that we need to
|
|
2
|
-
// re-implement for performance purposes. In particular the is.observable()
|
|
3
|
-
// check is expensive, and unnecessary for our purposes. The values returned
|
|
4
|
-
// are compatible with @sindresorhus/is, however.
|
|
5
|
-
|
|
6
|
-
const typeofs = [
|
|
7
|
-
'string',
|
|
8
|
-
'number',
|
|
9
|
-
'bigint',
|
|
10
|
-
'symbol'
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
const objectTypeNames = [
|
|
14
|
-
'Function',
|
|
15
|
-
'Generator',
|
|
16
|
-
'AsyncGenerator',
|
|
17
|
-
'GeneratorFunction',
|
|
18
|
-
'AsyncGeneratorFunction',
|
|
19
|
-
'AsyncFunction',
|
|
20
|
-
'Observable',
|
|
21
|
-
'Array',
|
|
22
|
-
'Buffer',
|
|
23
|
-
'Object',
|
|
24
|
-
'RegExp',
|
|
25
|
-
'Date',
|
|
26
|
-
'Error',
|
|
27
|
-
'Map',
|
|
28
|
-
'Set',
|
|
29
|
-
'WeakMap',
|
|
30
|
-
'WeakSet',
|
|
31
|
-
'ArrayBuffer',
|
|
32
|
-
'SharedArrayBuffer',
|
|
33
|
-
'DataView',
|
|
34
|
-
'Promise',
|
|
35
|
-
'URL',
|
|
36
|
-
'HTMLElement',
|
|
37
|
-
'Int8Array',
|
|
38
|
-
'Uint8Array',
|
|
39
|
-
'Uint8ClampedArray',
|
|
40
|
-
'Int16Array',
|
|
41
|
-
'Uint16Array',
|
|
42
|
-
'Int32Array',
|
|
43
|
-
'Uint32Array',
|
|
44
|
-
'Float32Array',
|
|
45
|
-
'Float64Array',
|
|
46
|
-
'BigInt64Array',
|
|
47
|
-
'BigUint64Array'
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* @param {any} value
|
|
52
|
-
* @returns {string}
|
|
53
|
-
*/
|
|
54
|
-
export function is (value) {
|
|
55
|
-
if (value === null) {
|
|
56
|
-
return 'null'
|
|
57
|
-
}
|
|
58
|
-
if (value === undefined) {
|
|
59
|
-
return 'undefined'
|
|
60
|
-
}
|
|
61
|
-
if (value === true || value === false) {
|
|
62
|
-
return 'boolean'
|
|
63
|
-
}
|
|
64
|
-
const typeOf = typeof value
|
|
65
|
-
if (typeofs.includes(typeOf)) {
|
|
66
|
-
return typeOf
|
|
67
|
-
}
|
|
68
|
-
/* c8 ignore next 4 */
|
|
69
|
-
// not going to bother testing this, it's not going to be valid anyway
|
|
70
|
-
if (typeOf === 'function') {
|
|
71
|
-
return 'Function'
|
|
72
|
-
}
|
|
73
|
-
if (Array.isArray(value)) {
|
|
74
|
-
return 'Array'
|
|
75
|
-
}
|
|
76
|
-
if (isBuffer(value)) {
|
|
77
|
-
return 'Buffer'
|
|
78
|
-
}
|
|
79
|
-
const objectType = getObjectType(value)
|
|
80
|
-
if (objectType) {
|
|
81
|
-
return objectType
|
|
82
|
-
}
|
|
83
|
-
/* c8 ignore next */
|
|
84
|
-
return 'Object'
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @param {any} value
|
|
89
|
-
* @returns {boolean}
|
|
90
|
-
*/
|
|
91
|
-
function isBuffer (value) {
|
|
92
|
-
return value && value.constructor && value.constructor.isBuffer && value.constructor.isBuffer.call(null, value)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* @param {any} value
|
|
97
|
-
* @returns {string|undefined}
|
|
98
|
-
*/
|
|
99
|
-
function getObjectType (value) {
|
|
100
|
-
const objectTypeName = Object.prototype.toString.call(value).slice(8, -1)
|
|
101
|
-
if (objectTypeNames.includes(objectTypeName)) {
|
|
102
|
-
return objectTypeName
|
|
103
|
-
}
|
|
104
|
-
/* c8 ignore next */
|
|
105
|
-
return undefined
|
|
106
|
-
}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import { Token, Type } from './token.js'
|
|
2
|
-
import * as uint from './0uint.js'
|
|
3
|
-
import * as negint from './1negint.js'
|
|
4
|
-
import * as bytes from './2bytes.js'
|
|
5
|
-
import * as string from './3string.js'
|
|
6
|
-
import * as array from './4array.js'
|
|
7
|
-
import * as map from './5map.js'
|
|
8
|
-
import * as tag from './6tag.js'
|
|
9
|
-
import * as float from './7float.js'
|
|
10
|
-
import { decodeErrPrefix } from './common.js'
|
|
11
|
-
import { fromArray } from './byte-utils.js'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @typedef {import('../interface').DecodeOptions} DecodeOptions
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @param {Uint8Array} data
|
|
19
|
-
* @param {number} pos
|
|
20
|
-
* @param {number} minor
|
|
21
|
-
*/
|
|
22
|
-
function invalidMinor (data, pos, minor) {
|
|
23
|
-
throw new Error(`${decodeErrPrefix} encountered invalid minor (${minor}) for major ${data[pos] >>> 5}`)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @param {string} msg
|
|
28
|
-
* @returns {()=>any}
|
|
29
|
-
*/
|
|
30
|
-
function errorer (msg) {
|
|
31
|
-
return () => { throw new Error(`${decodeErrPrefix} ${msg}`) }
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/** @type {((data:Uint8Array, pos:number, minor:number, options?:DecodeOptions) => any)[]} */
|
|
35
|
-
export const jump = []
|
|
36
|
-
|
|
37
|
-
// unsigned integer, 0x00..0x17 (0..23)
|
|
38
|
-
for (let i = 0; i <= 0x17; i++) {
|
|
39
|
-
jump[i] = invalidMinor // uint.decodeUintCompact, handled by quick[]
|
|
40
|
-
}
|
|
41
|
-
jump[0x18] = uint.decodeUint8 // unsigned integer, one-byte uint8_t follows
|
|
42
|
-
jump[0x19] = uint.decodeUint16 // unsigned integer, two-byte uint16_t follows
|
|
43
|
-
jump[0x1a] = uint.decodeUint32 // unsigned integer, four-byte uint32_t follows
|
|
44
|
-
jump[0x1b] = uint.decodeUint64 // unsigned integer, eight-byte uint64_t follows
|
|
45
|
-
jump[0x1c] = invalidMinor
|
|
46
|
-
jump[0x1d] = invalidMinor
|
|
47
|
-
jump[0x1e] = invalidMinor
|
|
48
|
-
jump[0x1f] = invalidMinor
|
|
49
|
-
// negative integer, -1-0x00..-1-0x17 (-1..-24)
|
|
50
|
-
for (let i = 0x20; i <= 0x37; i++) {
|
|
51
|
-
jump[i] = invalidMinor // negintDecode, handled by quick[]
|
|
52
|
-
}
|
|
53
|
-
jump[0x38] = negint.decodeNegint8 // negative integer, -1-n one-byte uint8_t for n follows
|
|
54
|
-
jump[0x39] = negint.decodeNegint16 // negative integer, -1-n two-byte uint16_t for n follows
|
|
55
|
-
jump[0x3a] = negint.decodeNegint32 // negative integer, -1-n four-byte uint32_t for follows
|
|
56
|
-
jump[0x3b] = negint.decodeNegint64 // negative integer, -1-n eight-byte uint64_t for follows
|
|
57
|
-
jump[0x3c] = invalidMinor
|
|
58
|
-
jump[0x3d] = invalidMinor
|
|
59
|
-
jump[0x3e] = invalidMinor
|
|
60
|
-
jump[0x3f] = invalidMinor
|
|
61
|
-
// byte string, 0x00..0x17 bytes follow
|
|
62
|
-
for (let i = 0x40; i <= 0x57; i++) {
|
|
63
|
-
jump[i] = bytes.decodeBytesCompact
|
|
64
|
-
}
|
|
65
|
-
jump[0x58] = bytes.decodeBytes8 // byte string, one-byte uint8_t for n, and then n bytes follow
|
|
66
|
-
jump[0x59] = bytes.decodeBytes16 // byte string, two-byte uint16_t for n, and then n bytes follow
|
|
67
|
-
jump[0x5a] = bytes.decodeBytes32 // byte string, four-byte uint32_t for n, and then n bytes follow
|
|
68
|
-
jump[0x5b] = bytes.decodeBytes64 // byte string, eight-byte uint64_t for n, and then n bytes follow
|
|
69
|
-
jump[0x5c] = invalidMinor
|
|
70
|
-
jump[0x5d] = invalidMinor
|
|
71
|
-
jump[0x5e] = invalidMinor
|
|
72
|
-
jump[0x5f] = errorer('indefinite length bytes/strings are not supported') // byte string, byte strings follow, terminated by "break"
|
|
73
|
-
// UTF-8 string 0x00..0x17 bytes follow
|
|
74
|
-
for (let i = 0x60; i <= 0x77; i++) {
|
|
75
|
-
jump[i] = string.decodeStringCompact
|
|
76
|
-
}
|
|
77
|
-
jump[0x78] = string.decodeString8 // UTF-8 string, one-byte uint8_t for n, and then n bytes follow
|
|
78
|
-
jump[0x79] = string.decodeString16 // UTF-8 string, two-byte uint16_t for n, and then n bytes follow
|
|
79
|
-
jump[0x7a] = string.decodeString32 // UTF-8 string, four-byte uint32_t for n, and then n bytes follow
|
|
80
|
-
jump[0x7b] = string.decodeString64 // UTF-8 string, eight-byte uint64_t for n, and then n bytes follow
|
|
81
|
-
jump[0x7c] = invalidMinor
|
|
82
|
-
jump[0x7d] = invalidMinor
|
|
83
|
-
jump[0x7e] = invalidMinor
|
|
84
|
-
jump[0x7f] = errorer('indefinite length bytes/strings are not supported') // UTF-8 strings follow, terminated by "break"
|
|
85
|
-
// array, 0x00..0x17 data items follow
|
|
86
|
-
for (let i = 0x80; i <= 0x97; i++) {
|
|
87
|
-
jump[i] = array.decodeArrayCompact
|
|
88
|
-
}
|
|
89
|
-
jump[0x98] = array.decodeArray8 // array, one-byte uint8_t for n, and then n data items follow
|
|
90
|
-
jump[0x99] = array.decodeArray16 // array, two-byte uint16_t for n, and then n data items follow
|
|
91
|
-
jump[0x9a] = array.decodeArray32 // array, four-byte uint32_t for n, and then n data items follow
|
|
92
|
-
jump[0x9b] = array.decodeArray64 // array, eight-byte uint64_t for n, and then n data items follow
|
|
93
|
-
jump[0x9c] = invalidMinor
|
|
94
|
-
jump[0x9d] = invalidMinor
|
|
95
|
-
jump[0x9e] = invalidMinor
|
|
96
|
-
jump[0x9f] = array.decodeArrayIndefinite // array, data items follow, terminated by "break"
|
|
97
|
-
// map, 0x00..0x17 pairs of data items follow
|
|
98
|
-
for (let i = 0xa0; i <= 0xb7; i++) {
|
|
99
|
-
jump[i] = map.decodeMapCompact
|
|
100
|
-
}
|
|
101
|
-
jump[0xb8] = map.decodeMap8 // map, one-byte uint8_t for n, and then n pairs of data items follow
|
|
102
|
-
jump[0xb9] = map.decodeMap16 // map, two-byte uint16_t for n, and then n pairs of data items follow
|
|
103
|
-
jump[0xba] = map.decodeMap32 // map, four-byte uint32_t for n, and then n pairs of data items follow
|
|
104
|
-
jump[0xbb] = map.decodeMap64 // map, eight-byte uint64_t for n, and then n pairs of data items follow
|
|
105
|
-
jump[0xbc] = invalidMinor
|
|
106
|
-
jump[0xbd] = invalidMinor
|
|
107
|
-
jump[0xbe] = invalidMinor
|
|
108
|
-
jump[0xbf] = map.decodeMapIndefinite // map, pairs of data items follow, terminated by "break"
|
|
109
|
-
// tags
|
|
110
|
-
for (let i = 0xc0; i <= 0xd7; i++) {
|
|
111
|
-
jump[i] = tag.decodeTagCompact
|
|
112
|
-
}
|
|
113
|
-
jump[0xd8] = tag.decodeTag8
|
|
114
|
-
jump[0xd9] = tag.decodeTag16
|
|
115
|
-
jump[0xda] = tag.decodeTag32
|
|
116
|
-
jump[0xdb] = tag.decodeTag64
|
|
117
|
-
jump[0xdc] = invalidMinor
|
|
118
|
-
jump[0xdd] = invalidMinor
|
|
119
|
-
jump[0xde] = invalidMinor
|
|
120
|
-
jump[0xdf] = invalidMinor
|
|
121
|
-
// 0xe0..0xf3 simple values, unsupported
|
|
122
|
-
for (let i = 0xe0; i <= 0xf3; i++) {
|
|
123
|
-
jump[i] = errorer('simple values are not supported')
|
|
124
|
-
}
|
|
125
|
-
jump[0xf4] = invalidMinor // false, handled by quick[]
|
|
126
|
-
jump[0xf5] = invalidMinor // true, handled by quick[]
|
|
127
|
-
jump[0xf6] = invalidMinor // null, handled by quick[]
|
|
128
|
-
jump[0xf7] = float.decodeUndefined // undefined
|
|
129
|
-
jump[0xf8] = errorer('simple values are not supported') // simple value, one byte follows, unsupported
|
|
130
|
-
jump[0xf9] = float.decodeFloat16 // half-precision float (two-byte IEEE 754)
|
|
131
|
-
jump[0xfa] = float.decodeFloat32 // single-precision float (four-byte IEEE 754)
|
|
132
|
-
jump[0xfb] = float.decodeFloat64 // double-precision float (eight-byte IEEE 754)
|
|
133
|
-
jump[0xfc] = invalidMinor
|
|
134
|
-
jump[0xfd] = invalidMinor
|
|
135
|
-
jump[0xfe] = invalidMinor
|
|
136
|
-
jump[0xff] = float.decodeBreak // "break" stop code
|
|
137
|
-
|
|
138
|
-
/** @type {Token[]} */
|
|
139
|
-
export const quick = []
|
|
140
|
-
// ints <24
|
|
141
|
-
for (let i = 0; i < 24; i++) {
|
|
142
|
-
quick[i] = new Token(Type.uint, i, 1)
|
|
143
|
-
}
|
|
144
|
-
// negints >= -24
|
|
145
|
-
for (let i = -1; i >= -24; i--) {
|
|
146
|
-
quick[31 - i] = new Token(Type.negint, i, 1)
|
|
147
|
-
}
|
|
148
|
-
// empty bytes
|
|
149
|
-
quick[0x40] = new Token(Type.bytes, new Uint8Array(0), 1)
|
|
150
|
-
// empty string
|
|
151
|
-
quick[0x60] = new Token(Type.string, '', 1)
|
|
152
|
-
// empty list
|
|
153
|
-
quick[0x80] = new Token(Type.array, 0, 1)
|
|
154
|
-
// empty map
|
|
155
|
-
quick[0xa0] = new Token(Type.map, 0, 1)
|
|
156
|
-
// false
|
|
157
|
-
quick[0xf4] = new Token(Type.false, false, 1)
|
|
158
|
-
// true
|
|
159
|
-
quick[0xf5] = new Token(Type.true, true, 1)
|
|
160
|
-
// null
|
|
161
|
-
quick[0xf6] = new Token(Type.null, null, 1)
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* @param {Token} token
|
|
165
|
-
* @returns {Uint8Array|undefined}
|
|
166
|
-
*/
|
|
167
|
-
export function quickEncodeToken (token) {
|
|
168
|
-
switch (token.type) {
|
|
169
|
-
case Type.false:
|
|
170
|
-
return fromArray([0xf4])
|
|
171
|
-
case Type.true:
|
|
172
|
-
return fromArray([0xf5])
|
|
173
|
-
case Type.null:
|
|
174
|
-
return fromArray([0xf6])
|
|
175
|
-
case Type.bytes:
|
|
176
|
-
if (!token.value.length) {
|
|
177
|
-
return fromArray([0x40])
|
|
178
|
-
}
|
|
179
|
-
return
|
|
180
|
-
case Type.string:
|
|
181
|
-
if (token.value === '') {
|
|
182
|
-
return fromArray([0x60])
|
|
183
|
-
}
|
|
184
|
-
return
|
|
185
|
-
case Type.array:
|
|
186
|
-
if (token.value === 0) {
|
|
187
|
-
return fromArray([0x80])
|
|
188
|
-
}
|
|
189
|
-
/* c8 ignore next 2 */
|
|
190
|
-
// shouldn't be possible if this were called when there was only one token
|
|
191
|
-
return
|
|
192
|
-
case Type.map:
|
|
193
|
-
if (token.value === 0) {
|
|
194
|
-
return fromArray([0xa0])
|
|
195
|
-
}
|
|
196
|
-
/* c8 ignore next 2 */
|
|
197
|
-
// shouldn't be possible if this were called when there was only one token
|
|
198
|
-
return
|
|
199
|
-
case Type.uint:
|
|
200
|
-
if (token.value < 24) {
|
|
201
|
-
return fromArray([Number(token.value)])
|
|
202
|
-
}
|
|
203
|
-
return
|
|
204
|
-
case Type.negint:
|
|
205
|
-
if (token.value >= -24) {
|
|
206
|
-
return fromArray([31 - Number(token.value)])
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|