@jsonjoy.com/json-pack 1.21.0 → 17.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/JsonPackExtension.d.ts +8 -0
- package/lib/JsonPackExtension.js +8 -0
- package/lib/JsonPackExtension.js.map +1 -1
- package/lib/JsonPackMpint.d.ts +25 -0
- package/lib/JsonPackMpint.js +31 -1
- package/lib/JsonPackMpint.js.map +1 -1
- package/lib/JsonPackValue.d.ts +10 -0
- package/lib/JsonPackValue.js +10 -0
- package/lib/JsonPackValue.js.map +1 -1
- package/lib/avro/AvroDecoder.d.ts +67 -0
- package/lib/avro/AvroDecoder.js +77 -5
- package/lib/avro/AvroDecoder.js.map +1 -1
- package/lib/avro/AvroEncoder.d.ts +71 -0
- package/lib/avro/AvroEncoder.js +90 -12
- package/lib/avro/AvroEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaDecoder.d.ts +53 -0
- package/lib/avro/AvroSchemaDecoder.js +60 -3
- package/lib/avro/AvroSchemaDecoder.js.map +1 -1
- package/lib/avro/AvroSchemaEncoder.d.ts +65 -0
- package/lib/avro/AvroSchemaEncoder.js +84 -5
- package/lib/avro/AvroSchemaEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaValidator.d.ts +10 -0
- package/lib/avro/AvroSchemaValidator.js +18 -1
- package/lib/avro/AvroSchemaValidator.js.map +1 -1
- package/lib/avro/types.d.ts +31 -0
- package/lib/avro/types.js +4 -0
- package/lib/avro/types.js.map +1 -1
- package/lib/bencode/BencodeDecoder.js +9 -9
- package/lib/bencode/BencodeDecoder.js.map +1 -1
- package/lib/bencode/BencodeEncoder.d.ts +5 -0
- package/lib/bencode/BencodeEncoder.js +25 -20
- package/lib/bencode/BencodeEncoder.js.map +1 -1
- package/lib/bson/BsonDecoder.js +48 -33
- package/lib/bson/BsonDecoder.js.map +1 -1
- package/lib/bson/BsonEncoder.js +11 -3
- package/lib/bson/BsonEncoder.js.map +1 -1
- package/lib/cbor/CborDecoder.d.ts +24 -0
- package/lib/cbor/CborDecoder.js +94 -56
- package/lib/cbor/CborDecoder.js.map +1 -1
- package/lib/cbor/CborDecoderBase.d.ts +1 -0
- package/lib/cbor/CborDecoderBase.js +63 -53
- package/lib/cbor/CborDecoderBase.js.map +1 -1
- package/lib/cbor/CborEncoder.d.ts +5 -0
- package/lib/cbor/CborEncoder.js +9 -3
- package/lib/cbor/CborEncoder.js.map +1 -1
- package/lib/cbor/CborEncoderFast.d.ts +7 -0
- package/lib/cbor/CborEncoderFast.js +22 -14
- package/lib/cbor/CborEncoderFast.js.map +1 -1
- package/lib/cbor/CborEncoderStable.d.ts +1 -0
- package/lib/cbor/CborEncoderStable.js +2 -1
- package/lib/cbor/CborEncoderStable.js.map +1 -1
- package/lib/cbor/shared.d.ts +1 -1
- package/lib/codecs/Codecs.d.ts +1 -1
- package/lib/codecs/cbor.js +1 -1
- package/lib/codecs/cbor.js.map +1 -1
- package/lib/codecs/json.js +1 -1
- package/lib/codecs/json.js.map +1 -1
- package/lib/codecs/msgpack.js +1 -1
- package/lib/codecs/msgpack.js.map +1 -1
- package/lib/ejson/EjsonDecoder.d.ts +5 -0
- package/lib/ejson/EjsonDecoder.js +72 -37
- package/lib/ejson/EjsonDecoder.js.map +1 -1
- package/lib/ejson/EjsonEncoder.d.ts +5 -0
- package/lib/ejson/EjsonEncoder.js +149 -114
- package/lib/ejson/EjsonEncoder.js.map +1 -1
- package/lib/ejson/index.js +1 -0
- package/lib/ejson/index.js.map +1 -1
- package/lib/ion/Import.d.ts +1 -1
- package/lib/ion/Import.js.map +1 -1
- package/lib/ion/IonDecoder.d.ts +0 -1
- package/lib/ion/IonDecoder.js +4 -3
- package/lib/ion/IonDecoder.js.map +1 -1
- package/lib/ion/IonDecoderBase.js +29 -18
- package/lib/ion/IonDecoderBase.js.map +1 -1
- package/lib/ion/IonEncoderFast.d.ts +1 -1
- package/lib/ion/IonEncoderFast.js +30 -30
- package/lib/ion/IonEncoderFast.js.map +1 -1
- package/lib/ion/ast.d.ts +4 -1
- package/lib/ion/symbols.d.ts +1 -1
- package/lib/json/JsonDecoder.js +72 -66
- package/lib/json/JsonDecoder.js.map +1 -1
- package/lib/json/JsonDecoderDag.js +14 -0
- package/lib/json/JsonDecoderDag.js.map +1 -1
- package/lib/json/JsonDecoderPartial.d.ts +22 -0
- package/lib/json/JsonDecoderPartial.js +30 -8
- package/lib/json/JsonDecoderPartial.js.map +1 -1
- package/lib/json/JsonEncoder.d.ts +5 -0
- package/lib/json/JsonEncoder.js +59 -51
- package/lib/json/JsonEncoder.js.map +1 -1
- package/lib/json/JsonEncoderDag.d.ts +17 -0
- package/lib/json/JsonEncoderDag.js +27 -10
- package/lib/json/JsonEncoderDag.js.map +1 -1
- package/lib/json/JsonEncoderStable.js +5 -5
- package/lib/json/JsonEncoderStable.js.map +1 -1
- package/lib/json-binary/codec.d.ts +8 -1
- package/lib/json-binary/codec.js +7 -0
- package/lib/json-binary/codec.js.map +1 -1
- package/lib/msgpack/MsgPackDecoder.d.ts +27 -0
- package/lib/msgpack/MsgPackDecoder.js +55 -23
- package/lib/msgpack/MsgPackDecoder.js.map +1 -1
- package/lib/msgpack/MsgPackDecoderFast.d.ts +8 -0
- package/lib/msgpack/MsgPackDecoderFast.js +14 -5
- package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoder.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoder.js +7 -4
- package/lib/msgpack/MsgPackEncoder.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderFast.d.ts +26 -4
- package/lib/msgpack/MsgPackEncoderFast.js +31 -0
- package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderStable.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js.map +1 -1
- package/lib/msgpack/MsgPackToJsonConverter.d.ts +30 -4
- package/lib/msgpack/MsgPackToJsonConverter.js +32 -5
- package/lib/msgpack/MsgPackToJsonConverter.js.map +1 -1
- package/lib/msgpack/index.d.ts +29 -0
- package/lib/msgpack/index.js +30 -0
- package/lib/msgpack/index.js.map +1 -1
- package/lib/msgpack/shallow-read.js +7 -7
- package/lib/msgpack/shallow-read.js.map +1 -1
- package/lib/msgpack/types.d.ts +1 -0
- package/lib/msgpack/util.d.ts +1 -1
- package/lib/nfs/v3/FullNfsv3Encoder.d.ts +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Decoder.js +51 -50
- package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Encoder.d.ts +2 -2
- package/lib/nfs/v3/Nfsv3Encoder.js +52 -52
- package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/constants.d.ts +34 -0
- package/lib/nfs/v3/constants.js +4 -0
- package/lib/nfs/v3/constants.js.map +1 -1
- package/lib/nfs/v3/locks/NlmDecoder.js +20 -20
- package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -1
- package/lib/nfs/v3/locks/NlmEncoder.d.ts +2 -2
- package/lib/nfs/v3/locks/NlmEncoder.js +20 -20
- package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -1
- package/lib/nfs/v3/locks/constants.d.ts +9 -0
- package/lib/nfs/v3/locks/messages.d.ts +58 -1
- package/lib/nfs/v3/locks/messages.js +54 -0
- package/lib/nfs/v3/locks/messages.js.map +1 -1
- package/lib/nfs/v3/locks/structs.d.ts +15 -0
- package/lib/nfs/v3/locks/structs.js +15 -0
- package/lib/nfs/v3/locks/structs.js.map +1 -1
- package/lib/nfs/v3/messages.d.ts +249 -0
- package/lib/nfs/v3/messages.js +249 -0
- package/lib/nfs/v3/messages.js.map +1 -1
- package/lib/nfs/v3/mount/MountDecoder.js +12 -12
- package/lib/nfs/v3/mount/MountEncoder.d.ts +2 -2
- package/lib/nfs/v3/mount/MountEncoder.js +13 -13
- package/lib/nfs/v3/mount/MountEncoder.js.map +1 -1
- package/lib/nfs/v3/mount/constants.d.ts +9 -0
- package/lib/nfs/v3/mount/messages.d.ts +31 -1
- package/lib/nfs/v3/mount/messages.js +27 -0
- package/lib/nfs/v3/mount/messages.js.map +1 -1
- package/lib/nfs/v3/mount/structs.d.ts +15 -0
- package/lib/nfs/v3/mount/structs.js +15 -0
- package/lib/nfs/v3/mount/structs.js.map +1 -1
- package/lib/nfs/v3/structs.d.ts +78 -0
- package/lib/nfs/v3/structs.js +78 -0
- package/lib/nfs/v3/structs.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Decoder.d.ts +0 -2
- package/lib/nfs/v4/Nfsv4Decoder.js +96 -102
- package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.d.ts +2 -2
- package/lib/nfs/v4/Nfsv4Encoder.js +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -1
- package/lib/nfs/v4/attributes.d.ts +62 -0
- package/lib/nfs/v4/attributes.js +209 -147
- package/lib/nfs/v4/attributes.js.map +1 -1
- package/lib/nfs/v4/builder.d.ts +274 -1
- package/lib/nfs/v4/builder.js +283 -10
- package/lib/nfs/v4/builder.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDir.d.ts +4 -1
- package/lib/nfs/v4/client/NfsFsDir.js +8 -5
- package/lib/nfs/v4/client/NfsFsDir.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDirent.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsDirent.js +10 -7
- package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +4 -3
- package/lib/nfs/v4/client/NfsFsFileHandle.js +13 -10
- package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsStats.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsStats.js +10 -7
- package/lib/nfs/v4/client/NfsFsStats.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +2 -3
- package/lib/nfs/v4/client/Nfsv4FsClient.js +92 -92
- package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +6 -6
- package/lib/nfs/v4/client/Nfsv4TcpClient.js +3 -3
- package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -1
- package/lib/nfs/v4/client/types.d.ts +1 -1
- package/lib/nfs/v4/constants.d.ts +78 -1
- package/lib/nfs/v4/format.d.ts +1 -1
- package/lib/nfs/v4/format.js +229 -229
- package/lib/nfs/v4/format.js.map +1 -1
- package/lib/nfs/v4/messages.js +101 -101
- package/lib/nfs/v4/messages.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +20 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +29 -8
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4Connection.d.ts +6 -3
- package/lib/nfs/v4/server/Nfsv4Connection.js +11 -8
- package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +2 -3
- package/lib/nfs/v4/server/Nfsv4TcpServer.js +1 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +69 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js +43 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -1
- package/lib/nfs/v4/server/operations/ClientRecord.d.ts +98 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js +54 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +22 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js +16 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +75 -2
- package/lib/nfs/v4/server/operations/LockOwnerState.js +43 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockStateid.d.ts +55 -1
- package/lib/nfs/v4/server/operations/LockStateid.js +37 -1
- package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -1
- package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +2 -1
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +2 -2
- package/lib/nfs/v4/server/operations/OpenFileState.d.ts +90 -2
- package/lib/nfs/v4/server/operations/OpenFileState.js +52 -1
- package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +76 -2
- package/lib/nfs/v4/server/operations/OpenOwnerState.js +44 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +73 -3
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +261 -187
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/attrs.d.ts +13 -1
- package/lib/nfs/v4/server/operations/node/attrs.js +75 -62
- package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/fh.d.ts +67 -2
- package/lib/nfs/v4/server/operations/node/fh.js +83 -21
- package/lib/nfs/v4/server/operations/node/fh.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/util.js +4 -4
- package/lib/nfs/v4/server/operations/node/util.js.map +1 -1
- package/lib/nfs/v4/server/util.d.ts +0 -1
- package/lib/nfs/v4/server/util.js +40 -40
- package/lib/nfs/v4/structs.d.ts +136 -4
- package/lib/nfs/v4/structs.js +129 -0
- package/lib/nfs/v4/structs.js.map +1 -1
- package/lib/resp/RespDecoder.d.ts +9 -0
- package/lib/resp/RespDecoder.js +93 -76
- package/lib/resp/RespDecoder.js.map +1 -1
- package/lib/resp/RespEncoder.d.ts +8 -0
- package/lib/resp/RespEncoder.js +107 -89
- package/lib/resp/RespEncoder.js.map +1 -1
- package/lib/resp/RespEncoderLegacy.d.ts +3 -0
- package/lib/resp/RespEncoderLegacy.js +7 -4
- package/lib/resp/RespEncoderLegacy.js.map +1 -1
- package/lib/resp/RespStreamingDecoder.d.ts +48 -0
- package/lib/resp/RespStreamingDecoder.js +48 -0
- package/lib/resp/RespStreamingDecoder.js.map +1 -1
- package/lib/resp/constants.d.ts +19 -19
- package/lib/rm/RmRecordEncoder.d.ts +15 -1
- package/lib/rm/RmRecordEncoder.js +15 -1
- package/lib/rm/RmRecordEncoder.js.map +1 -1
- package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
- package/lib/rpc/RpcMessageDecoder.js +8 -7
- package/lib/rpc/RpcMessageDecoder.js.map +1 -1
- package/lib/rpc/RpcMessageEncoder.d.ts +2 -2
- package/lib/rpc/RpcMessageEncoder.js +6 -6
- package/lib/rpc/RpcMessageEncoder.js.map +1 -1
- package/lib/rpc/constants.d.ts +76 -28
- package/lib/rpc/constants.js +10 -0
- package/lib/rpc/constants.js.map +1 -1
- package/lib/ssh/SshDecoder.d.ts +46 -0
- package/lib/ssh/SshDecoder.js +52 -2
- package/lib/ssh/SshDecoder.js.map +1 -1
- package/lib/ssh/SshEncoder.d.ts +69 -0
- package/lib/ssh/SshEncoder.js +81 -8
- package/lib/ssh/SshEncoder.js.map +1 -1
- package/lib/ssh/index.d.ts +6 -0
- package/lib/ssh/index.js +6 -0
- package/lib/ssh/index.js.map +1 -1
- package/lib/ubjson/UbjsonDecoder.js +1 -1
- package/lib/ubjson/UbjsonDecoder.js.map +1 -1
- package/lib/ubjson/UbjsonEncoder.js +6 -5
- package/lib/ubjson/UbjsonEncoder.js.map +1 -1
- package/lib/util/CompressionTable.js +4 -4
- package/lib/util/CompressionTable.js.map +1 -1
- package/lib/util/DecompressionTable.js +3 -2
- package/lib/util/DecompressionTable.js.map +1 -1
- package/lib/ws/WsFrameDecoder.d.ts +18 -0
- package/lib/ws/WsFrameDecoder.js +18 -0
- package/lib/ws/WsFrameDecoder.js.map +1 -1
- package/lib/ws/WsFrameEncoder.d.ts +1 -1
- package/lib/ws/WsFrameEncoder.js +3 -3
- package/lib/ws/WsFrameEncoder.js.map +1 -1
- package/lib/ws/constants.js +5 -0
- package/lib/ws/constants.js.map +1 -1
- package/lib/xdr/XdrDecoder.d.ts +62 -0
- package/lib/xdr/XdrDecoder.js +73 -6
- package/lib/xdr/XdrDecoder.js.map +1 -1
- package/lib/xdr/XdrEncoder.d.ts +71 -0
- package/lib/xdr/XdrEncoder.js +88 -13
- package/lib/xdr/XdrEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaDecoder.d.ts +40 -0
- package/lib/xdr/XdrSchemaDecoder.js +52 -0
- package/lib/xdr/XdrSchemaDecoder.js.map +1 -1
- package/lib/xdr/XdrSchemaEncoder.d.ts +5 -0
- package/lib/xdr/XdrSchemaEncoder.js +9 -0
- package/lib/xdr/XdrSchemaEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaValidator.d.ts +9 -0
- package/lib/xdr/XdrSchemaValidator.js +42 -11
- package/lib/xdr/XdrSchemaValidator.js.map +1 -1
- package/lib/xdr/XdrUnion.d.ts +5 -0
- package/lib/xdr/XdrUnion.js +5 -0
- package/lib/xdr/XdrUnion.js.map +1 -1
- package/lib/xdr/index.d.ts +14 -0
- package/lib/xdr/index.js +14 -0
- package/lib/xdr/index.js.map +1 -1
- package/lib/xdr/types.d.ts +46 -0
- package/package.json +32 -55
|
@@ -3,22 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MsgPackDecoder = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
5
|
const MsgPackDecoderFast_1 = require("./MsgPackDecoderFast");
|
|
6
|
+
/**
|
|
7
|
+
* @category Decoder
|
|
8
|
+
*/
|
|
6
9
|
class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
10
|
+
// ---------------------------------------------------------- Skipping values
|
|
11
|
+
/**
|
|
12
|
+
* Skips a whole JSON value and returns back the number of bytes
|
|
13
|
+
* that value consumed.
|
|
14
|
+
*/
|
|
7
15
|
skipAny() {
|
|
8
16
|
const byte = this.reader.u8();
|
|
9
17
|
if (byte >= 0xe0)
|
|
10
|
-
return 1;
|
|
18
|
+
return 1; // 0xe0
|
|
11
19
|
if (byte <= 0xbf) {
|
|
12
20
|
if (byte < 0x90) {
|
|
13
21
|
if (byte <= 0b1111111)
|
|
14
|
-
return 1;
|
|
15
|
-
return 1 + this.skipObj(byte & 0b1111);
|
|
22
|
+
return 1; // 0x7f
|
|
23
|
+
return 1 + this.skipObj(byte & 0b1111); // 0x80, obj(1)
|
|
16
24
|
}
|
|
17
25
|
else {
|
|
18
26
|
if (byte < 0xa0)
|
|
19
27
|
return 1 + this.skipArr(byte & 0b1111);
|
|
28
|
+
// 0x90
|
|
20
29
|
else
|
|
21
|
-
return 1 + this.skip(byte & 0b11111);
|
|
30
|
+
return 1 + this.skip(byte & 0b11111); // 0xa0, str(1)
|
|
22
31
|
}
|
|
23
32
|
}
|
|
24
33
|
if (byte <= 0xd0) {
|
|
@@ -40,45 +49,45 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
40
49
|
return byte <= 0xcc
|
|
41
50
|
? byte <= 0xca
|
|
42
51
|
? byte === 0xca
|
|
43
|
-
? 1 + this.skip(4)
|
|
44
|
-
: 1 + 1 + 4 + this.skip(this.reader.u32())
|
|
52
|
+
? 1 + this.skip(4) // f32
|
|
53
|
+
: 1 + 1 + 4 + this.skip(this.reader.u32()) // ext32
|
|
45
54
|
: byte === 0xcc
|
|
46
|
-
? 1 + this.skip(1)
|
|
47
|
-
: 1 + this.skip(8)
|
|
55
|
+
? 1 + this.skip(1) // u8
|
|
56
|
+
: 1 + this.skip(8) // f64
|
|
48
57
|
: byte <= 0xce
|
|
49
58
|
? byte === 0xce
|
|
50
|
-
? 1 + this.skip(4)
|
|
51
|
-
: 1 + this.skip(2)
|
|
59
|
+
? 1 + this.skip(4) // u32
|
|
60
|
+
: 1 + this.skip(2) // u16
|
|
52
61
|
: byte === 0xd0
|
|
53
|
-
? 1 + this.skip(1)
|
|
54
|
-
: 1 + this.skip(8);
|
|
62
|
+
? 1 + this.skip(1) // i8
|
|
63
|
+
: 1 + this.skip(8); // u64
|
|
55
64
|
}
|
|
56
65
|
}
|
|
57
66
|
else if (byte <= 0xd8) {
|
|
58
67
|
return byte <= 0xd4
|
|
59
68
|
? byte <= 0xd2
|
|
60
69
|
? byte === 0xd2
|
|
61
|
-
? 1 + this.skip(4)
|
|
62
|
-
: 1 + this.skip(2)
|
|
70
|
+
? 1 + this.skip(4) // i32
|
|
71
|
+
: 1 + this.skip(2) // i16
|
|
63
72
|
: byte === 0xd4
|
|
64
|
-
? 1 + this.skip(2)
|
|
65
|
-
: 1 + this.skip(8)
|
|
73
|
+
? 1 + this.skip(2) // ext1
|
|
74
|
+
: 1 + this.skip(8) // i64
|
|
66
75
|
: byte <= 0xd6
|
|
67
76
|
? byte === 0xd6
|
|
68
|
-
? 1 + this.skip(5)
|
|
69
|
-
: 1 + this.skip(3)
|
|
77
|
+
? 1 + this.skip(5) // ext4
|
|
78
|
+
: 1 + this.skip(3) // ext2
|
|
70
79
|
: byte === 0xd8
|
|
71
|
-
? 1 + this.skip(17)
|
|
72
|
-
: 1 + this.skip(9);
|
|
80
|
+
? 1 + this.skip(17) // ext16
|
|
81
|
+
: 1 + this.skip(9); // ext8
|
|
73
82
|
}
|
|
74
83
|
else {
|
|
75
84
|
switch (byte) {
|
|
76
85
|
case 0xd9:
|
|
77
|
-
return 2 + this.skip(this.reader.u8());
|
|
86
|
+
return 2 + this.skip(this.reader.u8()); // str8
|
|
78
87
|
case 0xda:
|
|
79
|
-
return 3 + this.skip(this.reader.u16());
|
|
88
|
+
return 3 + this.skip(this.reader.u16()); // str16
|
|
80
89
|
case 0xdb:
|
|
81
|
-
return 5 + this.skip(this.reader.u32());
|
|
90
|
+
return 5 + this.skip(this.reader.u32()); // str32
|
|
82
91
|
case 0xdc:
|
|
83
92
|
return 3 + this.skipArr(this.reader.u16());
|
|
84
93
|
case 0xdd:
|
|
@@ -91,12 +100,14 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
91
100
|
}
|
|
92
101
|
return 1;
|
|
93
102
|
}
|
|
103
|
+
/** @ignore */
|
|
94
104
|
skipArr(size) {
|
|
95
105
|
let length = 0;
|
|
96
106
|
for (let i = 0; i < size; i++)
|
|
97
107
|
length += this.skipAny();
|
|
98
108
|
return length;
|
|
99
109
|
}
|
|
110
|
+
/** @ignore */
|
|
100
111
|
skipObj(size) {
|
|
101
112
|
let length = 0;
|
|
102
113
|
for (let i = 0; i < size; i++) {
|
|
@@ -104,6 +115,7 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
104
115
|
}
|
|
105
116
|
return length;
|
|
106
117
|
}
|
|
118
|
+
// -------------------------------------------------------- One level reading
|
|
107
119
|
readLevel(uint8) {
|
|
108
120
|
this.reader.reset(uint8);
|
|
109
121
|
return this.valOneLevel();
|
|
@@ -132,6 +144,11 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
132
144
|
}
|
|
133
145
|
return this.readAny();
|
|
134
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* @ignore
|
|
149
|
+
* @returns Returns a primitive value or {@link JsonPackValue} object, if the value
|
|
150
|
+
* is a "map" or an "arr".
|
|
151
|
+
*/
|
|
135
152
|
primitive() {
|
|
136
153
|
const reader = this.reader;
|
|
137
154
|
const byte = reader.view.getUint8(reader.x);
|
|
@@ -148,6 +165,20 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
148
165
|
this.reader.x += length;
|
|
149
166
|
return length;
|
|
150
167
|
}
|
|
168
|
+
// --------------------------------------------------------------- Validation
|
|
169
|
+
/**
|
|
170
|
+
* Throws if at given offset in a buffer there is an invalid MessagePack
|
|
171
|
+
* value, or if the value does not span the exact length specified in `size`.
|
|
172
|
+
* I.e. throws if:
|
|
173
|
+
*
|
|
174
|
+
* - The value is not a valid MessagePack value.
|
|
175
|
+
* - The value is shorter than `size`.
|
|
176
|
+
* - The value is longer than `size`.
|
|
177
|
+
*
|
|
178
|
+
* @param value Buffer in which to validate MessagePack value.
|
|
179
|
+
* @param offset Offset at which the value starts.
|
|
180
|
+
* @param size Expected size of the value.
|
|
181
|
+
*/
|
|
151
182
|
validate(value, offset = 0, size = value.length) {
|
|
152
183
|
this.reader.reset(value);
|
|
153
184
|
this.reader.x = offset;
|
|
@@ -157,6 +188,7 @@ class MsgPackDecoder extends MsgPackDecoderFast_1.MsgPackDecoderFast {
|
|
|
157
188
|
if (end - start !== size)
|
|
158
189
|
throw new Error('INVALID_SIZE');
|
|
159
190
|
}
|
|
191
|
+
// ---------------------------------------------------------- Shallow reading
|
|
160
192
|
readObjHdr() {
|
|
161
193
|
const reader = this.reader;
|
|
162
194
|
const byte = reader.u8();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsgPackDecoder.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackDecoder.ts"],"names":[],"mappings":";;;AAAA,wBAAgC;AAChC,6DAAwD;
|
|
1
|
+
{"version":3,"file":"MsgPackDecoder.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,18 +2,26 @@ import { JsonPackExtension } from '../JsonPackExtension';
|
|
|
2
2
|
import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
|
|
3
3
|
import type { BinaryJsonDecoder, PackValue } from '../types';
|
|
4
4
|
import type { CachedUtf8Decoder } from '@jsonjoy.com/buffers/lib/utf8/CachedUtf8Decoder';
|
|
5
|
+
/**
|
|
6
|
+
* @category Decoder
|
|
7
|
+
*/
|
|
5
8
|
export declare class MsgPackDecoderFast<R extends Reader> implements BinaryJsonDecoder {
|
|
6
9
|
reader: R;
|
|
7
10
|
protected readonly keyDecoder: CachedUtf8Decoder;
|
|
8
11
|
constructor(reader?: R, keyDecoder?: CachedUtf8Decoder);
|
|
12
|
+
/** @deprecated */
|
|
9
13
|
decode(uint8: Uint8Array): unknown;
|
|
10
14
|
read(uint8: Uint8Array): PackValue;
|
|
11
15
|
val(): unknown;
|
|
12
16
|
readAny(): unknown;
|
|
13
17
|
str(): unknown;
|
|
18
|
+
/** @ignore */
|
|
14
19
|
protected obj(size: number): object;
|
|
20
|
+
/** @ignore */
|
|
15
21
|
protected key(): string;
|
|
22
|
+
/** @ignore */
|
|
16
23
|
protected arr(size: number): unknown[];
|
|
24
|
+
/** @ignore */
|
|
17
25
|
protected ext(size: number): JsonPackExtension;
|
|
18
26
|
protected back(bytes: number): void;
|
|
19
27
|
}
|
|
@@ -5,11 +5,15 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const JsonPackExtension_1 = require("../JsonPackExtension");
|
|
6
6
|
const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
|
|
7
7
|
const sharedCachedUtf8Decoder_1 = tslib_1.__importDefault(require("@jsonjoy.com/buffers/lib/utf8/sharedCachedUtf8Decoder"));
|
|
8
|
+
/**
|
|
9
|
+
* @category Decoder
|
|
10
|
+
*/
|
|
8
11
|
class MsgPackDecoderFast {
|
|
9
12
|
constructor(reader = new Reader_1.Reader(), keyDecoder = sharedCachedUtf8Decoder_1.default) {
|
|
10
13
|
this.reader = reader;
|
|
11
14
|
this.keyDecoder = keyDecoder;
|
|
12
15
|
}
|
|
16
|
+
/** @deprecated */
|
|
13
17
|
decode(uint8) {
|
|
14
18
|
this.reader.reset(uint8);
|
|
15
19
|
return this.readAny();
|
|
@@ -25,18 +29,19 @@ class MsgPackDecoderFast {
|
|
|
25
29
|
const reader = this.reader;
|
|
26
30
|
const byte = reader.u8();
|
|
27
31
|
if (byte >= 0xe0)
|
|
28
|
-
return byte - 0x100;
|
|
32
|
+
return byte - 0x100; // 0xe0
|
|
29
33
|
if (byte <= 0xbf) {
|
|
30
34
|
if (byte < 0x90) {
|
|
31
35
|
if (byte <= 0b1111111)
|
|
32
|
-
return byte;
|
|
33
|
-
return this.obj(byte & 0b1111);
|
|
36
|
+
return byte; // 0x7f
|
|
37
|
+
return this.obj(byte & 0b1111); // 0x80
|
|
34
38
|
}
|
|
35
39
|
else {
|
|
36
40
|
if (byte < 0xa0)
|
|
37
41
|
return this.arr(byte & 0b1111);
|
|
42
|
+
// 0x90
|
|
38
43
|
else
|
|
39
|
-
return reader.utf8(byte & 0b11111);
|
|
44
|
+
return reader.utf8(byte & 0b11111); // 0xa0
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
if (byte <= 0xd0) {
|
|
@@ -124,16 +129,18 @@ class MsgPackDecoderFast {
|
|
|
124
129
|
}
|
|
125
130
|
return undefined;
|
|
126
131
|
}
|
|
132
|
+
/** @ignore */
|
|
127
133
|
obj(size) {
|
|
128
134
|
const obj = {};
|
|
129
135
|
for (let i = 0; i < size; i++) {
|
|
130
136
|
const key = this.key();
|
|
131
137
|
if (key === '__proto__')
|
|
132
|
-
throw 6
|
|
138
|
+
throw 6 /* ERROR.UNEXPECTED_OBJ_KEY */;
|
|
133
139
|
obj[key] = this.readAny();
|
|
134
140
|
}
|
|
135
141
|
return obj;
|
|
136
142
|
}
|
|
143
|
+
/** @ignore */
|
|
137
144
|
key() {
|
|
138
145
|
const reader = this.reader;
|
|
139
146
|
const byte = reader.view.getUint8(reader.x);
|
|
@@ -163,12 +170,14 @@ class MsgPackDecoderFast {
|
|
|
163
170
|
return '';
|
|
164
171
|
}
|
|
165
172
|
}
|
|
173
|
+
/** @ignore */
|
|
166
174
|
arr(size) {
|
|
167
175
|
const arr = [];
|
|
168
176
|
for (let i = 0; i < size; i++)
|
|
169
177
|
arr.push(this.readAny());
|
|
170
178
|
return arr;
|
|
171
179
|
}
|
|
180
|
+
/** @ignore */
|
|
172
181
|
ext(size) {
|
|
173
182
|
const reader = this.reader;
|
|
174
183
|
const type = reader.u8();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsgPackDecoderFast.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackDecoderFast.ts"],"names":[],"mappings":";;;;AAAA,4DAAuD;AACvD,4DAAuD;AAEvD,4HAA4F;
|
|
1
|
+
{"version":3,"file":"MsgPackDecoderFast.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackDecoderFast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { MsgPackEncoderFast } from './MsgPackEncoderFast';
|
|
2
2
|
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
|
|
3
|
+
/**
|
|
4
|
+
* @category Encoder
|
|
5
|
+
*/
|
|
3
6
|
export declare class MsgPackEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> extends MsgPackEncoderFast<W> {
|
|
4
7
|
writeAny(value: unknown): void;
|
|
5
8
|
}
|
|
@@ -5,15 +5,18 @@ const MsgPackEncoderFast_1 = require("./MsgPackEncoderFast");
|
|
|
5
5
|
const isUint8Array_1 = require("@jsonjoy.com/buffers/lib/isUint8Array");
|
|
6
6
|
const JsonPackExtension_1 = require("../JsonPackExtension");
|
|
7
7
|
const JsonPackValue_1 = require("../JsonPackValue");
|
|
8
|
+
/**
|
|
9
|
+
* @category Encoder
|
|
10
|
+
*/
|
|
8
11
|
class MsgPackEncoder extends MsgPackEncoderFast_1.MsgPackEncoderFast {
|
|
9
12
|
writeAny(value) {
|
|
10
13
|
switch (value) {
|
|
11
14
|
case null:
|
|
12
|
-
return this.writer.u8(192);
|
|
15
|
+
return this.writer.u8(192 /* MSGPACK.NULL */);
|
|
13
16
|
case false:
|
|
14
|
-
return this.writer.u8(194);
|
|
17
|
+
return this.writer.u8(194 /* MSGPACK.FALSE */);
|
|
15
18
|
case true:
|
|
16
|
-
return this.writer.u8(195);
|
|
19
|
+
return this.writer.u8(195 /* MSGPACK.TRUE */);
|
|
17
20
|
}
|
|
18
21
|
if (value instanceof Array)
|
|
19
22
|
return this.encodeArray(value);
|
|
@@ -32,7 +35,7 @@ class MsgPackEncoder extends MsgPackEncoderFast_1.MsgPackEncoderFast {
|
|
|
32
35
|
return this.encodeObject(value);
|
|
33
36
|
}
|
|
34
37
|
case 'undefined':
|
|
35
|
-
return this.writer.u8(193);
|
|
38
|
+
return this.writer.u8(193 /* MSGPACK.UNDEFINED */);
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsgPackEncoder.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackEncoder.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AACxD,wEAAmE;AACnE,4DAAuD;AACvD,oDAA+C;
|
|
1
|
+
{"version":3,"file":"MsgPackEncoder.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackEncoder.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AACxD,wEAAmE;AACnE,4DAAuD;AACvD,oDAA+C;AAI/C;;GAEG;AACH,MAAa,cAEX,SAAQ,uCAAqB;IACtB,QAAQ,CAAC,KAAc;QAC5B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,wBAAc,CAAC;YACtC,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,yBAAe,CAAC;YACvC,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,wBAAc,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3D,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,KAAK,YAAY,6BAAa;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxF,IAAI,KAAK,YAAY,qCAAiB;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,IAAA,2BAAY,EAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAgC,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,6BAAmB,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AA5BD,wCA4BC"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
|
|
2
|
-
import { JsonPackExtension } from '../JsonPackExtension';
|
|
3
|
-
import { BinaryJsonEncoder, TlvBinaryJsonEncoder } from '../types';
|
|
4
|
-
import { IMessagePackEncoder } from './types';
|
|
1
|
+
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
|
|
2
|
+
import type { JsonPackExtension } from '../JsonPackExtension';
|
|
3
|
+
import type { BinaryJsonEncoder, TlvBinaryJsonEncoder } from '../types';
|
|
4
|
+
import type { IMessagePackEncoder } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* @category Encoder
|
|
7
|
+
*/
|
|
5
8
|
export declare class MsgPackEncoderFast<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> implements IMessagePackEncoder, BinaryJsonEncoder, TlvBinaryJsonEncoder {
|
|
6
9
|
readonly writer: W;
|
|
7
10
|
constructor(writer?: W);
|
|
11
|
+
/**
|
|
12
|
+
* Use this method to encode a JavaScript document into MessagePack format.
|
|
13
|
+
*
|
|
14
|
+
* @param json JSON value to encode.
|
|
15
|
+
* @returns Encoded memory buffer with MessagePack contents.
|
|
16
|
+
*/
|
|
8
17
|
encode(json: unknown): Uint8Array;
|
|
18
|
+
/** @deprecated */
|
|
9
19
|
encodeAny(json: unknown): void;
|
|
10
20
|
writeAny(value: unknown): void;
|
|
21
|
+
/** @deprecated */
|
|
11
22
|
protected encodeFloat64(num: number): void;
|
|
12
23
|
writeNull(): void;
|
|
13
24
|
writeFloat(float: number): void;
|
|
14
25
|
u32(num: number): void;
|
|
15
26
|
n32(num: number): void;
|
|
27
|
+
/** @deprecated */
|
|
16
28
|
encodeNumber(num: number): void;
|
|
17
29
|
writeNumber(num: number): void;
|
|
18
30
|
writeInteger(int: number): void;
|
|
@@ -20,25 +32,35 @@ export declare class MsgPackEncoderFast<W extends IWriter & IWriterGrowable = IW
|
|
|
20
32
|
encodeNull(): void;
|
|
21
33
|
encodeTrue(): void;
|
|
22
34
|
encodeFalse(): void;
|
|
35
|
+
/** @deprecated */
|
|
23
36
|
encodeBoolean(bool: boolean): void;
|
|
24
37
|
writeBoolean(bool: boolean): void;
|
|
38
|
+
/** @deprecated */
|
|
25
39
|
encodeStringHeader(length: number): void;
|
|
26
40
|
writeStrHdr(length: number): void;
|
|
41
|
+
/** @deprecated */
|
|
27
42
|
encodeString(str: string): void;
|
|
28
43
|
writeStr(str: string): void;
|
|
44
|
+
/** @deprecated */
|
|
29
45
|
encodeAsciiString(str: string): void;
|
|
30
46
|
writeAsciiStr(str: string): void;
|
|
47
|
+
/** @deprecated */
|
|
31
48
|
encodeArrayHeader(length: number): void;
|
|
49
|
+
/** @deprecated */
|
|
32
50
|
encodeArray(arr: unknown[]): void;
|
|
33
51
|
writeArrHdr(length: number): void;
|
|
34
52
|
writeArr(arr: unknown[]): void;
|
|
53
|
+
/** @deprecated */
|
|
35
54
|
encodeObjectHeader(length: number): void;
|
|
55
|
+
/** @deprecated */
|
|
36
56
|
encodeObject(obj: Record<string, unknown>): void;
|
|
37
57
|
writeObjHdr(length: number): void;
|
|
38
58
|
writeObj(obj: Record<string, unknown>): void;
|
|
39
59
|
encodeExtHeader(type: number, length: number): void;
|
|
40
60
|
encodeExt(ext: JsonPackExtension): void;
|
|
61
|
+
/** @deprecated */
|
|
41
62
|
encodeBinaryHeader(length: number): void;
|
|
63
|
+
/** @deprecated */
|
|
42
64
|
encodeBinary(buf: Uint8Array): void;
|
|
43
65
|
writeBinHdr(length: number): void;
|
|
44
66
|
writeBin(buf: Uint8Array): void;
|
|
@@ -2,15 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MsgPackEncoderFast = void 0;
|
|
4
4
|
const Writer_1 = require("@jsonjoy.com/buffers/lib/Writer");
|
|
5
|
+
/**
|
|
6
|
+
* @category Encoder
|
|
7
|
+
*/
|
|
5
8
|
class MsgPackEncoderFast {
|
|
6
9
|
constructor(writer = new Writer_1.Writer()) {
|
|
7
10
|
this.writer = writer;
|
|
8
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Use this method to encode a JavaScript document into MessagePack format.
|
|
14
|
+
*
|
|
15
|
+
* @param json JSON value to encode.
|
|
16
|
+
* @returns Encoded memory buffer with MessagePack contents.
|
|
17
|
+
*/
|
|
9
18
|
encode(json) {
|
|
10
19
|
this.writer.reset();
|
|
11
20
|
this.writeAny(json);
|
|
12
21
|
return this.writer.flush();
|
|
13
22
|
}
|
|
23
|
+
/** @deprecated */
|
|
14
24
|
encodeAny(json) {
|
|
15
25
|
this.writeAny(json);
|
|
16
26
|
}
|
|
@@ -34,6 +44,7 @@ class MsgPackEncoderFast {
|
|
|
34
44
|
return this.writeObj(value);
|
|
35
45
|
}
|
|
36
46
|
}
|
|
47
|
+
/** @deprecated */
|
|
37
48
|
encodeFloat64(num) {
|
|
38
49
|
this.writeFloat(num);
|
|
39
50
|
}
|
|
@@ -49,6 +60,10 @@ class MsgPackEncoderFast {
|
|
|
49
60
|
const uint8 = writer.uint8;
|
|
50
61
|
if (num <= 0b1111111) {
|
|
51
62
|
uint8[writer.x++] = num;
|
|
63
|
+
// Commenting this out improves performance, there is not much space savings.
|
|
64
|
+
// } else if (num <= 0xff) {
|
|
65
|
+
// uint8[writer.x++] = 0xcc;
|
|
66
|
+
// uint8[writer.x++] = num;
|
|
52
67
|
}
|
|
53
68
|
else if (num <= 0xffff) {
|
|
54
69
|
uint8[writer.x++] = 0xcd;
|
|
@@ -69,6 +84,10 @@ class MsgPackEncoderFast {
|
|
|
69
84
|
const uint8 = writer.uint8;
|
|
70
85
|
if (num >= -0x20) {
|
|
71
86
|
uint8[writer.x++] = 0x100 + num;
|
|
87
|
+
// Commenting this out improves performance, there is not much space savings.
|
|
88
|
+
// } else if (num >= -0x80) {
|
|
89
|
+
// uint8[writer.x++] = 0xd0;
|
|
90
|
+
// uint8[writer.x++] = num + 0x100;
|
|
72
91
|
}
|
|
73
92
|
else if (num >= -0x8000) {
|
|
74
93
|
uint8[writer.x++] = 0xd1;
|
|
@@ -83,6 +102,7 @@ class MsgPackEncoderFast {
|
|
|
83
102
|
else
|
|
84
103
|
this.writeFloat(num);
|
|
85
104
|
}
|
|
105
|
+
/** @deprecated */
|
|
86
106
|
encodeNumber(num) {
|
|
87
107
|
this.writeNumber(num);
|
|
88
108
|
}
|
|
@@ -115,6 +135,7 @@ class MsgPackEncoderFast {
|
|
|
115
135
|
encodeFalse() {
|
|
116
136
|
this.writer.u8(0xc2);
|
|
117
137
|
}
|
|
138
|
+
/** @deprecated */
|
|
118
139
|
encodeBoolean(bool) {
|
|
119
140
|
this.writeBoolean(bool);
|
|
120
141
|
}
|
|
@@ -124,6 +145,7 @@ class MsgPackEncoderFast {
|
|
|
124
145
|
else
|
|
125
146
|
this.writer.u8(0xc2);
|
|
126
147
|
}
|
|
148
|
+
/** @deprecated */
|
|
127
149
|
encodeStringHeader(length) {
|
|
128
150
|
this.writeStrHdr(length);
|
|
129
151
|
}
|
|
@@ -137,6 +159,7 @@ class MsgPackEncoderFast {
|
|
|
137
159
|
else
|
|
138
160
|
this.writer.u8u32(0xdb, length);
|
|
139
161
|
}
|
|
162
|
+
/** @deprecated */
|
|
140
163
|
encodeString(str) {
|
|
141
164
|
this.writeStr(str);
|
|
142
165
|
}
|
|
@@ -174,6 +197,7 @@ class MsgPackEncoderFast {
|
|
|
174
197
|
else
|
|
175
198
|
writer.view.setUint32(lengthOffset, bytesWritten);
|
|
176
199
|
}
|
|
200
|
+
/** @deprecated */
|
|
177
201
|
encodeAsciiString(str) {
|
|
178
202
|
this.writeAsciiStr(str);
|
|
179
203
|
}
|
|
@@ -181,9 +205,11 @@ class MsgPackEncoderFast {
|
|
|
181
205
|
this.writeStrHdr(str.length);
|
|
182
206
|
this.writer.ascii(str);
|
|
183
207
|
}
|
|
208
|
+
/** @deprecated */
|
|
184
209
|
encodeArrayHeader(length) {
|
|
185
210
|
this.writeArrHdr(length);
|
|
186
211
|
}
|
|
212
|
+
/** @deprecated */
|
|
187
213
|
encodeArray(arr) {
|
|
188
214
|
this.writeArr(arr);
|
|
189
215
|
}
|
|
@@ -203,12 +229,15 @@ class MsgPackEncoderFast {
|
|
|
203
229
|
this.writer.u8u16(0xdc, length);
|
|
204
230
|
else if (length <= 0xffffffff)
|
|
205
231
|
this.writer.u8u32(0xdd, length);
|
|
232
|
+
// else return;
|
|
206
233
|
for (let i = 0; i < length; i++)
|
|
207
234
|
this.writeAny(arr[i]);
|
|
208
235
|
}
|
|
236
|
+
/** @deprecated */
|
|
209
237
|
encodeObjectHeader(length) {
|
|
210
238
|
this.writeObjHdr(length);
|
|
211
239
|
}
|
|
240
|
+
/** @deprecated */
|
|
212
241
|
encodeObject(obj) {
|
|
213
242
|
this.writeObj(obj);
|
|
214
243
|
}
|
|
@@ -270,9 +299,11 @@ class MsgPackEncoderFast {
|
|
|
270
299
|
this.encodeExtHeader(type, length);
|
|
271
300
|
this.writer.buf(buf, length);
|
|
272
301
|
}
|
|
302
|
+
/** @deprecated */
|
|
273
303
|
encodeBinaryHeader(length) {
|
|
274
304
|
this.writeBinHdr(length);
|
|
275
305
|
}
|
|
306
|
+
/** @deprecated */
|
|
276
307
|
encodeBinary(buf) {
|
|
277
308
|
this.writeBin(buf);
|
|
278
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsgPackEncoderFast.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackEncoderFast.ts"],"names":[],"mappings":";;;AACA,4DAAuD;
|
|
1
|
+
{"version":3,"file":"MsgPackEncoderFast.js","sourceRoot":"","sources":["../../src/msgpack/MsgPackEncoderFast.ts"],"names":[],"mappings":"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"}
|