RpcClient.d.ts 569 B

12345678910
  1. import { RpcProcedure, RpcProcedurePayload, RpcProcedureResult } from './RpcProcedure';
  2. import { RpcMessagePort } from './RpcMessagePort';
  3. interface RpcClient {
  4. readonly isConnected: () => boolean;
  5. readonly connect: () => Promise<void>;
  6. readonly disconnect: () => Promise<void>;
  7. readonly dispatchCall: <TProcedure extends RpcProcedure>(procedure: TProcedure, payload: RpcProcedurePayload<TProcedure>) => Promise<RpcProcedureResult<TProcedure>>;
  8. }
  9. declare function createRpcClient(port: RpcMessagePort): RpcClient;
  10. export { RpcClient, createRpcClient };