@jsonjoy.com/json-pack 1.20.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 +68 -54
- 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 +14 -12
- package/lib/nfs/v4/Nfsv4Decoder.js +241 -165
- package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.d.ts +6 -93
- package/lib/nfs/v4/Nfsv4Encoder.js +8 -824
- package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +32 -0
- package/lib/nfs/v4/Nfsv4FullEncoder.js +72 -0
- package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -0
- package/lib/nfs/v4/attributes.d.ts +79 -0
- package/lib/nfs/v4/attributes.js +265 -0
- package/lib/nfs/v4/attributes.js.map +1 -0
- package/lib/nfs/v4/builder.d.ts +333 -0
- package/lib/nfs/v4/builder.js +460 -0
- package/lib/nfs/v4/builder.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsDir.d.ts +23 -0
- package/lib/nfs/v4/client/NfsFsDir.js +132 -0
- package/lib/nfs/v4/client/NfsFsDir.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsDirent.d.ts +17 -0
- package/lib/nfs/v4/client/NfsFsDirent.js +35 -0
- package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +35 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.js +271 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsStats.d.ts +34 -0
- package/lib/nfs/v4/client/NfsFsStats.js +52 -0
- package/lib/nfs/v4/client/NfsFsStats.js.map +1 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +53 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.js +812 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +41 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.js +216 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -0
- package/lib/nfs/v4/client/types.d.ts +9 -0
- package/lib/nfs/v4/client/types.js +3 -0
- package/lib/nfs/v4/client/types.js.map +1 -0
- package/lib/nfs/v4/constants.d.ts +80 -0
- package/lib/nfs/v4/constants.js +4 -0
- package/lib/nfs/v4/constants.js.map +1 -1
- package/lib/nfs/v4/format.d.ts +23 -0
- package/lib/nfs/v4/format.js +870 -0
- package/lib/nfs/v4/format.js.map +1 -0
- package/lib/nfs/v4/index.d.ts +3 -1
- package/lib/nfs/v4/index.js +3 -1
- package/lib/nfs/v4/index.js.map +1 -1
- package/lib/nfs/v4/messages.d.ts +208 -90
- package/lib/nfs/v4/messages.js +585 -1
- package/lib/nfs/v4/messages.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +30 -0
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +176 -0
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -0
- package/lib/nfs/v4/server/Nfsv4Connection.d.ts +45 -0
- package/lib/nfs/v4/server/Nfsv4Connection.js +163 -0
- package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +25 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js +92 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +79 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.js +63 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -0
- package/lib/nfs/v4/server/operations/ClientRecord.d.ts +110 -0
- package/lib/nfs/v4/server/operations/ClientRecord.js +70 -0
- package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +30 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.js +30 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +82 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.js +57 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -0
- package/lib/nfs/v4/server/operations/LockStateid.d.ts +64 -0
- package/lib/nfs/v4/server/operations/LockStateid.js +58 -0
- package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +45 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.js +3 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.js.map +1 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +42 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.js +159 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.js.map +1 -0
- package/lib/nfs/v4/server/operations/OpenFileState.d.ts +102 -0
- package/lib/nfs/v4/server/operations/OpenFileState.js +68 -0
- package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +83 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.js +58 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +169 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +1474 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/attrs.d.ts +17 -0
- package/lib/nfs/v4/server/operations/node/attrs.js +275 -0
- package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/fh.d.ts +93 -0
- package/lib/nfs/v4/server/operations/node/fh.js +209 -0
- package/lib/nfs/v4/server/operations/node/fh.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/util.d.ts +4 -0
- package/lib/nfs/v4/server/operations/node/util.js +17 -0
- package/lib/nfs/v4/server/operations/node/util.js.map +1 -0
- package/lib/nfs/v4/server/types.d.ts +4 -0
- package/lib/nfs/v4/server/types.js +3 -0
- package/lib/nfs/v4/server/types.js.map +1 -0
- package/lib/nfs/v4/server/util.d.ts +5 -0
- package/lib/nfs/v4/server/util.js +184 -0
- package/lib/nfs/v4/server/util.js.map +1 -0
- package/lib/nfs/v4/structs.d.ts +243 -56
- package/lib/nfs/v4/structs.js +367 -17
- 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/RmRecordDecoder.js.map +1 -1
- package/lib/rm/RmRecordEncoder.d.ts +17 -1
- package/lib/rm/RmRecordEncoder.js +40 -1
- package/lib/rm/RmRecordEncoder.js.map +1 -1
- package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
- package/lib/rpc/RpcMessageDecoder.js +11 -8
- 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 +47 -1
- package/lib/ssh/SshDecoder.js +52 -2
- package/lib/ssh/SshDecoder.js.map +1 -1
- package/lib/ssh/SshEncoder.d.ts +70 -1
- 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 +52 -0
- package/package.json +35 -56
- package/lib/nfs/v4/FullNfsv4Encoder.d.ts +0 -28
- package/lib/nfs/v4/FullNfsv4Encoder.js +0 -73
- package/lib/nfs/v4/FullNfsv4Encoder.js.map +0 -1
package/lib/json/JsonEncoder.js
CHANGED
|
@@ -12,6 +12,11 @@ class JsonEncoder {
|
|
|
12
12
|
this.writeAny(value);
|
|
13
13
|
return writer.flush();
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Called when the encoder encounters a value that it does not know how to encode.
|
|
17
|
+
*
|
|
18
|
+
* @param value Some JavaScript value.
|
|
19
|
+
*/
|
|
15
20
|
writeUnknown(value) {
|
|
16
21
|
this.writeNull();
|
|
17
22
|
}
|
|
@@ -26,8 +31,8 @@ class JsonEncoder {
|
|
|
26
31
|
case 'object': {
|
|
27
32
|
if (value === null)
|
|
28
33
|
return this.writeNull();
|
|
29
|
-
const
|
|
30
|
-
switch (
|
|
34
|
+
const constr = value.constructor;
|
|
35
|
+
switch (constr) {
|
|
31
36
|
case Object:
|
|
32
37
|
return this.writeObj(value);
|
|
33
38
|
case Array:
|
|
@@ -50,40 +55,41 @@ class JsonEncoder {
|
|
|
50
55
|
}
|
|
51
56
|
}
|
|
52
57
|
writeNull() {
|
|
53
|
-
this.writer.u32(0x6e756c6c);
|
|
58
|
+
this.writer.u32(0x6e756c6c); // null
|
|
54
59
|
}
|
|
55
60
|
writeUndef() {
|
|
56
61
|
const writer = this.writer;
|
|
57
62
|
const length = 35;
|
|
58
63
|
writer.ensureCapacity(length);
|
|
64
|
+
// Write: "data:application/cbor,base64;9w=="
|
|
59
65
|
const view = writer.view;
|
|
60
66
|
let x = writer.x;
|
|
61
|
-
view.setUint32(x, 577003892);
|
|
67
|
+
view.setUint32(x, 577003892); // "dat
|
|
62
68
|
x += 4;
|
|
63
|
-
view.setUint32(x, 1631215984);
|
|
69
|
+
view.setUint32(x, 1631215984); // a:ap
|
|
64
70
|
x += 4;
|
|
65
|
-
view.setUint32(x, 1886153059);
|
|
71
|
+
view.setUint32(x, 1886153059); // plic
|
|
66
72
|
x += 4;
|
|
67
|
-
view.setUint32(x, 1635019119);
|
|
73
|
+
view.setUint32(x, 1635019119); // atio
|
|
68
74
|
x += 4;
|
|
69
|
-
view.setUint32(x, 1848599394);
|
|
75
|
+
view.setUint32(x, 1848599394); // n/cb
|
|
70
76
|
x += 4;
|
|
71
|
-
view.setUint32(x, 1869753442);
|
|
77
|
+
view.setUint32(x, 1869753442); // or,b
|
|
72
78
|
x += 4;
|
|
73
|
-
view.setUint32(x, 1634952502);
|
|
79
|
+
view.setUint32(x, 1634952502); // ase6
|
|
74
80
|
x += 4;
|
|
75
|
-
view.setUint32(x, 876296567);
|
|
81
|
+
view.setUint32(x, 876296567); // 4;9w
|
|
76
82
|
x += 4;
|
|
77
|
-
view.setUint16(x, 15677);
|
|
83
|
+
view.setUint16(x, 15677); // ==
|
|
78
84
|
x += 2;
|
|
79
|
-
writer.uint8[x++] = 0x22;
|
|
85
|
+
writer.uint8[x++] = 0x22; // "
|
|
80
86
|
writer.x = x;
|
|
81
87
|
}
|
|
82
88
|
writeBoolean(bool) {
|
|
83
89
|
if (bool)
|
|
84
|
-
this.writer.u32(0x74727565);
|
|
90
|
+
this.writer.u32(0x74727565); // true
|
|
85
91
|
else
|
|
86
|
-
this.writer.u8u32(0x66, 0x616c7365);
|
|
92
|
+
this.writer.u8u32(0x66, 0x616c7365); // false
|
|
87
93
|
}
|
|
88
94
|
writeNumber(num) {
|
|
89
95
|
const str = num.toString();
|
|
@@ -102,30 +108,31 @@ class JsonEncoder {
|
|
|
102
108
|
const writer = this.writer;
|
|
103
109
|
const length = buf.length;
|
|
104
110
|
writer.ensureCapacity(38 + 3 + (length << 1));
|
|
111
|
+
// Write: "data:application/octet-stream;base64, - 22 64 61 74 61 3a 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 63 74 65 74 2d 73 74 72 65 61 6d 3b 62 61 73 65 36 34 2c
|
|
105
112
|
const view = writer.view;
|
|
106
113
|
let x = writer.x;
|
|
107
|
-
view.setUint32(x, 577003892);
|
|
114
|
+
view.setUint32(x, 577003892); // "dat
|
|
108
115
|
x += 4;
|
|
109
|
-
view.setUint32(x, 1631215984);
|
|
116
|
+
view.setUint32(x, 1631215984); // a:ap
|
|
110
117
|
x += 4;
|
|
111
|
-
view.setUint32(x, 1886153059);
|
|
118
|
+
view.setUint32(x, 1886153059); // plic
|
|
112
119
|
x += 4;
|
|
113
|
-
view.setUint32(x, 1635019119);
|
|
120
|
+
view.setUint32(x, 1635019119); // atio
|
|
114
121
|
x += 4;
|
|
115
|
-
view.setUint32(x, 1848602467);
|
|
122
|
+
view.setUint32(x, 1848602467); // n/oc
|
|
116
123
|
x += 4;
|
|
117
|
-
view.setUint32(x, 1952805933);
|
|
124
|
+
view.setUint32(x, 1952805933); // tet-
|
|
118
125
|
x += 4;
|
|
119
|
-
view.setUint32(x, 1937011301);
|
|
126
|
+
view.setUint32(x, 1937011301); // stre
|
|
120
127
|
x += 4;
|
|
121
|
-
view.setUint32(x, 1634548578);
|
|
128
|
+
view.setUint32(x, 1634548578); // am;b
|
|
122
129
|
x += 4;
|
|
123
|
-
view.setUint32(x, 1634952502);
|
|
130
|
+
view.setUint32(x, 1634952502); // ase6
|
|
124
131
|
x += 4;
|
|
125
|
-
view.setUint16(x, 13356);
|
|
132
|
+
view.setUint16(x, 13356); // 4,
|
|
126
133
|
x += 2;
|
|
127
134
|
x = (0, toBase64Bin_1.toBase64Bin)(buf, 0, length, view, x);
|
|
128
|
-
writer.uint8[x++] = 0x22;
|
|
135
|
+
writer.uint8[x++] = 0x22; // "
|
|
129
136
|
writer.x = x;
|
|
130
137
|
}
|
|
131
138
|
writeStr(str) {
|
|
@@ -133,29 +140,35 @@ class JsonEncoder {
|
|
|
133
140
|
const length = str.length;
|
|
134
141
|
writer.ensureCapacity(length * 4 + 2);
|
|
135
142
|
if (length < 256) {
|
|
136
|
-
|
|
143
|
+
const startX = writer.x;
|
|
144
|
+
let x = startX;
|
|
137
145
|
const uint8 = writer.uint8;
|
|
138
|
-
uint8[x++] = 0x22;
|
|
146
|
+
uint8[x++] = 0x22; // "
|
|
139
147
|
for (let i = 0; i < length; i++) {
|
|
140
148
|
const code = str.charCodeAt(i);
|
|
141
149
|
switch (code) {
|
|
142
|
-
case 34:
|
|
143
|
-
case 92:
|
|
144
|
-
uint8[x++] = 0x5c;
|
|
150
|
+
case 34: // "
|
|
151
|
+
case 92: // \
|
|
152
|
+
uint8[x++] = 0x5c; // \
|
|
145
153
|
break;
|
|
146
154
|
}
|
|
147
155
|
if (code < 32 || code > 126) {
|
|
148
|
-
writer.
|
|
156
|
+
writer.x = startX;
|
|
157
|
+
const jsonStr = JSON.stringify(str);
|
|
158
|
+
writer.ensureCapacity(jsonStr.length * 4 + 4);
|
|
159
|
+
writer.utf8(jsonStr);
|
|
149
160
|
return;
|
|
150
161
|
}
|
|
151
162
|
else
|
|
152
163
|
uint8[x++] = code;
|
|
153
164
|
}
|
|
154
|
-
uint8[x++] = 0x22;
|
|
165
|
+
uint8[x++] = 0x22; // "
|
|
155
166
|
writer.x = x;
|
|
156
167
|
return;
|
|
157
168
|
}
|
|
158
|
-
|
|
169
|
+
const jsonStr = JSON.stringify(str);
|
|
170
|
+
writer.ensureCapacity(jsonStr.length * 4 + 4);
|
|
171
|
+
writer.utf8(jsonStr);
|
|
159
172
|
}
|
|
160
173
|
writeAsciiStr(str) {
|
|
161
174
|
const length = str.length;
|
|
@@ -163,59 +176,60 @@ class JsonEncoder {
|
|
|
163
176
|
writer.ensureCapacity(length * 2 + 2);
|
|
164
177
|
const uint8 = writer.uint8;
|
|
165
178
|
let x = writer.x;
|
|
166
|
-
uint8[x++] = 0x22;
|
|
179
|
+
uint8[x++] = 0x22; // "
|
|
167
180
|
for (let i = 0; i < length; i++) {
|
|
168
181
|
const code = str.charCodeAt(i);
|
|
169
182
|
switch (code) {
|
|
170
|
-
case 34:
|
|
171
|
-
case 92:
|
|
172
|
-
uint8[x++] = 0x5c;
|
|
183
|
+
case 34: // "
|
|
184
|
+
case 92: // \
|
|
185
|
+
uint8[x++] = 0x5c; // \
|
|
173
186
|
break;
|
|
174
187
|
}
|
|
175
188
|
uint8[x++] = code;
|
|
176
189
|
}
|
|
177
|
-
uint8[x++] = 0x22;
|
|
190
|
+
uint8[x++] = 0x22; // "
|
|
178
191
|
writer.x = x;
|
|
179
192
|
}
|
|
180
193
|
writeArr(arr) {
|
|
181
194
|
const writer = this.writer;
|
|
182
|
-
writer.u8(0x5b);
|
|
195
|
+
writer.u8(0x5b); // [
|
|
183
196
|
const length = arr.length;
|
|
184
197
|
const last = length - 1;
|
|
185
198
|
for (let i = 0; i < last; i++) {
|
|
186
199
|
this.writeAny(arr[i]);
|
|
187
|
-
writer.u8(0x2c);
|
|
200
|
+
writer.u8(0x2c); // ,
|
|
188
201
|
}
|
|
189
202
|
if (last >= 0)
|
|
190
203
|
this.writeAny(arr[last]);
|
|
191
|
-
writer.u8(0x5d);
|
|
204
|
+
writer.u8(0x5d); // ]
|
|
192
205
|
}
|
|
193
206
|
writeArrSeparator() {
|
|
194
|
-
this.writer.u8(0x2c);
|
|
207
|
+
this.writer.u8(0x2c); // ,
|
|
195
208
|
}
|
|
196
209
|
writeObj(obj) {
|
|
197
210
|
const writer = this.writer;
|
|
198
211
|
const keys = Object.keys(obj);
|
|
199
212
|
const length = keys.length;
|
|
200
213
|
if (!length)
|
|
201
|
-
return writer.u16(0x7b7d);
|
|
202
|
-
writer.u8(0x7b);
|
|
214
|
+
return writer.u16(0x7b7d); // {}
|
|
215
|
+
writer.u8(0x7b); // {
|
|
203
216
|
for (let i = 0; i < length; i++) {
|
|
204
217
|
const key = keys[i];
|
|
205
218
|
const value = obj[key];
|
|
206
219
|
this.writeStr(key);
|
|
207
|
-
writer.u8(0x3a);
|
|
220
|
+
writer.u8(0x3a); // :
|
|
208
221
|
this.writeAny(value);
|
|
209
|
-
writer.u8(0x2c);
|
|
222
|
+
writer.u8(0x2c); // ,
|
|
210
223
|
}
|
|
211
|
-
writer.uint8[writer.x - 1] = 0x7d;
|
|
224
|
+
writer.uint8[writer.x - 1] = 0x7d; // }
|
|
212
225
|
}
|
|
213
226
|
writeObjSeparator() {
|
|
214
|
-
this.writer.u8(0x2c);
|
|
227
|
+
this.writer.u8(0x2c); // ,
|
|
215
228
|
}
|
|
216
229
|
writeObjKeySeparator() {
|
|
217
|
-
this.writer.u8(0x3a);
|
|
230
|
+
this.writer.u8(0x3a); // :
|
|
218
231
|
}
|
|
232
|
+
// ------------------------------------------------------- Streaming encoding
|
|
219
233
|
writeStartStr() {
|
|
220
234
|
throw new Error('Method not implemented.');
|
|
221
235
|
}
|
|
@@ -235,22 +249,22 @@ class JsonEncoder {
|
|
|
235
249
|
throw new Error('Method not implemented.');
|
|
236
250
|
}
|
|
237
251
|
writeStartArr() {
|
|
238
|
-
this.writer.u8(0x5b);
|
|
252
|
+
this.writer.u8(0x5b); // [
|
|
239
253
|
}
|
|
240
254
|
writeArrChunk(item) {
|
|
241
255
|
throw new Error('Method not implemented.');
|
|
242
256
|
}
|
|
243
257
|
writeEndArr() {
|
|
244
|
-
this.writer.u8(0x5d);
|
|
258
|
+
this.writer.u8(0x5d); // ]
|
|
245
259
|
}
|
|
246
260
|
writeStartObj() {
|
|
247
|
-
this.writer.u8(0x7b);
|
|
261
|
+
this.writer.u8(0x7b); // {
|
|
248
262
|
}
|
|
249
263
|
writeObjChunk(key, value) {
|
|
250
264
|
throw new Error('Method not implemented.');
|
|
251
265
|
}
|
|
252
266
|
writeEndObj() {
|
|
253
|
-
this.writer.u8(0x7d);
|
|
267
|
+
this.writer.u8(0x7d); // }
|
|
254
268
|
}
|
|
255
269
|
}
|
|
256
270
|
exports.JsonEncoder = JsonEncoder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonEncoder.js","sourceRoot":"","sources":["../../src/json/JsonEncoder.ts"],"names":[],"mappings":";;;AAAA,qEAAgE;AAIhE,MAAa,WAAW;IACtB,YAA4B,MAAiC;QAAjC,WAAM,GAAN,MAAM,CAA2B;IAAG,CAAC;IAE1D,MAAM,CAAC,KAAc;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonEncoder.js","sourceRoot":"","sources":["../../src/json/JsonEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { JsonEncoderStable } from './JsonEncoderStable';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for implementing DAG-JSON encoders.
|
|
4
|
+
*
|
|
5
|
+
* @see https://ipld.io/specs/codecs/dag-json/spec/
|
|
6
|
+
*/
|
|
2
7
|
export declare class JsonEncoderDag extends JsonEncoderStable {
|
|
8
|
+
/**
|
|
9
|
+
* Encodes binary data as nested `["/", "bytes"]` object encoded in Base64
|
|
10
|
+
* without padding.
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
*
|
|
14
|
+
* ```json
|
|
15
|
+
* {"/":{"bytes":"aGVsbG8gd29ybGQ"}}
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @param buf Binary data to write.
|
|
19
|
+
*/
|
|
3
20
|
writeBin(buf: Uint8Array): void;
|
|
4
21
|
writeCid(cid: string): void;
|
|
5
22
|
}
|
|
@@ -6,7 +6,24 @@ const createToBase64Bin_1 = require("@jsonjoy.com/base64/lib/createToBase64Bin")
|
|
|
6
6
|
const objBaseLength = '{"/":{"bytes":""}}'.length;
|
|
7
7
|
const cidBaseLength = '{"/":""}'.length;
|
|
8
8
|
const base64Encode = (0, createToBase64Bin_1.createToBase64Bin)(undefined, '');
|
|
9
|
+
/**
|
|
10
|
+
* Base class for implementing DAG-JSON encoders.
|
|
11
|
+
*
|
|
12
|
+
* @see https://ipld.io/specs/codecs/dag-json/spec/
|
|
13
|
+
*/
|
|
9
14
|
class JsonEncoderDag extends JsonEncoderStable_1.JsonEncoderStable {
|
|
15
|
+
/**
|
|
16
|
+
* Encodes binary data as nested `["/", "bytes"]` object encoded in Base64
|
|
17
|
+
* without padding.
|
|
18
|
+
*
|
|
19
|
+
* Example:
|
|
20
|
+
*
|
|
21
|
+
* ```json
|
|
22
|
+
* {"/":{"bytes":"aGVsbG8gd29ybGQ"}}
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @param buf Binary data to write.
|
|
26
|
+
*/
|
|
10
27
|
writeBin(buf) {
|
|
11
28
|
const writer = this.writer;
|
|
12
29
|
const length = buf.length;
|
|
@@ -14,30 +31,30 @@ class JsonEncoderDag extends JsonEncoderStable_1.JsonEncoderStable {
|
|
|
14
31
|
const view = writer.view;
|
|
15
32
|
const uint8 = writer.uint8;
|
|
16
33
|
let x = writer.x;
|
|
17
|
-
view.setUint32(x, 0x7b222f22);
|
|
34
|
+
view.setUint32(x, 0x7b222f22); // {"/"
|
|
18
35
|
x += 4;
|
|
19
|
-
view.setUint32(x, 0x3a7b2262);
|
|
36
|
+
view.setUint32(x, 0x3a7b2262); // :{"b
|
|
20
37
|
x += 4;
|
|
21
|
-
view.setUint32(x, 0x79746573);
|
|
38
|
+
view.setUint32(x, 0x79746573); // ytes
|
|
22
39
|
x += 4;
|
|
23
|
-
view.setUint16(x, 0x223a);
|
|
40
|
+
view.setUint16(x, 0x223a); // ":
|
|
24
41
|
x += 2;
|
|
25
|
-
uint8[x] = 0x22;
|
|
42
|
+
uint8[x] = 0x22; // "
|
|
26
43
|
x += 1;
|
|
27
44
|
x = base64Encode(buf, 0, length, view, x);
|
|
28
|
-
view.setUint16(x, 0x227d);
|
|
45
|
+
view.setUint16(x, 0x227d); // "}
|
|
29
46
|
x += 2;
|
|
30
|
-
uint8[x] = 0x7d;
|
|
47
|
+
uint8[x] = 0x7d; // }
|
|
31
48
|
x += 1;
|
|
32
49
|
writer.x = x;
|
|
33
50
|
}
|
|
34
51
|
writeCid(cid) {
|
|
35
52
|
const writer = this.writer;
|
|
36
53
|
writer.ensureCapacity(cidBaseLength + cid.length);
|
|
37
|
-
writer.u32(0x7b222f22);
|
|
38
|
-
writer.u16(0x3a22);
|
|
54
|
+
writer.u32(0x7b222f22); // {"/"
|
|
55
|
+
writer.u16(0x3a22); // :"
|
|
39
56
|
writer.ascii(cid);
|
|
40
|
-
writer.u16(0x227d);
|
|
57
|
+
writer.u16(0x227d); // "}
|
|
41
58
|
}
|
|
42
59
|
}
|
|
43
60
|
exports.JsonEncoderDag = JsonEncoderDag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonEncoderDag.js","sourceRoot":"","sources":["../../src/json/JsonEncoderDag.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AACtD,iFAA4E;AAE5E,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAClD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;AACxC,MAAM,YAAY,GAAG,IAAA,qCAAiB,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonEncoderDag.js","sourceRoot":"","sources":["../../src/json/JsonEncoderDag.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AACtD,iFAA4E;AAE5E,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAClD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;AACxC,MAAM,YAAY,GAAG,IAAA,qCAAiB,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAa,cAAe,SAAQ,qCAAiB;IACnD;;;;;;;;;;;OAWG;IACI,QAAQ,CAAC,GAAe;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO;QACtC,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO;QACtC,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO;QACtC,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK;QAChC,CAAC,IAAI,CAAC,CAAC;QACP,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI;QACrB,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK;QAChC,CAAC,IAAI,CAAC,CAAC;QACP,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI;QACrB,CAAC,IAAI,CAAC,CAAC;QACP,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEM,QAAQ,CAAC,GAAW;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;QAC/B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QACzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;IAC3B,CAAC;CACF;AA9CD,wCA8CC"}
|
|
@@ -11,17 +11,17 @@ class JsonEncoderStable extends JsonEncoder_1.JsonEncoder {
|
|
|
11
11
|
(0, insertion2_1.sort)(keys, objKeyCmp_1.objKeyCmp);
|
|
12
12
|
const length = keys.length;
|
|
13
13
|
if (!length)
|
|
14
|
-
return writer.u16(0x7b7d);
|
|
15
|
-
writer.u8(0x7b);
|
|
14
|
+
return writer.u16(0x7b7d); // {}
|
|
15
|
+
writer.u8(0x7b); // {
|
|
16
16
|
for (let i = 0; i < length; i++) {
|
|
17
17
|
const key = keys[i];
|
|
18
18
|
const value = obj[key];
|
|
19
19
|
this.writeStr(key);
|
|
20
|
-
writer.u8(0x3a);
|
|
20
|
+
writer.u8(0x3a); // :
|
|
21
21
|
this.writeAny(value);
|
|
22
|
-
writer.u8(0x2c);
|
|
22
|
+
writer.u8(0x2c); // ,
|
|
23
23
|
}
|
|
24
|
-
writer.uint8[writer.x - 1] = 0x7d;
|
|
24
|
+
writer.uint8[writer.x - 1] = 0x7d; // }
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
exports.JsonEncoderStable = JsonEncoderStable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonEncoderStable.js","sourceRoot":"","sources":["../../src/json/JsonEncoderStable.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,sEAA2D;AAC3D,+DAA0D;AAE1D,MAAa,iBAAkB,SAAQ,yBAAW;IACzC,QAAQ,CAAC,GAA4B;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAA,iBAAI,EAAC,IAAI,EAAE,qBAAS,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonEncoderStable.js","sourceRoot":"","sources":["../../src/json/JsonEncoderStable.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,sEAA2D;AAC3D,+DAA0D;AAE1D,MAAa,iBAAkB,SAAQ,yBAAW;IACzC,QAAQ,CAAC,GAA4B;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAA,iBAAI,EAAC,IAAI,EAAE,qBAAS,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAC7C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACvB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI;IACzC,CAAC;CACF;AAlBD,8CAkBC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { binary_string } from './types';
|
|
1
|
+
import type { binary_string } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Replaces strings with Uint8Arrays in-place.
|
|
4
|
+
*/
|
|
2
5
|
export declare const unwrapBinary: (value: unknown) => unknown;
|
|
3
6
|
export declare const parse: (json: string) => unknown;
|
|
4
7
|
export declare const stringifyBinary: <T extends Uint8Array>(value: T) => binary_string<T>;
|
|
8
|
+
/**
|
|
9
|
+
* Replaces Uint8Arrays with strings, returns a new structure,
|
|
10
|
+
* without mutating the original.
|
|
11
|
+
*/
|
|
5
12
|
export declare const wrapBinary: (value: unknown) => unknown;
|
|
6
13
|
type Stringify = ((value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number) => string) | ((value: any, replacer?: (number | string)[] | null, space?: string | number) => string);
|
|
7
14
|
export declare const stringify: Stringify;
|
package/lib/json-binary/codec.js
CHANGED
|
@@ -20,6 +20,9 @@ const parseExtDataUri = (uri) => {
|
|
|
20
20
|
const buf = (0, fromBase64_1.fromBase64)(uri.substring(commaIndex + 1));
|
|
21
21
|
return new JsonPackExtension_1.JsonPackExtension(Number(typeString), buf);
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Replaces strings with Uint8Arrays in-place.
|
|
25
|
+
*/
|
|
23
26
|
const unwrapBinary = (value) => {
|
|
24
27
|
if (!value)
|
|
25
28
|
return value;
|
|
@@ -93,6 +96,10 @@ const parse = (json) => {
|
|
|
93
96
|
exports.parse = parse;
|
|
94
97
|
const stringifyBinary = (value) => (constants_1.binUriStart + (0, toBase64_1.toBase64)(value));
|
|
95
98
|
exports.stringifyBinary = stringifyBinary;
|
|
99
|
+
/**
|
|
100
|
+
* Replaces Uint8Arrays with strings, returns a new structure,
|
|
101
|
+
* without mutating the original.
|
|
102
|
+
*/
|
|
96
103
|
const wrapBinary = (value) => {
|
|
97
104
|
if (!value)
|
|
98
105
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/json-binary/codec.ts"],"names":[],"mappings":";;;AAAA,4DAAuD;AACvD,oDAA+C;AAC/C,mEAA8D;AAC9D,+DAA0D;AAC1D,wEAAmE;AACnE,2CAA0E;AAG1E,MAAM,iBAAiB,GAAG,uBAAW,CAAC,MAAM,CAAC;AAC7C,MAAM,qBAAqB,GAAG,2BAAe,CAAC,MAAM,CAAC;AACrD,MAAM,qBAAqB,GAAG,2BAAe,CAAC,MAAM,CAAC;AACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAAC,GAAW,EAAqB,EAAE;IACzD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,qCAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/json-binary/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,41 @@
|
|
|
1
1
|
import { MsgPackDecoderFast } from './MsgPackDecoderFast';
|
|
2
2
|
import type { Path } from '@jsonjoy.com/json-pointer';
|
|
3
3
|
import type { Reader } from '@jsonjoy.com/buffers/lib/Reader';
|
|
4
|
+
/**
|
|
5
|
+
* @category Decoder
|
|
6
|
+
*/
|
|
4
7
|
export declare class MsgPackDecoder extends MsgPackDecoderFast<Reader> {
|
|
8
|
+
/**
|
|
9
|
+
* Skips a whole JSON value and returns back the number of bytes
|
|
10
|
+
* that value consumed.
|
|
11
|
+
*/
|
|
5
12
|
skipAny(): number;
|
|
13
|
+
/** @ignore */
|
|
6
14
|
protected skipArr(size: number): number;
|
|
15
|
+
/** @ignore */
|
|
7
16
|
protected skipObj(size: number): number;
|
|
8
17
|
readLevel(uint8: Uint8Array): unknown;
|
|
9
18
|
protected valOneLevel(): unknown;
|
|
19
|
+
/**
|
|
20
|
+
* @ignore
|
|
21
|
+
* @returns Returns a primitive value or {@link JsonPackValue} object, if the value
|
|
22
|
+
* is a "map" or an "arr".
|
|
23
|
+
*/
|
|
10
24
|
protected primitive(): unknown;
|
|
11
25
|
protected skip(length: number): number;
|
|
26
|
+
/**
|
|
27
|
+
* Throws if at given offset in a buffer there is an invalid MessagePack
|
|
28
|
+
* value, or if the value does not span the exact length specified in `size`.
|
|
29
|
+
* I.e. throws if:
|
|
30
|
+
*
|
|
31
|
+
* - The value is not a valid MessagePack value.
|
|
32
|
+
* - The value is shorter than `size`.
|
|
33
|
+
* - The value is longer than `size`.
|
|
34
|
+
*
|
|
35
|
+
* @param value Buffer in which to validate MessagePack value.
|
|
36
|
+
* @param offset Offset at which the value starts.
|
|
37
|
+
* @param size Expected size of the value.
|
|
38
|
+
*/
|
|
12
39
|
validate(value: Uint8Array, offset?: number, size?: number): void;
|
|
13
40
|
readObjHdr(): number;
|
|
14
41
|
readStrHdr(): number;
|