RpcMessagePort.d.ts 763 B

1234567891011121314
  1. declare type RpcMessageDispatch = <TMessage>(message: TMessage) => Promise<void>;
  2. declare type RpcMessageListener = RpcMessageDispatch;
  3. declare type RpcErrorListener = (error: Error) => void;
  4. interface RpcMessagePort {
  5. readonly dispatchMessage: RpcMessageDispatch;
  6. readonly addMessageListener: (listener: RpcMessageListener) => void;
  7. readonly removeMessageListener: (listener: RpcMessageListener) => void;
  8. readonly addErrorListener: (listener: RpcErrorListener) => void;
  9. readonly removeErrorListener: (listener: RpcErrorListener) => void;
  10. readonly isOpen: () => boolean;
  11. readonly open: () => Promise<void>;
  12. readonly close: () => Promise<void>;
  13. }
  14. export { RpcMessagePort, RpcMessageDispatch, RpcMessageListener, RpcErrorListener };