@schema-pack/message-pack 0.0.0-commit.03ddd0427843dd0e1b45dcd0325ecf52097255a4
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 +37 -0
- package/dist/cjs/benchmark/decoderDataTypesFactory.cjs +37 -0
- package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts +5 -0
- package/dist/cjs/benchmark/decoderDataTypesFactory.d.cts.map +1 -0
- package/dist/cjs/bigInt-BdjzezQQ.d.cts +35 -0
- package/dist/cjs/bigInt-BdjzezQQ.d.cts.map +1 -0
- package/dist/cjs/bufferWithExtensions-n6DtcUoA.d.cts +12 -0
- package/dist/cjs/bufferWithExtensions-n6DtcUoA.d.cts.map +1 -0
- package/dist/cjs/bufferWithExtensions.cjs +28 -0
- package/dist/cjs/bufferWithExtensions.d.cts +2 -0
- package/dist/cjs/constants.cjs +36 -0
- package/dist/cjs/constants.d.cts +32 -0
- package/dist/cjs/constants.d.cts.map +1 -0
- 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 +30 -0
- package/dist/cjs/decoder/decoder.d.cts +2 -0
- package/dist/cjs/decoder/decoderBuffer.cjs +238 -0
- package/dist/cjs/decoder/decoderBuffer.d.cts +2 -0
- package/dist/cjs/decoder/index.cjs +11 -0
- package/dist/cjs/decoder/index.d.cts +8 -0
- package/dist/cjs/decoder/interfaces/index.cjs +0 -0
- package/dist/cjs/decoder/interfaces/index.d.cts +4 -0
- package/dist/cjs/decoder/interfaces/messagePackDecoderBuffer.cjs +0 -0
- package/dist/cjs/decoder/interfaces/messagePackDecoderBuffer.d.cts +2 -0
- package/dist/cjs/decoder/interfaces/messagePackTextDecoder.cjs +0 -0
- package/dist/cjs/decoder/interfaces/messagePackTextDecoder.d.cts +2 -0
- package/dist/cjs/decoder/textDecoders/defaultTextDecoder.cjs +12 -0
- package/dist/cjs/decoder/textDecoders/defaultTextDecoder.d.cts +2 -0
- 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.cjs +0 -0
- package/dist/cjs/decoder/types.d.cts +2 -0
- package/dist/cjs/decoder-3WpVBZjY.d.cts +15 -0
- package/dist/cjs/decoder-3WpVBZjY.d.cts.map +1 -0
- package/dist/cjs/decoderBuffer-CJU2hdt2.d.cts +22 -0
- package/dist/cjs/decoderBuffer-CJU2hdt2.d.cts.map +1 -0
- package/dist/cjs/defaultNewBufferFn.cjs +6 -0
- package/dist/cjs/defaultNewBufferFn.d.cts +4 -0
- package/dist/cjs/defaultNewBufferFn.d.cts.map +1 -0
- package/dist/cjs/defaultTextDecoder-DY92jDSO.d.cts +10 -0
- package/dist/cjs/defaultTextDecoder-DY92jDSO.d.cts.map +1 -0
- package/dist/cjs/defaultTextEncoder-DzdGBX6s.d.cts +14 -0
- package/dist/cjs/defaultTextEncoder-DzdGBX6s.d.cts.map +1 -0
- 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 +41 -0
- package/dist/cjs/encoder/encoder.d.cts +2 -0
- package/dist/cjs/encoder/encoderBuffer.cjs +608 -0
- package/dist/cjs/encoder/encoderBuffer.d.cts +2 -0
- package/dist/cjs/encoder/index.cjs +11 -0
- package/dist/cjs/encoder/index.d.cts +8 -0
- package/dist/cjs/encoder/interfaces/index.cjs +0 -0
- package/dist/cjs/encoder/interfaces/index.d.cts +4 -0
- package/dist/cjs/encoder/interfaces/messagePackEncoderBuffer.cjs +0 -0
- package/dist/cjs/encoder/interfaces/messagePackEncoderBuffer.d.cts +2 -0
- package/dist/cjs/encoder/interfaces/messagePackTextEncoder.cjs +0 -0
- package/dist/cjs/encoder/interfaces/messagePackTextEncoder.d.cts +2 -0
- package/dist/cjs/encoder/textEncoders/defaultTextEncoder.cjs +14 -0
- package/dist/cjs/encoder/textEncoders/defaultTextEncoder.d.cts +2 -0
- package/dist/cjs/encoder/textEncoders/index.cjs +5 -0
- package/dist/cjs/encoder/textEncoders/index.d.cts +4 -0
- package/dist/cjs/encoder/textEncoders/nodeTextEncoder.cjs +8 -0
- package/dist/cjs/encoder/textEncoders/nodeTextEncoder.d.cts +2 -0
- package/dist/cjs/encoder/types.cjs +0 -0
- package/dist/cjs/encoder/types.d.cts +2 -0
- package/dist/cjs/encoder-B-rTvI4P.d.cts +23 -0
- package/dist/cjs/encoder-B-rTvI4P.d.cts.map +1 -0
- package/dist/cjs/encoderBuffer-3ur0iCYR.d.cts +111 -0
- package/dist/cjs/encoderBuffer-3ur0iCYR.d.cts.map +1 -0
- package/dist/cjs/extensions/bigint/bigInt.cjs +54 -0
- package/dist/cjs/extensions/bigint/bigInt.d.cts +2 -0
- package/dist/cjs/extensions/bigint/index.cjs +2 -0
- package/dist/cjs/extensions/bigint/index.d.cts +3 -0
- package/dist/cjs/extensions/index.cjs +3 -0
- package/dist/cjs/extensions/index.d.cts +4 -0
- package/dist/cjs/extensions/interfaces/index.cjs +0 -0
- package/dist/cjs/extensions/interfaces/index.d.cts +3 -0
- package/dist/cjs/extensions/interfaces/messagePackExtension.cjs +0 -0
- package/dist/cjs/extensions/interfaces/messagePackExtension.d.cts +2 -0
- package/dist/cjs/extensions/timestampDate/index.cjs +3 -0
- package/dist/cjs/extensions/timestampDate/index.d.cts +4 -0
- package/dist/cjs/extensions/timestampDate/timestampDate.cjs +79 -0
- package/dist/cjs/extensions/timestampDate/timestampDate.d.cts +2 -0
- package/dist/cjs/extensions/timestampDate/types.cjs +0 -0
- package/dist/cjs/extensions/timestampDate/types.d.cts +2 -0
- package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts +5 -0
- package/dist/cjs/fitIn16Bits-D9lga-sP.d.cts.map +1 -0
- package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts +5 -0
- package/dist/cjs/fitIn32Bits-BrGIMOff.d.cts.map +1 -0
- package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts +5 -0
- package/dist/cjs/fitIn7Bits-BVHyKXCg.d.cts.map +1 -0
- package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts +5 -0
- package/dist/cjs/fitIn8Bits-DQnQIhdh.d.cts.map +1 -0
- package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts +5 -0
- package/dist/cjs/fitInt64Bits-CY7lVKne.d.cts.map +1 -0
- package/dist/cjs/index-5OuLsWCC.d.cts +1 -0
- package/dist/cjs/index-B5vbV8Ak.d.cts +1 -0
- package/dist/cjs/index-CQnkyOId.d.cts +1 -0
- package/dist/cjs/index-CUX405iZ.d.cts +1 -0
- package/dist/cjs/index-CaxrMD1A.d.cts +1 -0
- package/dist/cjs/index-DMnXy2Rv.d.cts +1 -0
- package/dist/cjs/index-DeSJDZGk.d.cts +1 -0
- package/dist/cjs/index.cjs +51 -0
- package/dist/cjs/index.d.cts +27 -0
- package/dist/cjs/interfaces/index.cjs +0 -0
- package/dist/cjs/interfaces/index.d.cts +2 -0
- package/dist/cjs/interfaces/messagePackBufferWithExtensions.cjs +0 -0
- package/dist/cjs/interfaces/messagePackBufferWithExtensions.d.cts +2 -0
- package/dist/cjs/messagePackDecoderBuffer-B2rRVlMX.d.cts +12 -0
- package/dist/cjs/messagePackDecoderBuffer-B2rRVlMX.d.cts.map +1 -0
- package/dist/cjs/messagePackExtension-Cd99Rw9t.d.cts +972 -0
- package/dist/cjs/messagePackExtension-Cd99Rw9t.d.cts.map +1 -0
- package/dist/cjs/messagePackTextDecoder-J3fr-wQn.d.cts +7 -0
- package/dist/cjs/messagePackTextDecoder-J3fr-wQn.d.cts.map +1 -0
- package/dist/cjs/messagePackTextEncoder-D7iCft_t.d.cts +16 -0
- package/dist/cjs/messagePackTextEncoder-D7iCft_t.d.cts.map +1 -0
- package/dist/cjs/nodeTextDecoder-DrNFdTVk.d.cts +9 -0
- package/dist/cjs/nodeTextDecoder-DrNFdTVk.d.cts.map +1 -0
- package/dist/cjs/nodeTextEncoder-DJzFDBXd.d.cts +8 -0
- package/dist/cjs/nodeTextEncoder-DJzFDBXd.d.cts.map +1 -0
- package/dist/cjs/symbols.cjs +47 -0
- package/dist/cjs/symbols.d.cts +47 -0
- package/dist/cjs/symbols.d.cts.map +1 -0
- package/dist/cjs/timestampDate-Bi1rnvVd.d.cts +33 -0
- package/dist/cjs/timestampDate-Bi1rnvVd.d.cts.map +1 -0
- package/dist/cjs/types-B9KMW-kD.d.cts +8 -0
- package/dist/cjs/types-B9KMW-kD.d.cts.map +1 -0
- package/dist/cjs/types-CC2wkzZa.d.cts +9 -0
- package/dist/cjs/types-CC2wkzZa.d.cts.map +1 -0
- package/dist/cjs/types-DTcs4Mkd.d.cts +20 -0
- package/dist/cjs/types-DTcs4Mkd.d.cts.map +1 -0
- package/dist/cjs/types.cjs +0 -0
- package/dist/cjs/types.d.cts +2 -0
- package/dist/cjs/untypedExtension-wx6-_4mg.d.cts +16 -0
- package/dist/cjs/untypedExtension-wx6-_4mg.d.cts.map +1 -0
- package/dist/cjs/untypedExtension.cjs +13 -0
- package/dist/cjs/untypedExtension.d.cts +2 -0
- package/dist/cjs/utils/fitIn16Bits.cjs +6 -0
- package/dist/cjs/utils/fitIn16Bits.d.cts +2 -0
- package/dist/cjs/utils/fitIn32Bits.cjs +6 -0
- package/dist/cjs/utils/fitIn32Bits.d.cts +2 -0
- package/dist/cjs/utils/fitIn7Bits.cjs +6 -0
- package/dist/cjs/utils/fitIn7Bits.d.cts +2 -0
- package/dist/cjs/utils/fitIn8Bits.cjs +6 -0
- package/dist/cjs/utils/fitIn8Bits.d.cts +2 -0
- package/dist/cjs/utils/fitInt64Bits.cjs +6 -0
- package/dist/cjs/utils/fitInt64Bits.d.cts +2 -0
- package/dist/cjs/utils/index.cjs +11 -0
- package/dist/cjs/utils/index.d.cts +6 -0
- package/dist/esm/benchmark/decoderDataTypesFactory.d.mts +6 -0
- package/dist/esm/benchmark/decoderDataTypesFactory.d.mts.map +1 -0
- package/dist/esm/benchmark/decoderDataTypesFactory.mjs +39 -0
- package/dist/esm/benchmark/decoderDataTypesFactory.mjs.map +1 -0
- package/dist/esm/bigInt-D37SPzzB.d.mts +35 -0
- package/dist/esm/bigInt-D37SPzzB.d.mts.map +1 -0
- package/dist/esm/bufferWithExtensions-DzAs7yX1.d.mts +12 -0
- package/dist/esm/bufferWithExtensions-DzAs7yX1.d.mts.map +1 -0
- package/dist/esm/bufferWithExtensions.d.mts +2 -0
- package/dist/esm/bufferWithExtensions.mjs +30 -0
- package/dist/esm/bufferWithExtensions.mjs.map +1 -0
- package/dist/esm/constants.d.mts +32 -0
- package/dist/esm/constants.d.mts.map +1 -0
- package/dist/esm/constants.mjs +33 -0
- package/dist/esm/constants.mjs.map +1 -0
- 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 +2 -0
- package/dist/esm/decoder/decoder.mjs +32 -0
- package/dist/esm/decoder/decoder.mjs.map +1 -0
- package/dist/esm/decoder/decoderBuffer.d.mts +2 -0
- package/dist/esm/decoder/decoderBuffer.mjs +240 -0
- package/dist/esm/decoder/decoderBuffer.mjs.map +1 -0
- package/dist/esm/decoder/index.d.mts +8 -0
- package/dist/esm/decoder/index.mjs +6 -0
- package/dist/esm/decoder/interfaces/index.d.mts +4 -0
- package/dist/esm/decoder/interfaces/index.mjs +1 -0
- package/dist/esm/decoder/interfaces/messagePackDecoderBuffer.d.mts +2 -0
- package/dist/esm/decoder/interfaces/messagePackDecoderBuffer.mjs +1 -0
- package/dist/esm/decoder/interfaces/messagePackTextDecoder.d.mts +2 -0
- package/dist/esm/decoder/interfaces/messagePackTextDecoder.mjs +1 -0
- package/dist/esm/decoder/textDecoders/defaultTextDecoder.d.mts +2 -0
- package/dist/esm/decoder/textDecoders/defaultTextDecoder.mjs +14 -0
- package/dist/esm/decoder/textDecoders/defaultTextDecoder.mjs.map +1 -0
- 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 -0
- package/dist/esm/decoder/types.mjs +1 -0
- package/dist/esm/decoder-ByAWOgvm.d.mts +15 -0
- package/dist/esm/decoder-ByAWOgvm.d.mts.map +1 -0
- package/dist/esm/decoderBuffer-93dMcsbx.d.mts +22 -0
- package/dist/esm/decoderBuffer-93dMcsbx.d.mts.map +1 -0
- package/dist/esm/defaultNewBufferFn.d.mts +5 -0
- package/dist/esm/defaultNewBufferFn.d.mts.map +1 -0
- package/dist/esm/defaultNewBufferFn.mjs +8 -0
- package/dist/esm/defaultNewBufferFn.mjs.map +1 -0
- package/dist/esm/defaultTextDecoder-DztyzoBV.d.mts +10 -0
- package/dist/esm/defaultTextDecoder-DztyzoBV.d.mts.map +1 -0
- package/dist/esm/defaultTextEncoder-BkIjtDkg.d.mts +14 -0
- package/dist/esm/defaultTextEncoder-BkIjtDkg.d.mts.map +1 -0
- 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 +2 -0
- package/dist/esm/encoder/encoder.mjs +43 -0
- package/dist/esm/encoder/encoder.mjs.map +1 -0
- package/dist/esm/encoder/encoderBuffer.d.mts +2 -0
- package/dist/esm/encoder/encoderBuffer.mjs +610 -0
- package/dist/esm/encoder/encoderBuffer.mjs.map +1 -0
- package/dist/esm/encoder/index.d.mts +8 -0
- package/dist/esm/encoder/index.mjs +6 -0
- package/dist/esm/encoder/interfaces/index.d.mts +4 -0
- package/dist/esm/encoder/interfaces/index.mjs +1 -0
- package/dist/esm/encoder/interfaces/messagePackEncoderBuffer.d.mts +2 -0
- package/dist/esm/encoder/interfaces/messagePackEncoderBuffer.mjs +1 -0
- package/dist/esm/encoder/interfaces/messagePackTextEncoder.d.mts +2 -0
- package/dist/esm/encoder/interfaces/messagePackTextEncoder.mjs +1 -0
- package/dist/esm/encoder/textEncoders/defaultTextEncoder.d.mts +2 -0
- package/dist/esm/encoder/textEncoders/defaultTextEncoder.mjs +16 -0
- package/dist/esm/encoder/textEncoders/defaultTextEncoder.mjs.map +1 -0
- package/dist/esm/encoder/textEncoders/index.d.mts +4 -0
- package/dist/esm/encoder/textEncoders/index.mjs +3 -0
- package/dist/esm/encoder/textEncoders/nodeTextEncoder.d.mts +2 -0
- package/dist/esm/encoder/textEncoders/nodeTextEncoder.mjs +10 -0
- package/dist/esm/encoder/textEncoders/nodeTextEncoder.mjs.map +1 -0
- package/dist/esm/encoder/types.d.mts +2 -0
- package/dist/esm/encoder/types.mjs +1 -0
- package/dist/esm/encoder-PfSLnKnK.d.mts +23 -0
- package/dist/esm/encoder-PfSLnKnK.d.mts.map +1 -0
- package/dist/esm/encoderBuffer-BZMIF5I2.d.mts +111 -0
- package/dist/esm/encoderBuffer-BZMIF5I2.d.mts.map +1 -0
- package/dist/esm/extensions/bigint/bigInt.d.mts +2 -0
- package/dist/esm/extensions/bigint/bigInt.mjs +56 -0
- package/dist/esm/extensions/bigint/bigInt.mjs.map +1 -0
- package/dist/esm/extensions/bigint/index.d.mts +3 -0
- package/dist/esm/extensions/bigint/index.mjs +2 -0
- package/dist/esm/extensions/index.d.mts +4 -0
- package/dist/esm/extensions/index.mjs +2 -0
- package/dist/esm/extensions/interfaces/index.d.mts +3 -0
- package/dist/esm/extensions/interfaces/index.mjs +1 -0
- package/dist/esm/extensions/interfaces/messagePackExtension.d.mts +2 -0
- package/dist/esm/extensions/interfaces/messagePackExtension.mjs +1 -0
- package/dist/esm/extensions/timestampDate/index.d.mts +4 -0
- package/dist/esm/extensions/timestampDate/index.mjs +2 -0
- package/dist/esm/extensions/timestampDate/timestampDate.d.mts +2 -0
- package/dist/esm/extensions/timestampDate/timestampDate.mjs +81 -0
- package/dist/esm/extensions/timestampDate/timestampDate.mjs.map +1 -0
- package/dist/esm/extensions/timestampDate/types.d.mts +2 -0
- package/dist/esm/extensions/timestampDate/types.mjs +1 -0
- package/dist/esm/fitIn16Bits-D9lga-sP.d.mts +5 -0
- package/dist/esm/fitIn16Bits-D9lga-sP.d.mts.map +1 -0
- package/dist/esm/fitIn32Bits-BrGIMOff.d.mts +5 -0
- package/dist/esm/fitIn32Bits-BrGIMOff.d.mts.map +1 -0
- package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts +5 -0
- package/dist/esm/fitIn7Bits-BVHyKXCg.d.mts.map +1 -0
- package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts +5 -0
- package/dist/esm/fitIn8Bits-DQnQIhdh.d.mts.map +1 -0
- package/dist/esm/fitInt64Bits-CY7lVKne.d.mts +5 -0
- package/dist/esm/fitInt64Bits-CY7lVKne.d.mts.map +1 -0
- package/dist/esm/index-5OuLsWCC.d.mts +1 -0
- package/dist/esm/index-B5vbV8Ak.d.mts +1 -0
- package/dist/esm/index-CQnkyOId.d.mts +1 -0
- package/dist/esm/index-CUX405iZ.d.mts +1 -0
- package/dist/esm/index-CaxrMD1A.d.mts +1 -0
- package/dist/esm/index-DMnXy2Rv.d.mts +1 -0
- package/dist/esm/index-DeSJDZGk.d.mts +1 -0
- package/dist/esm/index.d.mts +27 -0
- package/dist/esm/index.mjs +26 -0
- package/dist/esm/interfaces/index.d.mts +2 -0
- package/dist/esm/interfaces/index.mjs +1 -0
- package/dist/esm/interfaces/messagePackBufferWithExtensions.d.mts +2 -0
- package/dist/esm/interfaces/messagePackBufferWithExtensions.mjs +1 -0
- package/dist/esm/messagePackDecoderBuffer-Cqvg0zW7.d.mts +12 -0
- package/dist/esm/messagePackDecoderBuffer-Cqvg0zW7.d.mts.map +1 -0
- package/dist/esm/messagePackExtension-fq36EMAg.d.mts +972 -0
- package/dist/esm/messagePackExtension-fq36EMAg.d.mts.map +1 -0
- package/dist/esm/messagePackTextDecoder-J3fr-wQn.d.mts +7 -0
- package/dist/esm/messagePackTextDecoder-J3fr-wQn.d.mts.map +1 -0
- package/dist/esm/messagePackTextEncoder-D7iCft_t.d.mts +16 -0
- package/dist/esm/messagePackTextEncoder-D7iCft_t.d.mts.map +1 -0
- package/dist/esm/nodeTextDecoder-Dhre7WkB.d.mts +9 -0
- package/dist/esm/nodeTextDecoder-Dhre7WkB.d.mts.map +1 -0
- package/dist/esm/nodeTextEncoder-CegSnA6z.d.mts +8 -0
- package/dist/esm/nodeTextEncoder-CegSnA6z.d.mts.map +1 -0
- package/dist/esm/symbols.d.mts +48 -0
- package/dist/esm/symbols.d.mts.map +1 -0
- package/dist/esm/symbols.mjs +49 -0
- package/dist/esm/symbols.mjs.map +1 -0
- package/dist/esm/timestampDate-C3Ch8aSB.d.mts +33 -0
- package/dist/esm/timestampDate-C3Ch8aSB.d.mts.map +1 -0
- package/dist/esm/types-B9KMW-kD.d.mts +8 -0
- package/dist/esm/types-B9KMW-kD.d.mts.map +1 -0
- package/dist/esm/types-CNR_qJsr.d.mts +9 -0
- package/dist/esm/types-CNR_qJsr.d.mts.map +1 -0
- package/dist/esm/types-DTcs4Mkd.d.mts +20 -0
- package/dist/esm/types-DTcs4Mkd.d.mts.map +1 -0
- package/dist/esm/types.d.mts +2 -0
- package/dist/esm/types.mjs +1 -0
- package/dist/esm/untypedExtension-Ckk9RwQw.d.mts +16 -0
- package/dist/esm/untypedExtension-Ckk9RwQw.d.mts.map +1 -0
- package/dist/esm/untypedExtension.d.mts +2 -0
- package/dist/esm/untypedExtension.mjs +15 -0
- package/dist/esm/untypedExtension.mjs.map +1 -0
- package/dist/esm/utils/fitIn16Bits.d.mts +2 -0
- package/dist/esm/utils/fitIn16Bits.mjs +8 -0
- package/dist/esm/utils/fitIn16Bits.mjs.map +1 -0
- package/dist/esm/utils/fitIn32Bits.d.mts +2 -0
- package/dist/esm/utils/fitIn32Bits.mjs +8 -0
- package/dist/esm/utils/fitIn32Bits.mjs.map +1 -0
- package/dist/esm/utils/fitIn7Bits.d.mts +2 -0
- package/dist/esm/utils/fitIn7Bits.mjs +8 -0
- package/dist/esm/utils/fitIn7Bits.mjs.map +1 -0
- package/dist/esm/utils/fitIn8Bits.d.mts +2 -0
- package/dist/esm/utils/fitIn8Bits.mjs +8 -0
- package/dist/esm/utils/fitIn8Bits.mjs.map +1 -0
- package/dist/esm/utils/fitInt64Bits.d.mts +2 -0
- package/dist/esm/utils/fitInt64Bits.mjs +8 -0
- package/dist/esm/utils/fitInt64Bits.mjs.map +1 -0
- package/dist/esm/utils/index.d.mts +6 -0
- package/dist/esm/utils/index.mjs +6 -0
- package/package.json +224 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026-present Pawnary, Inc. and Elvis Muñoz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- prettier-ignore-start -->
|
|
2
|
+
> [!WARNING]
|
|
3
|
+
> This is a Work In Progress, and the API is not stable yet. Breaking changes
|
|
4
|
+
> may be introduced at any time.
|
|
5
|
+
<!-- prettier-ignore-end -->
|
|
6
|
+
|
|
7
|
+
# @schema-pack/message-pack
|
|
8
|
+
|
|
9
|
+
Incremental
|
|
10
|
+
[MessagePack](https://github.com/msgpack/msgpack/blob/master/spec.md)
|
|
11
|
+
encoder/decoder for TypeScript and JavaScript. It targets full compliance with
|
|
12
|
+
the MessagePack spec and exposes a pluggable extension system for encoding
|
|
13
|
+
custom types.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add @schema-pack/message-pack@next
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Quick start
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { encode, decode } from '@schema-pack/message-pack';
|
|
25
|
+
|
|
26
|
+
const buffer = encode({ hello: 'world', values: [1, 2, 3] });
|
|
27
|
+
|
|
28
|
+
const value = decode(buffer);
|
|
29
|
+
// { hello: 'world', values: [1, 2, 3] }
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
For more information, visit the
|
|
33
|
+
[documentation](https://pawnary.github.io/schema-pack/docs/message-pack).
|
|
34
|
+
|
|
35
|
+
## License
|
|
36
|
+
|
|
37
|
+
MIT
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const require_encoder_encoder = require("../encoder/encoder.cjs");
|
|
2
|
+
let _schema_pack_benchmark = require("@schema-pack/benchmark");
|
|
3
|
+
//#region src/benchmark/decoderDataTypesFactory.ts
|
|
4
|
+
const encoder = new require_encoder_encoder();
|
|
5
|
+
const decoderDataTypesFactory = {
|
|
6
|
+
array16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.array16()),
|
|
7
|
+
array32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.array32()),
|
|
8
|
+
bin16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.bin16()),
|
|
9
|
+
bin32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.bin32()),
|
|
10
|
+
bin8: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.bin8()),
|
|
11
|
+
false: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.false()),
|
|
12
|
+
fixarray: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.fixarray()),
|
|
13
|
+
fixmap: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.fixmap()),
|
|
14
|
+
fixstr: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.fixstr()),
|
|
15
|
+
float32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.float32()),
|
|
16
|
+
float64: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.float64()),
|
|
17
|
+
int16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.int16()),
|
|
18
|
+
int32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.int32()),
|
|
19
|
+
int64: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.int64()),
|
|
20
|
+
int8: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.int8()),
|
|
21
|
+
map16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.map16()),
|
|
22
|
+
map32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.map32()),
|
|
23
|
+
negativeFixint: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.negativeFixint()),
|
|
24
|
+
nil: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.nil()),
|
|
25
|
+
positiveFixint: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.positiveFixint()),
|
|
26
|
+
str16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.str16()),
|
|
27
|
+
str32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.str32()),
|
|
28
|
+
str8: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.str8()),
|
|
29
|
+
true: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.true()),
|
|
30
|
+
uint16: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.uint16()),
|
|
31
|
+
uint32: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.uint32()),
|
|
32
|
+
uint64: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.uint64()),
|
|
33
|
+
uint8: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.uint8()),
|
|
34
|
+
undefined: () => encoder.encode(_schema_pack_benchmark.dataTypesFactory.undefined())
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
module.exports = decoderDataTypesFactory;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { dataTypesFactory } from "@schema-pack/benchmark";
|
|
2
|
+
//#region src/benchmark/decoderDataTypesFactory.d.ts
|
|
3
|
+
declare const decoderDataTypesFactory: Record<keyof typeof dataTypesFactory, () => Uint8Array>;
|
|
4
|
+
export = decoderDataTypesFactory;
|
|
5
|
+
//# sourceMappingURL=decoderDataTypesFactory.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoderDataTypesFactory.d.cts","names":[],"sources":["../../../src/benchmark/decoderDataTypesFactory.ts"],"mappings":";;cAMM,yBAAyB,oBAChB,wBACP"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { t as MessagePackDecoderBuffer } from "./messagePackDecoderBuffer-B2rRVlMX.cjs";
|
|
2
|
+
import { i as ExtensionEncoderBuffer } from "./messagePackExtension-Cd99Rw9t.cjs";
|
|
3
|
+
import { t as UntypedExtension } from "./untypedExtension-wx6-_4mg.cjs";
|
|
4
|
+
//#region src/extensions/bigint/bigInt.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* This class encodes and decodes JavaScript BigInt values that are outside the
|
|
7
|
+
* safe integer range. It encodes and decodes BigInt values using a custom
|
|
8
|
+
* extension type, allowing for the serialization of large integers that cannot
|
|
9
|
+
* be represented as standard JavaScript numbers. The encoding scheme uses a
|
|
10
|
+
* variable-length representation to efficiently store the magnitude of the
|
|
11
|
+
* BigInt value.
|
|
12
|
+
*/
|
|
13
|
+
declare class BigIntExtension<TBuffer extends Uint8Array = Uint8Array> extends UntypedExtension<bigint, TBuffer> {
|
|
14
|
+
/**
|
|
15
|
+
* Encodes a BigInt value into the provided buffer. If the value is within the
|
|
16
|
+
* safe integer range, it is encoded directly following the Message Pack
|
|
17
|
+
* specification. Otherwise, if the value is outside the safe integer range,
|
|
18
|
+
* it is encoded using a variable-length representation. Negative values are
|
|
19
|
+
* handled by encoding their magnitude and using a specific bit pattern to
|
|
20
|
+
* indicate negativity.
|
|
21
|
+
*
|
|
22
|
+
* @param value - The BigInt value to encode.
|
|
23
|
+
* @param buffer - The buffer to write the encoded data to.
|
|
24
|
+
*/
|
|
25
|
+
encode(value: object | bigint, buffer: ExtensionEncoderBuffer<TBuffer>): void;
|
|
26
|
+
/**
|
|
27
|
+
* Decodes a BigInt value from the provided DataView. It reads the encoded
|
|
28
|
+
* data, reconstructs the magnitude, and determines the sign based on the
|
|
29
|
+
* encoding scheme. The method returns the decoded BigInt value.
|
|
30
|
+
*/
|
|
31
|
+
decode(buffer: MessagePackDecoderBuffer, size: number): bigint;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { BigIntExtension as t };
|
|
35
|
+
//# sourceMappingURL=bigInt-BdjzezQQ.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bigInt-BdjzezQQ.d.cts","names":[],"sources":["../../src/extensions/bigint/bigInt.ts"],"mappings":";;;;;;;;;;;;cAcM,gBACJ,gBAAgB,aAAa,oBACrB,yBAAyB;;;;;;;;;;;;EAYjC,OACE,wBACA,QAAQ,uBAAuB;;;;;;EAyBjC,OAAO,QAAQ,0BAA0B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { o as MessagePackBufferWithExtensions, t as MessagePackExtension } from "./messagePackExtension-Cd99Rw9t.cjs";
|
|
2
|
+
//#region src/bufferWithExtensions.d.ts
|
|
3
|
+
declare abstract class BufferWithExtensions<TBuffer extends Uint8Array = Uint8Array> implements MessagePackBufferWithExtensions<TBuffer> {
|
|
4
|
+
protected extensions: Map<number, MessagePackExtension<unknown, TBuffer>>;
|
|
5
|
+
constructor();
|
|
6
|
+
addExtension(extension: MessagePackExtension<unknown, TBuffer>): this;
|
|
7
|
+
addInternalExtension(extension: MessagePackExtension<unknown, TBuffer>): this;
|
|
8
|
+
fetchExtension(type: number): MessagePackExtension<unknown, TBuffer>;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { BufferWithExtensions as t };
|
|
12
|
+
//# sourceMappingURL=bufferWithExtensions-n6DtcUoA.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferWithExtensions-n6DtcUoA.d.cts","names":[],"sources":["../../src/bufferWithExtensions.ts"],"mappings":";;uBAGe,qBACb,gBAAgB,aAAa,uBAClB,gCAAgC;YACjC,YAAY,YAAY,8BAA8B;EAEhE;EAIA,aAAa,WAAW,8BAA8B;EAsBtD,qBACE,WAAW,8BAA8B;EAuB3C,eAAe,eAAe,8BAA8B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/bufferWithExtensions.ts
|
|
2
|
+
var BufferWithExtensions = class {
|
|
3
|
+
extensions;
|
|
4
|
+
constructor() {
|
|
5
|
+
this.extensions = /* @__PURE__ */ new Map();
|
|
6
|
+
}
|
|
7
|
+
addExtension(extension) {
|
|
8
|
+
if (this.extensions.has(extension.type)) throw new Error(`Extension with type ${extension.type} already exists`);
|
|
9
|
+
if (extension.type < 0) throw new Error(`Extension type must be a non-negative integer, got ${extension.type}. Extensions between -128 and -1 are reserved for internal use. Use addInternalExtension() to register an internal extension.`);
|
|
10
|
+
if (extension.type > 127) throw new Error(`Extension type must be in the range 0 to 127, got ${extension.type}`);
|
|
11
|
+
this.extensions.set(extension.type, extension);
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
addInternalExtension(extension) {
|
|
15
|
+
if (this.extensions.has(extension.type)) throw new Error(`Extension with type ${extension.type} already exists`);
|
|
16
|
+
if (extension.type >= 0) throw new Error(`Internal extension type must be a negative integer, got ${extension.type}. Use addExtension() to register a custom extension.`);
|
|
17
|
+
if (extension.type < -128) throw new Error(`Internal extension type must be in the range -128 to -1, got ${extension.type}`);
|
|
18
|
+
this.extensions.set(extension.type, extension);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
fetchExtension(type) {
|
|
22
|
+
const extension = this.extensions.get(type);
|
|
23
|
+
if (!extension) throw new Error(`Extension with type ${type} not found`);
|
|
24
|
+
return extension;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
module.exports = BufferWithExtensions;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/constants.ts
|
|
3
|
+
/**
|
|
4
|
+
* JavaScript numbers are stored as IEEE 754 double precision floating point
|
|
5
|
+
* numbers, which means that they can only safely represent max uint64 as:
|
|
6
|
+
*
|
|
7
|
+
* 2^53 - 1 = 9007199254740991, or Number.MAX_SAFE_INTEGER.
|
|
8
|
+
*
|
|
9
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
|
|
10
|
+
*/
|
|
11
|
+
const UINT64_MAX = Number.MAX_SAFE_INTEGER;
|
|
12
|
+
/**
|
|
13
|
+
* JavaScript numbers are stored as IEEE 754 double precision floating point
|
|
14
|
+
* numbers, which means that they can only safely represent min int64 as:
|
|
15
|
+
*
|
|
16
|
+
* -(2^53 - 1) = -9007199254740991, or Number.MIN_SAFE_INTEGER.
|
|
17
|
+
*
|
|
18
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER
|
|
19
|
+
*/
|
|
20
|
+
const INT64_MIN = Number.MIN_SAFE_INTEGER;
|
|
21
|
+
/** 4294967295. */
|
|
22
|
+
const UINT32_MAX = -1 >>> 0;
|
|
23
|
+
/** -2147483648. */
|
|
24
|
+
const INT32_MIN = -2147483648;
|
|
25
|
+
/**
|
|
26
|
+
* Default allocation size for the encoder and decoder buffers. This is the
|
|
27
|
+
* initial size of the buffer when it is created, and it will grow as needed
|
|
28
|
+
* when more data is written to it.
|
|
29
|
+
*/
|
|
30
|
+
const DEFAULT_ALLOCATION_SIZE = 1024;
|
|
31
|
+
//#endregion
|
|
32
|
+
exports.DEFAULT_ALLOCATION_SIZE = DEFAULT_ALLOCATION_SIZE;
|
|
33
|
+
exports.INT32_MIN = INT32_MIN;
|
|
34
|
+
exports.INT64_MIN = INT64_MIN;
|
|
35
|
+
exports.UINT32_MAX = UINT32_MAX;
|
|
36
|
+
exports.UINT64_MAX = UINT64_MAX;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/constants.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* JavaScript numbers are stored as IEEE 754 double precision floating point
|
|
4
|
+
* numbers, which means that they can only safely represent max uint64 as:
|
|
5
|
+
*
|
|
6
|
+
* 2^53 - 1 = 9007199254740991, or Number.MAX_SAFE_INTEGER.
|
|
7
|
+
*
|
|
8
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
|
|
9
|
+
*/
|
|
10
|
+
declare const UINT64_MAX: number;
|
|
11
|
+
/**
|
|
12
|
+
* JavaScript numbers are stored as IEEE 754 double precision floating point
|
|
13
|
+
* numbers, which means that they can only safely represent min int64 as:
|
|
14
|
+
*
|
|
15
|
+
* -(2^53 - 1) = -9007199254740991, or Number.MIN_SAFE_INTEGER.
|
|
16
|
+
*
|
|
17
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER
|
|
18
|
+
*/
|
|
19
|
+
declare const INT64_MIN: number;
|
|
20
|
+
/** 4294967295. */
|
|
21
|
+
declare const UINT32_MAX: number;
|
|
22
|
+
/** -2147483648. */
|
|
23
|
+
declare const INT32_MIN = -2147483648;
|
|
24
|
+
/**
|
|
25
|
+
* Default allocation size for the encoder and decoder buffers. This is the
|
|
26
|
+
* initial size of the buffer when it is created, and it will grow as needed
|
|
27
|
+
* when more data is written to it.
|
|
28
|
+
*/
|
|
29
|
+
declare const DEFAULT_ALLOCATION_SIZE = 1024;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { DEFAULT_ALLOCATION_SIZE, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX };
|
|
32
|
+
//# sourceMappingURL=constants.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.cts","names":[],"sources":["../../src/constants.ts"],"mappings":";;;;;;;;;cAQa;;;;;;;;;cAUA;;cAGA;;cAGA;;;;;;cAOA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode-BraWmoPw.d.cts","names":[],"sources":["../../src/decoder/decode.ts"],"mappings":";iBAIwB,OAAO,kBAAkB,QAAQ,aAAa"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const require_decoder_decoderBuffer = require("./decoderBuffer.cjs");
|
|
2
|
+
//#region src/decoder/decoder.ts
|
|
3
|
+
var Decoder = class {
|
|
4
|
+
decoderBuffer;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.decoderBuffer = new require_decoder_decoderBuffer(options);
|
|
7
|
+
}
|
|
8
|
+
decode(encodedBuffer) {
|
|
9
|
+
const decoderBuffer = this.decoderBuffer;
|
|
10
|
+
decoderBuffer.setBuffer(encodedBuffer);
|
|
11
|
+
return decoderBuffer.nextValue();
|
|
12
|
+
}
|
|
13
|
+
addExtension(extension) {
|
|
14
|
+
this.decoderBuffer.addExtension(extension);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
addInternalExtension(extension) {
|
|
18
|
+
this.decoderBuffer.addInternalExtension(extension);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
addExtensionType(type, extension) {
|
|
22
|
+
this.decoderBuffer.addExtension({
|
|
23
|
+
type,
|
|
24
|
+
...extension
|
|
25
|
+
});
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
module.exports = Decoder;
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
const require_bufferWithExtensions = require("../bufferWithExtensions.cjs");
|
|
2
|
+
const require_defaultNewBufferFn = require("../defaultNewBufferFn.cjs");
|
|
3
|
+
const require_symbols = require("../symbols.cjs");
|
|
4
|
+
const require_decoder_textDecoders_defaultTextDecoder = require("./textDecoders/defaultTextDecoder.cjs");
|
|
5
|
+
//#region src/decoder/decoderBuffer.ts
|
|
6
|
+
var DecoderBuffer = class extends require_bufferWithExtensions {
|
|
7
|
+
buffer;
|
|
8
|
+
offset;
|
|
9
|
+
view;
|
|
10
|
+
textDecoder = new require_decoder_textDecoders_defaultTextDecoder();
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super();
|
|
13
|
+
const bufferFactory = options?.bufferFactory ?? require_defaultNewBufferFn;
|
|
14
|
+
this.buffer = bufferFactory(0);
|
|
15
|
+
this.view = new DataView(this.buffer.buffer);
|
|
16
|
+
this.offset = 0;
|
|
17
|
+
}
|
|
18
|
+
setBuffer(buffer) {
|
|
19
|
+
this.buffer = buffer;
|
|
20
|
+
this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
21
|
+
this.offset = 0;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
readArray(elementCount) {
|
|
25
|
+
const decodedArray = new Array(elementCount);
|
|
26
|
+
for (let index = 0; index < elementCount; index++) decodedArray[index] = this.nextValue();
|
|
27
|
+
return decodedArray;
|
|
28
|
+
}
|
|
29
|
+
readStr(byteLength) {
|
|
30
|
+
if (byteLength === 0) return "";
|
|
31
|
+
const { buffer } = this;
|
|
32
|
+
const stringStartOffset = this.offset;
|
|
33
|
+
const stringEndOffset = stringStartOffset + byteLength;
|
|
34
|
+
this.offset = stringEndOffset;
|
|
35
|
+
if (byteLength <= 64) {
|
|
36
|
+
let isAsciiOnly = true;
|
|
37
|
+
for (let byteIndex = stringStartOffset; byteIndex < stringEndOffset; byteIndex++) if (buffer[byteIndex] > 127) {
|
|
38
|
+
isAsciiOnly = false;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
if (isAsciiOnly) {
|
|
42
|
+
let decodedString = "";
|
|
43
|
+
for (let byteIndex = stringStartOffset; byteIndex < stringEndOffset; byteIndex++) decodedString += String.fromCharCode(buffer[byteIndex]);
|
|
44
|
+
return decodedString;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return this.textDecoder.decode(buffer, stringStartOffset, stringEndOffset);
|
|
48
|
+
}
|
|
49
|
+
readMapKey() {
|
|
50
|
+
return this.nextValue();
|
|
51
|
+
}
|
|
52
|
+
readMap(length) {
|
|
53
|
+
const decodedMap = {};
|
|
54
|
+
for (let index = 0; index < length; ++index) {
|
|
55
|
+
const mapKey = this.readMapKey();
|
|
56
|
+
if (mapKey === "__proto__") throw new Error("Invalid map key: \"__proto__\" are not allowed as keys to prevent prototype pollution.");
|
|
57
|
+
decodedMap[mapKey] = this.nextValue();
|
|
58
|
+
}
|
|
59
|
+
return decodedMap;
|
|
60
|
+
}
|
|
61
|
+
decodeControlSlow(headerByte) {
|
|
62
|
+
const { buffer } = this;
|
|
63
|
+
switch (headerByte) {
|
|
64
|
+
case 193: return;
|
|
65
|
+
case require_symbols.BIN8: {
|
|
66
|
+
const byteLength = buffer[this.offset++];
|
|
67
|
+
const dataStartOffset = this.offset;
|
|
68
|
+
this.offset = dataStartOffset + byteLength;
|
|
69
|
+
return buffer.subarray(dataStartOffset, this.offset);
|
|
70
|
+
}
|
|
71
|
+
case require_symbols.BIN16: {
|
|
72
|
+
const valueStartOffset = this.offset;
|
|
73
|
+
const byteLength = this.view.getUint16(valueStartOffset);
|
|
74
|
+
const dataStartOffset = valueStartOffset + 2;
|
|
75
|
+
this.offset = dataStartOffset + byteLength;
|
|
76
|
+
return buffer.subarray(dataStartOffset, this.offset);
|
|
77
|
+
}
|
|
78
|
+
case require_symbols.BIN32: {
|
|
79
|
+
const valueStartOffset = this.offset;
|
|
80
|
+
const byteLength = this.view.getUint32(valueStartOffset);
|
|
81
|
+
const dataStartOffset = valueStartOffset + 4;
|
|
82
|
+
this.offset = dataStartOffset + byteLength;
|
|
83
|
+
return buffer.subarray(dataStartOffset, this.offset);
|
|
84
|
+
}
|
|
85
|
+
case require_symbols.EXT8: {
|
|
86
|
+
const length = this.buffer[this.offset++];
|
|
87
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
88
|
+
return this.fetchExtension(extensionId).decode(this, length);
|
|
89
|
+
}
|
|
90
|
+
case require_symbols.EXT16: {
|
|
91
|
+
const length = this.view.getInt16(this.offset);
|
|
92
|
+
this.offset += 2;
|
|
93
|
+
const extensionId = this.buffer[this.offset++];
|
|
94
|
+
return this.fetchExtension(extensionId).decode(this, length);
|
|
95
|
+
}
|
|
96
|
+
case require_symbols.EXT32: {
|
|
97
|
+
const length = this.view.getInt32(this.offset);
|
|
98
|
+
this.offset += 4;
|
|
99
|
+
const extensionId = this.buffer[this.offset++];
|
|
100
|
+
return this.fetchExtension(extensionId).decode(this, length);
|
|
101
|
+
}
|
|
102
|
+
case require_symbols.FLOAT32: {
|
|
103
|
+
const decodedFloat32 = this.view.getFloat32(this.offset);
|
|
104
|
+
this.offset += 4;
|
|
105
|
+
return decodedFloat32;
|
|
106
|
+
}
|
|
107
|
+
case require_symbols.FLOAT64: {
|
|
108
|
+
const decodedFloat64 = this.view.getFloat64(this.offset);
|
|
109
|
+
this.offset += 8;
|
|
110
|
+
return decodedFloat64;
|
|
111
|
+
}
|
|
112
|
+
case require_symbols.UINT64: {
|
|
113
|
+
const high = this.view.getUint32(this.offset);
|
|
114
|
+
this.offset += 4;
|
|
115
|
+
const low = this.view.getUint32(this.offset);
|
|
116
|
+
this.offset += 4;
|
|
117
|
+
return high * 4294967296 + low;
|
|
118
|
+
}
|
|
119
|
+
case require_symbols.INT8: {
|
|
120
|
+
const decodedInt8 = this.view.getInt8(this.offset);
|
|
121
|
+
this.offset += 1;
|
|
122
|
+
return decodedInt8;
|
|
123
|
+
}
|
|
124
|
+
case require_symbols.INT16: {
|
|
125
|
+
const valueStartOffset = this.offset;
|
|
126
|
+
const decodedInt16 = this.view.getInt16(valueStartOffset);
|
|
127
|
+
this.offset = valueStartOffset + 2;
|
|
128
|
+
return decodedInt16;
|
|
129
|
+
}
|
|
130
|
+
case require_symbols.INT32: {
|
|
131
|
+
const valueStartOffset = this.offset;
|
|
132
|
+
const decodedInt32 = this.view.getInt32(valueStartOffset);
|
|
133
|
+
this.offset = valueStartOffset + 4;
|
|
134
|
+
return decodedInt32;
|
|
135
|
+
}
|
|
136
|
+
case require_symbols.INT64: {
|
|
137
|
+
const high = this.view.getInt32(this.offset);
|
|
138
|
+
this.offset += 4;
|
|
139
|
+
const low = this.view.getUint32(this.offset);
|
|
140
|
+
this.offset += 4;
|
|
141
|
+
return high * 4294967296 + low;
|
|
142
|
+
}
|
|
143
|
+
case require_symbols.FIXEXT1: {
|
|
144
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
145
|
+
return this.fetchExtension(extensionId).decode(this, 1);
|
|
146
|
+
}
|
|
147
|
+
case require_symbols.FIXEXT2: {
|
|
148
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
149
|
+
return this.fetchExtension(extensionId).decode(this, 2);
|
|
150
|
+
}
|
|
151
|
+
case require_symbols.FIXEXT4: {
|
|
152
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
153
|
+
return this.fetchExtension(extensionId).decode(this, 4);
|
|
154
|
+
}
|
|
155
|
+
case require_symbols.FIXEXT8: {
|
|
156
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
157
|
+
return this.fetchExtension(extensionId).decode(this, 8);
|
|
158
|
+
}
|
|
159
|
+
case require_symbols.FIXEXT16: {
|
|
160
|
+
const extensionId = this.view.getInt8(this.offset++);
|
|
161
|
+
return this.fetchExtension(extensionId).decode(this, 16);
|
|
162
|
+
}
|
|
163
|
+
case require_symbols.STR8: {
|
|
164
|
+
const byteLength = buffer[this.offset++];
|
|
165
|
+
return this.readStr(byteLength);
|
|
166
|
+
}
|
|
167
|
+
case require_symbols.STR16: {
|
|
168
|
+
const valueStartOffset = this.offset;
|
|
169
|
+
const byteLength = this.view.getUint16(valueStartOffset);
|
|
170
|
+
this.offset = valueStartOffset + 2;
|
|
171
|
+
return this.readStr(byteLength);
|
|
172
|
+
}
|
|
173
|
+
case require_symbols.STR32: {
|
|
174
|
+
const byteLength = this.view.getUint32(this.offset);
|
|
175
|
+
this.offset += 4;
|
|
176
|
+
return this.readStr(byteLength);
|
|
177
|
+
}
|
|
178
|
+
case require_symbols.ARRAY16: {
|
|
179
|
+
const valueStartOffset = this.offset;
|
|
180
|
+
const elementCount = this.view.getUint16(valueStartOffset);
|
|
181
|
+
this.offset = valueStartOffset + 2;
|
|
182
|
+
return this.readArray(elementCount);
|
|
183
|
+
}
|
|
184
|
+
case require_symbols.ARRAY32: {
|
|
185
|
+
const valueStartOffset = this.offset;
|
|
186
|
+
const elementCount = this.view.getUint32(valueStartOffset);
|
|
187
|
+
this.offset = valueStartOffset + 4;
|
|
188
|
+
return this.readArray(elementCount);
|
|
189
|
+
}
|
|
190
|
+
case require_symbols.MAP16: {
|
|
191
|
+
const valueStartOffset = this.offset;
|
|
192
|
+
const length = this.view.getUint16(valueStartOffset);
|
|
193
|
+
this.offset = valueStartOffset + 2;
|
|
194
|
+
return this.readMap(length);
|
|
195
|
+
}
|
|
196
|
+
case require_symbols.MAP32: {
|
|
197
|
+
const length = this.view.getUint32(this.offset);
|
|
198
|
+
this.offset += 4;
|
|
199
|
+
return this.readMap(length);
|
|
200
|
+
}
|
|
201
|
+
default: return;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
nextValue() {
|
|
205
|
+
const { buffer } = this;
|
|
206
|
+
const headerByte = buffer[this.offset++];
|
|
207
|
+
if ((headerByte & 224) === require_symbols.NIL) switch (headerByte) {
|
|
208
|
+
case require_symbols.NIL: return null;
|
|
209
|
+
case require_symbols.FALSE: return false;
|
|
210
|
+
case require_symbols.TRUE: return true;
|
|
211
|
+
case require_symbols.UINT8: return buffer[this.offset++];
|
|
212
|
+
case require_symbols.UINT16: {
|
|
213
|
+
const valueStartOffset = this.offset;
|
|
214
|
+
const decodedUint16 = buffer[valueStartOffset] << 8 | buffer[valueStartOffset + 1];
|
|
215
|
+
this.offset = valueStartOffset + 2;
|
|
216
|
+
return decodedUint16;
|
|
217
|
+
}
|
|
218
|
+
case require_symbols.UINT32: {
|
|
219
|
+
const decodedUint32 = this.view.getUint32(this.offset);
|
|
220
|
+
this.offset += 4;
|
|
221
|
+
return decodedUint32;
|
|
222
|
+
}
|
|
223
|
+
default: return this.decodeControlSlow(headerByte);
|
|
224
|
+
}
|
|
225
|
+
if (headerByte >= require_symbols.NEGATIVE_FIXINT_START) return headerByte - 256;
|
|
226
|
+
if (headerByte < require_symbols.FIXARRAY_START) {
|
|
227
|
+
if (headerByte < require_symbols.FIXMAP_START) return headerByte;
|
|
228
|
+
return this.readMap(headerByte & 15);
|
|
229
|
+
}
|
|
230
|
+
if (headerByte < require_symbols.FIXSTR_START) {
|
|
231
|
+
const elementCount = headerByte & 15;
|
|
232
|
+
return this.readArray(elementCount);
|
|
233
|
+
}
|
|
234
|
+
return this.readStr(headerByte & 31);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
//#endregion
|
|
238
|
+
module.exports = DecoderBuffer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_decoder_textDecoders_defaultTextDecoder = require("./textDecoders/defaultTextDecoder.cjs");
|
|
3
|
+
const require_decoder_textDecoders_nodeTextDecoder = require("./textDecoders/nodeTextDecoder.cjs");
|
|
4
|
+
const require_decoder_decoderBuffer = require("./decoderBuffer.cjs");
|
|
5
|
+
const require_decoder_decoder = require("./decoder.cjs");
|
|
6
|
+
const require_decoder_decode = require("./decode.cjs");
|
|
7
|
+
exports.Decoder = require_decoder_decoder;
|
|
8
|
+
exports.DecoderBuffer = require_decoder_decoderBuffer;
|
|
9
|
+
exports.DefaultTextDecoder = require_decoder_textDecoders_defaultTextDecoder;
|
|
10
|
+
exports.NodeTextDecoder = require_decoder_textDecoders_nodeTextDecoder;
|
|
11
|
+
exports.decode = require_decoder_decode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { t as MessagePackTextDecoder } from "../messagePackTextDecoder-J3fr-wQn.cjs";
|
|
2
|
+
import { t as MessagePackDecoderBuffer } from "../messagePackDecoderBuffer-B2rRVlMX.cjs";
|
|
3
|
+
import { t as decode } from "../decode-BraWmoPw.cjs";
|
|
4
|
+
import { t as DefaultTextDecoder } from "../defaultTextDecoder-DY92jDSO.cjs";
|
|
5
|
+
import { t as DecoderBuffer } from "../decoderBuffer-CJU2hdt2.cjs";
|
|
6
|
+
import { t as Decoder } from "../decoder-3WpVBZjY.cjs";
|
|
7
|
+
import { t as NodeTextDecoder } from "../nodeTextDecoder-DrNFdTVk.cjs";
|
|
8
|
+
export { Decoder, DecoderBuffer, DefaultTextDecoder, type MessagePackDecoderBuffer, type MessagePackTextDecoder, NodeTextDecoder, decode };
|
|
File without changes
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { t as MessagePackTextDecoder } from "../../messagePackTextDecoder-J3fr-wQn.cjs";
|
|
2
|
+
import { t as MessagePackDecoderBuffer } from "../../messagePackDecoderBuffer-B2rRVlMX.cjs";
|
|
3
|
+
import "../../index-CaxrMD1A.cjs";
|
|
4
|
+
export type { MessagePackDecoderBuffer, MessagePackTextDecoder };
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/decoder/textDecoders/defaultTextDecoder.ts
|
|
2
|
+
var DefaultTextDecoder = class {
|
|
3
|
+
textDecoder;
|
|
4
|
+
constructor() {
|
|
5
|
+
this.textDecoder = new TextDecoder();
|
|
6
|
+
}
|
|
7
|
+
decode(buffer, start, end) {
|
|
8
|
+
return this.textDecoder.decode(buffer.subarray(start, end));
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
module.exports = DefaultTextDecoder;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_decoder_textDecoders_defaultTextDecoder = require("./defaultTextDecoder.cjs");
|
|
3
|
+
const require_decoder_textDecoders_nodeTextDecoder = require("./nodeTextDecoder.cjs");
|
|
4
|
+
exports.DefaultTextDecoder = require_decoder_textDecoders_defaultTextDecoder;
|
|
5
|
+
exports.NodeTextDecoder = require_decoder_textDecoders_nodeTextDecoder;
|