@fireproof/vendor 1.0.4 → 1.1.0-dev
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 +4 -97
- package/src/@web3-storage/pail/dist/src/batch/index.d.ts +1 -53
- 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/@ipld/car/LICENSE +0 -4
- package/src/@ipld/car/README.md +0 -1132
- package/src/@ipld/car/dist/index.min.js +0 -5
- package/src/@ipld/car/dist/src/api.d.ts +0 -72
- package/src/@ipld/car/dist/src/api.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/buffer-decoder.d.ts +0 -67
- package/src/@ipld/car/dist/src/buffer-decoder.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts +0 -116
- package/src/@ipld/car/dist/src/buffer-reader-browser.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/buffer-reader.d.ts +0 -31
- package/src/@ipld/car/dist/src/buffer-reader.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/buffer-writer.d.ts +0 -86
- package/src/@ipld/car/dist/src/buffer-writer.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/coding.d.ts +0 -49
- package/src/@ipld/car/dist/src/coding.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/decoder-common.d.ts +0 -43
- package/src/@ipld/car/dist/src/decoder-common.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/decoder.d.ts +0 -87
- package/src/@ipld/car/dist/src/decoder.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/encoder.d.ts +0 -17
- package/src/@ipld/car/dist/src/encoder.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/header-validator.d.ts +0 -5
- package/src/@ipld/car/dist/src/header-validator.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/index-browser.d.ts +0 -10
- package/src/@ipld/car/dist/src/index-browser.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/index.d.ts +0 -11
- package/src/@ipld/car/dist/src/index.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts +0 -5
- package/src/@ipld/car/dist/src/indexed-reader-browser.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/indexed-reader.d.ts +0 -152
- package/src/@ipld/car/dist/src/indexed-reader.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/indexer.d.ts +0 -95
- package/src/@ipld/car/dist/src/indexer.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/iterator-channel.d.ts +0 -7
- package/src/@ipld/car/dist/src/iterator-channel.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/iterator.d.ts +0 -174
- package/src/@ipld/car/dist/src/iterator.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/promise-fs-opts.d.ts +0 -30
- package/src/@ipld/car/dist/src/promise-fs-opts.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/reader-browser.d.ts +0 -151
- package/src/@ipld/car/dist/src/reader-browser.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/reader.d.ts +0 -39
- package/src/@ipld/car/dist/src/reader.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/writer-browser.d.ts +0 -155
- package/src/@ipld/car/dist/src/writer-browser.d.ts.map +0 -1
- package/src/@ipld/car/dist/src/writer.d.ts +0 -44
- package/src/@ipld/car/dist/src/writer.d.ts.map +0 -1
- package/src/@ipld/car/src/api.ts +0 -90
- package/src/@ipld/car/src/buffer-decoder.js +0 -213
- package/src/@ipld/car/src/buffer-reader-browser.js +0 -144
- package/src/@ipld/car/src/buffer-reader.js +0 -51
- package/src/@ipld/car/src/buffer-writer.js +0 -286
- package/src/@ipld/car/src/coding.ts +0 -68
- package/src/@ipld/car/src/decoder-common.js +0 -82
- package/src/@ipld/car/src/decoder.js +0 -347
- package/src/@ipld/car/src/encoder.js +0 -76
- package/src/@ipld/car/src/header-validator.js +0 -214
- package/src/@ipld/car/src/header.ipldsch +0 -18
- package/src/@ipld/car/src/index-browser.js +0 -18
- package/src/@ipld/car/src/index.js +0 -21
- package/src/@ipld/car/src/indexed-reader-browser.js +0 -7
- package/src/@ipld/car/src/indexed-reader.js +0 -211
- package/src/@ipld/car/src/indexer.js +0 -130
- package/src/@ipld/car/src/iterator-channel.js +0 -91
- package/src/@ipld/car/src/iterator.js +0 -267
- package/src/@ipld/car/src/promise-fs-opts.js +0 -42
- package/src/@ipld/car/src/reader-browser.js +0 -194
- package/src/@ipld/car/src/reader.js +0 -53
- package/src/@ipld/car/src/writer-browser.js +0 -250
- package/src/@ipld/car/src/writer.js +0 -80
- package/src/@ipld/dag-cbor/LICENSE +0 -4
- package/src/@ipld/dag-cbor/README.md +0 -80
- package/src/@ipld/dag-cbor/dist/index.min.js +0 -3
- package/src/@ipld/dag-cbor/dist/src/index.d.ts +0 -67
- package/src/@ipld/dag-cbor/dist/src/index.d.ts.map +0 -1
- package/src/@ipld/dag-cbor/src/index.js +0 -147
- package/src/@ipld/dag-json/LICENSE +0 -4
- package/src/@ipld/dag-json/README.md +0 -58
- package/src/@ipld/dag-json/dist/index.min.js +0 -3
- package/src/@ipld/dag-json/dist/src/index.d.ts +0 -12
- package/src/@ipld/dag-json/dist/src/index.d.ts.map +0 -1
- package/src/@ipld/dag-json/src/index.js +0 -291
- package/src/cborg/.github/dependabot.yml +0 -16
- package/src/cborg/.github/workflows/test-and-release.yml +0 -52
- package/src/cborg/CHANGELOG.md +0 -513
- package/src/cborg/LICENSE +0 -13
- package/src/cborg/README.md +0 -515
- package/src/cborg/bench/bench.js +0 -117
- package/src/cborg/bench/json.js +0 -124
- package/src/cborg/bench/package.json +0 -8
- package/src/cborg/cborg/bin.js +0 -189
- package/src/cborg/cborg/common.js +0 -28
- package/src/cborg/cborg/decode.js +0 -211
- package/src/cborg/cborg/diagnostic.js +0 -158
- package/src/cborg/cborg/diagnostic_test.js +0 -117
- package/src/cborg/cborg/encode.js +0 -466
- package/src/cborg/cborg/index.js +0 -33
- package/src/cborg/cborg/is.js +0 -106
- package/src/cborg/cborg/length.js +0 -62
- package/src/cborg/example-bytestrings.js +0 -180
- package/src/cborg/example-json.js +0 -6
- package/src/cborg/example.js +0 -5
- package/src/cborg/interface.ts +0 -59
- package/src/cborg/json/decode.js +0 -462
- package/src/cborg/json/encode.js +0 -302
- package/src/cborg/json/json.js +0 -4
- package/src/cborg/taglib.js +0 -75
- package/src/cborg/test/appendix_a.js +0 -647
- package/src/cborg/test/common.js +0 -18
- package/src/cborg/test/node-test-bin.js +0 -402
- package/src/cborg/test/noop-bin-test.js +0 -3
- package/src/cborg/test/test-0uint.js +0 -103
- package/src/cborg/test/test-1negint.js +0 -96
- package/src/cborg/test/test-2bytes.js +0 -198
- package/src/cborg/test/test-3string.js +0 -136
- package/src/cborg/test/test-4array.js +0 -93
- package/src/cborg/test/test-5map.js +0 -284
- package/src/cborg/test/test-6tag.js +0 -84
- package/src/cborg/test/test-7float.js +0 -131
- package/src/cborg/test/test-bl.js +0 -37
- package/src/cborg/test/test-cbor-vectors.js +0 -107
- package/src/cborg/test/test-decode-errors.js +0 -65
- package/src/cborg/test/test-fuzz.js +0 -42
- package/src/cborg/test/test-json.js +0 -219
- package/src/cborg/test/test-length.js +0 -65
- package/src/cborg/test/test-partial.js +0 -111
- package/src/cborg/tsconfig.json +0 -48
- package/src/cborg/types/cborg/decode.d.ts +0 -43
- package/src/cborg/types/cborg/decode.d.ts.map +0 -1
- package/src/cborg/types/cborg/encode.d.ts +0 -51
- package/src/cborg/types/cborg/encode.d.ts.map +0 -1
- package/src/cborg/types/cborg/index.d.ts +0 -26
- package/src/cborg/types/cborg/index.d.ts.map +0 -1
- package/src/cborg/types/cborg/is.d.ts +0 -6
- package/src/cborg/types/cborg/is.d.ts.map +0 -1
- package/src/cborg/types/example.d.ts +0 -2
- package/src/cborg/types/example.d.ts.map +0 -1
- package/src/cborg/types/interface.d.ts +0 -49
- package/src/cborg/types/interface.d.ts.map +0 -1
- package/src/cborg/types/json/decode.d.ts +0 -67
- package/src/cborg/types/json/decode.d.ts.map +0 -1
- package/src/cborg/types/json/encode.d.ts +0 -11
- package/src/cborg/types/json/encode.d.ts.map +0 -1
- package/src/cborg/types/json/json.d.ts +0 -6
- package/src/cborg/types/json/json.d.ts.map +0 -1
- package/src/cborg/types/taglib.d.ts +0 -18
- package/src/cborg/types/taglib.d.ts.map +0 -1
- package/src/cborg/types/tsconfig.tsbuildinfo +0 -1
- package/src/cborg/types/utils/0uint.d.ts +0 -102
- package/src/cborg/types/utils/0uint.d.ts.map +0 -1
- package/src/cborg/types/utils/1negint.d.ts +0 -59
- package/src/cborg/types/utils/1negint.d.ts.map +0 -1
- package/src/cborg/types/utils/2bytes.d.ts +0 -69
- package/src/cborg/types/utils/2bytes.d.ts.map +0 -1
- package/src/cborg/types/utils/3string.d.ts +0 -46
- package/src/cborg/types/utils/3string.d.ts.map +0 -1
- package/src/cborg/types/utils/4array.d.ts +0 -66
- package/src/cborg/types/utils/4array.d.ts.map +0 -1
- package/src/cborg/types/utils/5map.d.ts +0 -66
- package/src/cborg/types/utils/5map.d.ts.map +0 -1
- package/src/cborg/types/utils/6tag.d.ts +0 -62
- package/src/cborg/types/utils/6tag.d.ts.map +0 -1
- package/src/cborg/types/utils/7float.d.ts +0 -60
- package/src/cborg/types/utils/7float.d.ts.map +0 -1
- package/src/cborg/types/utils/bl.d.ts +0 -26
- package/src/cborg/types/utils/bl.d.ts.map +0 -1
- package/src/cborg/types/utils/byte-utils.d.ts +0 -53
- package/src/cborg/types/utils/byte-utils.d.ts.map +0 -1
- package/src/cborg/types/utils/common.d.ts +0 -8
- package/src/cborg/types/utils/common.d.ts.map +0 -1
- package/src/cborg/types/utils/index.d.ts +0 -13
- package/src/cborg/types/utils/index.d.ts.map +0 -1
- package/src/cborg/types/utils/jump.d.ts +0 -16
- package/src/cborg/types/utils/jump.d.ts.map +0 -1
- package/src/cborg/types/utils/token.d.ts +0 -59
- package/src/cborg/types/utils/token.d.ts.map +0 -1
- package/src/cborg/utils/0uint.js +0 -229
- package/src/cborg/utils/1negint.js +0 -111
- package/src/cborg/utils/2bytes.js +0 -135
- package/src/cborg/utils/3string.js +0 -90
- package/src/cborg/utils/4array.js +0 -114
- package/src/cborg/utils/5map.js +0 -113
- package/src/cborg/utils/6tag.js +0 -81
- package/src/cborg/utils/7float.js +0 -310
- package/src/cborg/utils/bl.js +0 -124
- package/src/cborg/utils/byte-utils.js +0 -417
- package/src/cborg/utils/common.js +0 -11
- package/src/cborg/utils/index.js +0 -12
- package/src/cborg/utils/jump.js +0 -222
- package/src/cborg/utils/token.js +0 -76
- package/src/ipfs-unixfs-exporter/LICENSE +0 -4
- package/src/ipfs-unixfs-exporter/README.md +0 -105
- package/src/ipfs-unixfs-exporter/dist/index.min.js +0 -3
- package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts +0 -57
- package/src/ipfs-unixfs-exporter/dist/src/errors.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/errors.js +0 -73
- package/src/ipfs-unixfs-exporter/dist/src/errors.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/index.d.ts +0 -355
- package/src/ipfs-unixfs-exporter/dist/src/index.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/index.js +0 -197
- package/src/ipfs-unixfs-exporter/dist/src/index.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js +0 -9
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js +0 -9
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js +0 -38
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/identity.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js +0 -30
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/index.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js +0 -9
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/json.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js +0 -37
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/raw.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js +0 -29
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js +0 -153
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -59
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js +0 -25
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js +0 -104
- package/src/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts +0 -3
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js +0 -20
- package/src/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts +0 -6
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js +0 -116
- package/src/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts +0 -4
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js +0 -57
- package/src/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts +0 -6
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js +0 -30
- package/src/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js.map +0 -1
- package/src/ipfs-unixfs-exporter/dist/typedoc-urls.json +0 -58
- package/src/ipfs-unixfs-exporter/src/errors.ts +0 -87
- package/src/ipfs-unixfs-exporter/src/index.ts +0 -498
- package/src/ipfs-unixfs-exporter/src/resolvers/dag-cbor.ts +0 -12
- package/src/ipfs-unixfs-exporter/src/resolvers/dag-json.ts +0 -12
- package/src/ipfs-unixfs-exporter/src/resolvers/identity.ts +0 -49
- package/src/ipfs-unixfs-exporter/src/resolvers/index.ts +0 -35
- package/src/ipfs-unixfs-exporter/src/resolvers/json.ts +0 -12
- package/src/ipfs-unixfs-exporter/src/resolvers/raw.ts +0 -49
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/directory.ts +0 -39
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/file.ts +0 -198
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -76
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/raw.ts +0 -37
- package/src/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/index.ts +0 -121
- package/src/ipfs-unixfs-exporter/src/utils/extract-data-from-block.ts +0 -24
- package/src/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.ts +0 -149
- package/src/ipfs-unixfs-exporter/src/utils/resolve-object-path.ts +0 -62
- package/src/ipfs-unixfs-exporter/src/utils/validate-offset-and-length.ts +0 -38
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
RFC 8746 defines a set of tags to use for typed arrays. Out of the box, cborg doesn't care about
|
|
3
|
-
tags and just squashes all concerns around byte arrays to Uint8Array with major type 2. This is
|
|
4
|
-
fine for most use cases, but it is lossy, you can't round-trip and retain your original type.
|
|
5
|
-
|
|
6
|
-
This example shows how to use cborg to round-trip a typed array with tags.
|
|
7
|
-
|
|
8
|
-
https://www.rfc-editor.org/rfc/rfc8746.html
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { encode, decode, Token, Tokenizer, Type } from 'cborg.js'
|
|
12
|
-
|
|
13
|
-
const tagUint8Array = 64
|
|
14
|
-
const tagUint64Array = 71
|
|
15
|
-
// etc... see https://www.rfc-editor.org/rfc/rfc8746.html#name-iana-considerations
|
|
16
|
-
|
|
17
|
-
/* ENCODERS */
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @param {any} obj
|
|
21
|
-
* @returns {[Token]}
|
|
22
|
-
*/
|
|
23
|
-
function uint8ArrayEncoder (obj) {
|
|
24
|
-
if (!(obj instanceof Uint8Array)) {
|
|
25
|
-
throw new Error('expected Uint8Array')
|
|
26
|
-
}
|
|
27
|
-
return [
|
|
28
|
-
new Token(Type.tag, tagUint8Array),
|
|
29
|
-
new Token(Type.bytes, obj)
|
|
30
|
-
]
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* @param {any} obj
|
|
35
|
-
* @returns {[Token]}
|
|
36
|
-
*/
|
|
37
|
-
function uint64ArrayEncoder (obj) {
|
|
38
|
-
if (!(obj instanceof BigUint64Array)) {
|
|
39
|
-
throw new Error('expected BigUint64Array')
|
|
40
|
-
}
|
|
41
|
-
return [
|
|
42
|
-
new Token(Type.tag, tagUint64Array),
|
|
43
|
-
// BigUint64Array to a Uint8Array, but we have to pay attention to the possibility of it being
|
|
44
|
-
// a view of a larger ArrayBuffer.
|
|
45
|
-
new Token(Type.bytes, new Uint8Array(obj.buffer, obj.byteOffset, obj.byteLength))
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// etc...
|
|
50
|
-
|
|
51
|
-
const typeEncoders = {
|
|
52
|
-
Uint8Array: uint8ArrayEncoder,
|
|
53
|
-
BigUint64Array: uint64ArrayEncoder
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* DECODERS */
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @param {ArrayBuffer} bytes
|
|
60
|
-
* @returns {any}
|
|
61
|
-
*/
|
|
62
|
-
function uint8ArrayDecoder (bytes) {
|
|
63
|
-
if (!(bytes instanceof ArrayBuffer)) {
|
|
64
|
-
throw new Error('expected ArrayBuffer')
|
|
65
|
-
}
|
|
66
|
-
return new Uint8Array(bytes)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* @param {ArrayBuffer} bytes
|
|
71
|
-
* @returns {any}
|
|
72
|
-
*/
|
|
73
|
-
function uint64ArrayDecoder (bytes) {
|
|
74
|
-
if (!(bytes instanceof ArrayBuffer)) {
|
|
75
|
-
throw new Error('expected ArrayBuffer')
|
|
76
|
-
}
|
|
77
|
-
return new BigUint64Array(bytes)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// etc...
|
|
81
|
-
|
|
82
|
-
const tags = []
|
|
83
|
-
tags[tagUint8Array] = uint8ArrayDecoder
|
|
84
|
-
tags[tagUint64Array] = uint64ArrayDecoder
|
|
85
|
-
|
|
86
|
-
/* TOKENIZER */
|
|
87
|
-
|
|
88
|
-
// We have to deal with the fact that cborg talks in Uint8Arrays but we now want it to treat major 2
|
|
89
|
-
// as ArrayBuffers, so we have to transform the token stream to replace the Uint8Array with an
|
|
90
|
-
// ArrayBuffer.
|
|
91
|
-
|
|
92
|
-
class ArrayBufferTransformingTokeniser extends Tokenizer {
|
|
93
|
-
next () {
|
|
94
|
-
const nextToken = super.next()
|
|
95
|
-
if (nextToken.type.equals(Type.bytes)) {
|
|
96
|
-
// Transform the (assumed) Uint8Array value to an ArrayBuffer of the same bytes, note though
|
|
97
|
-
// that all tags we care about are going to be <tag><bytes>, so we're also transforming those
|
|
98
|
-
// into ArrayBuffers, so our tag decoders need to also assume they are getting ArrayBuffers
|
|
99
|
-
// now. An alternative would be to watch the token stream for <tag> and not transform the next
|
|
100
|
-
// token if it's <bytes>, but that's a bit more complicated for demo purposes.
|
|
101
|
-
nextToken.value = nextToken.value.buffer
|
|
102
|
-
}
|
|
103
|
-
return nextToken
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Optional: a new decode() wrapper, mainly so we don't have to deal with the complications of\
|
|
108
|
-
// instantiating a Tokenizer which needs both data and the options.
|
|
109
|
-
function byteStringDecoder (data, options) {
|
|
110
|
-
options = Object.assign({}, options, {
|
|
111
|
-
tags,
|
|
112
|
-
tokenizer: new ArrayBufferTransformingTokeniser(data, options)
|
|
113
|
-
})
|
|
114
|
-
return decode(data, options)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* ROUND-TRIP */
|
|
118
|
-
|
|
119
|
-
const original = {
|
|
120
|
-
u8: new Uint8Array([1, 2, 3, 4, 5]),
|
|
121
|
-
u64: new BigUint64Array([10000000000000000n, 20000000000000000n, 30000000000000000n, 40000000000000000n, 50000000000000000n]),
|
|
122
|
-
ab: new Uint8Array([6, 7, 8, 9, 10]).buffer
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const encoded = encode(original, { typeEncoders })
|
|
126
|
-
|
|
127
|
-
const decoded = byteStringDecoder(encoded)
|
|
128
|
-
|
|
129
|
-
console.log('Original:', original)
|
|
130
|
-
console.log('Encoded:', Buffer.from(encoded).toString('hex')) // excuse the Buffer, sorry browser peeps
|
|
131
|
-
console.log('Decoded:', decoded)
|
|
132
|
-
|
|
133
|
-
/* Output:
|
|
134
|
-
|
|
135
|
-
Original: {
|
|
136
|
-
u8: Uint8Array(5) [ 1, 2, 3, 4, 5 ],
|
|
137
|
-
u64: BigUint64Array(5) [
|
|
138
|
-
10000000000000000n,
|
|
139
|
-
20000000000000000n,
|
|
140
|
-
30000000000000000n,
|
|
141
|
-
40000000000000000n,
|
|
142
|
-
50000000000000000n
|
|
143
|
-
],
|
|
144
|
-
ab: ArrayBuffer { [Uint8Contents]: <06 07 08 09 0a>, byteLength: 5 }
|
|
145
|
-
}
|
|
146
|
-
Encoded: a362616245060708090a627538d84045010203040563753634d84758280000c16ff2862300000082dfe40d47000000434fd7946a00000004bfc91b8e000000c52ebca2b100
|
|
147
|
-
Decoded: {
|
|
148
|
-
ab: ArrayBuffer { [Uint8Contents]: <06 07 08 09 0a>, byteLength: 5 },
|
|
149
|
-
u8: Uint8Array(5) [ 1, 2, 3, 4, 5 ],
|
|
150
|
-
u64: BigUint64Array(5) [
|
|
151
|
-
10000000000000000n,
|
|
152
|
-
20000000000000000n,
|
|
153
|
-
30000000000000000n,
|
|
154
|
-
40000000000000000n,
|
|
155
|
-
50000000000000000n
|
|
156
|
-
]
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
*/
|
|
160
|
-
|
|
161
|
-
/* Diagnostic:
|
|
162
|
-
|
|
163
|
-
$ cborg hex2diag a362616245060708090a627538d84045010203040563753634d84758280000c16ff2862300000082dfe40d47000000434fd7946a00000004bfc91b8e000000c52ebca2b100
|
|
164
|
-
a3 # map(3)
|
|
165
|
-
62 # string(2)
|
|
166
|
-
6162 # "ab"
|
|
167
|
-
45 # bytes(5)
|
|
168
|
-
060708090a # "\x06\x07\x08\x09\x0a"
|
|
169
|
-
62 # string(2)
|
|
170
|
-
7538 # "u8"
|
|
171
|
-
d8 40 # tag(64)
|
|
172
|
-
45 # bytes(5)
|
|
173
|
-
0102030405 # "\x01\x02\x03\x04\x05"
|
|
174
|
-
63 # string(3)
|
|
175
|
-
753634 # "u64"
|
|
176
|
-
d8 47 # tag(71)
|
|
177
|
-
58 28 # bytes(40)
|
|
178
|
-
0000c16ff2862300000082dfe40d47000000434fd7 # "\x00\x00Áoò\x86#\x00\x00\x00\x82ßä\x0dG\x00\x00\x00CO×"
|
|
179
|
-
946a00000004bfc91b8e000000c52ebca2b100 # "\x94j\x00\x00\x00\x04¿É\x1b\x8e\x00\x00\x00Å.¼¢±\x00
|
|
180
|
-
*/
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { encode, decode } from "@fireproof/vendor/cborg/json"
|
|
2
|
-
|
|
3
|
-
const decoded = decode(Buffer.from('7b2274686973223a7b226973223a224a534f4e21222c22796179223a747275657d7d', 'hex'))
|
|
4
|
-
console.log('decoded:', decoded)
|
|
5
|
-
console.log('encoded:', encode(decoded))
|
|
6
|
-
console.log('encoded (string):', Buffer.from(encode(decoded)).toString())
|
package/src/cborg/example.js
DELETED
package/src/cborg/interface.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { Token, Bl } from "@fireproof/vendor/cborg/utils"
|
|
2
|
-
|
|
3
|
-
export type TokenOrNestedTokens = Token | Token[] | TokenOrNestedTokens[]
|
|
4
|
-
|
|
5
|
-
export interface Reference {
|
|
6
|
-
parent: Reference | undefined
|
|
7
|
-
obj: object | any[]
|
|
8
|
-
includes(obj: object | any[]): boolean
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type OptionalTypeEncoder = (data: any, typ: string, options: EncodeOptions, refStack?: Reference) => TokenOrNestedTokens | null
|
|
12
|
-
|
|
13
|
-
export type StrictTypeEncoder = (data: any, typ: string, options: EncodeOptions, refStack?: Reference) => TokenOrNestedTokens
|
|
14
|
-
|
|
15
|
-
export type TokenTypeEncoder = {
|
|
16
|
-
(buf: Bl, token: Token, options: EncodeOptions): void;
|
|
17
|
-
compareTokens(t1: Token, t2: Token): number;
|
|
18
|
-
// TODO: make this non-optional as a breaking change and remove the throw in length.js
|
|
19
|
-
encodedSize?(token: Token, options: EncodeOptions): number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type DecodeFunction = (data:Uint8Array, pos:number, minor:number, options:DecodeOptions) => any
|
|
23
|
-
|
|
24
|
-
export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[]) => number
|
|
25
|
-
|
|
26
|
-
export type QuickEncodeToken = (token: Token) => Uint8Array | undefined
|
|
27
|
-
|
|
28
|
-
export interface DecodeTokenizer {
|
|
29
|
-
done(): boolean,
|
|
30
|
-
next(): Token,
|
|
31
|
-
pos(): number,
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export type TagDecoder = (inner: any) => any
|
|
35
|
-
|
|
36
|
-
export interface DecodeOptions {
|
|
37
|
-
allowIndefinite?: boolean
|
|
38
|
-
allowUndefined?: boolean
|
|
39
|
-
coerceUndefinedToNull?: boolean
|
|
40
|
-
allowInfinity?: boolean
|
|
41
|
-
allowNaN?: boolean
|
|
42
|
-
allowBigInt?: boolean
|
|
43
|
-
strict?: boolean
|
|
44
|
-
useMaps?: boolean
|
|
45
|
-
rejectDuplicateMapKeys?: boolean
|
|
46
|
-
retainStringBytes?: boolean
|
|
47
|
-
tags?: TagDecoder[],
|
|
48
|
-
tokenizer?: DecodeTokenizer
|
|
49
|
-
decodeErrPrefix: string
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface EncodeOptions {
|
|
53
|
-
float64?: boolean,
|
|
54
|
-
addBreakTokens?: boolean,
|
|
55
|
-
mapSorter?: MapSorter,
|
|
56
|
-
quickEncodeToken?: QuickEncodeToken,
|
|
57
|
-
typeEncoders?: { [typeName: string]: OptionalTypeEncoder }
|
|
58
|
-
encodeErrPrefix: string
|
|
59
|
-
}
|