@schema-pack/message-pack 0.0.0-commit.8d5dca5ce6fa2841d57d39bd48f82979461a0a69 → 0.0.0-commit.a13995b1ec0a9d8be0fcfbdf0d45a0c8a2c75b3c
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/LICENSE +21 -0
- package/README.md +9 -123
- package/dist/cjs/bufferWithExtensions-Cg4LGSIy.d.cts +51 -0
- package/dist/cjs/bufferWithExtensions-Cg4LGSIy.d.cts.map +1 -0
- package/dist/cjs/bufferWithExtensions.cjs +79 -16
- package/dist/cjs/bufferWithExtensions.d.cts +1 -1
- package/dist/cjs/decode-BraWmoPw.d.cts +5 -0
- package/dist/cjs/decode-BraWmoPw.d.cts.map +1 -0
- package/dist/cjs/decoder/decode.cjs +8 -0
- package/dist/cjs/decoder/decode.d.cts +2 -0
- package/dist/cjs/decoder/decoder.cjs +268 -19
- package/dist/cjs/decoder/decoder.d.cts +1 -1
- package/dist/cjs/decoder/index.cjs +6 -2
- package/dist/cjs/decoder/index.d.cts +7 -5
- package/dist/cjs/decoder/interfaces/index.d.cts +4 -4
- package/dist/cjs/decoder/interfaces/messagePackDecoder.d.cts +2 -0
- package/dist/cjs/decoder/interfaces/messagePackTextDecoder.d.cts +1 -1
- package/dist/cjs/decoder/textDecoders/defaultTextDecoder.d.cts +1 -1
- package/dist/cjs/decoder/textDecoders/index.cjs +5 -0
- package/dist/cjs/decoder/textDecoders/index.d.cts +4 -0
- package/dist/cjs/decoder/textDecoders/nodeTextDecoder.cjs +8 -0
- package/dist/cjs/decoder/textDecoders/nodeTextDecoder.d.cts +2 -0
- package/dist/cjs/decoder/types.d.cts +2 -2
- package/dist/cjs/decoder-T6p4ZZJi.d.cts +30 -0
- package/dist/cjs/decoder-T6p4ZZJi.d.cts.map +1 -0
- package/dist/cjs/defaultNewBufferFn.cjs +1 -3
- package/dist/cjs/defaultNewBufferFn.d.cts +2 -1
- package/dist/cjs/defaultNewBufferFn.d.cts.map +1 -1
- package/dist/cjs/defaultTextDecoder-CyZtJbK1.d.cts +10 -0
- package/dist/cjs/defaultTextDecoder-CyZtJbK1.d.cts.map +1 -0
- package/dist/{esm/defaultTextEncoder-BkIjtDkg.d.mts → cjs/defaultTextEncoder-BpUrJKD9.d.cts} +2 -2
- package/dist/cjs/{defaultTextEncoder-DzdGBX6s.d.cts.map → defaultTextEncoder-BpUrJKD9.d.cts.map} +1 -1
- package/dist/cjs/encode-4SxHVw0M.d.cts +5 -0
- package/dist/cjs/encode-4SxHVw0M.d.cts.map +1 -0
- package/dist/cjs/encoder/encode.cjs +8 -0
- package/dist/cjs/encoder/encode.d.cts +2 -0
- package/dist/cjs/encoder/encoder.cjs +690 -26
- package/dist/cjs/encoder/encoder.d.cts +1 -1
- package/dist/cjs/encoder/index.cjs +2 -2
- package/dist/cjs/encoder/index.d.cts +7 -7
- package/dist/cjs/encoder/interfaces/index.d.cts +4 -4
- package/dist/cjs/encoder/interfaces/messagePackEncoder.d.cts +2 -0
- package/dist/cjs/encoder/interfaces/messagePackTextEncoder.d.cts +1 -1
- package/dist/cjs/encoder/textEncoders/defaultTextEncoder.d.cts +1 -1
- package/dist/cjs/encoder/textEncoders/index.d.cts +3 -3
- package/dist/cjs/encoder/textEncoders/nodeTextEncoder.d.cts +1 -1
- package/dist/cjs/encoder/types.d.cts +2 -2
- package/dist/cjs/{encoderBuffer-DWGIXXjj.d.cts → encoder-yQYOtvXU.d.cts} +38 -16
- package/dist/cjs/encoder-yQYOtvXU.d.cts.map +1 -0
- package/dist/cjs/{messagePackExtension-C_TQXlEn.d.cts → error-B129l__v.d.cts} +306 -52
- package/dist/cjs/error-B129l__v.d.cts.map +1 -0
- package/dist/cjs/extensions/error/defaultFactories.cjs +15 -0
- package/dist/cjs/extensions/error/defaultFactories.d.cts +6 -0
- package/dist/cjs/extensions/error/defaultFactories.d.cts.map +1 -0
- package/dist/cjs/extensions/error/error.cjs +139 -0
- package/dist/cjs/extensions/error/error.d.cts +2 -0
- package/dist/cjs/extensions/error/index.cjs +3 -0
- package/dist/cjs/extensions/error/index.d.cts +4 -0
- package/dist/cjs/extensions/error/symbols.cjs +19 -0
- package/dist/cjs/extensions/error/symbols.d.cts +19 -0
- package/dist/cjs/extensions/error/symbols.d.cts.map +1 -0
- package/dist/cjs/extensions/error/types.d.cts +2 -0
- package/dist/cjs/extensions/index.cjs +4 -0
- package/dist/cjs/extensions/index.d.cts +6 -3
- package/dist/cjs/extensions/interfaces/messagePackBuiltInExtension.d.cts +2 -0
- package/dist/cjs/extensions/interfaces/messagePackExtension.d.cts +1 -1
- package/dist/cjs/extensions/interfaces/messagePackExtensionBase.cjs +0 -0
- package/dist/cjs/extensions/interfaces/messagePackExtensionBase.d.cts +2 -0
- package/dist/cjs/extensions/interfaces/types.cjs +0 -0
- package/dist/cjs/extensions/interfaces/types.d.cts +2 -0
- package/dist/cjs/extensions/serializer/index.cjs +3 -0
- package/dist/cjs/extensions/serializer/index.d.cts +4 -0
- package/dist/cjs/extensions/serializer/serializer.cjs +27 -0
- package/dist/cjs/extensions/serializer/serializer.d.cts +2 -0
- package/dist/cjs/extensions/serializer/types.cjs +0 -0
- package/dist/cjs/extensions/serializer/types.d.cts +2 -0
- package/dist/cjs/extensions/timestampDate/index.d.cts +2 -2
- package/dist/cjs/extensions/timestampDate/timestampDate.cjs +41 -24
- package/dist/cjs/extensions/timestampDate/timestampDate.d.cts +1 -1
- package/dist/cjs/index-B5vbV8Ak.d.cts +1 -0
- package/dist/cjs/index.cjs +15 -32
- package/dist/cjs/index.d.cts +16 -23
- package/dist/cjs/interfaces/messagePackBufferWithExtensions.d.cts +1 -1
- package/dist/cjs/messagePackDecoder-BZOBJ2h5.d.cts +12 -0
- package/dist/cjs/messagePackDecoder-BZOBJ2h5.d.cts.map +1 -0
- package/dist/cjs/messagePackExtensionBase-DVMgQv12.d.cts +30 -0
- package/dist/cjs/messagePackExtensionBase-DVMgQv12.d.cts.map +1 -0
- package/dist/cjs/messagePackTextDecoder-CfBSOsxU.d.cts +8 -0
- package/dist/cjs/messagePackTextDecoder-CfBSOsxU.d.cts.map +1 -0
- package/dist/cjs/{messagePackTextEncoder-D7iCft_t.d.cts → messagePackTextEncoder-MeyNUt3L.d.cts} +2 -2
- package/dist/cjs/messagePackTextEncoder-MeyNUt3L.d.cts.map +1 -0
- package/dist/cjs/nodeTextDecoder-B48jwo-L.d.cts +9 -0
- package/dist/cjs/nodeTextDecoder-B48jwo-L.d.cts.map +1 -0
- package/dist/{esm/nodeTextEncoder-CegSnA6z.d.mts → cjs/nodeTextEncoder-BpJi8Jx-.d.cts} +3 -3
- package/dist/cjs/nodeTextEncoder-BpJi8Jx-.d.cts.map +1 -0
- package/dist/cjs/serializer-nJmZCyQ0.d.cts +19 -0
- package/dist/cjs/serializer-nJmZCyQ0.d.cts.map +1 -0
- package/dist/cjs/types-BLh5F2iA.d.cts +22 -0
- package/dist/cjs/types-BLh5F2iA.d.cts.map +1 -0
- package/dist/cjs/types-BcIA43h9.d.cts +5 -0
- package/dist/cjs/types-BcIA43h9.d.cts.map +1 -0
- package/dist/cjs/types-CbicLx9m.d.cts +21 -0
- package/dist/cjs/types-CbicLx9m.d.cts.map +1 -0
- package/dist/cjs/types-aODRmLZq.d.cts +7 -0
- package/dist/cjs/types-aODRmLZq.d.cts.map +1 -0
- package/dist/cjs/types.d.cts +2 -2
- package/dist/cjs/utils/assertValidExtensionType.cjs +7 -0
- package/dist/cjs/utils/assertValidExtensionType.d.cts +4 -0
- package/dist/cjs/utils/assertValidExtensionType.d.cts.map +1 -0
- package/dist/cjs/utils/fitIn16Bits.d.cts +4 -2
- package/dist/cjs/utils/fitIn16Bits.d.cts.map +1 -0
- package/dist/cjs/utils/fitIn32Bits.d.cts +4 -2
- package/dist/cjs/utils/fitIn32Bits.d.cts.map +1 -0
- package/dist/cjs/utils/fitIn7Bits.d.cts +4 -2
- package/dist/cjs/utils/fitIn7Bits.d.cts.map +1 -0
- package/dist/cjs/utils/fitIn8Bits.d.cts +4 -2
- package/dist/cjs/utils/fitIn8Bits.d.cts.map +1 -0
- package/dist/esm/bufferWithExtensions-DSU4ekuD.d.mts +51 -0
- package/dist/esm/bufferWithExtensions-DSU4ekuD.d.mts.map +1 -0
- package/dist/esm/bufferWithExtensions.d.mts +1 -1
- package/dist/esm/bufferWithExtensions.mjs +79 -16
- package/dist/esm/bufferWithExtensions.mjs.map +1 -1
- package/dist/esm/decode-BraWmoPw.d.mts +5 -0
- package/dist/esm/decode-BraWmoPw.d.mts.map +1 -0
- package/dist/esm/decoder/decode.d.mts +2 -0
- package/dist/esm/decoder/decode.mjs +11 -0
- package/dist/esm/decoder/decode.mjs.map +1 -0
- package/dist/esm/decoder/decoder.d.mts +1 -1
- package/dist/esm/decoder/decoder.mjs +268 -19
- package/dist/esm/decoder/decoder.mjs.map +1 -1
- package/dist/esm/decoder/index.d.mts +7 -5
- package/dist/esm/decoder/index.mjs +4 -2
- package/dist/esm/decoder/interfaces/index.d.mts +4 -4
- package/dist/esm/decoder/interfaces/messagePackDecoder.d.mts +2 -0
- package/dist/esm/decoder/interfaces/messagePackTextDecoder.d.mts +1 -1
- package/dist/esm/decoder/textDecoders/defaultTextDecoder.d.mts +1 -1
- package/dist/esm/decoder/textDecoders/defaultTextDecoder.mjs.map +1 -1
- package/dist/esm/decoder/textDecoders/index.d.mts +4 -0
- package/dist/esm/decoder/textDecoders/index.mjs +3 -0
- package/dist/esm/decoder/textDecoders/nodeTextDecoder.d.mts +2 -0
- package/dist/esm/decoder/textDecoders/nodeTextDecoder.mjs +10 -0
- package/dist/esm/decoder/textDecoders/nodeTextDecoder.mjs.map +1 -0
- package/dist/esm/decoder/types.d.mts +2 -2
- package/dist/esm/decoder-Bdqx1C7P.d.mts +30 -0
- package/dist/esm/decoder-Bdqx1C7P.d.mts.map +1 -0
- package/dist/esm/defaultNewBufferFn.d.mts +2 -1
- package/dist/esm/defaultNewBufferFn.d.mts.map +1 -1
- package/dist/esm/defaultNewBufferFn.mjs +1 -3
- package/dist/esm/defaultNewBufferFn.mjs.map +1 -1
- package/dist/esm/defaultTextDecoder-BkW5T2EO.d.mts +10 -0
- package/dist/esm/defaultTextDecoder-BkW5T2EO.d.mts.map +1 -0
- package/dist/{cjs/defaultTextEncoder-DzdGBX6s.d.cts → esm/defaultTextEncoder-9dqnRXnL.d.mts} +2 -2
- package/dist/esm/{defaultTextEncoder-BkIjtDkg.d.mts.map → defaultTextEncoder-9dqnRXnL.d.mts.map} +1 -1
- package/dist/esm/encode-4SxHVw0M.d.mts +5 -0
- package/dist/esm/encode-4SxHVw0M.d.mts.map +1 -0
- package/dist/esm/encoder/encode.d.mts +2 -0
- package/dist/esm/encoder/encode.mjs +11 -0
- package/dist/esm/encoder/encode.mjs.map +1 -0
- package/dist/esm/encoder/encoder.d.mts +1 -1
- package/dist/esm/encoder/encoder.mjs +690 -26
- package/dist/esm/encoder/encoder.mjs.map +1 -1
- package/dist/esm/encoder/index.d.mts +7 -7
- package/dist/esm/encoder/index.mjs +2 -2
- package/dist/esm/encoder/interfaces/index.d.mts +4 -4
- package/dist/esm/encoder/interfaces/messagePackEncoder.d.mts +2 -0
- package/dist/esm/encoder/interfaces/messagePackTextEncoder.d.mts +1 -1
- package/dist/esm/encoder/textEncoders/defaultTextEncoder.d.mts +1 -1
- package/dist/esm/encoder/textEncoders/index.d.mts +3 -3
- package/dist/esm/encoder/textEncoders/nodeTextEncoder.d.mts +1 -1
- package/dist/esm/encoder/textEncoders/nodeTextEncoder.mjs.map +1 -1
- package/dist/esm/encoder/types.d.mts +2 -2
- package/dist/esm/{encoderBuffer-DEy8CuWQ.d.mts → encoder-C5Oo57-h.d.mts} +38 -16
- package/dist/esm/encoder-C5Oo57-h.d.mts.map +1 -0
- package/dist/esm/{messagePackExtension-5TI02KG6.d.mts → error-BtKEZf6W.d.mts} +306 -52
- package/dist/esm/error-BtKEZf6W.d.mts.map +1 -0
- package/dist/esm/extensions/error/defaultFactories.d.mts +7 -0
- package/dist/esm/extensions/error/defaultFactories.d.mts.map +1 -0
- package/dist/esm/extensions/error/defaultFactories.mjs +17 -0
- package/dist/esm/extensions/error/defaultFactories.mjs.map +1 -0
- package/dist/esm/extensions/error/error.d.mts +2 -0
- package/dist/esm/extensions/error/error.mjs +141 -0
- package/dist/esm/extensions/error/error.mjs.map +1 -0
- package/dist/esm/extensions/error/index.d.mts +4 -0
- package/dist/esm/extensions/error/index.mjs +2 -0
- package/dist/esm/extensions/error/symbols.d.mts +20 -0
- package/dist/esm/extensions/error/symbols.d.mts.map +1 -0
- package/dist/esm/extensions/error/symbols.mjs +21 -0
- package/dist/esm/extensions/error/symbols.mjs.map +1 -0
- package/dist/esm/extensions/error/types.d.mts +2 -0
- package/dist/esm/extensions/index.d.mts +6 -3
- package/dist/esm/extensions/index.mjs +3 -1
- package/dist/esm/extensions/interfaces/messagePackBuiltInExtension.d.mts +2 -0
- package/dist/esm/extensions/interfaces/messagePackExtension.d.mts +1 -1
- package/dist/esm/extensions/interfaces/messagePackExtensionBase.d.mts +2 -0
- package/dist/esm/extensions/interfaces/messagePackExtensionBase.mjs +1 -0
- package/dist/esm/extensions/interfaces/types.d.mts +2 -0
- package/dist/esm/extensions/interfaces/types.mjs +1 -0
- package/dist/esm/extensions/serializer/index.d.mts +4 -0
- package/dist/esm/extensions/serializer/index.mjs +2 -0
- package/dist/esm/extensions/serializer/serializer.d.mts +2 -0
- package/dist/esm/extensions/serializer/serializer.mjs +29 -0
- package/dist/esm/extensions/serializer/serializer.mjs.map +1 -0
- package/dist/esm/extensions/serializer/types.d.mts +2 -0
- package/dist/esm/extensions/serializer/types.mjs +1 -0
- package/dist/esm/extensions/timestampDate/index.d.mts +2 -2
- package/dist/esm/extensions/timestampDate/timestampDate.d.mts +1 -1
- package/dist/esm/extensions/timestampDate/timestampDate.mjs +41 -24
- package/dist/esm/extensions/timestampDate/timestampDate.mjs.map +1 -1
- package/dist/esm/index-B5vbV8Ak.d.mts +1 -0
- package/dist/esm/index.d.mts +16 -23
- package/dist/esm/index.mjs +10 -17
- package/dist/esm/interfaces/messagePackBufferWithExtensions.d.mts +1 -1
- package/dist/esm/messagePackDecoder-96W4gsyQ.d.mts +12 -0
- package/dist/esm/messagePackDecoder-96W4gsyQ.d.mts.map +1 -0
- package/dist/esm/messagePackExtensionBase-w6KYZsVn.d.mts +30 -0
- package/dist/esm/messagePackExtensionBase-w6KYZsVn.d.mts.map +1 -0
- package/dist/esm/messagePackTextDecoder-CfBSOsxU.d.mts +8 -0
- package/dist/esm/messagePackTextDecoder-CfBSOsxU.d.mts.map +1 -0
- package/dist/esm/{messagePackTextEncoder-D7iCft_t.d.mts → messagePackTextEncoder-MeyNUt3L.d.mts} +2 -2
- package/dist/esm/messagePackTextEncoder-MeyNUt3L.d.mts.map +1 -0
- package/dist/esm/nodeTextDecoder-D95BppeH.d.mts +9 -0
- package/dist/esm/nodeTextDecoder-D95BppeH.d.mts.map +1 -0
- package/dist/{cjs/nodeTextEncoder-DJzFDBXd.d.cts → esm/nodeTextEncoder-Bv6YQGyH.d.mts} +3 -3
- package/dist/esm/nodeTextEncoder-Bv6YQGyH.d.mts.map +1 -0
- package/dist/esm/serializer-Bu3RyF09.d.mts +19 -0
- package/dist/esm/serializer-Bu3RyF09.d.mts.map +1 -0
- package/dist/esm/types-BcIA43h9.d.mts +5 -0
- package/dist/esm/types-BcIA43h9.d.mts.map +1 -0
- package/dist/esm/types-DcVlVqj4.d.mts +21 -0
- package/dist/esm/types-DcVlVqj4.d.mts.map +1 -0
- package/dist/esm/types-LHP7oHpt.d.mts +22 -0
- package/dist/esm/types-LHP7oHpt.d.mts.map +1 -0
- package/dist/esm/types-xD3JER2f.d.mts +7 -0
- package/dist/esm/types-xD3JER2f.d.mts.map +1 -0
- package/dist/esm/types.d.mts +2 -2
- package/dist/esm/utils/assertValidExtensionType.d.mts +5 -0
- package/dist/esm/utils/assertValidExtensionType.d.mts.map +1 -0
- package/dist/esm/utils/assertValidExtensionType.mjs +9 -0
- package/dist/esm/utils/assertValidExtensionType.mjs.map +1 -0
- package/dist/esm/utils/fitIn16Bits.d.mts +5 -2
- package/dist/esm/utils/fitIn16Bits.d.mts.map +1 -0
- package/dist/esm/utils/fitIn32Bits.d.mts +5 -2
- package/dist/esm/utils/fitIn32Bits.d.mts.map +1 -0
- package/dist/esm/utils/fitIn7Bits.d.mts +5 -2
- package/dist/esm/utils/fitIn7Bits.d.mts.map +1 -0
- package/dist/esm/utils/fitIn8Bits.d.mts +5 -2
- package/dist/esm/utils/fitIn8Bits.d.mts.map +1 -0
- package/package.json +68 -43
- package/dist/cjs/benchmark/decoderDataTypesFactory.cjs +0 -37
- package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts +0 -5
- package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts.map +0 -1
- package/dist/cjs/bigInt-CBB8PGpe.d.cts +0 -35
- package/dist/cjs/bigInt-CBB8PGpe.d.cts.map +0 -1
- package/dist/cjs/bufferWithExtensions-BAinwJsn.d.cts +0 -12
- package/dist/cjs/bufferWithExtensions-BAinwJsn.d.cts.map +0 -1
- package/dist/cjs/decoder/decoderBuffer.cjs +0 -239
- package/dist/cjs/decoder/decoderBuffer.d.cts +0 -2
- package/dist/cjs/decoder/interfaces/messagePackDecoderBuffer.d.cts +0 -2
- package/dist/cjs/decoder-C1cd4I8S.d.cts +0 -15
- package/dist/cjs/decoder-C1cd4I8S.d.cts.map +0 -1
- package/dist/cjs/decoderBuffer-C9_0y-3q.d.cts +0 -22
- package/dist/cjs/decoderBuffer-C9_0y-3q.d.cts.map +0 -1
- package/dist/cjs/defaultTextDecoder-Ji2hTZkf.d.cts +0 -10
- package/dist/cjs/defaultTextDecoder-Ji2hTZkf.d.cts.map +0 -1
- package/dist/cjs/encoder/encoderBuffer.cjs +0 -602
- package/dist/cjs/encoder/encoderBuffer.d.cts +0 -2
- package/dist/cjs/encoder/interfaces/messagePackEncoderBuffer.d.cts +0 -2
- package/dist/cjs/encoder-DXuhGwd7.d.cts +0 -23
- package/dist/cjs/encoder-DXuhGwd7.d.cts.map +0 -1
- package/dist/cjs/encoderBuffer-DWGIXXjj.d.cts.map +0 -1
- package/dist/cjs/extensions/bigint/bigInt.cjs +0 -54
- package/dist/cjs/extensions/bigint/bigInt.d.cts +0 -2
- package/dist/cjs/extensions/bigint/index.cjs +0 -2
- package/dist/cjs/extensions/bigint/index.d.cts +0 -3
- package/dist/cjs/extensions/interfaces/index.d.cts +0 -3
- package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts +0 -5
- package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts.map +0 -1
- package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts +0 -5
- package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts.map +0 -1
- package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts +0 -5
- package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts.map +0 -1
- package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts +0 -5
- package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts.map +0 -1
- package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts +0 -5
- package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts.map +0 -1
- package/dist/cjs/interfaces/index.d.cts +0 -2
- package/dist/cjs/messagePackDecoderBuffer-CMG0LPbJ.d.cts +0 -12
- package/dist/cjs/messagePackDecoderBuffer-CMG0LPbJ.d.cts.map +0 -1
- package/dist/cjs/messagePackExtension-C_TQXlEn.d.cts.map +0 -1
- package/dist/cjs/messagePackTextDecoder-CtyB0N6j.d.cts +0 -7
- package/dist/cjs/messagePackTextDecoder-CtyB0N6j.d.cts.map +0 -1
- package/dist/cjs/messagePackTextEncoder-D7iCft_t.d.cts.map +0 -1
- package/dist/cjs/nodeTextEncoder-DJzFDBXd.d.cts.map +0 -1
- package/dist/cjs/timestampDate-BtBd4bAx.d.cts +0 -33
- package/dist/cjs/timestampDate-BtBd4bAx.d.cts.map +0 -1
- package/dist/cjs/types-BJie2edF.d.cts +0 -20
- package/dist/cjs/types-BJie2edF.d.cts.map +0 -1
- package/dist/cjs/types-DHnp4kMw.d.cts +0 -6
- package/dist/cjs/types-DHnp4kMw.d.cts.map +0 -1
- package/dist/cjs/untypedExtension-WQvArYoO.d.cts +0 -16
- package/dist/cjs/untypedExtension-WQvArYoO.d.cts.map +0 -1
- package/dist/cjs/untypedExtension.cjs +0 -13
- package/dist/cjs/untypedExtension.d.cts +0 -2
- package/dist/cjs/utils/fitInt64Bits.cjs +0 -6
- package/dist/cjs/utils/fitInt64Bits.d.cts +0 -2
- package/dist/cjs/utils/index.cjs +0 -11
- package/dist/cjs/utils/index.d.cts +0 -6
- package/dist/esm/benchmark/decoderDataTypesFactory.d.mts +0 -6
- package/dist/esm/benchmark/decoderDataTypesFactory.d.mts.map +0 -1
- package/dist/esm/benchmark/decoderDataTypesFactory.mjs +0 -39
- package/dist/esm/benchmark/decoderDataTypesFactory.mjs.map +0 -1
- package/dist/esm/bigInt-BvNVHUwj.d.mts +0 -35
- package/dist/esm/bigInt-BvNVHUwj.d.mts.map +0 -1
- package/dist/esm/bufferWithExtensions-Bikyeyt1.d.mts +0 -12
- package/dist/esm/bufferWithExtensions-Bikyeyt1.d.mts.map +0 -1
- package/dist/esm/decoder/decoderBuffer.d.mts +0 -2
- package/dist/esm/decoder/decoderBuffer.mjs +0 -241
- package/dist/esm/decoder/decoderBuffer.mjs.map +0 -1
- package/dist/esm/decoder/interfaces/messagePackDecoderBuffer.d.mts +0 -2
- package/dist/esm/decoder-DEzsJjYj.d.mts +0 -15
- package/dist/esm/decoder-DEzsJjYj.d.mts.map +0 -1
- package/dist/esm/decoderBuffer-BxJJdy5k.d.mts +0 -22
- package/dist/esm/decoderBuffer-BxJJdy5k.d.mts.map +0 -1
- package/dist/esm/defaultTextDecoder-B6a1HH2u.d.mts +0 -10
- package/dist/esm/defaultTextDecoder-B6a1HH2u.d.mts.map +0 -1
- package/dist/esm/encoder/encoderBuffer.d.mts +0 -2
- package/dist/esm/encoder/encoderBuffer.mjs +0 -604
- package/dist/esm/encoder/encoderBuffer.mjs.map +0 -1
- package/dist/esm/encoder/interfaces/messagePackEncoderBuffer.d.mts +0 -2
- package/dist/esm/encoder-CQfcjnAe.d.mts +0 -23
- package/dist/esm/encoder-CQfcjnAe.d.mts.map +0 -1
- package/dist/esm/encoderBuffer-DEy8CuWQ.d.mts.map +0 -1
- package/dist/esm/extensions/bigint/bigInt.d.mts +0 -2
- package/dist/esm/extensions/bigint/bigInt.mjs +0 -56
- package/dist/esm/extensions/bigint/bigInt.mjs.map +0 -1
- package/dist/esm/extensions/bigint/index.d.mts +0 -3
- package/dist/esm/extensions/bigint/index.mjs +0 -2
- package/dist/esm/extensions/interfaces/index.d.mts +0 -3
- package/dist/esm/fitIn16Bits-D9lga-sP.d.mts +0 -5
- package/dist/esm/fitIn16Bits-D9lga-sP.d.mts.map +0 -1
- package/dist/esm/fitIn32Bits-BrGIMOff.d.mts +0 -5
- package/dist/esm/fitIn32Bits-BrGIMOff.d.mts.map +0 -1
- package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts +0 -5
- package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts.map +0 -1
- package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts +0 -5
- package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts.map +0 -1
- package/dist/esm/fitInt64Bits-CY7lVKne.d.mts +0 -5
- package/dist/esm/fitInt64Bits-CY7lVKne.d.mts.map +0 -1
- package/dist/esm/interfaces/index.d.mts +0 -2
- package/dist/esm/messagePackDecoderBuffer-CGyYSweZ.d.mts +0 -12
- package/dist/esm/messagePackDecoderBuffer-CGyYSweZ.d.mts.map +0 -1
- package/dist/esm/messagePackExtension-5TI02KG6.d.mts.map +0 -1
- package/dist/esm/messagePackTextDecoder-CtyB0N6j.d.mts +0 -7
- package/dist/esm/messagePackTextDecoder-CtyB0N6j.d.mts.map +0 -1
- package/dist/esm/messagePackTextEncoder-D7iCft_t.d.mts.map +0 -1
- package/dist/esm/nodeTextEncoder-CegSnA6z.d.mts.map +0 -1
- package/dist/esm/timestampDate-C1UzHhZL.d.mts +0 -33
- package/dist/esm/timestampDate-C1UzHhZL.d.mts.map +0 -1
- package/dist/esm/types-BJie2edF.d.mts +0 -20
- package/dist/esm/types-BJie2edF.d.mts.map +0 -1
- package/dist/esm/types-DoBZbRkk.d.mts +0 -6
- package/dist/esm/types-DoBZbRkk.d.mts.map +0 -1
- package/dist/esm/untypedExtension-6bNMj-lY.d.mts +0 -16
- package/dist/esm/untypedExtension-6bNMj-lY.d.mts.map +0 -1
- package/dist/esm/untypedExtension.d.mts +0 -2
- package/dist/esm/untypedExtension.mjs +0 -15
- package/dist/esm/untypedExtension.mjs.map +0 -1
- package/dist/esm/utils/fitInt64Bits.d.mts +0 -2
- package/dist/esm/utils/fitInt64Bits.mjs +0 -8
- package/dist/esm/utils/fitInt64Bits.mjs.map +0 -1
- package/dist/esm/utils/index.d.mts +0 -6
- package/dist/esm/utils/index.mjs +0 -6
- /package/dist/cjs/decoder/interfaces/{messagePackDecoderBuffer.cjs → messagePackDecoder.cjs} +0 -0
- /package/dist/cjs/encoder/interfaces/{messagePackEncoderBuffer.cjs → messagePackEncoder.cjs} +0 -0
- /package/dist/cjs/extensions/{interfaces/index.cjs → error/types.cjs} +0 -0
- /package/dist/cjs/{interfaces/index.cjs → extensions/interfaces/messagePackBuiltInExtension.cjs} +0 -0
- /package/dist/esm/decoder/interfaces/{messagePackDecoderBuffer.mjs → messagePackDecoder.mjs} +0 -0
- /package/dist/esm/encoder/interfaces/{messagePackEncoderBuffer.mjs → messagePackEncoder.mjs} +0 -0
- /package/dist/esm/extensions/{interfaces/index.mjs → error/types.mjs} +0 -0
- /package/dist/esm/{interfaces/index.mjs → extensions/interfaces/messagePackBuiltInExtension.mjs} +0 -0
|
@@ -1,29 +1,278 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Symbols from "../symbols.mjs";
|
|
2
|
+
import BufferWithExtensions from "../bufferWithExtensions.mjs";
|
|
3
|
+
import defaultNewBufferFn from "../defaultNewBufferFn.mjs";
|
|
4
|
+
import DefaultTextDecoder from "./textDecoders/defaultTextDecoder.mjs";
|
|
2
5
|
//#region src/decoder/decoder.ts
|
|
3
|
-
var Decoder = class {
|
|
4
|
-
|
|
6
|
+
var Decoder = class Decoder extends BufferWithExtensions {
|
|
7
|
+
buffer;
|
|
8
|
+
offset;
|
|
9
|
+
view;
|
|
10
|
+
textDecoder;
|
|
11
|
+
copyBuffers;
|
|
5
12
|
constructor(options) {
|
|
6
|
-
|
|
13
|
+
super(options);
|
|
14
|
+
const bufferFactory = options?.bufferFactory ?? defaultNewBufferFn;
|
|
15
|
+
this.buffer = bufferFactory(0);
|
|
16
|
+
this.view = new DataView(this.buffer.buffer);
|
|
17
|
+
this.offset = 0;
|
|
18
|
+
this.textDecoder = options?.textDecoder ?? new DefaultTextDecoder();
|
|
19
|
+
this.copyBuffers = options?.copyBuffers ?? false;
|
|
7
20
|
}
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
21
|
+
static fromEncoder(encoder, options) {
|
|
22
|
+
const decoder = new Decoder({
|
|
23
|
+
bufferFactory: encoder.bufferFactory,
|
|
24
|
+
extensions: {
|
|
25
|
+
bigInt: encoder.bigIntExtension ?? false,
|
|
26
|
+
error: encoder.errorExtension ?? false,
|
|
27
|
+
timestampDate: encoder.timestampDateExtension ?? false
|
|
28
|
+
},
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
const extensions = encoder.getExtensions();
|
|
32
|
+
for (const extension of extensions.values()) decoder.addExtension(extension);
|
|
33
|
+
return decoder;
|
|
12
34
|
}
|
|
13
|
-
|
|
14
|
-
this.
|
|
35
|
+
setBuffer(buffer) {
|
|
36
|
+
this.buffer = buffer;
|
|
37
|
+
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
38
|
+
this.offset = 0;
|
|
15
39
|
return this;
|
|
16
40
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
41
|
+
readArray(elementCount) {
|
|
42
|
+
const decodedArray = new Array(elementCount);
|
|
43
|
+
for (let index = 0; index < elementCount; index++) decodedArray[index] = this.nextValue();
|
|
44
|
+
return decodedArray;
|
|
20
45
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
46
|
+
readStr(byteLength) {
|
|
47
|
+
if (byteLength === 0) return "";
|
|
48
|
+
const { buffer } = this;
|
|
49
|
+
const stringStartOffset = this.offset;
|
|
50
|
+
const stringEndOffset = stringStartOffset + byteLength;
|
|
51
|
+
this.offset = stringEndOffset;
|
|
52
|
+
if (byteLength <= 64) {
|
|
53
|
+
let isAsciiOnly = true;
|
|
54
|
+
for (let byteIndex = stringStartOffset; byteIndex < stringEndOffset; byteIndex++) if (buffer[byteIndex] > 127) {
|
|
55
|
+
isAsciiOnly = false;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
if (isAsciiOnly) {
|
|
59
|
+
let decodedString = "";
|
|
60
|
+
for (let byteIndex = stringStartOffset; byteIndex < stringEndOffset; byteIndex++) decodedString += String.fromCharCode(buffer[byteIndex]);
|
|
61
|
+
return decodedString;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return this.textDecoder.decode(buffer, stringStartOffset, stringEndOffset);
|
|
65
|
+
}
|
|
66
|
+
readMapKey() {
|
|
67
|
+
return this.nextValue();
|
|
68
|
+
}
|
|
69
|
+
readMap(length) {
|
|
70
|
+
const decodedMap = {};
|
|
71
|
+
for (let index = 0; index < length; ++index) {
|
|
72
|
+
const mapKey = this.readMapKey();
|
|
73
|
+
if (mapKey === "__proto__") throw new Error("Invalid map key: \"__proto__\" are not allowed as keys to prevent prototype pollution.");
|
|
74
|
+
decodedMap[mapKey] = this.nextValue();
|
|
75
|
+
}
|
|
76
|
+
return decodedMap;
|
|
77
|
+
}
|
|
78
|
+
decodeBigInt(length) {
|
|
79
|
+
if (!this.bigIntExtension) throw new Error(`BigInt extension is disabled, cannot decode BigInt.`);
|
|
80
|
+
let encoded = 0n;
|
|
81
|
+
let shift = 0n;
|
|
82
|
+
const endOffset = this.offset + length;
|
|
83
|
+
while (this.offset < endOffset) {
|
|
84
|
+
encoded |= this.view.getBigUint64(this.offset, false) << shift;
|
|
85
|
+
this.offset += 8;
|
|
86
|
+
shift += 64n;
|
|
87
|
+
}
|
|
88
|
+
if ((encoded & 1n) === 1n) return -(encoded + 1n >> 1n);
|
|
89
|
+
return encoded >> 1n;
|
|
90
|
+
}
|
|
91
|
+
decodeBin(length) {
|
|
92
|
+
const startOffset = this.offset;
|
|
93
|
+
this.offset = startOffset + length;
|
|
94
|
+
if (this.copyBuffers) return Uint8Array.prototype.slice.call(this.buffer, startOffset, this.offset);
|
|
95
|
+
return this.buffer.subarray(startOffset, this.offset);
|
|
96
|
+
}
|
|
97
|
+
decodeExtension(extensionId, length) {
|
|
98
|
+
if (extensionId === this.bigIntExtension?.type) return this.decodeBigInt(length);
|
|
99
|
+
const extension = this.fetchExtension(extensionId);
|
|
100
|
+
const expectedNewOffset = this.offset + length;
|
|
101
|
+
const decoded = extension.decode(this, length);
|
|
102
|
+
if (this.offset !== expectedNewOffset) throw new Error(`Extension decoder did not consume the expected number of bytes for extensionId ${extensionId} and length ${length}.`);
|
|
103
|
+
return decoded;
|
|
104
|
+
}
|
|
105
|
+
decodeControlSlow(headerByte) {
|
|
106
|
+
const { buffer } = this;
|
|
107
|
+
switch (headerByte) {
|
|
108
|
+
case 193: return;
|
|
109
|
+
case Symbols.BIN8: {
|
|
110
|
+
const byteLength = buffer[this.offset++];
|
|
111
|
+
return this.decodeBin(byteLength);
|
|
112
|
+
}
|
|
113
|
+
case Symbols.BIN16: {
|
|
114
|
+
const byteLength = this.view.getUint16(this.offset);
|
|
115
|
+
this.offset += 2;
|
|
116
|
+
return this.decodeBin(byteLength);
|
|
117
|
+
}
|
|
118
|
+
case Symbols.BIN32: {
|
|
119
|
+
const byteLength = this.view.getUint32(this.offset);
|
|
120
|
+
this.offset += 4;
|
|
121
|
+
return this.decodeBin(byteLength);
|
|
122
|
+
}
|
|
123
|
+
case Symbols.EXT8: {
|
|
124
|
+
const length = this.buffer[this.offset++];
|
|
125
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
126
|
+
return this.decodeExtension(extensionId, length);
|
|
127
|
+
}
|
|
128
|
+
case Symbols.EXT16: {
|
|
129
|
+
const length = this.view.getUint16(this.offset);
|
|
130
|
+
this.offset += 2;
|
|
131
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
132
|
+
return this.decodeExtension(extensionId, length);
|
|
133
|
+
}
|
|
134
|
+
case Symbols.EXT32: {
|
|
135
|
+
const length = this.view.getUint32(this.offset);
|
|
136
|
+
this.offset += 4;
|
|
137
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
138
|
+
return this.decodeExtension(extensionId, length);
|
|
139
|
+
}
|
|
140
|
+
case Symbols.FLOAT32: {
|
|
141
|
+
const decodedFloat32 = this.view.getFloat32(this.offset);
|
|
142
|
+
this.offset += 4;
|
|
143
|
+
return decodedFloat32;
|
|
144
|
+
}
|
|
145
|
+
case Symbols.FLOAT64: {
|
|
146
|
+
const decodedFloat64 = this.view.getFloat64(this.offset);
|
|
147
|
+
this.offset += 8;
|
|
148
|
+
return decodedFloat64;
|
|
149
|
+
}
|
|
150
|
+
case Symbols.UINT64: {
|
|
151
|
+
const high = this.view.getUint32(this.offset);
|
|
152
|
+
this.offset += 4;
|
|
153
|
+
const low = this.view.getUint32(this.offset);
|
|
154
|
+
this.offset += 4;
|
|
155
|
+
return high * 4294967296 + low;
|
|
156
|
+
}
|
|
157
|
+
case Symbols.INT8: {
|
|
158
|
+
const decodedInt8 = this.view.getInt8(this.offset);
|
|
159
|
+
this.offset += 1;
|
|
160
|
+
return decodedInt8;
|
|
161
|
+
}
|
|
162
|
+
case Symbols.INT16: {
|
|
163
|
+
const valueStartOffset = this.offset;
|
|
164
|
+
const decodedInt16 = this.view.getInt16(valueStartOffset);
|
|
165
|
+
this.offset = valueStartOffset + 2;
|
|
166
|
+
return decodedInt16;
|
|
167
|
+
}
|
|
168
|
+
case Symbols.INT32: {
|
|
169
|
+
const valueStartOffset = this.offset;
|
|
170
|
+
const decodedInt32 = this.view.getInt32(valueStartOffset);
|
|
171
|
+
this.offset = valueStartOffset + 4;
|
|
172
|
+
return decodedInt32;
|
|
173
|
+
}
|
|
174
|
+
case Symbols.INT64: {
|
|
175
|
+
const high = this.view.getInt32(this.offset);
|
|
176
|
+
this.offset += 4;
|
|
177
|
+
const low = this.view.getUint32(this.offset);
|
|
178
|
+
this.offset += 4;
|
|
179
|
+
return high * 4294967296 + low;
|
|
180
|
+
}
|
|
181
|
+
case Symbols.FIXEXT1: {
|
|
182
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
183
|
+
return this.decodeExtension(extensionId, 1);
|
|
184
|
+
}
|
|
185
|
+
case Symbols.FIXEXT2: {
|
|
186
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
187
|
+
return this.decodeExtension(extensionId, 2);
|
|
188
|
+
}
|
|
189
|
+
case Symbols.FIXEXT4: {
|
|
190
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
191
|
+
return this.decodeExtension(extensionId, 4);
|
|
192
|
+
}
|
|
193
|
+
case Symbols.FIXEXT8: {
|
|
194
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
195
|
+
return this.decodeExtension(extensionId, 8);
|
|
196
|
+
}
|
|
197
|
+
case Symbols.FIXEXT16: {
|
|
198
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
199
|
+
return this.decodeExtension(extensionId, 16);
|
|
200
|
+
}
|
|
201
|
+
case Symbols.STR8: {
|
|
202
|
+
const byteLength = buffer[this.offset++];
|
|
203
|
+
return this.readStr(byteLength);
|
|
204
|
+
}
|
|
205
|
+
case Symbols.STR16: {
|
|
206
|
+
const valueStartOffset = this.offset;
|
|
207
|
+
const byteLength = this.view.getUint16(valueStartOffset);
|
|
208
|
+
this.offset = valueStartOffset + 2;
|
|
209
|
+
return this.readStr(byteLength);
|
|
210
|
+
}
|
|
211
|
+
case Symbols.STR32: {
|
|
212
|
+
const byteLength = this.view.getUint32(this.offset);
|
|
213
|
+
this.offset += 4;
|
|
214
|
+
return this.readStr(byteLength);
|
|
215
|
+
}
|
|
216
|
+
case Symbols.ARRAY16: {
|
|
217
|
+
const valueStartOffset = this.offset;
|
|
218
|
+
const elementCount = this.view.getUint16(valueStartOffset);
|
|
219
|
+
this.offset = valueStartOffset + 2;
|
|
220
|
+
return this.readArray(elementCount);
|
|
221
|
+
}
|
|
222
|
+
case Symbols.ARRAY32: {
|
|
223
|
+
const valueStartOffset = this.offset;
|
|
224
|
+
const elementCount = this.view.getUint32(valueStartOffset);
|
|
225
|
+
this.offset = valueStartOffset + 4;
|
|
226
|
+
return this.readArray(elementCount);
|
|
227
|
+
}
|
|
228
|
+
case Symbols.MAP16: {
|
|
229
|
+
const valueStartOffset = this.offset;
|
|
230
|
+
const length = this.view.getUint16(valueStartOffset);
|
|
231
|
+
this.offset = valueStartOffset + 2;
|
|
232
|
+
return this.readMap(length);
|
|
233
|
+
}
|
|
234
|
+
case Symbols.MAP32: {
|
|
235
|
+
const length = this.view.getUint32(this.offset);
|
|
236
|
+
this.offset += 4;
|
|
237
|
+
return this.readMap(length);
|
|
238
|
+
}
|
|
239
|
+
default: return;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
nextValue() {
|
|
243
|
+
const { buffer } = this;
|
|
244
|
+
const headerByte = buffer[this.offset++];
|
|
245
|
+
if ((headerByte & 224) === Symbols.NIL) switch (headerByte) {
|
|
246
|
+
case Symbols.NIL: return null;
|
|
247
|
+
case Symbols.FALSE: return false;
|
|
248
|
+
case Symbols.TRUE: return true;
|
|
249
|
+
case Symbols.UINT8: return buffer[this.offset++];
|
|
250
|
+
case Symbols.UINT16: {
|
|
251
|
+
const decodedUint16 = this.view.getUint16(this.offset);
|
|
252
|
+
this.offset += 2;
|
|
253
|
+
return decodedUint16;
|
|
254
|
+
}
|
|
255
|
+
case Symbols.UINT32: {
|
|
256
|
+
const decodedUint32 = this.view.getUint32(this.offset);
|
|
257
|
+
this.offset += 4;
|
|
258
|
+
return decodedUint32;
|
|
259
|
+
}
|
|
260
|
+
default: return this.decodeControlSlow(headerByte);
|
|
261
|
+
}
|
|
262
|
+
if (headerByte >= Symbols.NEGATIVE_FIXINT_START) return headerByte - 256;
|
|
263
|
+
if (headerByte < Symbols.FIXARRAY_START) {
|
|
264
|
+
if (headerByte < Symbols.FIXMAP_START) return headerByte;
|
|
265
|
+
return this.readMap(headerByte & 15);
|
|
266
|
+
}
|
|
267
|
+
if (headerByte < Symbols.FIXSTR_START) {
|
|
268
|
+
const elementCount = headerByte & 15;
|
|
269
|
+
return this.readArray(elementCount);
|
|
270
|
+
}
|
|
271
|
+
return this.readStr(headerByte & 31);
|
|
272
|
+
}
|
|
273
|
+
decode(encodedBuffer) {
|
|
274
|
+
this.setBuffer(encodedBuffer);
|
|
275
|
+
return this.nextValue();
|
|
27
276
|
}
|
|
28
277
|
};
|
|
29
278
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.mjs","names":[],"sources":["../../../src/decoder/decoder.ts"],"sourcesContent":["import type MessagePackExtension from '../extensions/interfaces/messagePackExtension.ts';\nimport DecoderBuffer from './decoderBuffer.ts';\nimport type { DecoderBufferOptions } from './types.ts';\n\n// export function isArrayBufferLike(buffer: unknown): buffer is ArrayBufferLike {\n// return (\n// buffer instanceof ArrayBuffer || (typeof SharedArrayBuffer !== \"undefined\" && buffer instanceof SharedArrayBuffer)\n// );\n// }\n\nclass Decoder<TBuffer extends Uint8Array = Uint8Array> {\n protected decoderBuffer: DecoderBuffer<TBuffer>;\n\n constructor(options?: DecoderBufferOptions<TBuffer>) {\n this.decoderBuffer = new DecoderBuffer(options);\n }\n\n // decode<T extends any = unknown>(value: ArrayLike<number> | ArrayBufferView | ArrayBufferLike): T {\n decode<TValue = unknown>(encodedBuffer: TBuffer): TValue {\n // if (value instanceof Uint8Array) {\n // this.buffer = value;\n // } else if (ArrayBuffer.isView(value)) {\n // this.buffer = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n // } else if (isArrayBufferLike(value)) {\n // this.buffer = new Uint8Array(value, 0, value.byteLength);\n // } else {\n // this.buffer = Uint8Array.from(value);\n // }\n const { decoderBuffer } = this;\n\n // decoderBuffer.buffer = encodedBuffer;\n // decoderBuffer.offset = 0;\n // decoderBuffer.view = new DataView(encodedBuffer.buffer, encodedBuffer.byteOffset, encodedBuffer.byteLength);\n decoderBuffer.setBuffer(encodedBuffer);\n\n return decoderBuffer.nextValue<TValue>();\n }\n\n addExtension(extension: MessagePackExtension<unknown, TBuffer>): this {\n this.decoderBuffer.addExtension(extension);\n\n return this;\n }\n\n addInternalExtension(\n extension: MessagePackExtension<unknown, TBuffer>,\n ): this {\n this.decoderBuffer.addInternalExtension(extension);\n\n return this;\n }\n\n addExtensionType(\n type: number,\n extension: Omit<MessagePackExtension<unknown, TBuffer>, 'type'>,\n ): this {\n this.decoderBuffer.addExtension({ type, ...extension });\n\n return this;\n }\n}\n\nexport default Decoder;\n"],"mappings":";;AAUA,IAAM,UAAN,MAAuD;CACrD;CAEA,YAAY,SAAyC;EACnD,KAAK,gBAAgB,IAAI,cAAc,OAAO;CAChD;CAGA,OAAyB,eAAgC;EAUvD,MAAM,EAAE,kBAAkB;EAK1B,cAAc,UAAU,aAAa;EAErC,OAAO,cAAc,UAAkB;CACzC;CAEA,aAAa,WAAyD;EACpE,KAAK,cAAc,aAAa,SAAS;EAEzC,OAAO;CACT;CAEA,qBACE,WACM;EACN,KAAK,cAAc,qBAAqB,SAAS;EAEjD,OAAO;CACT;CAEA,iBACE,MACA,WACM;EACN,KAAK,cAAc,aAAa;GAAE;GAAM,GAAG;EAAU,CAAC;EAEtD,OAAO;CACT;AACF"}
|
|
1
|
+
{"version":3,"file":"decoder.mjs","names":[],"sources":["../../../src/decoder/decoder.ts"],"sourcesContent":["// oxlint-disable typescript/no-unsafe-type-assertion complexity\nimport BufferWithExtensions from '../bufferWithExtensions.ts';\nimport defaultNewBufferFn from '../defaultNewBufferFn.ts';\nimport type Encoder from '../encoder/encoder.ts';\nimport type { EncoderOptions } from '../encoder/types.ts';\nimport Symbols from '../symbols.ts';\nimport type { BufferFactory } from '../types.ts';\nimport type MessagePackDecoder from './interfaces/messagePackDecoder.ts';\nimport type MessagePackTextDecoder from './interfaces/messagePackTextDecoder.ts';\nimport DefaultTextDecoder from './textDecoders/defaultTextDecoder.ts';\nimport type { DecoderOptions } from './types.ts';\n\nclass Decoder<TBuffer extends Uint8Array = Uint8Array>\n extends BufferWithExtensions<TBuffer>\n implements MessagePackDecoder<TBuffer>\n{\n buffer: TBuffer;\n offset: number;\n view: DataView;\n textDecoder: MessagePackTextDecoder<TBuffer>;\n copyBuffers: boolean;\n\n constructor(options?: DecoderOptions<TBuffer>) {\n super(options);\n\n const bufferFactory =\n options?.bufferFactory ?? (defaultNewBufferFn as BufferFactory<TBuffer>);\n\n this.buffer = bufferFactory(0);\n this.view = new DataView(this.buffer.buffer);\n this.offset = 0;\n this.textDecoder =\n options?.textDecoder ?? new DefaultTextDecoder<TBuffer>();\n this.copyBuffers = options?.copyBuffers ?? false;\n }\n\n static fromEncoder<TBuffer extends Uint8Array = Uint8Array>(\n encoder: Encoder<TBuffer>,\n options?: NoInfer<\n Omit<DecoderOptions<TBuffer>, keyof EncoderOptions<TBuffer>>\n >,\n ): Decoder<TBuffer> {\n const decoder = new Decoder<TBuffer>({\n bufferFactory: encoder.bufferFactory,\n extensions: {\n bigInt: encoder.bigIntExtension ?? false,\n error: encoder.errorExtension ?? false,\n timestampDate: encoder.timestampDateExtension ?? false,\n },\n ...options,\n });\n\n const extensions = encoder.getExtensions();\n\n for (const extension of extensions.values()) {\n decoder.addExtension(extension);\n }\n\n return decoder;\n }\n\n setBuffer(buffer: TBuffer): this {\n this.buffer = buffer;\n this.view = new DataView(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength,\n );\n this.offset = 0;\n\n return this;\n }\n\n protected readArray(elementCount: number): unknown[] {\n const decodedArray: unknown[] = new Array(elementCount);\n\n for (let index = 0; index < elementCount; index++) {\n decodedArray[index] = this.nextValue();\n }\n\n return decodedArray;\n }\n\n // NOTE: refactor this method?, too many loops.\n // ASCII fast path avoids allocating a subarray view + handing off to TextDecoder\n // (both measurably show up in profiling) for the overwhelmingly common case of\n // short ASCII keys/values; falls back to TextDecoder only when non-ASCII bytes appear.\n protected readStr(byteLength: number): string {\n if (byteLength === 0) {\n return '';\n }\n\n const { buffer } = this;\n const stringStartOffset = this.offset;\n const stringEndOffset = stringStartOffset + byteLength;\n this.offset = stringEndOffset;\n\n // Below the threshold, a manual scan + char-by-char build beats TextDecoder's fixed\n // per-call overhead (typical map keys/identifiers). Above it, the repeated string\n // concatenation itself becomes the bottleneck (StringAdd_CheckNone dominates in\n // profiling), so large strings skip straight to TextDecoder's native, single-pass decode.\n if (byteLength <= 64) {\n let isAsciiOnly = true;\n\n for (\n let byteIndex = stringStartOffset;\n byteIndex < stringEndOffset;\n byteIndex++\n ) {\n if (buffer[byteIndex] > 0x7f) {\n isAsciiOnly = false;\n break;\n }\n }\n\n if (isAsciiOnly) {\n let decodedString = '';\n\n for (\n let byteIndex = stringStartOffset;\n byteIndex < stringEndOffset;\n byteIndex++\n ) {\n // oxlint-disable-next-line unicorn/prefer-code-point -- check that\n decodedString += String.fromCharCode(buffer[byteIndex]);\n }\n\n return decodedString;\n }\n }\n\n return this.textDecoder.decode(buffer, stringStartOffset, stringEndOffset);\n }\n\n // Note: implements an efficient method to read map keys, avoiding the\n // overhead of nextValue() for the overwhelmingly common case of short ASCII\n // keys.\n protected readMapKey(): string | number {\n return this.nextValue<string | number>();\n }\n\n protected readMap(length: number): Record<string | number, unknown> {\n const decodedMap: Record<string | number, unknown> = {};\n\n for (let index = 0; index < length; ++index) {\n const mapKey = this.readMapKey();\n\n if (mapKey === '__proto__') {\n throw new Error(\n 'Invalid map key: \"__proto__\" are not allowed as keys to prevent prototype pollution.',\n );\n }\n\n decodedMap[mapKey] = this.nextValue();\n }\n\n return decodedMap;\n }\n\n protected decodeBigInt(length: number): bigint {\n if (!this.bigIntExtension) {\n throw new Error(`BigInt extension is disabled, cannot decode BigInt.`);\n }\n\n let encoded = 0n;\n let shift = 0n;\n const endOffset = this.offset + length;\n\n while (this.offset < endOffset) {\n encoded |= this.view.getBigUint64(this.offset, false) << shift;\n this.offset += 8;\n shift += 64n;\n }\n\n if ((encoded & 1n) === 1n) {\n return -((encoded + 1n) >> 1n);\n }\n\n return encoded >> 1n;\n }\n\n protected decodeBin(length: number): TBuffer {\n const startOffset = this.offset;\n\n this.offset = startOffset + length;\n\n if (this.copyBuffers) {\n return Uint8Array.prototype.slice.call(\n this.buffer,\n startOffset,\n this.offset,\n ) as TBuffer;\n }\n\n return this.buffer.subarray(startOffset, this.offset) as TBuffer;\n }\n\n protected decodeExtension(extensionId: number, length: number): unknown {\n if (extensionId === this.bigIntExtension?.type) {\n return this.decodeBigInt(length);\n }\n\n const extension = this.fetchExtension(extensionId);\n const expectedNewOffset = this.offset + length;\n\n const decoded = extension.decode(this, length);\n\n if (this.offset !== expectedNewOffset) {\n throw new Error(\n `Extension decoder did not consume the expected number of bytes for extensionId ${extensionId} and length ${length}.`,\n );\n }\n\n return decoded;\n }\n\n // Cold path: everything in the 0xc0-0xdf control-code range that isn't Symbols.NIL/Symbols.FALSE/Symbols.TRUE/Symbols.UINT8/16/32.\n // Kept out of nextValue() on purpose (see comment above) so the hot switch stays small.\n protected decodeControlSlow(headerByte: number): unknown {\n const { buffer } = this;\n\n switch (headerByte) {\n case 0xc1: {\n // unassigned byte, historically decoded as undefined\n return undefined;\n }\n case Symbols.BIN8: {\n const byteLength = buffer[this.offset++];\n\n return this.decodeBin(byteLength);\n }\n case Symbols.BIN16: {\n const byteLength = this.view.getUint16(this.offset);\n this.offset += 2;\n\n return this.decodeBin(byteLength);\n }\n case Symbols.BIN32: {\n const byteLength = this.view.getUint32(this.offset);\n this.offset += 4;\n\n return this.decodeBin(byteLength);\n }\n case Symbols.EXT8: {\n const length = this.buffer[this.offset++];\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, length);\n }\n case Symbols.EXT16: {\n const length = this.view.getUint16(this.offset);\n this.offset += 2;\n\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, length);\n }\n case Symbols.EXT32: {\n const length = this.view.getUint32(this.offset);\n this.offset += 4;\n\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, length);\n }\n case Symbols.FLOAT32: {\n const decodedFloat32 = this.view.getFloat32(this.offset);\n this.offset += 4;\n return decodedFloat32;\n }\n case Symbols.FLOAT64: {\n const decodedFloat64 = this.view.getFloat64(this.offset);\n this.offset += 8;\n return decodedFloat64;\n }\n case Symbols.UINT64: {\n const high = this.view.getUint32(this.offset);\n this.offset += 4;\n\n const low = this.view.getUint32(this.offset);\n this.offset += 4;\n\n return high * 0x1_00_00_00_00 + low;\n }\n case Symbols.INT8: {\n const decodedInt8 = this.view.getInt8(this.offset);\n this.offset += 1;\n return decodedInt8;\n }\n case Symbols.INT16: {\n const valueStartOffset = this.offset;\n const decodedInt16 = this.view.getInt16(valueStartOffset);\n this.offset = valueStartOffset + 2;\n return decodedInt16;\n }\n case Symbols.INT32: {\n const valueStartOffset = this.offset;\n const decodedInt32 = this.view.getInt32(valueStartOffset);\n this.offset = valueStartOffset + 4;\n return decodedInt32;\n }\n case Symbols.INT64: {\n const high = this.view.getInt32(this.offset);\n this.offset += 4;\n\n const low = this.view.getUint32(this.offset);\n this.offset += 4;\n\n return high * 0x1_00_00_00_00 + low;\n }\n case Symbols.FIXEXT1: {\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, 1);\n }\n case Symbols.FIXEXT2: {\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, 2);\n }\n case Symbols.FIXEXT4: {\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, 4);\n }\n case Symbols.FIXEXT8: {\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, 8);\n }\n case Symbols.FIXEXT16: {\n const extensionId = this.view.getInt8(this.offset++);\n\n return this.decodeExtension(extensionId, 16);\n }\n case Symbols.STR8: {\n const byteLength = buffer[this.offset++];\n return this.readStr(byteLength);\n }\n case Symbols.STR16: {\n const valueStartOffset = this.offset;\n const byteLength = this.view.getUint16(valueStartOffset);\n this.offset = valueStartOffset + 2;\n return this.readStr(byteLength);\n }\n case Symbols.STR32: {\n const byteLength = this.view.getUint32(this.offset);\n this.offset += 4;\n return this.readStr(byteLength);\n }\n case Symbols.ARRAY16: {\n const valueStartOffset = this.offset;\n const elementCount = this.view.getUint16(valueStartOffset);\n this.offset = valueStartOffset + 2;\n return this.readArray(elementCount);\n }\n case Symbols.ARRAY32: {\n const valueStartOffset = this.offset;\n const elementCount = this.view.getUint32(valueStartOffset);\n this.offset = valueStartOffset + 4;\n return this.readArray(elementCount);\n }\n case Symbols.MAP16: {\n const valueStartOffset = this.offset;\n const length = this.view.getUint16(valueStartOffset);\n this.offset = valueStartOffset + 2;\n return this.readMap(length);\n }\n case Symbols.MAP32: {\n const length = this.view.getUint32(this.offset);\n this.offset += 4;\n return this.readMap(length);\n }\n default: {\n return undefined;\n }\n }\n }\n\n // Dispatch is split in two tiers: a handful of range checks to bucket `headerByte`\n // into { fixint/fixmap/fixarray/fixstr } vs { control codes 0xc0-0xdf ∪ negative fixint },\n // then a small switch covering only the control codes this benchmark actually hits.\n // Kept deliberately tiny (unlike a single flat 32-case switch) so V8's inliner can fold\n // it into readArray's loop; everything rare/unimplemented is deferred to decodeControlSlow\n // so it doesn't bloat this function's inlining budget.\n nextValue<TValue = unknown>(): TValue {\n const { buffer } = this;\n const headerByte = buffer[this.offset++];\n\n if ((headerByte & 0xe0) === Symbols.NIL) {\n // 0xc0-0xdf control codes, single bitmask test\n switch (headerByte) {\n case Symbols.NIL: {\n return null as TValue;\n }\n case Symbols.FALSE: {\n return false as TValue;\n }\n case Symbols.TRUE: {\n return true as TValue;\n }\n case Symbols.UINT8: {\n return buffer[this.offset++] as TValue;\n }\n case Symbols.UINT16: {\n const decodedUint16 = this.view.getUint16(this.offset);\n this.offset += 2;\n\n return decodedUint16 as TValue;\n }\n case Symbols.UINT32: {\n const decodedUint32 = this.view.getUint32(this.offset);\n this.offset += 4;\n return decodedUint32 as TValue;\n }\n default: {\n return this.decodeControlSlow(headerByte) as TValue;\n }\n }\n }\n\n if (headerByte >= Symbols.NEGATIVE_FIXINT_START) {\n return (headerByte - 0x1_00) as TValue;\n }\n\n if (headerByte < Symbols.FIXARRAY_START) {\n if (headerByte < Symbols.FIXMAP_START) {\n return headerByte as TValue; // POSITIVE_FIXINT\n }\n\n // Symbols.FIXMAP_START\n return this.readMap(headerByte & 0b1111) as TValue;\n }\n\n if (headerByte < Symbols.FIXSTR_START) {\n const elementCount = headerByte & 0b1111;\n\n return this.readArray(elementCount) as TValue;\n }\n\n // Symbols.FIXSTR_START\n return this.readStr(headerByte & 0b1_1111) as TValue;\n }\n\n decode<TValue = unknown>(encodedBuffer: TBuffer): TValue {\n this.setBuffer(encodedBuffer);\n\n return this.nextValue<TValue>();\n }\n}\n\nexport default Decoder;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { t as MessagePackTextDecoder } from "../messagePackTextDecoder-
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as Decoder } from "../decoder-
|
|
5
|
-
|
|
1
|
+
import { t as MessagePackTextDecoder } from "../messagePackTextDecoder-CfBSOsxU.mjs";
|
|
2
|
+
import { t as MessagePackDecoder } from "../messagePackDecoder-96W4gsyQ.mjs";
|
|
3
|
+
import { t as decode } from "../decode-BraWmoPw.mjs";
|
|
4
|
+
import { t as Decoder } from "../decoder-Bdqx1C7P.mjs";
|
|
5
|
+
import { t as DefaultTextDecoder } from "../defaultTextDecoder-BkW5T2EO.mjs";
|
|
6
|
+
import { t as NodeTextDecoder } from "../nodeTextDecoder-D95BppeH.mjs";
|
|
7
|
+
export { Decoder, DefaultTextDecoder, type MessagePackDecoder, type MessagePackTextDecoder, NodeTextDecoder, decode };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import DefaultTextDecoder from "./textDecoders/defaultTextDecoder.mjs";
|
|
2
|
+
import NodeTextDecoder from "./textDecoders/nodeTextDecoder.mjs";
|
|
2
3
|
import Decoder from "./decoder.mjs";
|
|
3
|
-
|
|
4
|
+
import decode from "./decode.mjs";
|
|
5
|
+
export { Decoder, DefaultTextDecoder, NodeTextDecoder, decode };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as MessagePackTextDecoder } from "../../messagePackTextDecoder-
|
|
2
|
-
import { t as
|
|
3
|
-
import "../../index-
|
|
4
|
-
export type {
|
|
1
|
+
import { t as MessagePackTextDecoder } from "../../messagePackTextDecoder-CfBSOsxU.mjs";
|
|
2
|
+
import { t as MessagePackDecoder } from "../../messagePackDecoder-96W4gsyQ.mjs";
|
|
3
|
+
import "../../index-DeSJDZGk.mjs";
|
|
4
|
+
export type { MessagePackDecoder, MessagePackTextDecoder };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as MessagePackTextDecoder } from "../../messagePackTextDecoder-
|
|
1
|
+
import { t as MessagePackTextDecoder } from "../../messagePackTextDecoder-CfBSOsxU.mjs";
|
|
2
2
|
export { MessagePackTextDecoder as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as DefaultTextDecoder } from "../../defaultTextDecoder-
|
|
1
|
+
import { t as DefaultTextDecoder } from "../../defaultTextDecoder-BkW5T2EO.mjs";
|
|
2
2
|
export { DefaultTextDecoder as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTextDecoder.mjs","names":[],"sources":["../../../../src/decoder/textDecoders/defaultTextDecoder.ts"],"sourcesContent":["import type MessagePackTextDecoder from '../interfaces/messagePackTextDecoder.ts';\n\nclass DefaultTextDecoder implements MessagePackTextDecoder {\n protected textDecoder: TextDecoder;\n\n constructor() {\n this.textDecoder = new TextDecoder();\n }\n\n decode(buffer:
|
|
1
|
+
{"version":3,"file":"defaultTextDecoder.mjs","names":[],"sources":["../../../../src/decoder/textDecoders/defaultTextDecoder.ts"],"sourcesContent":["import type MessagePackTextDecoder from '../interfaces/messagePackTextDecoder.ts';\n\nclass DefaultTextDecoder<\n TBuffer extends Uint8Array = Uint8Array,\n> implements MessagePackTextDecoder<TBuffer> {\n protected textDecoder: TextDecoder;\n\n constructor() {\n this.textDecoder = new TextDecoder();\n }\n\n decode(buffer: TBuffer, start: number, end: number): string {\n return this.textDecoder.decode(buffer.subarray(start, end));\n }\n}\n\nexport default DefaultTextDecoder;\n"],"mappings":";AAEA,IAAM,qBAAN,MAE6C;CAC3C;CAEA,cAAc;EACZ,KAAK,cAAc,IAAI,YAAY;CACrC;CAEA,OAAO,QAAiB,OAAe,KAAqB;EAC1D,OAAO,KAAK,YAAY,OAAO,OAAO,SAAS,OAAO,GAAG,CAAC;CAC5D;AACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/decoder/textDecoders/nodeTextDecoder.ts
|
|
2
|
+
var NodeTextDecoder = class {
|
|
3
|
+
decode(buffer, start, end) {
|
|
4
|
+
return buffer.toString("utf8", start, end);
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { NodeTextDecoder as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=nodeTextDecoder.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeTextDecoder.mjs","names":[],"sources":["../../../../src/decoder/textDecoders/nodeTextDecoder.ts"],"sourcesContent":["import type { Buffer } from 'node:buffer';\n\nimport type MessagePackTextDecoder from '../interfaces/messagePackTextDecoder.ts';\n\nclass NodeTextDecoder implements MessagePackTextDecoder<Buffer> {\n decode(buffer: Buffer, start: number, end: number): string {\n return buffer.toString('utf8', start, end);\n }\n}\n\nexport default NodeTextDecoder;\n"],"mappings":";AAIA,IAAM,kBAAN,MAAgE;CAC9D,OAAO,QAAgB,OAAe,KAAqB;EACzD,OAAO,OAAO,SAAS,QAAQ,OAAO,GAAG;CAC3C;AACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
export {
|
|
1
|
+
import { t as DecoderOptions } from "../types-DcVlVqj4.mjs";
|
|
2
|
+
export { DecoderOptions };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { t as MessagePackTextDecoder } from "./messagePackTextDecoder-CfBSOsxU.mjs";
|
|
2
|
+
import { t as MessagePackDecoder } from "./messagePackDecoder-96W4gsyQ.mjs";
|
|
3
|
+
import { a as EncoderOptions } from "./error-BtKEZf6W.mjs";
|
|
4
|
+
import { t as BufferWithExtensions } from "./bufferWithExtensions-DSU4ekuD.mjs";
|
|
5
|
+
import { t as Encoder } from "./encoder-C5Oo57-h.mjs";
|
|
6
|
+
import { t as DecoderOptions } from "./types-DcVlVqj4.mjs";
|
|
7
|
+
//#region src/decoder/decoder.d.ts
|
|
8
|
+
declare class Decoder<TBuffer extends Uint8Array = Uint8Array> extends BufferWithExtensions<TBuffer> implements MessagePackDecoder<TBuffer> {
|
|
9
|
+
buffer: TBuffer;
|
|
10
|
+
offset: number;
|
|
11
|
+
view: DataView;
|
|
12
|
+
textDecoder: MessagePackTextDecoder<TBuffer>;
|
|
13
|
+
copyBuffers: boolean;
|
|
14
|
+
constructor(options?: DecoderOptions<TBuffer>);
|
|
15
|
+
static fromEncoder<TBuffer extends Uint8Array = Uint8Array>(encoder: Encoder<TBuffer>, options?: NoInfer<Omit<DecoderOptions<TBuffer>, keyof EncoderOptions<TBuffer>>>): Decoder<TBuffer>;
|
|
16
|
+
setBuffer(buffer: TBuffer): this;
|
|
17
|
+
protected readArray(elementCount: number): unknown[];
|
|
18
|
+
protected readStr(byteLength: number): string;
|
|
19
|
+
protected readMapKey(): string | number;
|
|
20
|
+
protected readMap(length: number): Record<string | number, unknown>;
|
|
21
|
+
protected decodeBigInt(length: number): bigint;
|
|
22
|
+
protected decodeBin(length: number): TBuffer;
|
|
23
|
+
protected decodeExtension(extensionId: number, length: number): unknown;
|
|
24
|
+
protected decodeControlSlow(headerByte: number): unknown;
|
|
25
|
+
nextValue<TValue = unknown>(): TValue;
|
|
26
|
+
decode<TValue = unknown>(encodedBuffer: TBuffer): TValue;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { Decoder as t };
|
|
30
|
+
//# sourceMappingURL=decoder-Bdqx1C7P.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoder-Bdqx1C7P.d.mts","names":[],"sources":["../../src/decoder/decoder.ts"],"mappings":";;;;;;;cAYM,QAAQ,gBAAgB,aAAa,oBACjC,qBAAqB,oBAClB,mBAAmB;EAE9B,QAAQ;EACR;EACA,MAAM;EACN,aAAa,uBAAuB;EACpC;EAEA,YAAY,UAAU,eAAe;SAc9B,YAAY,gBAAgB,aAAa,YAC9C,SAAS,QAAQ,UACjB,UAAU,QACR,KAAK,eAAe,gBAAgB,eAAe,aAEpD,QAAQ;EAoBX,UAAU,QAAQ;YAYR,UAAU;YAcV,QAAQ;YAkDR;YAIA,QAAQ,iBAAiB;YAkBzB,aAAa;YAsBb,UAAU,iBAAiB;YAgB3B,gBAAgB,qBAAqB;YAqBrC,kBAAkB;EAuK5B,UAAU,qBAAqB;EA2D/B,OAAO,kBAAkB,eAAe,UAAU"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { c as BufferFactory } from "./error-BtKEZf6W.mjs";
|
|
1
2
|
//#region src/defaultNewBufferFn.d.ts
|
|
2
|
-
declare
|
|
3
|
+
declare const defaultNewBufferFn: BufferFactory;
|
|
3
4
|
//#endregion
|
|
4
5
|
export { defaultNewBufferFn as default };
|
|
5
6
|
//# sourceMappingURL=defaultNewBufferFn.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultNewBufferFn.d.mts","names":[],"sources":["../../src/defaultNewBufferFn.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultNewBufferFn.d.mts","names":[],"sources":["../../src/defaultNewBufferFn.ts"],"mappings":";;cAEM,oBAAoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultNewBufferFn.mjs","names":[],"sources":["../../src/defaultNewBufferFn.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"defaultNewBufferFn.mjs","names":[],"sources":["../../src/defaultNewBufferFn.ts"],"sourcesContent":["import type { BufferFactory } from './types.ts';\n\nconst defaultNewBufferFn: BufferFactory = (requiredSize) =>\n new Uint8Array(requiredSize);\n\nexport default defaultNewBufferFn;\n"],"mappings":";AAEA,MAAM,sBAAqC,iBACzC,IAAI,WAAW,YAAY"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { t as MessagePackTextDecoder } from "./messagePackTextDecoder-CfBSOsxU.mjs";
|
|
2
|
+
//#region src/decoder/textDecoders/defaultTextDecoder.d.ts
|
|
3
|
+
declare class DefaultTextDecoder<TBuffer extends Uint8Array = Uint8Array> implements MessagePackTextDecoder<TBuffer> {
|
|
4
|
+
protected textDecoder: TextDecoder;
|
|
5
|
+
constructor();
|
|
6
|
+
decode(buffer: TBuffer, start: number, end: number): string;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { DefaultTextDecoder as t };
|
|
10
|
+
//# sourceMappingURL=defaultTextDecoder-BkW5T2EO.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultTextDecoder-BkW5T2EO.d.mts","names":[],"sources":["../../src/decoder/textDecoders/defaultTextDecoder.ts"],"mappings":";;cAEM,mBACJ,gBAAgB,aAAa,uBAClB,uBAAuB;YACxB,aAAa;EAEvB;EAIA,OAAO,QAAQ,SAAS,eAAe"}
|
package/dist/{cjs/defaultTextEncoder-DzdGBX6s.d.cts → esm/defaultTextEncoder-9dqnRXnL.d.mts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as MessagePackTextEncoder } from "./messagePackTextEncoder-
|
|
1
|
+
import { t as MessagePackTextEncoder } from "./messagePackTextEncoder-MeyNUt3L.mjs";
|
|
2
2
|
//#region src/encoder/textEncoders/defaultTextEncoder.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* DefaultTextEncoder provides functionality to encode strings into UTF-8 bytes,
|
|
@@ -11,4 +11,4 @@ declare class DefaultTextEncoder<TBuffer extends Uint8Array = Uint8Array> implem
|
|
|
11
11
|
}
|
|
12
12
|
//#endregion
|
|
13
13
|
export { DefaultTextEncoder as t };
|
|
14
|
-
//# sourceMappingURL=defaultTextEncoder-
|
|
14
|
+
//# sourceMappingURL=defaultTextEncoder-9dqnRXnL.d.mts.map
|
package/dist/esm/{defaultTextEncoder-BkIjtDkg.d.mts.map → defaultTextEncoder-9dqnRXnL.d.mts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTextEncoder-
|
|
1
|
+
{"version":3,"file":"defaultTextEncoder-9dqnRXnL.d.mts","names":[],"sources":["../../src/encoder/textEncoders/defaultTextEncoder.ts"],"mappings":";;;;;;cAMM,mBACJ,gBAAgB,aAAa,uBAClB,uBAAuB;;EAElC,mBAAiB;EAEV,WAAW,eAAe,QAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-4SxHVw0M.d.mts","names":[],"sources":["../../src/encoder/encode.ts"],"mappings":";iBAIwB,OAAO,iBAAiB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Encoder from "./encoder.mjs";
|
|
2
|
+
//#region src/encoder/encode.ts
|
|
3
|
+
const sharedEncoder = new Encoder();
|
|
4
|
+
function encode(value) {
|
|
5
|
+
sharedEncoder.write(value);
|
|
6
|
+
return sharedEncoder.flush();
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { encode as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=encode.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.mjs","names":[],"sources":["../../../src/encoder/encode.ts"],"sourcesContent":["import Encoder from './encoder.ts';\n\nconst sharedEncoder = new Encoder();\n\nexport default function encode(value: unknown): Uint8Array {\n sharedEncoder.write(value);\n\n return sharedEncoder.flush();\n}\n"],"mappings":";;AAEA,MAAM,gBAAgB,IAAI,QAAQ;AAElC,SAAwB,OAAO,OAA4B;CACzD,cAAc,MAAM,KAAK;CAEzB,OAAO,cAAc,MAAM;AAC7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Encoder } from "../encoder-
|
|
1
|
+
import { t as Encoder } from "../encoder-C5Oo57-h.mjs";
|
|
2
2
|
export { Encoder as default };
|