@eyhn/msgpack-stream
Version:
MessagePack for ECMA-262/JavaScript/TypeScript
64 lines (63 loc) • 2.17 kB
TypeScript
import { ExtensionCodecType } from "./ExtensionCodec";
import { KeyDecoder } from "./CachedKeyDecoder";
export declare const DataViewIndexOutOfBoundsError: typeof Error;
export declare const DEFAULT_BUFFER_SIZE = 2048;
export declare class StreamDecoder<ContextType = undefined> {
private readonly readIterable;
private readonly extensionCodec;
private readonly context;
private readonly maxStrLength;
private readonly maxBinLength;
private readonly maxArrayLength;
private readonly maxMapLength;
private readonly maxExtLength;
private readonly keyDecoder;
private readonly bufferSize;
private headByte;
private readonly stack;
private readonly readStream;
private buffer;
constructor(readIterable: AsyncIterable<Uint8Array>, extensionCodec?: ExtensionCodecType<ContextType>, context?: ContextType, maxStrLength?: number, maxBinLength?: number, maxArrayLength?: number, maxMapLength?: number, maxExtLength?: number, keyDecoder?: KeyDecoder | null, bufferSize?: number);
private reinitializeState;
private createExtraByteError;
/**
* @throws {@link DecodeError}
* @throws {@link RangeError}
*/
decode(): Promise<unknown>;
decodeMulti(): AsyncGenerator<unknown>;
private doDecodeSync;
private readHeadByteFromBuffer;
private readHeadByte;
private complete;
private pushMapState;
private pushArrayState;
private decodeUtf8StringFromBuffer;
private decodeUtf8String;
private stateIsMapKey;
private decodeBinary;
private decodeExtension;
private readU8;
private readI8;
private readU16;
private readI16;
private readU32;
private readI32;
private readU64;
private readI64;
private readF32;
private readF64;
private readU8FromBuffer;
private readI8FromBuffer;
private readU16FromBuffer;
private readI16FromBuffer;
private readU32FromBuffer;
private readI32FromBuffer;
private readU64FromBuffer;
private readI64FromBuffer;
private readF32FromBuffer;
private readF64FromBuffer;
private readBytesFromBuffer;
private readBytes;
private readToBuffer;
}