UNPKG

@jsonjoy.com/reactive-rpc

Version:

Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.

12 lines (11 loc) 699 B
import type { JsonValueCodec } from '@jsonjoy.com/json-pack/lib/codecs/types'; import type * as msg from './messages'; export type ReactiveRpcClientMessage = msg.NotificationMessage | msg.RequestDataMessage | msg.RequestCompleteMessage | msg.RequestErrorMessage | msg.ResponseUnsubscribeMessage; export type ReactiveRpcServerMessage = msg.ResponseDataMessage | msg.ResponseCompleteMessage | msg.ResponseErrorMessage | msg.RequestUnsubscribeMessage; export type ReactiveRpcMessage = ReactiveRpcClientMessage | ReactiveRpcServerMessage; export interface Message<P = unknown> { value?: undefined | unknown; validate(): void; toCompact(): P; encodeBinary(codec: JsonValueCodec): void; }