@v1nt1248/3nclient-lib 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,61 @@
1
+ /// <reference path="../@types/platform-defs/w3n.d.ts" />
2
+ declare type IncomingConnection = web3n.rpc.service.IncomingConnection;
3
+ declare type PassedDatum = web3n.rpc.PassedDatum;
4
+ declare type Observer<T> = web3n.Observer<T>;
5
+ export declare type HandleObservingCall = (obs: Observer<any>, ...requestArgs: any[]) => (() => void);
6
+ export declare type HandleReqReplyCall = (...requestArgs: any[]) => Promise<any>;
7
+ export interface TransformOpts {
8
+ unpackRequest?: ((req: PassedDatum | undefined) => any[]) | 'noop';
9
+ packReply?: ((reply: any) => PassedDatum | undefined) | 'noop';
10
+ }
11
+ declare class ConnectionState {
12
+ private readonly disconnect;
13
+ private readonly calls;
14
+ private isRunning;
15
+ constructor(disconnect: () => void);
16
+ acceptsMsgs(): boolean;
17
+ stop(): void;
18
+ hasCall(callNum: number): boolean;
19
+ cancelCall(callNum: number): void;
20
+ completeCall(callNum: number): void;
21
+ registerReqReplyCall(callNum: number): void;
22
+ registerObservableCall(callNum: number, cancel: () => void): void;
23
+ }
24
+ export declare abstract class IPCWrap {
25
+ readonly srvName: string;
26
+ protected readonly connections: Map<web3n.rpc.service.IncomingConnection, ConnectionState>;
27
+ private readonly methods;
28
+ constructor(srvName: string);
29
+ addReqReplyMethod(method: string, srv: object | undefined, func: HandleReqReplyCall, transforms?: TransformOpts): void;
30
+ exposeReqReplyMethods<T extends object>(srv: T, methods: (keyof T)[], transforms?: {
31
+ [method in keyof T]: TransformOpts;
32
+ }): void;
33
+ addObservableMethod(method: string, srv: object | undefined, func: HandleObservingCall, transforms?: TransformOpts): void;
34
+ exposeObservableMethods<T extends object>(srv: T, methods: (keyof T)[], transforms?: {
35
+ [method in keyof T]: TransformOpts;
36
+ }): void;
37
+ private onMsg;
38
+ private callReqReplyHandler;
39
+ private callObsHandler;
40
+ startIPC(): () => void;
41
+ stopIPC(): void;
42
+ protected onConnection(connection: IncomingConnection): Promise<void>;
43
+ protected onConnectionCompletion(connection: IncomingConnection, connectionState: ConnectionState): Promise<void>;
44
+ protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
45
+ protected abstract onListeningCompletion(): Promise<void>;
46
+ protected abstract onListeningError(err: any): Promise<void>;
47
+ }
48
+ export declare class SingleConnectionIPCWrap extends IPCWrap {
49
+ constructor(srvName: string);
50
+ protected onListeningCompletion(): Promise<void>;
51
+ protected onListeningError(err: any): Promise<void>;
52
+ protected onConnectionCompletion(connection: IncomingConnection, connectionState: ConnectionState): Promise<void>;
53
+ protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
54
+ }
55
+ export declare class MultiConnectionIPCWrap extends IPCWrap {
56
+ constructor(srvName: string);
57
+ protected onListeningCompletion(): Promise<void>;
58
+ protected onListeningError(err: any): Promise<void>;
59
+ protected onConnectionError(connection: IncomingConnection, connectionState: ConnectionState, err: any): Promise<void>;
60
+ }
61
+ export {};