@cloudpss/ubrpc 0.4.11 → 0.4.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.
package/dist/socket.d.ts CHANGED
@@ -1,67 +1,67 @@
1
- /// <reference types="ws" />
2
- import type WebSocket from 'isomorphic-ws';
3
- import { Observable } from 'rxjs';
4
- import type { ConnectionID, RpcCallPayload, RpcMetadata, RpcNotifyPayload, RpcPayload, RpcSubscribePayload } from './types/payload.js';
5
- import type { Methods, Notifications, RpcObject, RpcParameters, RpcReturns, Subjects } from './types/utils.js';
6
- /** RPC 连接 */
7
- export declare abstract class RpcSocket<TRemote extends {}, TLocal extends {}> {
8
- readonly id: ConnectionID;
9
- constructor(id: ConnectionID, local?: RpcObject<TLocal>);
10
- protected _localMetadata?: RpcMetadata;
11
- protected _remoteMetadata?: RpcMetadata;
12
- /** 本地认证信息 */
13
- get localMetadata(): RpcMetadata | undefined;
14
- /** 远程认证信息 */
15
- get remoteMetadata(): RpcMetadata | undefined;
16
- /** 连接是否已认证 */
17
- get authenticated(): boolean;
18
- private readonly __local?;
19
- /** 用于响应调用的本地对象 */
20
- protected get local(): RpcObject<TLocal> | undefined;
21
- private __socket?;
22
- /** 作为底层传输的 WebSocket */
23
- get socket(): WebSocket;
24
- protected set socket(value: WebSocket);
25
- /** 创建 ready Promise */
26
- private makeReady;
27
- private __readyCallbacks?;
28
- protected ready: Promise<void>;
29
- private readonly __handlers;
30
- /** 初始化 WebSocket */
31
- protected initSocket(oldValue: WebSocket | undefined, newValue: WebSocket): Promise<void>;
32
- /** 认证 WebSocket */
33
- protected abstract authSocket(): Promise<RpcMetadata>;
34
- /** 响应 WebSocket error */
35
- protected onError(_ev: WebSocket.ErrorEvent): void;
36
- /** 响应 WebSocket open */
37
- protected onOpen(_ev: WebSocket.Event): void;
38
- /** 响应 WebSocket close */
39
- protected onClose(ev: WebSocket.CloseEvent): void;
40
- /** 响应 WebSocket message */
41
- protected onMessage(ev: WebSocket.MessageEvent): void;
42
- /** 响应 Rpc 消息 */
43
- protected onPayload(payload: RpcPayload): boolean;
44
- /** 调用本地方法 */
45
- protected localCall(payload: RpcCallPayload | RpcNotifyPayload): Promise<void>;
46
- private readonly localSubscription;
47
- /** 调用本地方法 */
48
- protected localSubscribe(payload: RpcSubscribePayload): Promise<void>;
49
- /** 发送数据 */
50
- protected sendPayload<T extends RpcPayload['type']>(type: T, info: Omit<RpcPayload & {
51
- type: T;
52
- }, 'type'>): Promise<void>;
53
- /** 序列号 */
54
- protected seq: number;
55
- /** 获取下一个序列号 */
56
- protected nextSeq(): number;
57
- private readonly pendingCalls;
58
- /** 调用远程方法 */
59
- call<TMethod extends Methods<TRemote>>(method: TMethod, ...args: RpcParameters<TRemote[TMethod]>): Promise<RpcReturns<TRemote[TMethod]>>;
60
- /** 调用远程方法,放弃返回值 */
61
- notify<TNotification extends Notifications<TRemote>>(method: TNotification, ...args: RpcParameters<TRemote[TNotification]>): void;
62
- private readonly pendingSubscriptions;
63
- /** 调用远程订阅 */
64
- subscribe<TSubject extends Subjects<TRemote>>(method: TSubject, ...args: RpcParameters<TRemote[TSubject]>): Observable<RpcReturns<TRemote[TSubject]>>;
65
- /** 结束 */
66
- destroy(): void;
67
- }
1
+ /// <reference types="ws" />
2
+ import type WebSocket from 'isomorphic-ws';
3
+ import { Observable } from 'rxjs';
4
+ import type { ConnectionID, RpcCallPayload, RpcMetadata, RpcNotifyPayload, RpcPayload, RpcSubscribePayload } from './types/payload.js';
5
+ import type { Methods, Notifications, RpcObject, RpcParameters, RpcReturns, Subjects } from './types/utils.js';
6
+ /** RPC 连接 */
7
+ export declare abstract class RpcSocket<TRemote extends {}, TLocal extends {}> {
8
+ readonly id: ConnectionID;
9
+ constructor(id: ConnectionID, local?: RpcObject<TLocal>);
10
+ protected _localMetadata?: RpcMetadata;
11
+ protected _remoteMetadata?: RpcMetadata;
12
+ /** 本地认证信息 */
13
+ get localMetadata(): RpcMetadata | undefined;
14
+ /** 远程认证信息 */
15
+ get remoteMetadata(): RpcMetadata | undefined;
16
+ /** 连接是否已认证 */
17
+ get authenticated(): boolean;
18
+ private readonly __local?;
19
+ /** 用于响应调用的本地对象 */
20
+ protected get local(): RpcObject<TLocal> | undefined;
21
+ private __socket?;
22
+ /** 作为底层传输的 WebSocket */
23
+ get socket(): WebSocket;
24
+ protected set socket(value: WebSocket);
25
+ /** 创建 ready Promise */
26
+ private makeReady;
27
+ private __readyCallbacks?;
28
+ protected ready: Promise<void>;
29
+ private readonly __handlers;
30
+ /** 初始化 WebSocket */
31
+ protected initSocket(oldValue: WebSocket | undefined, newValue: WebSocket): Promise<void>;
32
+ /** 认证 WebSocket */
33
+ protected abstract authSocket(): Promise<RpcMetadata>;
34
+ /** 响应 WebSocket error */
35
+ protected onError(_ev: WebSocket.ErrorEvent): void;
36
+ /** 响应 WebSocket open */
37
+ protected onOpen(_ev: WebSocket.Event): void;
38
+ /** 响应 WebSocket close */
39
+ protected onClose(ev: WebSocket.CloseEvent): void;
40
+ /** 响应 WebSocket message */
41
+ protected onMessage(ev: WebSocket.MessageEvent): void;
42
+ /** 响应 Rpc 消息 */
43
+ protected onPayload(payload: RpcPayload): boolean;
44
+ /** 调用本地方法 */
45
+ protected localCall(payload: RpcCallPayload | RpcNotifyPayload): Promise<void>;
46
+ private readonly localSubscription;
47
+ /** 调用本地方法 */
48
+ protected localSubscribe(payload: RpcSubscribePayload): Promise<void>;
49
+ /** 发送数据 */
50
+ protected sendPayload<T extends RpcPayload['type']>(type: T, info: Omit<RpcPayload & {
51
+ type: T;
52
+ }, 'type'>): Promise<void>;
53
+ /** 序列号 */
54
+ protected seq: number;
55
+ /** 获取下一个序列号 */
56
+ protected nextSeq(): number;
57
+ private readonly pendingCalls;
58
+ /** 调用远程方法 */
59
+ call<TMethod extends Methods<TRemote>>(method: TMethod, ...args: RpcParameters<TRemote[TMethod]>): Promise<RpcReturns<TRemote[TMethod]>>;
60
+ /** 调用远程方法,放弃返回值 */
61
+ notify<TNotification extends Notifications<TRemote>>(method: TNotification, ...args: RpcParameters<TRemote[TNotification]>): void;
62
+ private readonly pendingSubscriptions;
63
+ /** 调用远程订阅 */
64
+ subscribe<TSubject extends Subjects<TRemote>>(method: TSubject, ...args: RpcParameters<TRemote[TSubject]>): Observable<RpcReturns<TRemote[TSubject]>>;
65
+ /** 结束 */
66
+ destroy(): void;
67
+ }