@event-chat/rpc 0.1.19 → 0.1.20

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.
@@ -14,7 +14,7 @@ declare class RPCAction {
14
14
  private _boundMessageHandler;
15
15
  constructor(_target: Transport<boolean>, options?: RPCOptionsType);
16
16
  destroy(): void;
17
- broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'>): void;
17
+ broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'>): MessageItem;
18
18
  config(options: Omit<RPCOptionsType, 'onConnect' | 'onDisconnect'>): void;
19
19
  on<T extends ActionFunType>(type: PropertyKey, handler: T): void;
20
20
  onBrodcast(listener: BrodcastItem): void;
@@ -37,8 +37,8 @@ export type RPCOptionsType = Pick<MessageItem, 'channel'> & {
37
37
  onDisconnect?: (destroy?: boolean) => void;
38
38
  };
39
39
  export type ActionFunType = (payload?: any, info?: MessageInfo) => any;
40
- export type BrodcastItem = (value: unknown, info?: MessageInfo) => void;
41
- export type RequestOptions<T = unknown> = IframeSerializeOptions & {
40
+ export type BrodcastItem = (value: unknown, info?: MessageInfo & Pick<MessageItem, 'requestId' | 'sign'>) => void;
41
+ export type RequestOptions<T = unknown> = IframeSerializeOptions & Pick<MessageItem, 'requestId' | 'sign'> & {
42
42
  payload?: T;
43
43
  retry?: number;
44
44
  };
@@ -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,EAAE,MAAM,WAAW,CAAA;AAK1E,QAAA,MAAM,WAAW,oBAAoB,CAAA;AAarC,cAAM,SAAS;IAaX,OAAO,CAAC,OAAO;IAZjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,oBAAoB,CAAkC;gBAGpD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc;IAe1B,OAAO;IAkBP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAiBvD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,cAAc,CAAC;IAIlE,EAAE,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAIzD,UAAU,CAAC,QAAQ,EAAE,YAAY;IAIjC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IA8CnE,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAkFvB,OAAO,CAAC,eAAe;CAuBxB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC1D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,GAAG,CAAA;AAEtE,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;AAEvE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,sBAAsB,GAAG;IACjE,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAID,KAAK,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAK1E,QAAA,MAAM,WAAW,oBAAoB,CAAA;AAarC,cAAM,SAAS;IAaX,OAAO,CAAC,OAAO;IAZjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,oBAAoB,CAAkC;gBAGpD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc;IAe1B,OAAO;IAkBP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAmBvD,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,cAAc,CAAC;IAIlE,EAAE,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAIzD,UAAU,CAAC,QAAQ,EAAE,YAAY;IAIjC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IA8CnE,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAoFvB,OAAO,CAAC,eAAe;CAuBxB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC1D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,GAAG,CAAA;AAGtE,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,KACzD,IAAI,CAAA;AAET,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,sBAAsB,GAC9D,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG;IACxC,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAIH,KAAK,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA"}
@@ -49,19 +49,21 @@ class RPCAction {
49
49
  this._requestId = '';
50
50
  }
51
51
  broadcast(options) {
52
- const { payload, ...ops } = options ?? {};
52
+ const { payload, sign, requestId = '', ...ops } = options ?? {};
53
53
  const { channel } = this._options;
54
54
  const info = this._baseMessage({
55
55
  broadcast: true,
56
56
  kind: 'request',
57
- requestId: receiptStore.create(),
57
+ requestId: '' === requestId ? receiptStore.create() : requestId,
58
58
  channel,
59
59
  payload
60
60
  });
61
+ if (sign) info.sign = sign;
61
62
  this._target.postMessage(info, {
62
63
  ...ops,
63
64
  targetOrigin: ops.targetOrigin ?? self?.location?.origin
64
65
  });
66
+ return info;
65
67
  }
66
68
  config(options) {
67
69
  this._options = {
@@ -163,7 +165,11 @@ class RPCAction {
163
165
  const brodkey = brodsign.join(':');
164
166
  if (2 === brodsign.length && !this._brodcastRecord.includes(brodkey)) {
165
167
  this._brodcastRecord.push(brodkey);
166
- this._brodcastListeners.forEach((listener)=>listener(payload, info));
168
+ this._brodcastListeners.forEach((listener)=>listener(payload, {
169
+ ...info,
170
+ requestId,
171
+ sign
172
+ }));
167
173
  }
168
174
  return;
169
175
  }
@@ -11,7 +11,7 @@ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends Ac
11
11
  } : StructuredSerializeOptions & {
12
12
  targetOrigin?: string;
13
13
  transmit?: () => Promise<readonly WindowClient[]>;
14
- } & {
14
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
15
15
  payload?: Parameters<CONSUME[K]>[0] | undefined;
16
16
  retry?: number;
17
17
  } & {
@@ -21,7 +21,7 @@ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends Ac
21
21
  } : StructuredSerializeOptions & {
22
22
  targetOrigin?: string;
23
23
  transmit?: () => Promise<readonly WindowClient[]>;
24
- } & {
24
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
25
25
  payload?: Parameters<CONSUME[K]>[0] | undefined;
26
26
  retry?: number;
27
27
  } & {
@@ -6,7 +6,7 @@ export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends Action
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends Action
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRe
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRe
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionR
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionR
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUM
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUM
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRec
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRec
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME e
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME e
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME exte
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME exte
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -6,7 +6,7 @@ export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME exte
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
8
  transmit?: () => Promise<readonly WindowClient[]>;
9
- } & {
9
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
12
12
  } & {
@@ -16,7 +16,7 @@ export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME exte
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
18
  transmit?: () => Promise<readonly WindowClient[]>;
19
- } & {
19
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
22
22
  } & {
@@ -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;AAW7E,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CA6CtC,CAAA;AAED,eAAe,WAAW,CAAA"}
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,CAkDtC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -8,8 +8,13 @@ const RPCProvider = ({ children })=>{
8
8
  const { exclude, include, typein, typeout } = 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
+ let result = {};
11
12
  list.current.forEach((group, item)=>{
12
- if ('getType' in item && scope.includes(item.getType()) && !typeout?.includes(group) && (!typein || typein.includes(group))) item.broadcast(data);
13
+ if ('getType' in item && scope.includes(item.getType()) && !typeout?.includes(group) && (!typein || typein.includes(group))) result = item.broadcast({
14
+ ...data,
15
+ requestId: data.requestId ?? result.requestId,
16
+ sign: data.sign ?? result.sign
17
+ });
13
18
  });
14
19
  }
15
20
  }, []);
@@ -9,7 +9,7 @@ declare const useRPC: <TARGET extends TargetInit, EVENT extends ActionRecord, CO
9
9
  } : StructuredSerializeOptions & {
10
10
  targetOrigin?: string;
11
11
  transmit?: () => Promise<readonly WindowClient[]>;
12
- } & {
12
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
13
13
  payload?: Parameters<CONSUME[K]>[0] | undefined;
14
14
  retry?: number;
15
15
  } & {
@@ -19,7 +19,7 @@ declare const useRPC: <TARGET extends TargetInit, EVENT extends ActionRecord, CO
19
19
  } : StructuredSerializeOptions & {
20
20
  targetOrigin?: string;
21
21
  transmit?: () => Promise<readonly WindowClient[]>;
22
- } & {
22
+ } & Pick<import("../fields").MessageItem, "requestId" | "sign"> & {
23
23
  payload?: Parameters<CONSUME[K]>[0] | undefined;
24
24
  retry?: number;
25
25
  } & {
@@ -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,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAK3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,OAAO,CAA8C;IAI7D,OAAO;IAKP,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAyBvC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAa1E;AAED,OAAO,EAAE,CAAA;AAET,eAAe,iCAAiC,CAAA"}
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;AAC7E,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAK3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,OAAO,CAA8C;IAI7D,OAAO;IAKP,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAyBvC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAuB1E;AAED,OAAO,EAAE,CAAA;AAET,eAAe,iCAAiC,CAAA"}
@@ -31,7 +31,11 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
31
31
  scope: self.registration.scope
32
32
  };
33
33
  const { transmit, transfer } = options ?? {};
34
- if (transmit) transmit().then((clients)=>clients.forEach((client)=>client.postMessage(msg, {
34
+ const transmitHandle = msg.heartbeat ? ()=>self.clients.matchAll({
35
+ type: 'window',
36
+ includeUncontrolled: true
37
+ }) : transmit;
38
+ if (transmitHandle) transmitHandle().then((clients)=>clients.forEach((client)=>client.postMessage(msg, {
35
39
  transfer
36
40
  }))).catch(()=>{});
37
41
  else this._source?.postMessage(msg, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-chat/rpc",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {