This commit is contained in:
darenhsu
2022-07-17 13:16:16 +08:00
parent 84759556ff
commit befd344ab0
28070 changed files with 4008428 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
import {EventInterface} from 'microevent.ts';
interface RpcProviderInterface {
dispatch(message: any): void;
rpc<T, U>(id: string, payload?: T, transfer?: Array<any>): Promise<U>;
signal<T>(id: string, payload?: T, transfer?: Array<any>): this;
registerRpcHandler<T, U>(id: string, handler: RpcProviderInterface.RpcHandler<T, U>): this;
registerSignalHandler<T>(id: string, handler: RpcProviderInterface.SignalHandler<T>): this;
deregisterRpcHandler<T, U>(id: string, handler: RpcProviderInterface.RpcHandler<T, U>): this;
deregisterSignalHandler<T>(id: string, handler: RpcProviderInterface.SignalHandler<T>): this;
error: EventInterface<Error>;
}
module RpcProviderInterface {
export interface RpcHandler<T, U> {
(payload?: T): Promise<U>|U;
}
export interface SignalHandler<T> {
(payload?: T): void;
}
}
export default RpcProviderInterface;