@event-chat/rpc 0.1.25 → 0.1.27
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 -1
- package/dist/core/RPCAction.d.ts.map +1 -1
- package/dist/core/RPCAction.js +11 -5
- package/dist/fields.d.ts +7 -1
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +17 -1
- package/dist/react/RPCProvider.d.ts.map +1 -1
- package/dist/react/RPCProvider.js +2 -2
- package/dist/react/fields.d.ts +1 -0
- package/dist/react/fields.d.ts.map +1 -1
- package/dist/transports/BaseTransport.d.ts +1 -1
- package/dist/transports/BaseTransport.d.ts.map +1 -1
- package/dist/transports/BroadcastChannelTransport.d.ts +1 -1
- package/dist/transports/BroadcastChannelTransport.d.ts.map +1 -1
- package/dist/transports/BroadcastChannelTransport.js +2 -1
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts +1 -1
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts.map +1 -1
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.js +4 -3
- package/dist/transports/MessagePortTransport.d.ts +1 -1
- package/dist/transports/MessagePortTransport.d.ts.map +1 -1
- package/dist/transports/MessagePortTransport.js +4 -3
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts +6 -2
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts.map +1 -1
- package/dist/transports/ServiceWorkerGlobalScopeTransport.js +21 -6
- package/dist/transports/ServiceWorkerRegistrationTransport.d.ts +1 -1
- package/dist/transports/ServiceWorkerRegistrationTransport.d.ts.map +1 -1
- package/dist/transports/ServiceWorkerRegistrationTransport.js +11 -7
- package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts +1 -1
- package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts.map +1 -1
- package/dist/transports/SharedWorkerGlobalScopeTransport.js +4 -5
- package/dist/transports/SharedWorkerTransport.d.ts +1 -1
- package/dist/transports/SharedWorkerTransport.d.ts.map +1 -1
- package/dist/transports/SharedWorkerTransport.js +4 -3
- package/dist/transports/WebSocketTransport.d.ts +1 -1
- package/dist/transports/WebSocketTransport.d.ts.map +1 -1
- package/dist/transports/WebSocketTransport.js +4 -5
- package/dist/transports/WindowTransport.d.ts +1 -1
- package/dist/transports/WindowTransport.d.ts.map +1 -1
- package/dist/transports/WindowTransport.js +5 -4
- package/dist/transports/WorkerTransport.d.ts +1 -1
- package/dist/transports/WorkerTransport.d.ts.map +1 -1
- package/dist/transports/WorkerTransport.js +4 -3
- package/package.json +1 -1
package/dist/core/RPCAction.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ declare class RPCAction {
|
|
|
13
13
|
private _boundMessageHandler;
|
|
14
14
|
constructor(_target: Transport<boolean>, options?: RPCOptionsType);
|
|
15
15
|
destroy(): void;
|
|
16
|
-
broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'
|
|
16
|
+
broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'>, fallback?: (error: unknown) => void): MessageItem;
|
|
17
17
|
config(options: Omit<RPCOptionsType, 'onConnect' | 'onDisconnect'>): void;
|
|
18
18
|
on<T extends ActionFunType>(type: PropertyKey, handler: T): void;
|
|
19
19
|
onBrodcast(listener: BrodcastItem): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,SAAS,
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import { getError } from "../fields.js";
|
|
1
2
|
import { isKey } from "../utils.js";
|
|
2
3
|
import { receiptStore } from "./receiptStore.js";
|
|
3
4
|
const RPC_SIGN = 'RPCActionSign';
|
|
@@ -46,7 +47,7 @@ class RPCAction {
|
|
|
46
47
|
this._heartbeatTimer = null;
|
|
47
48
|
this._requestId = '';
|
|
48
49
|
}
|
|
49
|
-
broadcast(options) {
|
|
50
|
+
broadcast(options, fallback) {
|
|
50
51
|
const { payload, sign, requestId = '', ...ops } = options ?? {};
|
|
51
52
|
const { channel } = this._options;
|
|
52
53
|
const info = this._baseMessage({
|
|
@@ -60,7 +61,7 @@ class RPCAction {
|
|
|
60
61
|
this._target.postMessage(info, {
|
|
61
62
|
...ops,
|
|
62
63
|
targetOrigin: ops.targetOrigin ?? self?.location?.origin
|
|
63
|
-
});
|
|
64
|
+
}).catch(fallback ?? (()=>{}));
|
|
64
65
|
return info;
|
|
65
66
|
}
|
|
66
67
|
config(options) {
|
|
@@ -112,6 +113,11 @@ class RPCAction {
|
|
|
112
113
|
this._target.postMessage(info, {
|
|
113
114
|
...ops,
|
|
114
115
|
targetOrigin: ops.targetOrigin ?? self?.location?.origin
|
|
116
|
+
}).catch((error)=>{
|
|
117
|
+
clearTimeout(timer);
|
|
118
|
+
receiptStore.minus(requestId);
|
|
119
|
+
this._pending.delete(requestId);
|
|
120
|
+
reject(getError(error));
|
|
115
121
|
});
|
|
116
122
|
});
|
|
117
123
|
}
|
|
@@ -209,7 +215,7 @@ class RPCAction {
|
|
|
209
215
|
payload: result
|
|
210
216
|
}, {
|
|
211
217
|
targetOrigin: origin
|
|
212
|
-
});
|
|
218
|
+
}).catch(()=>{});
|
|
213
219
|
return result;
|
|
214
220
|
}).catch((err)=>{
|
|
215
221
|
const message = err instanceof Error ? err.message : '[RPC] 处理消息时发生错误';
|
|
@@ -219,7 +225,7 @@ class RPCAction {
|
|
|
219
225
|
payload: ''
|
|
220
226
|
}, {
|
|
221
227
|
targetOrigin: origin
|
|
222
|
-
});
|
|
228
|
+
}).catch(()=>{});
|
|
223
229
|
}).finally(()=>wait?.());
|
|
224
230
|
}
|
|
225
231
|
_startHeartbeat() {
|
|
@@ -230,7 +236,7 @@ class RPCAction {
|
|
|
230
236
|
channel
|
|
231
237
|
});
|
|
232
238
|
const intervalLoops = ()=>{
|
|
233
|
-
this._target.postMessage(info);
|
|
239
|
+
this._target.postMessage(info).catch(()=>{});
|
|
234
240
|
if (!this._isConnected) return;
|
|
235
241
|
if (Date.now() - this._lastHeartbeat > heartbeatTimeout) this._abort();
|
|
236
242
|
};
|
package/dist/fields.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export declare const TARGET_TYPE_STRINGS: Readonly<{
|
|
|
14
14
|
DedicatedWorkerGlobalScope: "[object DedicatedWorkerGlobalScope]";
|
|
15
15
|
}>;
|
|
16
16
|
export declare const WINDOW_NAME = "[object Window]";
|
|
17
|
+
export declare const getError: (error: unknown, tips?: string) => Error | DOMException;
|
|
18
|
+
declare function promiseTryPolyfill<T, A extends any[]>(fn: (...args: A) => T | PromiseLike<T>, ...args: A): Promise<T>;
|
|
19
|
+
export declare const ProxyPromise: PromiseConstructor & {
|
|
20
|
+
try: typeof promiseTryPolyfill;
|
|
21
|
+
};
|
|
17
22
|
export interface FactoryOptions {
|
|
18
23
|
message?: boolean | AddEventListenerOptions;
|
|
19
24
|
}
|
|
@@ -43,7 +48,7 @@ export interface Transport<ONLYBD extends boolean = false> {
|
|
|
43
48
|
onmessage: (listener: ListenerType) => void;
|
|
44
49
|
onremove: (listener: ListenerType) => void;
|
|
45
50
|
originFilter: (origin?: string[]) => string[] | undefined;
|
|
46
|
-
postMessage: (message: MessageItem, options?: IframeSerializeOptions) =>
|
|
51
|
+
postMessage: (message: MessageItem, options?: IframeSerializeOptions) => Promise<unknown>;
|
|
47
52
|
upset: (options: FactoryOptions) => void;
|
|
48
53
|
onlyBrod?: ONLYBD;
|
|
49
54
|
}
|
|
@@ -61,4 +66,5 @@ export type ScopeProps = {
|
|
|
61
66
|
typein?: string[];
|
|
62
67
|
typeout?: string[];
|
|
63
68
|
};
|
|
69
|
+
export {};
|
|
64
70
|
//# sourceMappingURL=fields.d.ts.map
|
package/dist/fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,eAAO,MAAM,kBAAkB,gDAA2C,CAAA;AAC1E,eAAO,MAAM,mBAAmB;;;;;;;;;;EAU9B,CAAA;AAEF,eAAO,MAAM,WAAW,oBAAoB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;CAC5C;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAG7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1E,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,OAAO,GAAG,KAAK;IACvD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAA;IACtD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAA;IACzE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"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"}
|
package/dist/fields.js
CHANGED
|
@@ -12,4 +12,20 @@ const TARGET_TYPE_STRINGS = Object.freeze({
|
|
|
12
12
|
DedicatedWorkerGlobalScope: '[object DedicatedWorkerGlobalScope]'
|
|
13
13
|
});
|
|
14
14
|
const WINDOW_NAME = '[object Window]';
|
|
15
|
-
|
|
15
|
+
const getError = (error, tips = 'unknown error.')=>(error instanceof Error || error instanceof DOMException ? error : void 0) ?? ('string' == typeof error ? new Error(error) : void 0) ?? new Error(error instanceof Object && 'message' in error && 'string' == typeof error.message ? error.message : tips, {
|
|
16
|
+
cause: error
|
|
17
|
+
});
|
|
18
|
+
function promiseTryPolyfill(fn, ...args) {
|
|
19
|
+
try {
|
|
20
|
+
return Promise.resolve(fn(...args));
|
|
21
|
+
} catch (error) {
|
|
22
|
+
return Promise.reject(getError(error));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const ProxyPromise = new Proxy(Promise, {
|
|
26
|
+
get (target, propKey) {
|
|
27
|
+
if ('try' === propKey) return 'try' in target ? target.try : promiseTryPolyfill;
|
|
28
|
+
return target[propKey];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
export { ProxyPromise, RPCInstanceContext, TARGET_TYPE_STRINGS, WINDOW_NAME, getError };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RPCProvider.d.ts","sourceRoot":"","sources":["../../src/react/RPCProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAA;AAY7E,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"RPCProvider.d.ts","sourceRoot":"","sources":["../../src/react/RPCProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAkC,MAAM,OAAO,CAAA;AAY7E,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAqDtC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { RPCInstanceContext, TARGET_TYPE_STRINGS } from "./fields.js";
|
|
|
5
5
|
const RPCProvider = ({ children })=>{
|
|
6
6
|
const list = useRef(new Map());
|
|
7
7
|
const brodcastScope = useCallback((data, options)=>{
|
|
8
|
-
const { exclude, include, typein, typeout } = options ?? {};
|
|
8
|
+
const { exclude, include, typein, typeout, fallback } = options ?? {};
|
|
9
9
|
if (list.current.size > 0) {
|
|
10
10
|
const scope = objectValues(TARGET_TYPE_STRINGS).filter((item)=>!exclude?.includes(item)).filter((item)=>!include || include.includes(item)).map(String);
|
|
11
11
|
let result = {};
|
|
@@ -14,7 +14,7 @@ const RPCProvider = ({ children })=>{
|
|
|
14
14
|
...data,
|
|
15
15
|
requestId: data.requestId ?? result.requestId,
|
|
16
16
|
sign: data.sign ?? result.sign
|
|
17
|
-
});
|
|
17
|
+
}, fallback);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
}, []);
|
package/dist/react/fields.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/react/fields.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAe,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,eAAO,MAAM,kBAAkB,gDAA2C,CAAA;AAC1E,eAAO,MAAM,mBAAmB;;;;;;;;;;EAU9B,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1E,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,MAAM,OAAO,GACf,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,GACpE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAExB,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/react/fields.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAe,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,eAAO,MAAM,kBAAkB,gDAA2C,CAAA;AAC1E,eAAO,MAAM,mBAAmB;;;;;;;;;;EAU9B,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1E,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,MAAM,OAAO,GACf,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,GACpE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAExB,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC,CAAA"}
|
|
@@ -13,7 +13,7 @@ declare abstract class BaseTransport<T extends TargetType = TargetType, ONLYBD e
|
|
|
13
13
|
abstract observe(close?: () => void): void;
|
|
14
14
|
abstract onmessage(listener: ListenerType): void;
|
|
15
15
|
abstract onremove(listener: ListenerType): void;
|
|
16
|
-
abstract postMessage(message: MessageItem, options?: IframeSerializeOptions):
|
|
16
|
+
abstract postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<unknown>;
|
|
17
17
|
}
|
|
18
18
|
export default BaseTransport;
|
|
19
19
|
export interface FactoryOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BaseTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAExF,uBAAe,aAAa,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,OAAO,GAAG,KAAK,CAC9B,YAAW,SAAS,CAAC,MAAM,CAAC;IAG1B,SAAS,CAAC,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,QAAQ,EAAE,cAAc;IAHpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;gBAEd,OAAO,EAAE,CAAC,EACV,QAAQ,GAAE,cAAmB;IAIzC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;IAIxC,OAAO;IAIP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;IAI9B,KAAK,CAAC,OAAO,EAAE,cAAc;IAM7B,QAAQ,CAAC,OAAO,IAAI,IAAI;IAIxB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC1C,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAGhD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAC/C,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"BaseTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BaseTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAExF,uBAAe,aAAa,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,OAAO,GAAG,KAAK,CAC9B,YAAW,SAAS,CAAC,MAAM,CAAC;IAG1B,SAAS,CAAC,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,QAAQ,EAAE,cAAc;IAHpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;gBAEd,OAAO,EAAE,CAAC,EACV,QAAQ,GAAE,cAAmB;IAIzC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;IAIxC,OAAO;IAIP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;IAI9B,KAAK,CAAC,OAAO,EAAE,cAAc;IAM7B,QAAQ,CAAC,OAAO,IAAI,IAAI;IAIxB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC1C,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAGhD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAC/C,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;CAC/F;AAED,eAAe,aAAa,CAAA;AAE5B,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;IAE3C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;CACzB;AAID,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,MAAM,GAEN,yBAAyB,GACzB,wBAAwB,GACxB,YAAY,GACZ,uBAAuB,GACvB,MAAM,GACN,0BAA0B,CAAA"}
|
|
@@ -6,7 +6,7 @@ declare class BroadcastChannelTransport extends BaseTransport<BroadcastChannel,
|
|
|
6
6
|
observe(): void;
|
|
7
7
|
onmessage(listener: ListenerType): void;
|
|
8
8
|
onremove(listener: ListenerType): void;
|
|
9
|
-
postMessage(message: MessageItem): void
|
|
9
|
+
postMessage(message: MessageItem): Promise<void>;
|
|
10
10
|
}
|
|
11
11
|
export default BroadcastChannelTransport;
|
|
12
12
|
//# sourceMappingURL=BroadcastChannelTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BroadcastChannelTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BroadcastChannelTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"BroadcastChannelTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BroadcastChannelTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AACnE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,yBAA0B,SAAQ,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC;IAC3E,SAAkB,QAAQ,QAAO;IAEjC,OAAO;IAKP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW;CAGjC;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class BroadcastChannelTransport extends BaseTransport {
|
|
3
4
|
onlyBrod = true;
|
|
@@ -12,7 +13,7 @@ class BroadcastChannelTransport extends BaseTransport {
|
|
|
12
13
|
this._target.removeEventListener('message', listener, this._options.message);
|
|
13
14
|
}
|
|
14
15
|
postMessage(message) {
|
|
15
|
-
this._target.postMessage(message);
|
|
16
|
+
return ProxyPromise["try"](()=>this._target.postMessage(message));
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
const transports_BroadcastChannelTransport = BroadcastChannelTransport;
|
|
@@ -5,7 +5,7 @@ declare class DedicatedWorkerGlobalScopeTransport extends BaseTransport<Dedicate
|
|
|
5
5
|
observe(): void;
|
|
6
6
|
onmessage(listener: ListenerType): void;
|
|
7
7
|
onremove(listener: ListenerType): void;
|
|
8
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
8
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export default DedicatedWorkerGlobalScopeTransport;
|
|
11
11
|
//# sourceMappingURL=DedicatedWorkerGlobalScopeTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DedicatedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/DedicatedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"DedicatedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/DedicatedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,mCAAoC,SAAQ,aAAa,CAAC,0BAA0B,CAAC;IAEzF,OAAO;IAKP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAInE;AAED,eAAe,mCAAmC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class DedicatedWorkerGlobalScopeTransport extends BaseTransport {
|
|
3
4
|
destroy() {}
|
|
@@ -10,9 +11,9 @@ class DedicatedWorkerGlobalScopeTransport extends BaseTransport {
|
|
|
10
11
|
}
|
|
11
12
|
postMessage(message, options) {
|
|
12
13
|
const { transfer } = options ?? {};
|
|
13
|
-
this._target.postMessage(message, {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
return ProxyPromise["try"](()=>this._target.postMessage(message, {
|
|
15
|
+
transfer
|
|
16
|
+
}));
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
const transports_DedicatedWorkerGlobalScopeTransport = DedicatedWorkerGlobalScopeTransport;
|
|
@@ -5,7 +5,7 @@ declare class MessagePortTransport extends BaseTransport<MessagePort> {
|
|
|
5
5
|
observe(): void;
|
|
6
6
|
onmessage(listener: ListenerType): void;
|
|
7
7
|
onremove(listener: ListenerType): void;
|
|
8
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
8
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export default MessagePortTransport;
|
|
11
11
|
//# sourceMappingURL=MessagePortTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagePortTransport.d.ts","sourceRoot":"","sources":["../../src/transports/MessagePortTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"MessagePortTransport.d.ts","sourceRoot":"","sources":["../../src/transports/MessagePortTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,cAAM,oBAAqB,SAAQ,aAAa,CAAC,WAAW,CAAC;IAC3D,OAAO;IAKP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAKvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAInE;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class MessagePortTransport extends BaseTransport {
|
|
3
4
|
destroy() {
|
|
@@ -13,9 +14,9 @@ class MessagePortTransport extends BaseTransport {
|
|
|
13
14
|
}
|
|
14
15
|
postMessage(message, options) {
|
|
15
16
|
const { transfer } = options ?? {};
|
|
16
|
-
this._target.postMessage(message, {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
return ProxyPromise["try"](()=>this._target.postMessage(message, {
|
|
18
|
+
transfer
|
|
19
|
+
}));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
const transports_MessagePortTransport = MessagePortTransport;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { IframeSerializeOptions, ListenerType, MessageItem } from '../fields';
|
|
2
|
-
import BaseTransport from './BaseTransport';
|
|
2
|
+
import BaseTransport, { FactoryOptions } from './BaseTransport';
|
|
3
3
|
declare class ServiceWorkerGlobalScopeTransport extends BaseTransport<ServiceWorkerGlobalScope> {
|
|
4
|
+
protected _target: ServiceWorkerGlobalScope;
|
|
5
|
+
protected _options: FactoryOptions;
|
|
6
|
+
private _fetch;
|
|
4
7
|
private _onconnect;
|
|
5
8
|
private _source;
|
|
9
|
+
constructor(_target: ServiceWorkerGlobalScope, _options?: FactoryOptions);
|
|
6
10
|
destroy(): void;
|
|
7
11
|
observe(): void;
|
|
8
12
|
onmessage(listener: ListenerType): void;
|
|
9
13
|
onremove(): void;
|
|
10
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
14
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void[]> | Promise<void | undefined>;
|
|
11
15
|
}
|
|
12
16
|
export {};
|
|
13
17
|
export default ServiceWorkerGlobalScopeTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,EAAE,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAK/D,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IAMnF,SAAS,CAAC,OAAO,EAAE,wBAAwB;IAC3C,SAAS,CAAC,QAAQ,EAAE,cAAc;IANpC,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,OAAO,CAA8C;gBAGjD,OAAO,EAAE,wBAAwB,EACjC,QAAQ,GAAE,cAAmB;IAkBzC,OAAO;IAOP,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAevC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAwBnE;AAED,OAAO,EAAE,CAAA;AAET,eAAe,iCAAiC,CAAA"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
4
|
+
_target;
|
|
5
|
+
_options;
|
|
6
|
+
_fetch;
|
|
3
7
|
_onconnect;
|
|
4
8
|
_source;
|
|
9
|
+
constructor(_target, _options = {}){
|
|
10
|
+
super(_target, _options), this._target = _target, this._options = _options;
|
|
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
18
|
destroy() {
|
|
19
|
+
if (this._fetch) this._target.removeEventListener('fetch', this._fetch);
|
|
20
|
+
this._fetch = void 0;
|
|
6
21
|
this._onconnect = void 0;
|
|
7
22
|
}
|
|
8
23
|
observe() {}
|
|
@@ -35,12 +50,12 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
|
35
50
|
type: 'window',
|
|
36
51
|
includeUncontrolled: true
|
|
37
52
|
}) : transmit;
|
|
38
|
-
if (transmitHandle) transmitHandle().then((clients)=>clients.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
if (transmitHandle) return transmitHandle().then((clients)=>Promise.all(clients.map((client)=>ProxyPromise["try"](()=>client.postMessage(msg, {
|
|
54
|
+
transfer
|
|
55
|
+
})))));
|
|
56
|
+
return ProxyPromise["try"](()=>this._source?.postMessage(msg, {
|
|
57
|
+
transfer
|
|
58
|
+
}));
|
|
44
59
|
}
|
|
45
60
|
}
|
|
46
61
|
const transports_ServiceWorkerGlobalScopeTransport = ServiceWorkerGlobalScopeTransport;
|
|
@@ -6,7 +6,7 @@ declare class ServiceWorkerRegistrationTransport extends BaseTransport<ServiceWo
|
|
|
6
6
|
observe(): void;
|
|
7
7
|
onmessage(listener: ListenerType): void;
|
|
8
8
|
onremove(listener: ListenerType): void;
|
|
9
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
9
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
10
10
|
}
|
|
11
11
|
export default ServiceWorkerRegistrationTransport;
|
|
12
12
|
//# sourceMappingURL=ServiceWorkerRegistrationTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceWorkerRegistrationTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerRegistrationTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"ServiceWorkerRegistrationTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerRegistrationTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,cAAM,kCAAmC,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACvF,OAAO;IAIP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW;IAO3D,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAenE;AAED,eAAe,kCAAkC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class ServiceWorkerRegistrationTransport extends BaseTransport {
|
|
3
4
|
destroy() {
|
|
@@ -15,15 +16,18 @@ class ServiceWorkerRegistrationTransport extends BaseTransport {
|
|
|
15
16
|
}
|
|
16
17
|
postMessage(message, options) {
|
|
17
18
|
const { transfer } = options ?? {};
|
|
18
|
-
if (message.heartbeat)
|
|
19
|
-
|
|
20
|
-
});
|
|
21
|
-
navigator.serviceWorker.getRegistrations().then((registrations)=>{
|
|
22
|
-
const matched = registrations.find((registration)=>registration.scope === this._target.scope && Boolean(registration.active));
|
|
23
|
-
matched?.active?.postMessage(message, {
|
|
19
|
+
if (message.heartbeat) {
|
|
20
|
+
this._target.active?.postMessage(message, {
|
|
24
21
|
transfer
|
|
25
22
|
});
|
|
26
|
-
|
|
23
|
+
return Promise.resolve();
|
|
24
|
+
}
|
|
25
|
+
return navigator.serviceWorker.getRegistrations().then((registrations)=>{
|
|
26
|
+
const matched = registrations.find((registration)=>registration.scope === this._target.scope && Boolean(registration.active));
|
|
27
|
+
return ProxyPromise["try"](()=>matched?.active?.postMessage(message, {
|
|
28
|
+
transfer
|
|
29
|
+
}));
|
|
30
|
+
});
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
const transports_ServiceWorkerRegistrationTransport = ServiceWorkerRegistrationTransport;
|
|
@@ -7,7 +7,7 @@ declare class SharedWorkerGlobalScopeTransport extends BaseTransport<SharedWorke
|
|
|
7
7
|
observe(): void;
|
|
8
8
|
onmessage(listener: ListenerType): void;
|
|
9
9
|
onremove(listener: ListenerType): void;
|
|
10
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
10
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void | undefined>;
|
|
11
11
|
}
|
|
12
12
|
export default SharedWorkerGlobalScopeTransport;
|
|
13
13
|
//# sourceMappingURL=SharedWorkerGlobalScopeTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"SharedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,gCAAiC,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IACnF,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,QAAQ,CAA6C;IAE7D,OAAO;IAOP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAevC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQtC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAMnE;AAED,eAAe,gCAAgC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class SharedWorkerGlobalScopeTransport extends BaseTransport {
|
|
3
4
|
_onconnect = Promise.resolve(null);
|
|
@@ -26,11 +27,9 @@ class SharedWorkerGlobalScopeTransport extends BaseTransport {
|
|
|
26
27
|
}
|
|
27
28
|
postMessage(message, options) {
|
|
28
29
|
const { transfer } = options ?? {};
|
|
29
|
-
this._onconnect?.then((messagePort)=>{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
}).catch(()=>{});
|
|
30
|
+
return this._onconnect?.then((messagePort)=>ProxyPromise["try"](()=>messagePort?.postMessage(message, {
|
|
31
|
+
transfer
|
|
32
|
+
})));
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
const transports_SharedWorkerGlobalScopeTransport = SharedWorkerGlobalScopeTransport;
|
|
@@ -5,7 +5,7 @@ declare class SharedWorkerTransport extends BaseTransport<SharedWorker> {
|
|
|
5
5
|
observe(): void;
|
|
6
6
|
onmessage(listener: ListenerType): void;
|
|
7
7
|
onremove(listener: ListenerType): void;
|
|
8
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
8
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export default SharedWorkerTransport;
|
|
11
11
|
//# sourceMappingURL=SharedWorkerTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedWorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"SharedWorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,qBAAsB,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC7D,OAAO;IAIP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAKvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAInE;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class SharedWorkerTransport extends BaseTransport {
|
|
3
4
|
destroy() {
|
|
@@ -13,9 +14,9 @@ class SharedWorkerTransport extends BaseTransport {
|
|
|
13
14
|
}
|
|
14
15
|
postMessage(message, options) {
|
|
15
16
|
const { transfer } = options ?? {};
|
|
16
|
-
this._target.port.postMessage(message, {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
return ProxyPromise["try"](()=>this._target.port.postMessage(message, {
|
|
18
|
+
transfer
|
|
19
|
+
}));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
const transports_SharedWorkerTransport = SharedWorkerTransport;
|
|
@@ -9,7 +9,7 @@ declare class WebSocketTransport extends BaseTransport<WebSocket> {
|
|
|
9
9
|
observe(close?: () => void): void;
|
|
10
10
|
onmessage(listener: ListenerType): void;
|
|
11
11
|
onremove(): void;
|
|
12
|
-
postMessage(message: MessageItem): void
|
|
12
|
+
postMessage(message: MessageItem): Promise<void>;
|
|
13
13
|
}
|
|
14
14
|
export default WebSocketTransport;
|
|
15
15
|
//# sourceMappingURL=WebSocketTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AACnF,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAS3C,cAAM,kBAAmB,SAAQ,aAAa,CAAC,SAAS,CAAC;IAIrD,SAAS,CAAC,OAAO,EAAE,SAAS;IAC5B,SAAS,CAAC,QAAQ,EAAE,cAAc;IAJpC,OAAO,CAAC,UAAU,CAAyB;gBAG/B,OAAO,EAAE,SAAS,EAClB,QAAQ,GAAE,cAAmB;IAczC,OAAO;IAOP,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAMjC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,WAAW;CAajC;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class WebSocketTransport extends BaseTransport {
|
|
3
4
|
_target;
|
|
@@ -32,11 +33,9 @@ class WebSocketTransport extends BaseTransport {
|
|
|
32
33
|
}
|
|
33
34
|
postMessage(message) {
|
|
34
35
|
const target = this._target;
|
|
35
|
-
this._onconnect.then((open)=>{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} catch {}
|
|
39
|
-
}).catch(()=>{});
|
|
36
|
+
return this._onconnect.then((open)=>ProxyPromise["try"](()=>{
|
|
37
|
+
if (open) target.send(JSON.stringify(message));
|
|
38
|
+
}));
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
const transports_WebSocketTransport = WebSocketTransport;
|
|
@@ -8,7 +8,7 @@ declare class WindowTransport extends BaseTransport<Window> {
|
|
|
8
8
|
onmessage(listener: ListenerType): void;
|
|
9
9
|
onremove(listener: ListenerType): void;
|
|
10
10
|
originFilter(origin?: string[]): string[] | undefined;
|
|
11
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
11
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
12
12
|
observe(close?: () => void): void;
|
|
13
13
|
}
|
|
14
14
|
export default WindowTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WindowTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"WindowTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WindowTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAM3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO;IAKP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;IAKxC,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;IAI9B,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAMlE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI;CAkB3B;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
const getOrigin = (url)=>'string' == typeof self?.location?.origin ? new URL(url, self.location.origin).origin : '';
|
|
3
4
|
class WindowTransport extends BaseTransport {
|
|
@@ -24,10 +25,10 @@ class WindowTransport extends BaseTransport {
|
|
|
24
25
|
}
|
|
25
26
|
postMessage(message, options) {
|
|
26
27
|
const { transfer, targetOrigin = '*' } = options ?? {};
|
|
27
|
-
this._target.postMessage(message, {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
return ProxyPromise["try"](()=>this._target.postMessage(message, {
|
|
29
|
+
targetOrigin,
|
|
30
|
+
transfer
|
|
31
|
+
}));
|
|
31
32
|
}
|
|
32
33
|
observe(close) {
|
|
33
34
|
const element = this._options.observer?.();
|
|
@@ -5,7 +5,7 @@ declare class WorkerTransport extends BaseTransport<Worker> {
|
|
|
5
5
|
observe(): void;
|
|
6
6
|
onmessage(listener: ListenerType): void;
|
|
7
7
|
onremove(listener: ListenerType): void;
|
|
8
|
-
postMessage(message: MessageItem, options?: IframeSerializeOptions): void
|
|
8
|
+
postMessage(message: MessageItem, options?: IframeSerializeOptions): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export default WorkerTransport;
|
|
11
11
|
//# sourceMappingURL=WorkerTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"WorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAA;AAC3F,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IAEjD,OAAO;IAMP,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAInE;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProxyPromise } from "../fields.js";
|
|
1
2
|
import BaseTransport from "./BaseTransport.js";
|
|
2
3
|
class WorkerTransport extends BaseTransport {
|
|
3
4
|
destroy() {
|
|
@@ -12,9 +13,9 @@ class WorkerTransport extends BaseTransport {
|
|
|
12
13
|
}
|
|
13
14
|
postMessage(message, options) {
|
|
14
15
|
const { transfer } = options ?? {};
|
|
15
|
-
this._target.postMessage(message, {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
return ProxyPromise["try"](()=>this._target.postMessage(message, {
|
|
17
|
+
transfer
|
|
18
|
+
}));
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
const transports_WorkerTransport = WorkerTransport;
|