123456789101112 |
- import { RpcProcedure } from './RpcProcedure';
- import { RpcMessagePort } from './RpcMessagePort';
- declare type RpcCallHandler<TPayload = any, TResult = any> = (payload: TPayload) => Promise<TResult>;
- interface RpcService {
- readonly isOpen: () => boolean;
- readonly open: () => Promise<void>;
- readonly close: () => Promise<void>;
- readonly addCallHandler: <TPayload, TResult>(procedure: RpcProcedure<TPayload, TResult>, handler: RpcCallHandler<TPayload, TResult>) => void;
- readonly removeCallHandler: <TPayload, TResult>(procedure: RpcProcedure<TPayload, TResult>) => void;
- }
- declare function createRpcService(port: RpcMessagePort): RpcService;
- export { RpcService, createRpcService };
|