| 1 | import { RpcProcedure, RpcProcedurePayload, RpcProcedureResult } from './RpcProcedure';
|
|---|
| 2 | interface RpcMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure, TPayload = unknown> {
|
|---|
| 3 | rpc: true;
|
|---|
| 4 | type: TType;
|
|---|
| 5 | procedure: TProcedure;
|
|---|
| 6 | id: number;
|
|---|
| 7 | payload: TPayload;
|
|---|
| 8 | source?: string;
|
|---|
| 9 | }
|
|---|
| 10 | interface RpcRemoteError {
|
|---|
| 11 | message: string;
|
|---|
| 12 | stack?: string;
|
|---|
| 13 | }
|
|---|
| 14 | declare type RpcCall<TProcedure extends RpcProcedure> = RpcMessage<'call', TProcedure, RpcProcedurePayload<TProcedure>>;
|
|---|
| 15 | declare type RpcReturn<TProcedure extends RpcProcedure> = RpcMessage<'return', TProcedure, RpcProcedureResult<TProcedure>>;
|
|---|
| 16 | declare type RpcThrow<TProcedure extends RpcProcedure> = RpcMessage<'throw', TProcedure, RpcRemoteError>;
|
|---|
| 17 | declare function createRpcMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure, TPayload = unknown>(procedure: TProcedure, id: number, type: TType, payload: TPayload, source?: string): RpcMessage<TType, TProcedure, TPayload>;
|
|---|
| 18 | declare function createRpcCall<TProcedure extends RpcProcedure>(procedure: TProcedure, index: number, payload: RpcProcedurePayload<TProcedure>): RpcCall<TProcedure>;
|
|---|
| 19 | declare function createRpcReturn<TProcedure extends RpcProcedure>(procedure: TProcedure, index: number, payload: RpcProcedureResult<TProcedure>): RpcReturn<TProcedure>;
|
|---|
| 20 | declare function createRpcThrow<TProcedure extends RpcProcedure, TError = Error>(procedure: TProcedure, index: number, payload: RpcRemoteError): RpcThrow<TProcedure>;
|
|---|
| 21 | declare function isRpcMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure>(candidate: unknown): candidate is RpcMessage<TType, TProcedure>;
|
|---|
| 22 | declare function isRpcCallMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure>(candidate: unknown): candidate is RpcCall<TProcedure>;
|
|---|
| 23 | declare function isRpcReturnMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure>(candidate: unknown): candidate is RpcReturn<TProcedure>;
|
|---|
| 24 | declare function isRpcThrowMessage<TType extends string = string, TProcedure extends RpcProcedure = RpcProcedure>(candidate: unknown): candidate is RpcThrow<TProcedure>;
|
|---|
| 25 | declare function getRpcMessageKey(message: RpcMessage): string;
|
|---|
| 26 | export { RpcMessage, RpcCall, RpcReturn, RpcThrow, createRpcMessage, createRpcCall, createRpcReturn, createRpcThrow, isRpcMessage, isRpcCallMessage, isRpcReturnMessage, isRpcThrowMessage, getRpcMessageKey, };
|
|---|