@jsonjoy.com/json-pack 1.21.0 → 17.60.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CborEncoderStable.js","sourceRoot":"","sources":["../../src/cbor/CborEncoderStable.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,sEAA2D;AAE3D,+DAA0D;AAE1D,MAAM,eAAe,GAAG,CAAC,OAAe,EAAiB,EAAE;IACzD,IAAI,OAAO,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC;SACvB,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;SAC9B,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;;QAChC,OAAO,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,MAAa,iBAAkB,SAAQ,yBAAW;IACzC,QAAQ,CAAC,GAA4B;QAC1C,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,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;
|
|
1
|
+
{"version":3,"file":"CborEncoderStable.js","sourceRoot":"","sources":["../../src/cbor/CborEncoderStable.ts"],"names":[],"mappings":"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"}
|
package/lib/cbor/shared.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CborEncoder } from './CborEncoder';
|
|
2
2
|
import { CborDecoder } from './CborDecoder';
|
|
3
|
-
import { CborUint8Array } from './types';
|
|
3
|
+
import type { CborUint8Array } from './types';
|
|
4
4
|
export type { CborUint8Array };
|
|
5
5
|
export declare const encoder: CborEncoder<import("@jsonjoy.com/buffers").IWriter & import("@jsonjoy.com/buffers").IWriterGrowable>;
|
|
6
6
|
export declare const decoder: CborDecoder<import("@jsonjoy.com/buffers").IReader & import("@jsonjoy.com/buffers").IReaderResettable>;
|
package/lib/codecs/Codecs.d.ts
CHANGED
package/lib/codecs/cbor.js
CHANGED
|
@@ -6,7 +6,7 @@ const CborEncoder_1 = require("../cbor/CborEncoder");
|
|
|
6
6
|
class CborJsonValueCodec {
|
|
7
7
|
constructor(writer) {
|
|
8
8
|
this.id = 'cbor';
|
|
9
|
-
this.format = 0
|
|
9
|
+
this.format = 0 /* EncodingFormat.Cbor */;
|
|
10
10
|
this.encoder = new CborEncoder_1.CborEncoder(writer);
|
|
11
11
|
this.decoder = new CborDecoder_1.CborDecoder();
|
|
12
12
|
}
|
package/lib/codecs/cbor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../src/codecs/cbor.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,qDAAgD;AAKhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM
|
|
1
|
+
{"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../src/codecs/cbor.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,qDAAgD;AAKhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,+BAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
|
package/lib/codecs/json.js
CHANGED
|
@@ -6,7 +6,7 @@ const JsonDecoder_1 = require("../json/JsonDecoder");
|
|
|
6
6
|
class JsonJsonValueCodec {
|
|
7
7
|
constructor(writer) {
|
|
8
8
|
this.id = 'json';
|
|
9
|
-
this.format = 2
|
|
9
|
+
this.format = 2 /* EncodingFormat.Json */;
|
|
10
10
|
this.encoder = new JsonEncoder_1.JsonEncoder(writer);
|
|
11
11
|
this.decoder = new JsonDecoder_1.JsonDecoder();
|
|
12
12
|
}
|
package/lib/codecs/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/codecs/json.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAIhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/codecs/json.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAIhD,MAAa,kBAAkB;IAM7B,YAAY,MAAc;QALV,OAAE,GAAG,MAAM,CAAC;QACZ,WAAM,+BAAuB;QAK3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAVD,gDAUC"}
|
package/lib/codecs/msgpack.js
CHANGED
|
@@ -6,7 +6,7 @@ const MsgPackDecoder_1 = require("../msgpack/MsgPackDecoder");
|
|
|
6
6
|
class MsgPackJsonValueCodec {
|
|
7
7
|
constructor(writer) {
|
|
8
8
|
this.id = 'msgpack';
|
|
9
|
-
this.format = 1
|
|
9
|
+
this.format = 1 /* EncodingFormat.MsgPack */;
|
|
10
10
|
this.encoder = new msgpack_1.MsgPackEncoder(writer);
|
|
11
11
|
this.decoder = new MsgPackDecoder_1.MsgPackDecoder();
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msgpack.js","sourceRoot":"","sources":["../../src/codecs/msgpack.ts"],"names":[],"mappings":";;;AACA,wCAA0C;AAC1C,8DAAyD;AAIzD,MAAa,qBAAqB;IAMhC,YAAY,MAAc;QALV,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,
|
|
1
|
+
{"version":3,"file":"msgpack.js","sourceRoot":"","sources":["../../src/codecs/msgpack.ts"],"names":[],"mappings":";;;AACA,wCAA0C;AAC1C,8DAAyD;AAIzD,MAAa,qBAAqB;IAMhC,YAAY,MAAc;QALV,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,kCAA0B;QAK9C,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;IACtC,CAAC;CACF;AAVD,sDAUC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { JsonDecoder } from '../json/JsonDecoder';
|
|
2
2
|
export interface EjsonDecoderOptions {
|
|
3
|
+
/** Whether to parse legacy Extended JSON formats */
|
|
3
4
|
legacy?: boolean;
|
|
4
5
|
}
|
|
5
6
|
export declare class EjsonDecoder extends JsonDecoder {
|
|
6
7
|
private options;
|
|
7
8
|
constructor(options?: EjsonDecoderOptions);
|
|
9
|
+
/**
|
|
10
|
+
* Decode from string (for backward compatibility).
|
|
11
|
+
* This method maintains the previous API but uses the binary decoder internally.
|
|
12
|
+
*/
|
|
8
13
|
decodeFromString(json: string): unknown;
|
|
9
14
|
readAny(): unknown;
|
|
10
15
|
readArr(): unknown[];
|
|
@@ -9,6 +9,10 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
9
9
|
super();
|
|
10
10
|
this.options = options;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Decode from string (for backward compatibility).
|
|
14
|
+
* This method maintains the previous API but uses the binary decoder internally.
|
|
15
|
+
*/
|
|
12
16
|
decodeFromString(json) {
|
|
13
17
|
const bytes = new TextEncoder().encode(json);
|
|
14
18
|
return this.decode(bytes);
|
|
@@ -19,27 +23,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
19
23
|
const uint8 = reader.uint8;
|
|
20
24
|
const char = uint8[reader.x];
|
|
21
25
|
switch (char) {
|
|
22
|
-
case 34
|
|
26
|
+
case 34 /* " */:
|
|
23
27
|
return this.readStr();
|
|
24
|
-
case 91
|
|
28
|
+
case 91 /* [ */:
|
|
25
29
|
return this.readArr();
|
|
26
|
-
case 102
|
|
30
|
+
case 102 /* f */:
|
|
27
31
|
return this.readFalse();
|
|
28
|
-
case 110
|
|
32
|
+
case 110 /* n */:
|
|
29
33
|
return this.readNull();
|
|
30
|
-
case 116
|
|
34
|
+
case 116 /* t */:
|
|
31
35
|
return this.readTrue();
|
|
32
|
-
case 123
|
|
36
|
+
case 123 /* { */:
|
|
33
37
|
return this.readObjWithEjsonSupport();
|
|
34
38
|
default:
|
|
35
|
-
if ((char >= 48 && char <= 57) || char === 45)
|
|
39
|
+
if ((char >= 48 /* 0 */ && char <= 57) /* 9 */ || char === 45 /* - */)
|
|
36
40
|
return this.readNum();
|
|
37
41
|
throw new Error('Invalid JSON');
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
readArr() {
|
|
41
45
|
const reader = this.reader;
|
|
42
|
-
if (reader.u8() !== 0x5b)
|
|
46
|
+
if (reader.u8() !== 0x5b /* [ */)
|
|
43
47
|
throw new Error('Invalid JSON');
|
|
44
48
|
const arr = [];
|
|
45
49
|
const uint8 = reader.uint8;
|
|
@@ -47,20 +51,20 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
47
51
|
while (true) {
|
|
48
52
|
this.skipWhitespace();
|
|
49
53
|
const char = uint8[reader.x];
|
|
50
|
-
if (char === 0x5d)
|
|
54
|
+
if (char === 0x5d /* ] */)
|
|
51
55
|
return reader.x++, arr;
|
|
52
|
-
if (char === 0x2c)
|
|
56
|
+
if (char === 0x2c /* , */)
|
|
53
57
|
reader.x++;
|
|
54
58
|
else if (!first)
|
|
55
59
|
throw new Error('Invalid JSON');
|
|
56
60
|
this.skipWhitespace();
|
|
57
|
-
arr.push(this.readAny());
|
|
61
|
+
arr.push(this.readAny()); // Arrays should process EJSON objects recursively
|
|
58
62
|
first = false;
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
65
|
readObjWithEjsonSupport() {
|
|
62
66
|
const reader = this.reader;
|
|
63
|
-
if (reader.u8() !== 0x7b)
|
|
67
|
+
if (reader.u8() !== 0x7b /* { */)
|
|
64
68
|
throw new Error('Invalid JSON');
|
|
65
69
|
const obj = {};
|
|
66
70
|
const uint8 = reader.uint8;
|
|
@@ -68,25 +72,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
68
72
|
while (true) {
|
|
69
73
|
this.skipWhitespace();
|
|
70
74
|
let char = uint8[reader.x];
|
|
71
|
-
if (char === 0x7d) {
|
|
75
|
+
if (char === 0x7d /* } */) {
|
|
72
76
|
reader.x++;
|
|
77
|
+
// Check if this is an EJSON type wrapper
|
|
73
78
|
return this.transformEjsonObject(obj);
|
|
74
79
|
}
|
|
75
|
-
if (char === 0x2c)
|
|
80
|
+
if (char === 0x2c /* , */)
|
|
76
81
|
reader.x++;
|
|
77
82
|
else if (!first)
|
|
78
83
|
throw new Error('Invalid JSON');
|
|
79
84
|
this.skipWhitespace();
|
|
80
85
|
char = uint8[reader.x++];
|
|
81
|
-
if (char !== 0x22)
|
|
86
|
+
if (char !== 0x22 /* " */)
|
|
82
87
|
throw new Error('Invalid JSON');
|
|
83
88
|
const key = (0, JsonDecoder_2.readKey)(reader);
|
|
84
89
|
if (key === '__proto__')
|
|
85
90
|
throw new Error('Invalid JSON');
|
|
86
91
|
this.skipWhitespace();
|
|
87
|
-
if (reader.u8() !== 0x3a)
|
|
92
|
+
if (reader.u8() !== 0x3a /* : */)
|
|
88
93
|
throw new Error('Invalid JSON');
|
|
89
94
|
this.skipWhitespace();
|
|
95
|
+
// For EJSON type wrapper detection, we need to read nested objects as raw first
|
|
90
96
|
obj[key] = this.readValue();
|
|
91
97
|
first = false;
|
|
92
98
|
}
|
|
@@ -97,27 +103,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
97
103
|
const uint8 = reader.uint8;
|
|
98
104
|
const char = uint8[reader.x];
|
|
99
105
|
switch (char) {
|
|
100
|
-
case 34
|
|
106
|
+
case 34 /* " */:
|
|
101
107
|
return this.readStr();
|
|
102
|
-
case 91
|
|
108
|
+
case 91 /* [ */:
|
|
103
109
|
return this.readArr();
|
|
104
|
-
case 102
|
|
110
|
+
case 102 /* f */:
|
|
105
111
|
return this.readFalse();
|
|
106
|
-
case 110
|
|
112
|
+
case 110 /* n */:
|
|
107
113
|
return this.readNull();
|
|
108
|
-
case 116
|
|
114
|
+
case 116 /* t */:
|
|
109
115
|
return this.readTrue();
|
|
110
|
-
case 123
|
|
111
|
-
return this.readRawObj();
|
|
116
|
+
case 123 /* { */:
|
|
117
|
+
return this.readRawObj(); // Read as raw object first
|
|
112
118
|
default:
|
|
113
|
-
if ((char >= 48 && char <= 57) || char === 45)
|
|
119
|
+
if ((char >= 48 /* 0 */ && char <= 57) /* 9 */ || char === 45 /* - */)
|
|
114
120
|
return this.readNum();
|
|
115
121
|
throw new Error('Invalid JSON');
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
readRawObj() {
|
|
119
125
|
const reader = this.reader;
|
|
120
|
-
if (reader.u8() !== 0x7b)
|
|
126
|
+
if (reader.u8() !== 0x7b /* { */)
|
|
121
127
|
throw new Error('Invalid JSON');
|
|
122
128
|
const obj = {};
|
|
123
129
|
const uint8 = reader.uint8;
|
|
@@ -125,23 +131,23 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
125
131
|
while (true) {
|
|
126
132
|
this.skipWhitespace();
|
|
127
133
|
let char = uint8[reader.x];
|
|
128
|
-
if (char === 0x7d) {
|
|
134
|
+
if (char === 0x7d /* } */) {
|
|
129
135
|
reader.x++;
|
|
130
|
-
return obj;
|
|
136
|
+
return obj; // Return raw object without transformation
|
|
131
137
|
}
|
|
132
|
-
if (char === 0x2c)
|
|
138
|
+
if (char === 0x2c /* , */)
|
|
133
139
|
reader.x++;
|
|
134
140
|
else if (!first)
|
|
135
141
|
throw new Error('Invalid JSON');
|
|
136
142
|
this.skipWhitespace();
|
|
137
143
|
char = uint8[reader.x++];
|
|
138
|
-
if (char !== 0x22)
|
|
144
|
+
if (char !== 0x22 /* " */)
|
|
139
145
|
throw new Error('Invalid JSON');
|
|
140
146
|
const key = (0, JsonDecoder_2.readKey)(reader);
|
|
141
147
|
if (key === '__proto__')
|
|
142
148
|
throw new Error('Invalid JSON');
|
|
143
149
|
this.skipWhitespace();
|
|
144
|
-
if (reader.u8() !== 0x3a)
|
|
150
|
+
if (reader.u8() !== 0x3a /* : */)
|
|
145
151
|
throw new Error('Invalid JSON');
|
|
146
152
|
this.skipWhitespace();
|
|
147
153
|
obj[key] = this.readValue();
|
|
@@ -150,13 +156,16 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
150
156
|
}
|
|
151
157
|
transformEjsonObject(obj) {
|
|
152
158
|
const keys = Object.keys(obj);
|
|
159
|
+
// Helper function to validate exact key match
|
|
153
160
|
const hasExactKeys = (expectedKeys) => {
|
|
154
161
|
if (keys.length !== expectedKeys.length)
|
|
155
162
|
return false;
|
|
156
163
|
return expectedKeys.every((key) => keys.includes(key));
|
|
157
164
|
};
|
|
165
|
+
// Check if object has any special $ keys that indicate a type wrapper
|
|
158
166
|
const specialKeys = keys.filter((key) => key.startsWith('$'));
|
|
159
167
|
if (specialKeys.length > 0) {
|
|
168
|
+
// ObjectId
|
|
160
169
|
if (specialKeys.includes('$oid')) {
|
|
161
170
|
if (!hasExactKeys(['$oid'])) {
|
|
162
171
|
throw new Error('Invalid ObjectId format: extra keys not allowed');
|
|
@@ -167,6 +176,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
167
176
|
}
|
|
168
177
|
throw new Error('Invalid ObjectId format');
|
|
169
178
|
}
|
|
179
|
+
// Int32
|
|
170
180
|
if (specialKeys.includes('$numberInt')) {
|
|
171
181
|
if (!hasExactKeys(['$numberInt'])) {
|
|
172
182
|
throw new Error('Invalid Int32 format: extra keys not allowed');
|
|
@@ -174,25 +184,27 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
174
184
|
const intStr = obj.$numberInt;
|
|
175
185
|
if (typeof intStr === 'string') {
|
|
176
186
|
const value = parseInt(intStr, 10);
|
|
177
|
-
if (!isNaN(value) && value >= -2147483648 && value <= 2147483647) {
|
|
187
|
+
if (!Number.isNaN(value) && value >= -2147483648 && value <= 2147483647) {
|
|
178
188
|
return new values_1.BsonInt32(value);
|
|
179
189
|
}
|
|
180
190
|
}
|
|
181
191
|
throw new Error('Invalid Int32 format');
|
|
182
192
|
}
|
|
193
|
+
// Int64
|
|
183
194
|
if (specialKeys.includes('$numberLong')) {
|
|
184
195
|
if (!hasExactKeys(['$numberLong'])) {
|
|
185
196
|
throw new Error('Invalid Int64 format: extra keys not allowed');
|
|
186
197
|
}
|
|
187
198
|
const longStr = obj.$numberLong;
|
|
188
199
|
if (typeof longStr === 'string') {
|
|
189
|
-
const value = parseFloat(longStr);
|
|
190
|
-
if (!isNaN(value)) {
|
|
200
|
+
const value = parseFloat(longStr); // Use parseFloat to handle large numbers better
|
|
201
|
+
if (!Number.isNaN(value)) {
|
|
191
202
|
return new values_1.BsonInt64(value);
|
|
192
203
|
}
|
|
193
204
|
}
|
|
194
205
|
throw new Error('Invalid Int64 format');
|
|
195
206
|
}
|
|
207
|
+
// Double
|
|
196
208
|
if (specialKeys.includes('$numberDouble')) {
|
|
197
209
|
if (!hasExactKeys(['$numberDouble'])) {
|
|
198
210
|
throw new Error('Invalid Double format: extra keys not allowed');
|
|
@@ -206,12 +218,13 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
206
218
|
if (doubleStr === 'NaN')
|
|
207
219
|
return new values_1.BsonFloat(NaN);
|
|
208
220
|
const value = parseFloat(doubleStr);
|
|
209
|
-
if (!isNaN(value)) {
|
|
221
|
+
if (!Number.isNaN(value)) {
|
|
210
222
|
return new values_1.BsonFloat(value);
|
|
211
223
|
}
|
|
212
224
|
}
|
|
213
225
|
throw new Error('Invalid Double format');
|
|
214
226
|
}
|
|
227
|
+
// Decimal128
|
|
215
228
|
if (specialKeys.includes('$numberDecimal')) {
|
|
216
229
|
if (!hasExactKeys(['$numberDecimal'])) {
|
|
217
230
|
throw new Error('Invalid Decimal128 format: extra keys not allowed');
|
|
@@ -222,6 +235,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
222
235
|
}
|
|
223
236
|
throw new Error('Invalid Decimal128 format');
|
|
224
237
|
}
|
|
238
|
+
// Binary
|
|
225
239
|
if (specialKeys.includes('$binary')) {
|
|
226
240
|
if (!hasExactKeys(['$binary'])) {
|
|
227
241
|
throw new Error('Invalid Binary format: extra keys not allowed');
|
|
@@ -241,6 +255,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
241
255
|
}
|
|
242
256
|
throw new Error('Invalid Binary format');
|
|
243
257
|
}
|
|
258
|
+
// UUID (special case of Binary)
|
|
244
259
|
if (specialKeys.includes('$uuid')) {
|
|
245
260
|
if (!hasExactKeys(['$uuid'])) {
|
|
246
261
|
throw new Error('Invalid UUID format: extra keys not allowed');
|
|
@@ -248,10 +263,11 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
248
263
|
const uuidStr = obj.$uuid;
|
|
249
264
|
if (typeof uuidStr === 'string' && this.isValidUuid(uuidStr)) {
|
|
250
265
|
const data = this.uuidToBytes(uuidStr);
|
|
251
|
-
return new values_1.BsonBinary(4, data);
|
|
266
|
+
return new values_1.BsonBinary(4, data); // Subtype 4 for UUID
|
|
252
267
|
}
|
|
253
268
|
throw new Error('Invalid UUID format');
|
|
254
269
|
}
|
|
270
|
+
// Code
|
|
255
271
|
if (specialKeys.includes('$code') && !specialKeys.includes('$scope')) {
|
|
256
272
|
if (!hasExactKeys(['$code'])) {
|
|
257
273
|
throw new Error('Invalid Code format: extra keys not allowed');
|
|
@@ -262,6 +278,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
262
278
|
}
|
|
263
279
|
throw new Error('Invalid Code format');
|
|
264
280
|
}
|
|
281
|
+
// CodeWScope
|
|
265
282
|
if (specialKeys.includes('$code') && specialKeys.includes('$scope')) {
|
|
266
283
|
if (!hasExactKeys(['$code', '$scope'])) {
|
|
267
284
|
throw new Error('Invalid CodeWScope format: extra keys not allowed');
|
|
@@ -273,6 +290,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
273
290
|
}
|
|
274
291
|
throw new Error('Invalid CodeWScope format');
|
|
275
292
|
}
|
|
293
|
+
// Symbol
|
|
276
294
|
if (specialKeys.includes('$symbol')) {
|
|
277
295
|
if (!hasExactKeys(['$symbol'])) {
|
|
278
296
|
throw new Error('Invalid Symbol format: extra keys not allowed');
|
|
@@ -283,6 +301,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
283
301
|
}
|
|
284
302
|
throw new Error('Invalid Symbol format');
|
|
285
303
|
}
|
|
304
|
+
// Timestamp
|
|
286
305
|
if (specialKeys.includes('$timestamp')) {
|
|
287
306
|
if (!hasExactKeys(['$timestamp'])) {
|
|
288
307
|
throw new Error('Invalid Timestamp format: extra keys not allowed');
|
|
@@ -300,6 +319,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
300
319
|
}
|
|
301
320
|
throw new Error('Invalid Timestamp format');
|
|
302
321
|
}
|
|
322
|
+
// Regular Expression
|
|
303
323
|
if (specialKeys.includes('$regularExpression')) {
|
|
304
324
|
if (!hasExactKeys(['$regularExpression'])) {
|
|
305
325
|
throw new Error('Invalid RegularExpression format: extra keys not allowed');
|
|
@@ -317,6 +337,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
317
337
|
}
|
|
318
338
|
throw new Error('Invalid RegularExpression format');
|
|
319
339
|
}
|
|
340
|
+
// DBPointer
|
|
320
341
|
if (specialKeys.includes('$dbPointer')) {
|
|
321
342
|
if (!hasExactKeys(['$dbPointer'])) {
|
|
322
343
|
throw new Error('Invalid DBPointer format: extra keys not allowed');
|
|
@@ -337,29 +358,33 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
337
358
|
}
|
|
338
359
|
throw new Error('Invalid DBPointer format');
|
|
339
360
|
}
|
|
361
|
+
// Date
|
|
340
362
|
if (specialKeys.includes('$date')) {
|
|
341
363
|
if (!hasExactKeys(['$date'])) {
|
|
342
364
|
throw new Error('Invalid Date format: extra keys not allowed');
|
|
343
365
|
}
|
|
344
366
|
const dateValue = obj.$date;
|
|
345
367
|
if (typeof dateValue === 'string') {
|
|
368
|
+
// ISO-8601 format (relaxed)
|
|
346
369
|
const date = new Date(dateValue);
|
|
347
|
-
if (!isNaN(date.getTime())) {
|
|
370
|
+
if (!Number.isNaN(date.getTime())) {
|
|
348
371
|
return date;
|
|
349
372
|
}
|
|
350
373
|
}
|
|
351
374
|
else if (typeof dateValue === 'object' && dateValue !== null) {
|
|
375
|
+
// Canonical format with $numberLong
|
|
352
376
|
const longObj = dateValue;
|
|
353
377
|
const longKeys = Object.keys(longObj);
|
|
354
378
|
if (longKeys.length === 1 && longKeys[0] === '$numberLong' && typeof longObj.$numberLong === 'string') {
|
|
355
379
|
const timestamp = parseFloat(longObj.$numberLong);
|
|
356
|
-
if (!isNaN(timestamp)) {
|
|
380
|
+
if (!Number.isNaN(timestamp)) {
|
|
357
381
|
return new Date(timestamp);
|
|
358
382
|
}
|
|
359
383
|
}
|
|
360
384
|
}
|
|
361
385
|
throw new Error('Invalid Date format');
|
|
362
386
|
}
|
|
387
|
+
// MinKey
|
|
363
388
|
if (specialKeys.includes('$minKey')) {
|
|
364
389
|
if (!hasExactKeys(['$minKey'])) {
|
|
365
390
|
throw new Error('Invalid MinKey format: extra keys not allowed');
|
|
@@ -369,6 +394,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
369
394
|
}
|
|
370
395
|
throw new Error('Invalid MinKey format');
|
|
371
396
|
}
|
|
397
|
+
// MaxKey
|
|
372
398
|
if (specialKeys.includes('$maxKey')) {
|
|
373
399
|
if (!hasExactKeys(['$maxKey'])) {
|
|
374
400
|
throw new Error('Invalid MaxKey format: extra keys not allowed');
|
|
@@ -378,6 +404,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
378
404
|
}
|
|
379
405
|
throw new Error('Invalid MaxKey format');
|
|
380
406
|
}
|
|
407
|
+
// Undefined
|
|
381
408
|
if (specialKeys.includes('$undefined')) {
|
|
382
409
|
if (!hasExactKeys(['$undefined'])) {
|
|
383
410
|
throw new Error('Invalid Undefined format: extra keys not allowed');
|
|
@@ -388,6 +415,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
388
415
|
throw new Error('Invalid Undefined format');
|
|
389
416
|
}
|
|
390
417
|
}
|
|
418
|
+
// DBRef (not a BSON type, but a convention) - special case, can have additional fields
|
|
391
419
|
if (keys.includes('$ref') && keys.includes('$id')) {
|
|
392
420
|
const ref = obj.$ref;
|
|
393
421
|
const id = this.transformEjsonObject(obj.$id);
|
|
@@ -395,6 +423,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
395
423
|
if (keys.includes('$db')) {
|
|
396
424
|
result.$db = obj.$db;
|
|
397
425
|
}
|
|
426
|
+
// Add any other fields
|
|
398
427
|
for (const key of keys) {
|
|
399
428
|
if (key !== '$ref' && key !== '$id' && key !== '$db') {
|
|
400
429
|
result[key] = this.transformEjsonObject(obj[key]);
|
|
@@ -402,6 +431,7 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
402
431
|
}
|
|
403
432
|
return result;
|
|
404
433
|
}
|
|
434
|
+
// Regular object - transform all properties
|
|
405
435
|
const result = {};
|
|
406
436
|
for (const [key, val] of Object.entries(obj)) {
|
|
407
437
|
if (typeof val === 'object' && val !== null && !Array.isArray(val)) {
|
|
@@ -418,13 +448,16 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
418
448
|
}
|
|
419
449
|
return result;
|
|
420
450
|
}
|
|
451
|
+
// Utility methods
|
|
421
452
|
parseObjectId(hex) {
|
|
453
|
+
// Parse 24-character hex string into ObjectId components
|
|
422
454
|
const timestamp = parseInt(hex.slice(0, 8), 16);
|
|
423
455
|
const process = parseInt(hex.slice(8, 18), 16);
|
|
424
456
|
const counter = parseInt(hex.slice(18, 24), 16);
|
|
425
457
|
return new values_1.BsonObjectId(timestamp, process, counter);
|
|
426
458
|
}
|
|
427
459
|
base64ToUint8Array(base64) {
|
|
460
|
+
// Convert base64 string to Uint8Array
|
|
428
461
|
const binary = atob(base64);
|
|
429
462
|
const bytes = new Uint8Array(binary.length);
|
|
430
463
|
for (let i = 0; i < binary.length; i++) {
|
|
@@ -433,10 +466,12 @@ class EjsonDecoder extends JsonDecoder_1.JsonDecoder {
|
|
|
433
466
|
return bytes;
|
|
434
467
|
}
|
|
435
468
|
isValidUuid(uuid) {
|
|
469
|
+
// UUID pattern: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
436
470
|
const uuidPattern = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
437
471
|
return uuidPattern.test(uuid);
|
|
438
472
|
}
|
|
439
473
|
uuidToBytes(uuid) {
|
|
474
|
+
// Convert UUID string to 16-byte array
|
|
440
475
|
const hex = uuid.replace(/-/g, '');
|
|
441
476
|
const bytes = new Uint8Array(16);
|
|
442
477
|
for (let i = 0; i < 16; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EjsonDecoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonDecoder.ts"],"names":[],"mappings":";;;AAAA,2CAcwB;AAExB,qDAAgD;AAChD,qDAA4C;AAQ5C,MAAa,YAAa,SAAQ,yBAAW;IAC3C,YAAoB,UAA+B,EAAE;QACnD,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAA0B;IAErD,CAAC;IAMM,gBAAgB,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACxC;gBACE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAY,IAAI,IAAI,EAAE,CAAC,IAAY,IAAI,KAAK,EAAE;oBAAU,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI;YAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,IAAI;gBAAU,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC;YAClD,IAAI,IAAI,KAAK,IAAI;gBAAU,MAAM,CAAC,CAAC,EAAE,CAAC;iBACjC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAEM,uBAAuB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI;YAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,IAAI,EAAU,CAAC;gBAC1B,MAAM,CAAC,CAAC,EAAE,CAAC;gBAEX,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,IAAI,KAAK,IAAI;gBAAU,MAAM,CAAC,CAAC,EAAE,CAAC;iBACjC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI;gBAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAA,qBAAO,EAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI;gBAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,cAAc,EAAE,CAAC;YAGtB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B;gBACE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAY,IAAI,IAAI,EAAE,CAAC,IAAY,IAAI,KAAK,EAAE;oBAAU,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI;YAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,IAAI,EAAU,CAAC;gBAC1B,MAAM,CAAC,CAAC,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,IAAI,KAAK,IAAI;gBAAU,MAAM,CAAC,CAAC,EAAE,CAAC;iBACjC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI;gBAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAA,qBAAO,EAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI;gBAAU,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,GAA4B;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAG9B,MAAM,YAAY,GAAG,CAAC,YAAsB,EAAW,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACtD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAGF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAE3B,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAc,CAAC;gBAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAoB,CAAC;gBACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;wBACjE,OAAO,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAqB,CAAC;gBAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,OAAO,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAuB,CAAC;gBAC9C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAClC,IAAI,SAAS,KAAK,UAAU;wBAAE,OAAO,IAAI,kBAAS,CAAC,QAAQ,CAAC,CAAC;oBAC7D,IAAI,SAAS,KAAK,WAAW;wBAAE,OAAO,IAAI,kBAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,SAAS,KAAK,KAAK;wBAAE,OAAO,IAAI,kBAAS,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,OAAO,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,UAAU,GAAG,GAAG,CAAC,cAAwB,CAAC;gBAChD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,OAAO,IAAI,uBAAc,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAkC,CAAC;gBACzD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC/F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAC;wBAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAiB,CAAC;wBAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;4BAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;4BACtC,OAAO,IAAI,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAe,CAAC;gBACpC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACvC,OAAO,IAAI,mBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAe,CAAC;gBACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,IAAI,2BAAkB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAe,CAAC;gBACjC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;gBACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC5E,OAAO,IAAI,oCAA2B,CACpC,IAAI,EACJ,IAAI,CAAC,oBAAoB,CAAC,KAAgC,CAA4B,CACvF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAiB,CAAC;gBACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,IAAI,mBAAU,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,YAAY,GAAG,GAAG,CAAC,UAAqC,CAAC;gBAC/D,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7F,MAAM,CAAC,GAAG,YAAY,CAAC,CAAW,CAAC;wBACnC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAW,CAAC;wBACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvE,OAAO,IAAI,sBAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM,QAAQ,GAAG,GAAG,CAAC,kBAA6C,CAAC;gBACnE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAiB,CAAC;wBAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAiB,CAAC;wBAC3C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAC/D,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,YAAY,GAAG,GAAG,CAAC,UAAqC,CAAC;gBAC/D,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAChD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClG,MAAM,GAAG,GAAG,YAAY,CAAC,IAAc,CAAC;wBACxC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC;wBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;4BAChD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAA6B,CAAiB,CAAC;4BAC/F,IAAI,aAAa,YAAY,qBAAY,EAAE,CAAC;gCAC1C,OAAO,IAAI,sBAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC5B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAElC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAC3B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBAE/D,MAAM,OAAO,GAAG,SAAoC,CAAC;oBACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;wBACtG,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACtB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,IAAI,mBAAU,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,IAAI,mBAAU,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAc,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAA8B,CAAC,CAAC;YACzE,MAAM,MAAM,GAA4B,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YACvB,CAAC;YAGD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAA4B,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAGD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAA8B,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAA+B,CAAC;oBAC5D,CAAC,CAAC,IAAI,CACT,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,aAAa,CAAC,GAAW;QAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,qBAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,kBAAkB,CAAC,MAAc;QAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,IAAY;QAE9B,MAAM,WAAW,GAAG,+EAA+E,CAAC;QACpG,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,IAAY;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1eD,oCA0eC"}
|
|
1
|
+
{"version":3,"file":"EjsonDecoder.js","sourceRoot":"","sources":["../../src/ejson/EjsonDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { JsonEncoder } from '../json/JsonEncoder';
|
|
2
2
|
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
|
|
3
3
|
export interface EjsonEncoderOptions {
|
|
4
|
+
/** Use canonical format (preserves all type information) or relaxed format (more readable) */
|
|
4
5
|
canonical?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export declare class EjsonEncoder extends JsonEncoder {
|
|
7
8
|
private options;
|
|
8
9
|
constructor(writer: IWriter & IWriterGrowable, options?: EjsonEncoderOptions);
|
|
10
|
+
/**
|
|
11
|
+
* Encode to string (for backward compatibility).
|
|
12
|
+
* This method maintains the previous API but uses the binary encoder internally.
|
|
13
|
+
*/
|
|
9
14
|
encodeToString(value: unknown): string;
|
|
10
15
|
writeUnknown(value: unknown): void;
|
|
11
16
|
writeAny(value: unknown): void;
|