RpcSerialization
Errors
RpcSerializationError
Added in v1.0.0
Source
Signature
declare class RpcSerializationError extends YieldableError<this> & {
readonly _tag: "RpcSerializationError";
} & Readonly<{
readonly bufferSize: number;
readonly maxBufferSize: number;
readonly reason: "BufferSizeExceeded";
}> {
constructor(args: {
readonly bufferSize: number;
readonly maxBufferSize: number;
readonly reason: "BufferSizeExceeded";
});
message: string;
}Serialization
Signature
declare const json: RpcSerialization["Type"];Signature
declare function jsonRpc(options?: { readonly contentType?: string }): any;Signature
declare const layerJson: Layer.Layer<RpcSerialization>;layerJsonRpc
Added in v1.0.0
Source
A rpc serialization layer that uses JSON-RPC for serialization.
Signature
declare function layerJsonRpc(options?: { readonly contentType?: string }): Layer<RpcSerialization>;layerMsgPack
Added in v1.0.0
Source
A rpc serialization layer that uses MessagePack for serialization.
MessagePack has a more compact binary format compared to JSON and NDJSON. It also has better support for binary data.
Signature
declare const layerMsgPack: Layer.Layer<RpcSerialization>;layerMsgPackWith
Added in v1.0.0
Source
Signature
declare function layerMsgPackWith(options?: any): Layer<RpcSerialization>;layerNdjson
Added in v1.0.0
Source
A rpc serialization layer that uses NDJSON for serialization.
Use this if your protocol does not support framing for messages, otherwise use layerJson.
Signature
declare const layerNdjson: Layer.Layer<RpcSerialization>;layerNdJsonRpc
Added in v1.0.0
Source
A rpc serialization layer that uses JSON-RPC for serialization separated by new lines.
Signature
declare function layerNdJsonRpc(options?: {
readonly contentType?: string;
readonly maxBufferSize?: number | "unbounded";
}): Layer<RpcSerialization>;layerNdjsonWith
Added in v1.0.0
Source
Signature
declare function layerNdjsonWith(options?: StreamOptions): Layer<RpcSerialization>;makeMsgPack
Added in v1.0.0
Source
Create a MessagePack serialization with custom msgpackr options.
Signature
declare function makeMsgPack(options?: any): any;makeNdjson
Added in v1.0.0
Source
Signature
declare function makeNdjson(options?: StreamOptions): any;Signature
declare const msgPack: RpcSerialization["Type"];Signature
declare const ndjson: RpcSerialization["Type"];Signature
declare function ndJsonRpc(options?: {
readonly contentType?: string;
readonly maxBufferSize?: number | "unbounded";
}): any;Signature
interface Parser {
readonly decode: (data: string | Uint8Array<ArrayBufferLike>) => readonly Array<unknown>;
readonly encode: (response: unknown) => string | Uint8Array<ArrayBufferLike> | undefined;
}RpcSerialization
Added in v1.0.0
Source
Signature
declare class RpcSerialization extends any {
constructor();
}StreamOptions interface
Added in v1.0.0
Source
Signature
interface StreamOptions {
readonly maxBufferSize?: number | "unbounded";
}
A rpc serialization layer that uses JSON for serialization.
Use this if your protocol supports framing for messages, otherwise use layerNdjson.