@jsonjoy.com/json-pack 1.21.0 → 17.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/JsonPackExtension.d.ts +8 -0
- package/lib/JsonPackExtension.js +8 -0
- package/lib/JsonPackExtension.js.map +1 -1
- package/lib/JsonPackMpint.d.ts +25 -0
- package/lib/JsonPackMpint.js +31 -1
- package/lib/JsonPackMpint.js.map +1 -1
- package/lib/JsonPackValue.d.ts +10 -0
- package/lib/JsonPackValue.js +10 -0
- package/lib/JsonPackValue.js.map +1 -1
- package/lib/avro/AvroDecoder.d.ts +67 -0
- package/lib/avro/AvroDecoder.js +77 -5
- package/lib/avro/AvroDecoder.js.map +1 -1
- package/lib/avro/AvroEncoder.d.ts +71 -0
- package/lib/avro/AvroEncoder.js +90 -12
- package/lib/avro/AvroEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaDecoder.d.ts +53 -0
- package/lib/avro/AvroSchemaDecoder.js +60 -3
- package/lib/avro/AvroSchemaDecoder.js.map +1 -1
- package/lib/avro/AvroSchemaEncoder.d.ts +65 -0
- package/lib/avro/AvroSchemaEncoder.js +84 -5
- package/lib/avro/AvroSchemaEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaValidator.d.ts +10 -0
- package/lib/avro/AvroSchemaValidator.js +18 -1
- package/lib/avro/AvroSchemaValidator.js.map +1 -1
- package/lib/avro/types.d.ts +31 -0
- package/lib/avro/types.js +4 -0
- package/lib/avro/types.js.map +1 -1
- package/lib/bencode/BencodeDecoder.js +9 -9
- package/lib/bencode/BencodeDecoder.js.map +1 -1
- package/lib/bencode/BencodeEncoder.d.ts +5 -0
- package/lib/bencode/BencodeEncoder.js +25 -20
- package/lib/bencode/BencodeEncoder.js.map +1 -1
- package/lib/bson/BsonDecoder.js +48 -33
- package/lib/bson/BsonDecoder.js.map +1 -1
- package/lib/bson/BsonEncoder.js +11 -3
- package/lib/bson/BsonEncoder.js.map +1 -1
- package/lib/cbor/CborDecoder.d.ts +24 -0
- package/lib/cbor/CborDecoder.js +94 -56
- package/lib/cbor/CborDecoder.js.map +1 -1
- package/lib/cbor/CborDecoderBase.d.ts +1 -0
- package/lib/cbor/CborDecoderBase.js +63 -53
- package/lib/cbor/CborDecoderBase.js.map +1 -1
- package/lib/cbor/CborEncoder.d.ts +5 -0
- package/lib/cbor/CborEncoder.js +9 -3
- package/lib/cbor/CborEncoder.js.map +1 -1
- package/lib/cbor/CborEncoderFast.d.ts +7 -0
- package/lib/cbor/CborEncoderFast.js +22 -14
- package/lib/cbor/CborEncoderFast.js.map +1 -1
- package/lib/cbor/CborEncoderStable.d.ts +1 -0
- package/lib/cbor/CborEncoderStable.js +2 -1
- package/lib/cbor/CborEncoderStable.js.map +1 -1
- package/lib/cbor/shared.d.ts +1 -1
- package/lib/codecs/Codecs.d.ts +1 -1
- package/lib/codecs/cbor.js +1 -1
- package/lib/codecs/cbor.js.map +1 -1
- package/lib/codecs/json.js +1 -1
- package/lib/codecs/json.js.map +1 -1
- package/lib/codecs/msgpack.js +1 -1
- package/lib/codecs/msgpack.js.map +1 -1
- package/lib/ejson/EjsonDecoder.d.ts +5 -0
- package/lib/ejson/EjsonDecoder.js +72 -37
- package/lib/ejson/EjsonDecoder.js.map +1 -1
- package/lib/ejson/EjsonEncoder.d.ts +5 -0
- package/lib/ejson/EjsonEncoder.js +149 -114
- package/lib/ejson/EjsonEncoder.js.map +1 -1
- package/lib/ejson/index.js +1 -0
- package/lib/ejson/index.js.map +1 -1
- package/lib/ion/Import.d.ts +1 -1
- package/lib/ion/Import.js.map +1 -1
- package/lib/ion/IonDecoder.d.ts +0 -1
- package/lib/ion/IonDecoder.js +4 -3
- package/lib/ion/IonDecoder.js.map +1 -1
- package/lib/ion/IonDecoderBase.js +29 -18
- package/lib/ion/IonDecoderBase.js.map +1 -1
- package/lib/ion/IonEncoderFast.d.ts +1 -1
- package/lib/ion/IonEncoderFast.js +30 -30
- package/lib/ion/IonEncoderFast.js.map +1 -1
- package/lib/ion/ast.d.ts +4 -1
- package/lib/ion/symbols.d.ts +1 -1
- package/lib/json/JsonDecoder.js +72 -66
- package/lib/json/JsonDecoder.js.map +1 -1
- package/lib/json/JsonDecoderDag.js +14 -0
- package/lib/json/JsonDecoderDag.js.map +1 -1
- package/lib/json/JsonDecoderPartial.d.ts +22 -0
- package/lib/json/JsonDecoderPartial.js +30 -8
- package/lib/json/JsonDecoderPartial.js.map +1 -1
- package/lib/json/JsonEncoder.d.ts +5 -0
- package/lib/json/JsonEncoder.js +59 -51
- package/lib/json/JsonEncoder.js.map +1 -1
- package/lib/json/JsonEncoderDag.d.ts +17 -0
- package/lib/json/JsonEncoderDag.js +27 -10
- package/lib/json/JsonEncoderDag.js.map +1 -1
- package/lib/json/JsonEncoderStable.js +5 -5
- package/lib/json/JsonEncoderStable.js.map +1 -1
- package/lib/json-binary/codec.d.ts +8 -1
- package/lib/json-binary/codec.js +7 -0
- package/lib/json-binary/codec.js.map +1 -1
- package/lib/msgpack/MsgPackDecoder.d.ts +27 -0
- package/lib/msgpack/MsgPackDecoder.js +55 -23
- package/lib/msgpack/MsgPackDecoder.js.map +1 -1
- package/lib/msgpack/MsgPackDecoderFast.d.ts +8 -0
- package/lib/msgpack/MsgPackDecoderFast.js +14 -5
- package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoder.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoder.js +7 -4
- package/lib/msgpack/MsgPackEncoder.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderFast.d.ts +26 -4
- package/lib/msgpack/MsgPackEncoderFast.js +31 -0
- package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderStable.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js.map +1 -1
- package/lib/msgpack/MsgPackToJsonConverter.d.ts +30 -4
- package/lib/msgpack/MsgPackToJsonConverter.js +32 -5
- package/lib/msgpack/MsgPackToJsonConverter.js.map +1 -1
- package/lib/msgpack/index.d.ts +29 -0
- package/lib/msgpack/index.js +30 -0
- package/lib/msgpack/index.js.map +1 -1
- package/lib/msgpack/shallow-read.js +7 -7
- package/lib/msgpack/shallow-read.js.map +1 -1
- package/lib/msgpack/types.d.ts +1 -0
- package/lib/msgpack/util.d.ts +1 -1
- package/lib/nfs/v3/FullNfsv3Encoder.d.ts +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Decoder.js +51 -50
- package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Encoder.d.ts +2 -2
- package/lib/nfs/v3/Nfsv3Encoder.js +52 -52
- package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/constants.d.ts +34 -0
- package/lib/nfs/v3/constants.js +4 -0
- package/lib/nfs/v3/constants.js.map +1 -1
- package/lib/nfs/v3/locks/NlmDecoder.js +20 -20
- package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -1
- package/lib/nfs/v3/locks/NlmEncoder.d.ts +2 -2
- package/lib/nfs/v3/locks/NlmEncoder.js +20 -20
- package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -1
- package/lib/nfs/v3/locks/constants.d.ts +9 -0
- package/lib/nfs/v3/locks/messages.d.ts +58 -1
- package/lib/nfs/v3/locks/messages.js +54 -0
- package/lib/nfs/v3/locks/messages.js.map +1 -1
- package/lib/nfs/v3/locks/structs.d.ts +15 -0
- package/lib/nfs/v3/locks/structs.js +15 -0
- package/lib/nfs/v3/locks/structs.js.map +1 -1
- package/lib/nfs/v3/messages.d.ts +249 -0
- package/lib/nfs/v3/messages.js +249 -0
- package/lib/nfs/v3/messages.js.map +1 -1
- package/lib/nfs/v3/mount/MountDecoder.js +12 -12
- package/lib/nfs/v3/mount/MountEncoder.d.ts +2 -2
- package/lib/nfs/v3/mount/MountEncoder.js +13 -13
- package/lib/nfs/v3/mount/MountEncoder.js.map +1 -1
- package/lib/nfs/v3/mount/constants.d.ts +9 -0
- package/lib/nfs/v3/mount/messages.d.ts +31 -1
- package/lib/nfs/v3/mount/messages.js +27 -0
- package/lib/nfs/v3/mount/messages.js.map +1 -1
- package/lib/nfs/v3/mount/structs.d.ts +15 -0
- package/lib/nfs/v3/mount/structs.js +15 -0
- package/lib/nfs/v3/mount/structs.js.map +1 -1
- package/lib/nfs/v3/structs.d.ts +78 -0
- package/lib/nfs/v3/structs.js +78 -0
- package/lib/nfs/v3/structs.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Decoder.d.ts +0 -2
- package/lib/nfs/v4/Nfsv4Decoder.js +96 -102
- package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.d.ts +2 -2
- package/lib/nfs/v4/Nfsv4Encoder.js +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -1
- package/lib/nfs/v4/attributes.d.ts +62 -0
- package/lib/nfs/v4/attributes.js +209 -147
- package/lib/nfs/v4/attributes.js.map +1 -1
- package/lib/nfs/v4/builder.d.ts +274 -1
- package/lib/nfs/v4/builder.js +283 -10
- package/lib/nfs/v4/builder.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDir.d.ts +4 -1
- package/lib/nfs/v4/client/NfsFsDir.js +8 -5
- package/lib/nfs/v4/client/NfsFsDir.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDirent.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsDirent.js +10 -7
- package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +4 -3
- package/lib/nfs/v4/client/NfsFsFileHandle.js +13 -10
- package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsStats.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsStats.js +10 -7
- package/lib/nfs/v4/client/NfsFsStats.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +2 -3
- package/lib/nfs/v4/client/Nfsv4FsClient.js +92 -92
- package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +6 -6
- package/lib/nfs/v4/client/Nfsv4TcpClient.js +3 -3
- package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -1
- package/lib/nfs/v4/client/types.d.ts +1 -1
- package/lib/nfs/v4/constants.d.ts +78 -1
- package/lib/nfs/v4/format.d.ts +1 -1
- package/lib/nfs/v4/format.js +229 -229
- package/lib/nfs/v4/format.js.map +1 -1
- package/lib/nfs/v4/messages.js +101 -101
- package/lib/nfs/v4/messages.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +20 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +29 -8
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4Connection.d.ts +6 -3
- package/lib/nfs/v4/server/Nfsv4Connection.js +11 -8
- package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +2 -3
- package/lib/nfs/v4/server/Nfsv4TcpServer.js +1 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +69 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js +43 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -1
- package/lib/nfs/v4/server/operations/ClientRecord.d.ts +98 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js +54 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +22 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js +16 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +75 -2
- package/lib/nfs/v4/server/operations/LockOwnerState.js +43 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockStateid.d.ts +55 -1
- package/lib/nfs/v4/server/operations/LockStateid.js +37 -1
- package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -1
- package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +2 -1
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +2 -2
- package/lib/nfs/v4/server/operations/OpenFileState.d.ts +90 -2
- package/lib/nfs/v4/server/operations/OpenFileState.js +52 -1
- package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +76 -2
- package/lib/nfs/v4/server/operations/OpenOwnerState.js +44 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +73 -3
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +261 -187
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/attrs.d.ts +13 -1
- package/lib/nfs/v4/server/operations/node/attrs.js +75 -62
- package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/fh.d.ts +67 -2
- package/lib/nfs/v4/server/operations/node/fh.js +83 -21
- package/lib/nfs/v4/server/operations/node/fh.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/util.js +4 -4
- package/lib/nfs/v4/server/operations/node/util.js.map +1 -1
- package/lib/nfs/v4/server/util.d.ts +0 -1
- package/lib/nfs/v4/server/util.js +40 -40
- package/lib/nfs/v4/structs.d.ts +136 -4
- package/lib/nfs/v4/structs.js +129 -0
- package/lib/nfs/v4/structs.js.map +1 -1
- package/lib/resp/RespDecoder.d.ts +9 -0
- package/lib/resp/RespDecoder.js +93 -76
- package/lib/resp/RespDecoder.js.map +1 -1
- package/lib/resp/RespEncoder.d.ts +8 -0
- package/lib/resp/RespEncoder.js +107 -89
- package/lib/resp/RespEncoder.js.map +1 -1
- package/lib/resp/RespEncoderLegacy.d.ts +3 -0
- package/lib/resp/RespEncoderLegacy.js +7 -4
- package/lib/resp/RespEncoderLegacy.js.map +1 -1
- package/lib/resp/RespStreamingDecoder.d.ts +48 -0
- package/lib/resp/RespStreamingDecoder.js +48 -0
- package/lib/resp/RespStreamingDecoder.js.map +1 -1
- package/lib/resp/constants.d.ts +19 -19
- package/lib/rm/RmRecordEncoder.d.ts +15 -1
- package/lib/rm/RmRecordEncoder.js +15 -1
- package/lib/rm/RmRecordEncoder.js.map +1 -1
- package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
- package/lib/rpc/RpcMessageDecoder.js +8 -7
- package/lib/rpc/RpcMessageDecoder.js.map +1 -1
- package/lib/rpc/RpcMessageEncoder.d.ts +2 -2
- package/lib/rpc/RpcMessageEncoder.js +6 -6
- package/lib/rpc/RpcMessageEncoder.js.map +1 -1
- package/lib/rpc/constants.d.ts +76 -28
- package/lib/rpc/constants.js +10 -0
- package/lib/rpc/constants.js.map +1 -1
- package/lib/ssh/SshDecoder.d.ts +46 -0
- package/lib/ssh/SshDecoder.js +52 -2
- package/lib/ssh/SshDecoder.js.map +1 -1
- package/lib/ssh/SshEncoder.d.ts +69 -0
- package/lib/ssh/SshEncoder.js +81 -8
- package/lib/ssh/SshEncoder.js.map +1 -1
- package/lib/ssh/index.d.ts +6 -0
- package/lib/ssh/index.js +6 -0
- package/lib/ssh/index.js.map +1 -1
- package/lib/ubjson/UbjsonDecoder.js +1 -1
- package/lib/ubjson/UbjsonDecoder.js.map +1 -1
- package/lib/ubjson/UbjsonEncoder.js +6 -5
- package/lib/ubjson/UbjsonEncoder.js.map +1 -1
- package/lib/util/CompressionTable.js +4 -4
- package/lib/util/CompressionTable.js.map +1 -1
- package/lib/util/DecompressionTable.js +3 -2
- package/lib/util/DecompressionTable.js.map +1 -1
- package/lib/ws/WsFrameDecoder.d.ts +18 -0
- package/lib/ws/WsFrameDecoder.js +18 -0
- package/lib/ws/WsFrameDecoder.js.map +1 -1
- package/lib/ws/WsFrameEncoder.d.ts +1 -1
- package/lib/ws/WsFrameEncoder.js +3 -3
- package/lib/ws/WsFrameEncoder.js.map +1 -1
- package/lib/ws/constants.js +5 -0
- package/lib/ws/constants.js.map +1 -1
- package/lib/xdr/XdrDecoder.d.ts +62 -0
- package/lib/xdr/XdrDecoder.js +73 -6
- package/lib/xdr/XdrDecoder.js.map +1 -1
- package/lib/xdr/XdrEncoder.d.ts +71 -0
- package/lib/xdr/XdrEncoder.js +88 -13
- package/lib/xdr/XdrEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaDecoder.d.ts +40 -0
- package/lib/xdr/XdrSchemaDecoder.js +52 -0
- package/lib/xdr/XdrSchemaDecoder.js.map +1 -1
- package/lib/xdr/XdrSchemaEncoder.d.ts +5 -0
- package/lib/xdr/XdrSchemaEncoder.js +9 -0
- package/lib/xdr/XdrSchemaEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaValidator.d.ts +9 -0
- package/lib/xdr/XdrSchemaValidator.js +42 -11
- package/lib/xdr/XdrSchemaValidator.js.map +1 -1
- package/lib/xdr/XdrUnion.d.ts +5 -0
- package/lib/xdr/XdrUnion.js +5 -0
- package/lib/xdr/XdrUnion.js.map +1 -1
- package/lib/xdr/index.d.ts +14 -0
- package/lib/xdr/index.js +14 -0
- package/lib/xdr/index.js.map +1 -1
- package/lib/xdr/types.d.ts +46 -0
- package/package.json +32 -55
|
@@ -3,20 +3,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RespStreamingDecoder = void 0;
|
|
4
4
|
const StreamingReader_1 = require("@jsonjoy.com/buffers/lib/StreamingReader");
|
|
5
5
|
const RespDecoder_1 = require("./RespDecoder");
|
|
6
|
+
/**
|
|
7
|
+
* Streaming decoder for RESP protocol. Can be used to decode data from
|
|
8
|
+
* a stream where messages are arbitrary split into chunks.
|
|
9
|
+
*
|
|
10
|
+
* Example:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const decoder = new RespStreamingDecoder();
|
|
14
|
+
*
|
|
15
|
+
* decoder.push(new Uint8Array([43, 49, 13, 10]));
|
|
16
|
+
*
|
|
17
|
+
* let val;
|
|
18
|
+
* while ((val = decoder.read()) !== undefined) {
|
|
19
|
+
* console.log(val);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
6
23
|
class RespStreamingDecoder {
|
|
7
24
|
constructor() {
|
|
8
25
|
this.reader = new StreamingReader_1.StreamingReader();
|
|
9
26
|
this.decoder = new RespDecoder_1.RespDecoder(this.reader);
|
|
10
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* When set to true, the decoder will attempt to decode RESP Bulk strings
|
|
30
|
+
* (which are binary strings, i.e. Uint8Array) as UTF-8 strings. If the
|
|
31
|
+
* string is not valid UTF-8, it will be returned as a Uint8Array.
|
|
32
|
+
*/
|
|
11
33
|
get tryUtf8() {
|
|
12
34
|
return this.decoder.tryUtf8;
|
|
13
35
|
}
|
|
14
36
|
set tryUtf8(value) {
|
|
15
37
|
this.decoder.tryUtf8 = value;
|
|
16
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Add a chunk of data to be decoded.
|
|
41
|
+
* @param uint8 `Uint8Array` chunk of data to be decoded.
|
|
42
|
+
*/
|
|
17
43
|
push(uint8) {
|
|
18
44
|
this.reader.push(uint8);
|
|
19
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Decode one value from the stream. If `undefined` is returned, then
|
|
48
|
+
* there is not enough data to decode or the stream is finished.
|
|
49
|
+
*
|
|
50
|
+
* There could be multiple values in the stream, so this method should be
|
|
51
|
+
* called in a loop until `undefined` is returned.
|
|
52
|
+
*
|
|
53
|
+
* @return Decoded value or `undefined` if there is not enough data to decode.
|
|
54
|
+
*/
|
|
20
55
|
read() {
|
|
21
56
|
const reader = this.reader;
|
|
22
57
|
if (reader.size() === 0)
|
|
@@ -36,6 +71,13 @@ class RespStreamingDecoder {
|
|
|
36
71
|
throw error;
|
|
37
72
|
}
|
|
38
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Decode only one RESP command from the stream, if the value is not a
|
|
76
|
+
* command, an error will be thrown.
|
|
77
|
+
*
|
|
78
|
+
* @returns Redis command and its arguments or `undefined` if there is
|
|
79
|
+
* not enough data to decode.
|
|
80
|
+
*/
|
|
39
81
|
readCmd() {
|
|
40
82
|
const reader = this.reader;
|
|
41
83
|
if (reader.size() === 0)
|
|
@@ -55,6 +97,12 @@ class RespStreamingDecoder {
|
|
|
55
97
|
throw error;
|
|
56
98
|
}
|
|
57
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Skips one value from the stream. If `undefined` is returned, then
|
|
102
|
+
* there is not enough data to skip or the stream is finished.
|
|
103
|
+
* @returns `null` if a value was skipped, `undefined` if there is not
|
|
104
|
+
* enough data to skip.
|
|
105
|
+
*/
|
|
58
106
|
skip() {
|
|
59
107
|
const reader = this.reader;
|
|
60
108
|
if (reader.size() === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RespStreamingDecoder.js","sourceRoot":"","sources":["../../src/resp/RespStreamingDecoder.ts"],"names":[],"mappings":";;;AAAA,8EAAyE;AACzE,+CAA0C;
|
|
1
|
+
{"version":3,"file":"RespStreamingDecoder.js","sourceRoot":"","sources":["../../src/resp/RespStreamingDecoder.ts"],"names":[],"mappings":";;;AAAA,8EAAyE;AACzE,+CAA0C;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,oBAAoB;IAAjC;QACqB,WAAM,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC/B,YAAO,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IA2F5D,CAAC;IAzFC;;;;OAIG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,IAAI,CAAC,KAAiB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,SAAS,CAAC;YACnB,CAAC;;gBAAM,MAAM,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,SAAS,CAAC;YACnB,CAAC;;gBAAM,MAAM,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,SAAS,CAAC;YACnB,CAAC;;gBAAM,MAAM,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AA7FD,oDA6FC"}
|
package/lib/resp/constants.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
export declare const enum RESP {
|
|
2
|
-
R = 13
|
|
3
|
-
N = 10
|
|
4
|
-
RN = 3338
|
|
5
|
-
NULL = 95
|
|
6
|
-
BOOL = 35
|
|
7
|
-
INT = 58
|
|
8
|
-
BIG = 40
|
|
9
|
-
FLOAT = 44,
|
|
10
|
-
STR_SIMPLE = 43
|
|
11
|
-
STR_BULK = 36
|
|
12
|
-
STR_VERBATIM = 61
|
|
13
|
-
ERR_SIMPLE = 45
|
|
14
|
-
ERR_BULK = 33
|
|
15
|
-
ARR = 42
|
|
16
|
-
SET = 126
|
|
17
|
-
OBJ = 37
|
|
18
|
-
PUSH = 62
|
|
19
|
-
ATTR = 124
|
|
20
|
-
PLUS = 43
|
|
2
|
+
R = 13,// \r
|
|
3
|
+
N = 10,// \n
|
|
4
|
+
RN = 3338,// \r\n
|
|
5
|
+
NULL = 95,// _
|
|
6
|
+
BOOL = 35,// #
|
|
7
|
+
INT = 58,// :
|
|
8
|
+
BIG = 40,// (
|
|
9
|
+
FLOAT = 44,// ,
|
|
10
|
+
STR_SIMPLE = 43,// +
|
|
11
|
+
STR_BULK = 36,// $
|
|
12
|
+
STR_VERBATIM = 61,// =
|
|
13
|
+
ERR_SIMPLE = 45,// -
|
|
14
|
+
ERR_BULK = 33,// !
|
|
15
|
+
ARR = 42,// *
|
|
16
|
+
SET = 126,// ~
|
|
17
|
+
OBJ = 37,// %
|
|
18
|
+
PUSH = 62,// >
|
|
19
|
+
ATTR = 124,// |
|
|
20
|
+
PLUS = 43,// +
|
|
21
21
|
MINUS = 45
|
|
22
22
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/
|
|
1
|
+
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers';
|
|
2
2
|
export declare class RmRecordEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> {
|
|
3
3
|
readonly writer: W;
|
|
4
4
|
constructor(writer?: W);
|
|
@@ -7,6 +7,20 @@ export declare class RmRecordEncoder<W extends IWriter & IWriterGrowable = IWrit
|
|
|
7
7
|
writeHdr(fin: 0 | 1, length: number): void;
|
|
8
8
|
writeRecord(record: Uint8Array): void;
|
|
9
9
|
writeFragment(record: Uint8Array, offset: number, length: number, fin: 0 | 1): void;
|
|
10
|
+
/**
|
|
11
|
+
* To write an RM record in one pass this method reserves space for the RM
|
|
12
|
+
* header, and returns the state, which needs to passed to `endRmRecord` to
|
|
13
|
+
* finalize the RM header.
|
|
14
|
+
*/
|
|
10
15
|
startRecord(): number;
|
|
16
|
+
/**
|
|
17
|
+
* Finalize the RM header started by `startRmRecord`.
|
|
18
|
+
*
|
|
19
|
+
* @param rmHeaderPosition The position returned by `startRmRecord`
|
|
20
|
+
* @remarks This method will check if the data written after `startRmRecord`
|
|
21
|
+
* fits into a single RM frame. If it does, it will write the RM header in
|
|
22
|
+
* place. If it doesn't, it will move the data to a new location and write
|
|
23
|
+
* it as multiple RM frames.
|
|
24
|
+
*/
|
|
11
25
|
endRecord(rmHeaderPosition: number): void;
|
|
12
26
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RmRecordEncoder = void 0;
|
|
4
|
-
const Writer_1 = require("@jsonjoy.com/
|
|
4
|
+
const Writer_1 = require("@jsonjoy.com/buffers/lib/Writer");
|
|
5
5
|
const RM_HEADER_SIZE = 4;
|
|
6
6
|
const MAX_SINGLE_FRAME_SIZE = 0x7fffffff;
|
|
7
7
|
class RmRecordEncoder {
|
|
@@ -40,12 +40,26 @@ class RmRecordEncoder {
|
|
|
40
40
|
const fragment = record.subarray(offset, offset + length);
|
|
41
41
|
this.writer.buf(fragment, length);
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* To write an RM record in one pass this method reserves space for the RM
|
|
45
|
+
* header, and returns the state, which needs to passed to `endRmRecord` to
|
|
46
|
+
* finalize the RM header.
|
|
47
|
+
*/
|
|
43
48
|
startRecord() {
|
|
44
49
|
const writer = this.writer;
|
|
45
50
|
const rmHeaderPosition = writer.x;
|
|
46
51
|
writer.x += RM_HEADER_SIZE;
|
|
47
52
|
return rmHeaderPosition;
|
|
48
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Finalize the RM header started by `startRmRecord`.
|
|
56
|
+
*
|
|
57
|
+
* @param rmHeaderPosition The position returned by `startRmRecord`
|
|
58
|
+
* @remarks This method will check if the data written after `startRmRecord`
|
|
59
|
+
* fits into a single RM frame. If it does, it will write the RM header in
|
|
60
|
+
* place. If it doesn't, it will move the data to a new location and write
|
|
61
|
+
* it as multiple RM frames.
|
|
62
|
+
*/
|
|
49
63
|
endRecord(rmHeaderPosition) {
|
|
50
64
|
const writer = this.writer;
|
|
51
65
|
const totalSize = writer.x - rmHeaderPosition - RM_HEADER_SIZE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RmRecordEncoder.js","sourceRoot":"","sources":["../../src/rm/RmRecordEncoder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RmRecordEncoder.js","sourceRoot":"","sources":["../../src/rm/RmRecordEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
|
|
2
|
-
import { RpcMessage } from './messages';
|
|
2
|
+
import { type RpcMessage } from './messages';
|
|
3
3
|
export declare class RpcMessageDecoder {
|
|
4
4
|
decodeMessage(reader: Reader): RpcMessage | undefined;
|
|
5
5
|
private readOpaqueAuth;
|
|
@@ -14,10 +14,11 @@ class RpcMessageDecoder {
|
|
|
14
14
|
return undefined;
|
|
15
15
|
const xid = reader.u32();
|
|
16
16
|
const msgType = reader.u32();
|
|
17
|
-
if (msgType === 0) {
|
|
17
|
+
if (msgType === 0 /* RpcMsgType.CALL */) {
|
|
18
18
|
if (reader.size() < 20)
|
|
19
19
|
return (reader.x = startPos), undefined;
|
|
20
20
|
const rpcvers = reader.u32();
|
|
21
|
+
// if (rpcvers !== RPC_VERSION) throw new RpcDecodingError(`Unsupported RPC version: ${rpcvers}`);
|
|
21
22
|
const prog = reader.u32();
|
|
22
23
|
const vers = reader.u32();
|
|
23
24
|
const proc = reader.u32();
|
|
@@ -30,17 +31,17 @@ class RpcMessageDecoder {
|
|
|
30
31
|
const params = reader.size() > 0 ? reader.cut(reader.size()) : undefined;
|
|
31
32
|
return new messages_1.RpcCallMessage(xid, rpcvers, prog, vers, proc, cred, verf, params);
|
|
32
33
|
}
|
|
33
|
-
else if (msgType === 1) {
|
|
34
|
+
else if (msgType === 1 /* RpcMsgType.REPLY */) {
|
|
34
35
|
if (reader.size() < 4)
|
|
35
36
|
return (reader.x = startPos), undefined;
|
|
36
37
|
const replyStat = reader.u32();
|
|
37
|
-
if (replyStat === 0) {
|
|
38
|
+
if (replyStat === 0 /* RpcReplyStat.MSG_ACCEPTED */) {
|
|
38
39
|
const verf = this.readOpaqueAuth(reader);
|
|
39
40
|
if (!verf || reader.size() < 4)
|
|
40
41
|
return (reader.x = startPos), undefined;
|
|
41
42
|
const acceptStat = reader.u32();
|
|
42
43
|
let mismatchInfo;
|
|
43
|
-
if (acceptStat === 2) {
|
|
44
|
+
if (acceptStat === 2 /* RpcAcceptStat.PROG_MISMATCH */) {
|
|
44
45
|
if (reader.size() < 8)
|
|
45
46
|
return (reader.x = startPos), undefined;
|
|
46
47
|
const low = reader.u32();
|
|
@@ -50,13 +51,13 @@ class RpcMessageDecoder {
|
|
|
50
51
|
const results = reader.size() > 0 ? reader.cut(reader.size()) : undefined;
|
|
51
52
|
return new messages_1.RpcAcceptedReplyMessage(xid, verf, acceptStat, mismatchInfo, results);
|
|
52
53
|
}
|
|
53
|
-
else if (replyStat === 1) {
|
|
54
|
+
else if (replyStat === 1 /* RpcReplyStat.MSG_DENIED */) {
|
|
54
55
|
if (reader.size() < 4)
|
|
55
56
|
return (reader.x = startPos), undefined;
|
|
56
57
|
const rejectStat = reader.u32();
|
|
57
58
|
let mismatchInfo;
|
|
58
59
|
let authStat;
|
|
59
|
-
if (rejectStat === 0) {
|
|
60
|
+
if (rejectStat === 0 /* RpcRejectStat.RPC_MISMATCH */) {
|
|
60
61
|
if (reader.size() < 8)
|
|
61
62
|
return (reader.x = startPos), undefined;
|
|
62
63
|
const low = reader.u32();
|
|
@@ -65,7 +66,7 @@ class RpcMessageDecoder {
|
|
|
65
66
|
if (!mismatchInfo)
|
|
66
67
|
return (reader.x = startPos), undefined;
|
|
67
68
|
}
|
|
68
|
-
else if (rejectStat === 1) {
|
|
69
|
+
else if (rejectStat === 1 /* RpcRejectStat.AUTH_ERROR */) {
|
|
69
70
|
if (reader.size() < 4)
|
|
70
71
|
return (reader.x = startPos), undefined;
|
|
71
72
|
authStat = reader.u32();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcMessageDecoder.js","sourceRoot":"","sources":["../../src/rpc/RpcMessageDecoder.ts"],"names":[],"mappings":";;;AAAA,4DAAuD;AAEvD,qCAA0C;AAC1C,yCAOoB;AAEpB,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AACvC,MAAM,YAAY,GAAG,IAAI,eAAM,CAAC,YAAY,CAAC,CAAC;AAE9C,MAAa,iBAAiB;IACrB,aAAa,CAAC,MAAc;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"RpcMessageDecoder.js","sourceRoot":"","sources":["../../src/rpc/RpcMessageDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Reader } from '@jsonjoy.com/buffers/lib/Reader';
|
|
2
|
-
import { RpcOpaqueAuth, RpcMessage } from './messages';
|
|
3
|
-
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/
|
|
2
|
+
import { type RpcOpaqueAuth, type RpcMessage } from './messages';
|
|
3
|
+
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers';
|
|
4
4
|
export declare class RpcMessageEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> {
|
|
5
5
|
readonly writer: W;
|
|
6
6
|
constructor(writer?: W);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RpcMessageEncoder = void 0;
|
|
4
|
-
const Writer_1 = require("@jsonjoy.com/
|
|
4
|
+
const Writer_1 = require("@jsonjoy.com/buffers/lib/Writer");
|
|
5
5
|
const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
|
|
6
6
|
const constants_1 = require("./constants");
|
|
7
7
|
const errors_1 = require("./errors");
|
|
@@ -44,7 +44,7 @@ class RpcMessageEncoder {
|
|
|
44
44
|
let x = writer.x;
|
|
45
45
|
view.setUint32(x, xid, false);
|
|
46
46
|
x += 4;
|
|
47
|
-
view.setUint32(x, 0
|
|
47
|
+
view.setUint32(x, 0 /* RpcMsgType.CALL */, false);
|
|
48
48
|
x += 4;
|
|
49
49
|
view.setUint32(x, constants_1.RPC_VERSION, false);
|
|
50
50
|
x += 4;
|
|
@@ -74,9 +74,9 @@ class RpcMessageEncoder {
|
|
|
74
74
|
let x = writer.x;
|
|
75
75
|
view.setUint32(x, xid, false);
|
|
76
76
|
x += 4;
|
|
77
|
-
view.setUint32(x, 1
|
|
77
|
+
view.setUint32(x, 1 /* RpcMsgType.REPLY */, false);
|
|
78
78
|
x += 4;
|
|
79
|
-
view.setUint32(x, 0
|
|
79
|
+
view.setUint32(x, 0 /* RpcReplyStat.MSG_ACCEPTED */, false);
|
|
80
80
|
x += 4;
|
|
81
81
|
writer.x = x;
|
|
82
82
|
this.writeOpaqueAuth(verf);
|
|
@@ -104,9 +104,9 @@ class RpcMessageEncoder {
|
|
|
104
104
|
let x = writer.x;
|
|
105
105
|
view.setUint32(x, xid, false);
|
|
106
106
|
x += 4;
|
|
107
|
-
view.setUint32(x, 1
|
|
107
|
+
view.setUint32(x, 1 /* RpcMsgType.REPLY */, false);
|
|
108
108
|
x += 4;
|
|
109
|
-
view.setUint32(x, 1
|
|
109
|
+
view.setUint32(x, 1 /* RpcReplyStat.MSG_DENIED */, false);
|
|
110
110
|
x += 4;
|
|
111
111
|
view.setUint32(x, rejectStat, false);
|
|
112
112
|
x += 4;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcMessageEncoder.js","sourceRoot":"","sources":["../../src/rpc/RpcMessageEncoder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RpcMessageEncoder.js","sourceRoot":"","sources":["../../src/rpc/RpcMessageEncoder.ts"],"names":[],"mappings":"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"}
|
package/lib/rpc/constants.d.ts
CHANGED
|
@@ -1,50 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONC RPC Protocol Constants
|
|
3
|
+
* Supports RFC 1057, RFC 1831, and RFC 5531
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Message type enumeration
|
|
7
|
+
* @see RFC 1057 Section 8
|
|
8
|
+
* @see RFC 1831 Section 8
|
|
9
|
+
* @see RFC 5531 Section 9
|
|
10
|
+
*/
|
|
1
11
|
export declare const enum RpcMsgType {
|
|
2
12
|
CALL = 0,
|
|
3
13
|
REPLY = 1
|
|
4
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Reply status enumeration
|
|
17
|
+
* @see RFC 1057 Section 8
|
|
18
|
+
* @see RFC 1831 Section 8
|
|
19
|
+
* @see RFC 5531 Section 9
|
|
20
|
+
*/
|
|
5
21
|
export declare const enum RpcReplyStat {
|
|
6
22
|
MSG_ACCEPTED = 0,
|
|
7
23
|
MSG_DENIED = 1
|
|
8
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Accept status values for accepted RPC replies
|
|
27
|
+
* @see RFC 1057 Section 8 (values 0-4)
|
|
28
|
+
* @see RFC 1831 Section 8 (values 0-4)
|
|
29
|
+
* @see RFC 5531 Section 9 (added SYSTEM_ERR = 5)
|
|
30
|
+
*/
|
|
9
31
|
export declare const enum RpcAcceptStat {
|
|
10
|
-
SUCCESS = 0
|
|
11
|
-
PROG_UNAVAIL = 1
|
|
12
|
-
PROG_MISMATCH = 2
|
|
13
|
-
PROC_UNAVAIL = 3
|
|
14
|
-
GARBAGE_ARGS = 4
|
|
32
|
+
SUCCESS = 0,// RFC 1057
|
|
33
|
+
PROG_UNAVAIL = 1,// RFC 1057
|
|
34
|
+
PROG_MISMATCH = 2,// RFC 1057
|
|
35
|
+
PROC_UNAVAIL = 3,// RFC 1057
|
|
36
|
+
GARBAGE_ARGS = 4,// RFC 1057
|
|
15
37
|
SYSTEM_ERR = 5
|
|
16
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Reject status enumeration
|
|
41
|
+
* @see RFC 1057 Section 8
|
|
42
|
+
* @see RFC 1831 Section 8
|
|
43
|
+
* @see RFC 5531 Section 9
|
|
44
|
+
*/
|
|
17
45
|
export declare const enum RpcRejectStat {
|
|
18
46
|
RPC_MISMATCH = 0,
|
|
19
47
|
AUTH_ERROR = 1
|
|
20
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Authentication status values for rejected RPC calls
|
|
51
|
+
* @see RFC 1057 Section 9 (values 1-5)
|
|
52
|
+
* @see RFC 1831 Section 9 (values 1-5)
|
|
53
|
+
* @see RFC 5531 Section 10 (expanded with values 0, 6-14 for RPCSEC_GSS support)
|
|
54
|
+
*/
|
|
21
55
|
export declare const enum RpcAuthStat {
|
|
22
|
-
AUTH_OK = 0
|
|
23
|
-
AUTH_BADCRED = 1
|
|
24
|
-
AUTH_REJECTEDCRED = 2
|
|
25
|
-
AUTH_BADVERF = 3
|
|
26
|
-
AUTH_REJECTEDVERF = 4
|
|
27
|
-
AUTH_TOOWEAK = 5
|
|
28
|
-
AUTH_INVALIDRESP = 6
|
|
29
|
-
AUTH_FAILED = 7
|
|
30
|
-
AUTH_KERB_GENERIC = 8
|
|
31
|
-
AUTH_TIMEEXPIRE = 9
|
|
32
|
-
AUTH_TKT_FILE = 10
|
|
33
|
-
AUTH_DECODE = 11
|
|
34
|
-
AUTH_NET_ADDR = 12
|
|
35
|
-
RPCSEC_GSS_CREDPROBLEM = 13
|
|
56
|
+
AUTH_OK = 0,// RFC 5531
|
|
57
|
+
AUTH_BADCRED = 1,// RFC 1057
|
|
58
|
+
AUTH_REJECTEDCRED = 2,// RFC 1057
|
|
59
|
+
AUTH_BADVERF = 3,// RFC 1057
|
|
60
|
+
AUTH_REJECTEDVERF = 4,// RFC 1057
|
|
61
|
+
AUTH_TOOWEAK = 5,// RFC 1057
|
|
62
|
+
AUTH_INVALIDRESP = 6,// RFC 5531
|
|
63
|
+
AUTH_FAILED = 7,// RFC 5531
|
|
64
|
+
AUTH_KERB_GENERIC = 8,// RFC 5531
|
|
65
|
+
AUTH_TIMEEXPIRE = 9,// RFC 5531
|
|
66
|
+
AUTH_TKT_FILE = 10,// RFC 5531
|
|
67
|
+
AUTH_DECODE = 11,// RFC 5531
|
|
68
|
+
AUTH_NET_ADDR = 12,// RFC 5531
|
|
69
|
+
RPCSEC_GSS_CREDPROBLEM = 13,// RFC 5531
|
|
36
70
|
RPCSEC_GSS_CTXPROBLEM = 14
|
|
37
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Authentication flavor numbers
|
|
74
|
+
* @see RFC 1057 Section 9 (AUTH_NULL, AUTH_UNIX, AUTH_SHORT, AUTH_DES)
|
|
75
|
+
* @see RFC 1831 Section 9, Appendix A (renamed AUTH_NULL->AUTH_NONE, AUTH_UNIX->AUTH_SYS)
|
|
76
|
+
* @see RFC 5531 Section 10, Appendix C (added AUTH_KERB, AUTH_RSA, RPCSEC_GSS)
|
|
77
|
+
*
|
|
78
|
+
* Note: Old names (AUTH_NULL, AUTH_UNIX, AUTH_DES) maintained for backward compatibility
|
|
79
|
+
*/
|
|
38
80
|
export declare const enum RpcAuthFlavor {
|
|
39
|
-
AUTH_NONE = 0
|
|
40
|
-
AUTH_SYS = 1
|
|
41
|
-
AUTH_SHORT = 2
|
|
42
|
-
AUTH_DH = 3,
|
|
43
|
-
AUTH_KERB = 4
|
|
44
|
-
AUTH_RSA = 5
|
|
45
|
-
RPCSEC_GSS = 6,
|
|
46
|
-
AUTH_NULL = 0
|
|
47
|
-
AUTH_UNIX = 1
|
|
81
|
+
AUTH_NONE = 0,// RFC 1831 (renamed from AUTH_NULL in RFC 1057)
|
|
82
|
+
AUTH_SYS = 1,// RFC 1831 (renamed from AUTH_UNIX in RFC 1057)
|
|
83
|
+
AUTH_SHORT = 2,// RFC 1057
|
|
84
|
+
AUTH_DH = 3,// RFC 5531 (obsolete, was AUTH_DES in RFC 1057)
|
|
85
|
+
AUTH_KERB = 4,// RFC 5531
|
|
86
|
+
AUTH_RSA = 5,// RFC 5531
|
|
87
|
+
RPCSEC_GSS = 6,// RFC 5531 (RFC 2203, RFC 5403)
|
|
88
|
+
AUTH_NULL = 0,// RFC 1057 (alias for AUTH_NONE)
|
|
89
|
+
AUTH_UNIX = 1,// RFC 1057 (alias for AUTH_SYS)
|
|
48
90
|
AUTH_DES = 3
|
|
49
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* RPC protocol version (all RFCs use version 2)
|
|
94
|
+
* @see RFC 1057 Section 8
|
|
95
|
+
* @see RFC 1831 Section 8
|
|
96
|
+
* @see RFC 5531 Section 9
|
|
97
|
+
*/
|
|
50
98
|
export declare const RPC_VERSION = 2;
|
package/lib/rpc/constants.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ONC RPC Protocol Constants
|
|
4
|
+
* Supports RFC 1057, RFC 1831, and RFC 5531
|
|
5
|
+
*/
|
|
2
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
7
|
exports.RPC_VERSION = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* RPC protocol version (all RFCs use version 2)
|
|
10
|
+
* @see RFC 1057 Section 8
|
|
11
|
+
* @see RFC 1831 Section 8
|
|
12
|
+
* @see RFC 5531 Section 9
|
|
13
|
+
*/
|
|
4
14
|
exports.RPC_VERSION = 2;
|
|
5
15
|
//# sourceMappingURL=constants.js.map
|
package/lib/rpc/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rpc/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rpc/constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA+FH;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAC,CAAC"}
|
package/lib/ssh/SshDecoder.d.ts
CHANGED
|
@@ -1,20 +1,66 @@
|
|
|
1
1
|
import { JsonPackMpint } from '../JsonPackMpint';
|
|
2
2
|
import type { IReader, IReaderResettable } from '@jsonjoy.com/buffers/lib';
|
|
3
3
|
import type { BinaryJsonDecoder } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* SSH 2.0 binary decoder for SSH protocol data types.
|
|
6
|
+
* Implements SSH binary decoding according to RFC 4251.
|
|
7
|
+
*
|
|
8
|
+
* Key SSH decoding principles:
|
|
9
|
+
* - Multi-byte quantities are transmitted in big-endian byte order (network byte order)
|
|
10
|
+
* - Strings are length-prefixed with uint32
|
|
11
|
+
* - No padding is used (unlike XDR)
|
|
12
|
+
*/
|
|
4
13
|
export declare class SshDecoder<R extends IReader & IReaderResettable = IReader & IReaderResettable> implements BinaryJsonDecoder {
|
|
5
14
|
reader: R;
|
|
6
15
|
constructor(reader?: R);
|
|
7
16
|
read(uint8: Uint8Array): unknown;
|
|
8
17
|
decode(uint8: Uint8Array): unknown;
|
|
9
18
|
readAny(): unknown;
|
|
19
|
+
/**
|
|
20
|
+
* Reads an SSH boolean value as a single byte.
|
|
21
|
+
* Returns true for non-zero values, false for zero.
|
|
22
|
+
*/
|
|
10
23
|
readBoolean(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Reads an SSH byte value (8-bit).
|
|
26
|
+
*/
|
|
11
27
|
readByte(): number;
|
|
28
|
+
/**
|
|
29
|
+
* Reads an SSH uint32 value in big-endian format.
|
|
30
|
+
*/
|
|
12
31
|
readUint32(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Reads an SSH uint64 value in big-endian format.
|
|
34
|
+
*/
|
|
13
35
|
readUint64(): bigint;
|
|
36
|
+
/**
|
|
37
|
+
* Reads an SSH string as binary data (Uint8Array).
|
|
38
|
+
* Format: uint32 length + data bytes (no padding).
|
|
39
|
+
*/
|
|
14
40
|
readBinStr(): Uint8Array;
|
|
41
|
+
/**
|
|
42
|
+
* Reads an SSH string with UTF-8 encoding.
|
|
43
|
+
* Format: uint32 length + UTF-8 bytes (no padding).
|
|
44
|
+
*/
|
|
15
45
|
readStr(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Reads an SSH string with ASCII encoding.
|
|
48
|
+
* Format: uint32 length + ASCII bytes (no padding).
|
|
49
|
+
*/
|
|
16
50
|
readAsciiStr(): string;
|
|
51
|
+
/**
|
|
52
|
+
* Reads an SSH mpint (multiple precision integer).
|
|
53
|
+
* Format: uint32 length + data bytes in two's complement format, MSB first.
|
|
54
|
+
*/
|
|
17
55
|
readMpint(): JsonPackMpint;
|
|
56
|
+
/**
|
|
57
|
+
* Reads an SSH name-list.
|
|
58
|
+
* Format: uint32 length + comma-separated names.
|
|
59
|
+
* Returns an array of name strings.
|
|
60
|
+
*/
|
|
18
61
|
readNameList(): string[];
|
|
62
|
+
/**
|
|
63
|
+
* Reads binary data as SSH string (alias for readBinStr)
|
|
64
|
+
*/
|
|
19
65
|
readBin(): Uint8Array;
|
|
20
66
|
}
|