@event-chat/rpc 0.1.29 → 0.1.30
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/core/RPCAction.d.ts +1 -0
- package/dist/core/RPCAction.d.ts.map +1 -1
- package/dist/core/RPCAction.js +3 -0
- package/dist/entry/messagePort.d.ts +36 -6
- package/dist/entry/messagePort.d.ts.map +1 -1
- package/dist/entry/messagePort.js +42 -1
- package/dist/entry/sharedWorkerGlobalScope.d.ts +8 -24
- package/dist/entry/sharedWorkerGlobalScope.d.ts.map +1 -1
- package/dist/entry/sharedWorkerGlobalScope.js +12 -6
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts +3 -5
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts.map +1 -1
- package/dist/transports/ServiceWorkerGlobalScopeTransport.js +9 -15
- package/dist/transports/WebSocketTransport.d.ts +1 -4
- package/dist/transports/WebSocketTransport.d.ts.map +1 -1
- package/dist/transports/WebSocketTransport.js +8 -13
- package/package.json +1 -1
package/dist/core/RPCAction.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ declare class RPCAction {
|
|
|
15
15
|
destroy(): void;
|
|
16
16
|
broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'>, fallback?: (error: unknown) => void): MessageItem;
|
|
17
17
|
config(options: Omit<RPCOptionsType, 'onConnect' | 'onDisconnect'>): void;
|
|
18
|
+
connected(): boolean;
|
|
18
19
|
on<T extends ActionFunType>(type: PropertyKey, handler: T): void;
|
|
19
20
|
onBrodcast(listener: BrodcastItem): void;
|
|
20
21
|
request<T = unknown>(type: PropertyKey, options?: RequestOptions<T>): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"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"}
|
package/dist/core/RPCAction.js
CHANGED
|
@@ -1,26 +1,56 @@
|
|
|
1
|
+
import { RequestOptions } from '../core/RPCAction';
|
|
1
2
|
import { ActionRecord } from '../core/RPCDecorator';
|
|
2
|
-
import { EntryOptions } from '../fields';
|
|
3
|
-
export declare function createMessagePortRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: MessagePort, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<
|
|
4
|
-
request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<
|
|
3
|
+
import { EntryOptions, MessageItem, Transport } from '../fields';
|
|
4
|
+
export declare function createMessagePortRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: MessagePort, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport<boolean>, "getType" | "upset"> & {
|
|
5
|
+
request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<RequestOptions, "payload"> & {
|
|
5
6
|
payload?: never;
|
|
6
7
|
} : StructuredSerializeOptions & {
|
|
7
8
|
targetOrigin?: string;
|
|
8
9
|
transmit?: () => Promise<readonly WindowClient[]>;
|
|
9
|
-
} & Pick<
|
|
10
|
+
} & Pick<MessageItem, "requestId" | "sign"> & {
|
|
10
11
|
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
11
12
|
retry?: number;
|
|
12
13
|
} & {
|
|
13
14
|
payload: Parameters<CONSUME[K]>[0];
|
|
14
|
-
}) | undefined] : [keyname: K, reqops: Parameters<CONSUME[K]> extends [] ? Omit<
|
|
15
|
+
}) | undefined] : [keyname: K, reqops: Parameters<CONSUME[K]> extends [] ? Omit<RequestOptions, "payload"> & {
|
|
15
16
|
payload?: never;
|
|
16
17
|
} : StructuredSerializeOptions & {
|
|
17
18
|
targetOrigin?: string;
|
|
18
19
|
transmit?: () => Promise<readonly WindowClient[]>;
|
|
19
|
-
} & Pick<
|
|
20
|
+
} & Pick<MessageItem, "requestId" | "sign"> & {
|
|
20
21
|
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
21
22
|
retry?: number;
|
|
22
23
|
} & {
|
|
23
24
|
payload: Parameters<CONSUME[K]>[0];
|
|
24
25
|
}]) => Promise<ReturnType<CONSUME[K]> extends infer T ? T extends ReturnType<CONSUME[K]> ? T extends Promise<infer R> ? R : T : never : never>;
|
|
25
26
|
}>, () => void];
|
|
27
|
+
export declare function observerMessagePortRPC(): Readonly<{
|
|
28
|
+
brodcastScope: <T>(data: RequestOptions<T>, fallback?: (error: unknown) => void) => void;
|
|
29
|
+
push: <EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: MessagePort, config?: EntryConfig<EVENT, CONSUME>) => readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport<boolean>, "getType" | "upset"> & {
|
|
30
|
+
request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<RequestOptions, "payload"> & {
|
|
31
|
+
payload?: never;
|
|
32
|
+
} : StructuredSerializeOptions & {
|
|
33
|
+
targetOrigin?: string;
|
|
34
|
+
transmit?: () => Promise<readonly WindowClient[]>;
|
|
35
|
+
} & Pick<MessageItem, "requestId" | "sign"> & {
|
|
36
|
+
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
37
|
+
retry?: number;
|
|
38
|
+
} & {
|
|
39
|
+
payload: Parameters<CONSUME[K]>[0];
|
|
40
|
+
}) | undefined] : [keyname: K, reqops: Parameters<CONSUME[K]> extends [] ? Omit<RequestOptions, "payload"> & {
|
|
41
|
+
payload?: never;
|
|
42
|
+
} : StructuredSerializeOptions & {
|
|
43
|
+
targetOrigin?: string;
|
|
44
|
+
transmit?: () => Promise<readonly WindowClient[]>;
|
|
45
|
+
} & Pick<MessageItem, "requestId" | "sign"> & {
|
|
46
|
+
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
47
|
+
retry?: number;
|
|
48
|
+
} & {
|
|
49
|
+
payload: Parameters<CONSUME[K]>[0];
|
|
50
|
+
}]) => Promise<ReturnType<CONSUME[K]> extends infer T ? T extends ReturnType<CONSUME[K]> ? T extends Promise<infer R> ? R : T : never : never>;
|
|
51
|
+
}>, () => void];
|
|
52
|
+
}>;
|
|
53
|
+
export type EntryConfig<EVENT extends ActionRecord, CONSUME extends ActionRecord> = EntryOptions<EVENT, CONSUME> & {
|
|
54
|
+
destroy?: boolean;
|
|
55
|
+
};
|
|
26
56
|
//# sourceMappingURL=messagePort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagePort.d.ts","sourceRoot":"","sources":["../../src/entry/messagePort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"messagePort.d.ts","sourceRoot":"","sources":["../../src/entry/messagePort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGhE,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAC3F,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAItC;AAED,wBAAgB,sBAAsB;oBAKb,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;WAgBxE,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,UAC5D,WAAW,WACV,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;GA4BvC;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,IAAI,YAAY,CAC9F,KAAK,EACL,OAAO,CACR,GAAG;IACF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA"}
|
|
@@ -4,4 +4,45 @@ function createMessagePortRPC(target, config) {
|
|
|
4
4
|
const { context, options } = config ?? {};
|
|
5
5
|
return RPCDecorator(new MessagePortTransport(target, options), context);
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
function observerMessagePortRPC() {
|
|
8
|
+
const ports = new Set();
|
|
9
|
+
const brodcastScope = (data, fallback)=>{
|
|
10
|
+
let result = {};
|
|
11
|
+
ports.forEach((port)=>{
|
|
12
|
+
if (port.connected()) result = port.broadcast({
|
|
13
|
+
...data,
|
|
14
|
+
requestId: data.requestId ?? result.requestId,
|
|
15
|
+
sign: data.sign ?? result.sign
|
|
16
|
+
}, fallback);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const push = (target, config)=>{
|
|
20
|
+
const { context, destroy, ...ops } = config ?? {};
|
|
21
|
+
const RPCIns = createMessagePortRPC(target, {
|
|
22
|
+
...ops,
|
|
23
|
+
context: {
|
|
24
|
+
...context,
|
|
25
|
+
config: {
|
|
26
|
+
...context?.config,
|
|
27
|
+
onConnect: ()=>{
|
|
28
|
+
ports.add(RPCIns[0]);
|
|
29
|
+
context?.config?.onConnect?.();
|
|
30
|
+
},
|
|
31
|
+
onDisconnect: (dest)=>{
|
|
32
|
+
if (destroy) {
|
|
33
|
+
RPCIns[1]();
|
|
34
|
+
ports.delete(RPCIns[0]);
|
|
35
|
+
context?.config?.onDisconnect?.(true);
|
|
36
|
+
} else context?.config?.onDisconnect?.(dest);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return RPCIns;
|
|
42
|
+
};
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
brodcastScope,
|
|
45
|
+
push
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export { createMessagePortRPC, observerMessagePortRPC };
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
import { ActionRecord } from '../core/RPCDecorator';
|
|
2
|
-
import {
|
|
3
|
-
export declare function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
11
|
-
retry?: number;
|
|
12
|
-
} & {
|
|
13
|
-
payload: Parameters<CONSUME[K]>[0];
|
|
14
|
-
}) | undefined] : [keyname: K, reqops: Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
|
|
15
|
-
payload?: never;
|
|
16
|
-
} : StructuredSerializeOptions & {
|
|
17
|
-
targetOrigin?: string;
|
|
18
|
-
transmit?: () => Promise<readonly WindowClient[]>;
|
|
19
|
-
} & Pick<import("..").MessageItem, "requestId" | "sign"> & {
|
|
20
|
-
payload?: Parameters<CONSUME[K]>[0] | undefined;
|
|
21
|
-
retry?: number;
|
|
22
|
-
} & {
|
|
23
|
-
payload: Parameters<CONSUME[K]>[0];
|
|
24
|
-
}]) => Promise<ReturnType<CONSUME[K]> extends infer T ? T extends ReturnType<CONSUME[K]> ? T extends Promise<infer R> ? R : T : never : never>;
|
|
25
|
-
}>, () => void];
|
|
2
|
+
import { EntryConfig, createMessagePortRPC } from './messagePort';
|
|
3
|
+
export declare function obseverShareWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: SharedWorkerGlobalScope, generate?: GenerateCtx<EVENT, CONSUME>): Readonly<{
|
|
4
|
+
brodcastScope: <T>(data: import("../core/RPCAction").RequestOptions<T>, fallback?: (error: unknown) => void) => void;
|
|
5
|
+
}>;
|
|
6
|
+
type GenerateCtx<EVENT extends ActionRecord, CONSUME extends ActionRecord> = () => EntryConfig<EVENT, CONSUME> & {
|
|
7
|
+
provider?: (RPCIns: ReturnType<typeof createMessagePortRPC<EVENT, CONSUME>>) => void;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
26
10
|
//# sourceMappingURL=sharedWorkerGlobalScope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedWorkerGlobalScope.d.ts","sourceRoot":"","sources":["../../src/entry/sharedWorkerGlobalScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"sharedWorkerGlobalScope.d.ts","sourceRoot":"","sources":["../../src/entry/sharedWorkerGlobalScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAA0B,MAAM,eAAe,CAAA;AAEzF,wBAAgB,gCAAgC,CAC9C,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,EAAE,uBAAuB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;;GAQxE;AAED,KAAK,WAAW,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,IAAI,MAAM,WAAW,CAC5F,KAAK,EACL,OAAO,CACR,GAAG;IACF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAA;CACrF,CAAA"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { observerMessagePortRPC } from "./messagePort.js";
|
|
2
|
+
function obseverShareWorkerGlobalScopeRPC(target, generate) {
|
|
3
|
+
const { brodcastScope, push } = observerMessagePortRPC();
|
|
4
|
+
target.addEventListener('connect', (event)=>{
|
|
5
|
+
const { provider, ...config } = generate?.() ?? {};
|
|
6
|
+
const rpcInc = push(event.ports[0], config);
|
|
7
|
+
provider?.(rpcInc);
|
|
8
|
+
});
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
brodcastScope
|
|
11
|
+
});
|
|
6
12
|
}
|
|
7
|
-
export {
|
|
13
|
+
export { obseverShareWorkerGlobalScopeRPC };
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IframeSerializeOptions, ListenerType, MessageItem } from '../fields';
|
|
2
2
|
import BaseTransport from './BaseTransport';
|
|
3
3
|
declare class ServiceWorkerGlobalScopeTransport extends BaseTransport<ServiceWorkerGlobalScope> {
|
|
4
|
-
|
|
5
|
-
protected _options: FactoryOptions;
|
|
4
|
+
private _source;
|
|
6
5
|
private _fetch;
|
|
7
6
|
private _onconnect;
|
|
8
|
-
private _source;
|
|
9
|
-
constructor(_target: ServiceWorkerGlobalScope, _options?: FactoryOptions);
|
|
10
7
|
destroy(): void;
|
|
11
8
|
observe(): void;
|
|
12
9
|
onmessage(listener: ListenerType): void;
|
|
13
10
|
onremove(): void;
|
|
14
11
|
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void[]> | Promise<void | undefined>;
|
|
12
|
+
private _fetchHandle;
|
|
15
13
|
}
|
|
16
14
|
export {};
|
|
17
15
|
export default ServiceWorkerGlobalScopeTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE7E,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAAuD;IAIzE,OAAO;IAMP,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAuBvC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAyBlE,OAAO,CAAC,YAAY;CAQrB;AAED,OAAO,EAAE,CAAA;AAET,eAAe,iCAAiC,CAAA"}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { ProxyPromise } from "../utils.js";
|
|
2
2
|
import BaseTransport from "./BaseTransport.js";
|
|
3
3
|
class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
4
|
-
_target;
|
|
5
|
-
_options;
|
|
6
|
-
_fetch;
|
|
7
|
-
_onconnect;
|
|
8
4
|
_source;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this._fetch = (event)=>{
|
|
12
|
-
self.clients.get(event.clientId).then((client)=>{
|
|
13
|
-
if (client) this._source = client;
|
|
14
|
-
}).catch(()=>{});
|
|
15
|
-
};
|
|
16
|
-
this._target.addEventListener('fetch', this._fetch);
|
|
17
|
-
}
|
|
5
|
+
_fetch = this._fetchHandle.bind(this);
|
|
6
|
+
_onconnect;
|
|
18
7
|
destroy() {
|
|
19
|
-
|
|
20
|
-
this._fetch = void 0;
|
|
8
|
+
this._target.removeEventListener('fetch', this._fetch);
|
|
21
9
|
this._onconnect = void 0;
|
|
22
10
|
}
|
|
23
11
|
observe() {}
|
|
@@ -35,6 +23,7 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
|
35
23
|
});
|
|
36
24
|
}));
|
|
37
25
|
};
|
|
26
|
+
this._target.addEventListener('fetch', this._fetch);
|
|
38
27
|
this._target.addEventListener('message', this._onconnect, this._options.message);
|
|
39
28
|
}
|
|
40
29
|
onremove() {
|
|
@@ -57,6 +46,11 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
|
57
46
|
transfer
|
|
58
47
|
}));
|
|
59
48
|
}
|
|
49
|
+
_fetchHandle(event) {
|
|
50
|
+
self.clients.get(event.clientId).then((client)=>{
|
|
51
|
+
if (client) this._source = client;
|
|
52
|
+
}).catch(()=>{});
|
|
53
|
+
}
|
|
60
54
|
}
|
|
61
55
|
const transports_ServiceWorkerGlobalScopeTransport = ServiceWorkerGlobalScopeTransport;
|
|
62
56
|
export { transports_ServiceWorkerGlobalScopeTransport as default };
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ListenerType, MessageItem } from '../fields';
|
|
2
2
|
import BaseTransport from './BaseTransport';
|
|
3
3
|
declare class WebSocketTransport extends BaseTransport<WebSocket> {
|
|
4
|
-
protected _target: WebSocket;
|
|
5
|
-
protected _options: FactoryOptions;
|
|
6
4
|
private _onconnect;
|
|
7
|
-
constructor(_target: WebSocket, _options?: FactoryOptions);
|
|
8
5
|
destroy(): void;
|
|
9
6
|
observe(close?: () => void): void;
|
|
10
7
|
onmessage(listener: ListenerType): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAS3C,cAAM,kBAAmB,SAAQ,aAAa,CAAC,SAAS,CAAC;IACvD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO;IAOP,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAMjC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAavC,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,WAAW;CAajC;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
import { ProxyPromise } from "../utils.js";
|
|
2
2
|
import BaseTransport from "./BaseTransport.js";
|
|
3
3
|
class WebSocketTransport extends BaseTransport {
|
|
4
|
-
_target;
|
|
5
|
-
_options;
|
|
6
4
|
_onconnect = Promise.resolve(false);
|
|
7
|
-
constructor(_target, _options = {}){
|
|
8
|
-
super(_target, _options), this._target = _target, this._options = _options;
|
|
9
|
-
this._onconnect = new Promise((resolve)=>{
|
|
10
|
-
this._target.onopen = ()=>{
|
|
11
|
-
resolve(true);
|
|
12
|
-
};
|
|
13
|
-
this._target.onclose = ()=>{
|
|
14
|
-
resolve(false);
|
|
15
|
-
};
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
5
|
destroy() {
|
|
19
6
|
this._target.onclose = null;
|
|
20
7
|
this._target.onopen = null;
|
|
@@ -27,6 +14,14 @@ class WebSocketTransport extends BaseTransport {
|
|
|
27
14
|
}
|
|
28
15
|
onmessage(listener) {
|
|
29
16
|
this._target.onmessage = listener;
|
|
17
|
+
this._onconnect = new Promise((resolve)=>{
|
|
18
|
+
this._target.onopen = ()=>{
|
|
19
|
+
resolve(true);
|
|
20
|
+
};
|
|
21
|
+
this._target.onclose = ()=>{
|
|
22
|
+
resolve(false);
|
|
23
|
+
};
|
|
24
|
+
});
|
|
30
25
|
}
|
|
31
26
|
onremove() {
|
|
32
27
|
this._target.onmessage = null;
|