@jsonjoy.com/reactive-rpc
Version:
Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.
78 lines (77 loc) • 3.29 kB
TypeScript
import type { JsonValueCodec } from '@jsonjoy.com/json-pack/lib/codecs/types';
import type { RpcValue } from './Value';
import type * as cmsg from '../codec/compact/types';
import type { Message } from './types';
export declare class NotificationMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly method: string;
readonly value: V;
constructor(method: string, value: V);
validate(): void;
toCompact(): cmsg.CompactNotificationMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class RequestDataMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
readonly method: string;
readonly value: undefined | V;
constructor(id: number, method: string, value: undefined | V);
validate(): void;
toCompact(): cmsg.CompactRequestDataMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class RequestCompleteMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
readonly method: string;
readonly value: undefined | V;
constructor(id: number, method: string, value: undefined | V);
validate(): void;
toCompact(): cmsg.CompactRequestCompleteMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class RequestErrorMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
method: string;
readonly value: V;
constructor(id: number, method: string, value: V);
validate(): void;
toCompact(): cmsg.CompactRequestErrorMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class RequestUnsubscribeMessage implements Message<cmsg.CompactMessage> {
readonly id: number;
constructor(id: number);
validate(): void;
toCompact(): cmsg.CompactRequestUnsubscribeMessage;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class ResponseCompleteMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
readonly value: undefined | V;
constructor(id: number, value: undefined | V);
validate(): void;
toCompact(): cmsg.CompactResponseCompleteMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class ResponseDataMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
readonly value: V;
constructor(id: number, value: V);
validate(): void;
toCompact(): cmsg.CompactResponseDataMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class ResponseErrorMessage<V extends RpcValue<any> = RpcValue> implements Message<cmsg.CompactMessage> {
readonly id: number;
readonly value: V;
constructor(id: number, value: V);
validate(): void;
toCompact(): cmsg.CompactResponseErrorMessage<V>;
encodeBinary(codec: JsonValueCodec): void;
}
export declare class ResponseUnsubscribeMessage implements Message<cmsg.CompactMessage> {
readonly id: number;
constructor(id: number);
validate(): void;
toCompact(): cmsg.CompactResponseUnsubscribeMessage;
encodeBinary(codec: JsonValueCodec): void;
}