UNPKG

@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
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; }