@event-chat/rpc 0.1.13 → 0.1.15

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.
@@ -33,10 +33,11 @@ export type RPCOptionsType = {
33
33
  onConnect?: () => void;
34
34
  onDisconnect?: () => void;
35
35
  };
36
- export type ActionFunType = (payload?: any) => any;
36
+ export type ActionFunType = (payload?: any, info?: MessageInfo) => any;
37
37
  export type BrodcastItem = (value: unknown, origin?: string) => void;
38
38
  export type RequestOptions<T = unknown> = IframeSerializeOptions & {
39
39
  payload?: T;
40
40
  retry?: number;
41
41
  };
42
+ type MessageInfo = Pick<MessageEvent, 'origin' | 'ports' | 'source'>;
42
43
  //# sourceMappingURL=RPCAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../src/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAejE,cAAM,SAAS;IAWX,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAsB;IAC7C,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,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc;IAc1B,OAAO;IAUP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IASvD,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;IA6CnE,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAuEvB,OAAO,CAAC,eAAe;CAsBxB;AAED,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,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,MAAM,IAAI,CAAA;CAC1B,CAAA;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,sBAAsB,GAAG;IACjE,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../src/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAejE,cAAM,SAAS;IAWX,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAAsB;IAC7C,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,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc;IAc1B,OAAO;IAUP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IASvD,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;IA6CnE,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IA2EvB,OAAO,CAAC,eAAe;CAsBxB;AAED,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,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,MAAM,IAAI,CAAA;CAC1B,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,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEpE,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"}
package/dist/RPCAction.js CHANGED
@@ -143,7 +143,14 @@ class RPCAction {
143
143
  }
144
144
  if ('request' !== kind) return;
145
145
  const handler = type && isKey(type, this._handlers) ? this._handlers[type] : void 0;
146
- if (handler) Promise.resolve().then(()=>handler(payload)).then((result)=>{
146
+ if (handler) Promise.resolve().then(()=>{
147
+ const result = handler(payload, {
148
+ origin,
149
+ ports: [],
150
+ source
151
+ });
152
+ return result;
153
+ }).then((result)=>{
147
154
  this._target.postMessage({
148
155
  __RPC__: RPC_SIGN,
149
156
  kind: 'response',
@@ -35,10 +35,11 @@ export type RPCOptionsType = {
35
35
  onConnect?: () => void;
36
36
  onDisconnect?: () => void;
37
37
  };
38
- export type ActionFunType = (payload?: any) => any;
39
- export type BrodcastItem = (value: unknown, origin?: string) => void;
38
+ export type ActionFunType = (payload?: any, info?: MessageInfo) => any;
39
+ export type BrodcastItem = (value: unknown, info?: MessageInfo) => void;
40
40
  export type RequestOptions<T = unknown> = IframeSerializeOptions & {
41
41
  payload?: T;
42
42
  retry?: number;
43
43
  };
44
+ type MessageInfo = Pick<MessageEvent, 'origin' | 'ports' | 'source'>;
44
45
  //# sourceMappingURL=RPCAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAI7D,QAAA,MAAM,WAAW,oBAAoB,CAAA;AAarC,cAAM,SAAS;IAWX,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAA8B;IACrD,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,EAC1B,OAAO,CAAC,EAAE,cAAc;IAc1B,OAAO;IAUP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IASvD,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;IA6CnE,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IA8EvB,OAAO,CAAC,eAAe;CAsBxB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,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,MAAM,IAAI,CAAA;CAC1B,CAAA;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEpE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,sBAAsB,GAAG;IACjE,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"RPCAction.d.ts","sourceRoot":"","sources":["../../src/core/RPCAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAI7D,QAAA,MAAM,WAAW,oBAAoB,CAAA;AAarC,cAAM,SAAS;IAWX,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,eAAe,CAA8B;IACrD,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,EAC1B,OAAO,CAAC,EAAE,cAAc;IAc1B,OAAO;IAUP,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IASvD,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;IA6CnE,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAmFvB,OAAO,CAAC,eAAe;CAsBxB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,eAAe,SAAS,CAAA;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,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,MAAM,IAAI,CAAA;CAC1B,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"}
@@ -119,7 +119,7 @@ class RPCAction {
119
119
  return this._options?.allowedOrigins?.some((item)=>'*' === item || getOrigin(item) === getOrigin(origin)) ?? false;
120
120
  }
121
121
  _messageHandler(event) {
122
- const { data, origin, source, wait } = event;
122
+ const { data, origin, ports, source, wait } = event;
123
123
  const { __RPC__, broadcast, channel, error, heartbeat, kind, payload, requestId, type } = data ?? {};
124
124
  if (__RPC__ !== RPC_SIGN) return;
125
125
  if (this._options?.channel !== channel) return;
@@ -133,7 +133,12 @@ class RPCAction {
133
133
  }
134
134
  return;
135
135
  }
136
- if (broadcast) return void this._brodcastListeners.forEach((listener)=>listener(payload, origin));
136
+ const info = {
137
+ origin,
138
+ ports,
139
+ source
140
+ };
141
+ if (broadcast) return void this._brodcastListeners.forEach((listener)=>listener(payload, info));
137
142
  const pending = requestId ? this._pending.get(requestId) : void 0;
138
143
  if (requestId && pending) {
139
144
  const { resolve, reject } = pending;
@@ -144,7 +149,10 @@ class RPCAction {
144
149
  }
145
150
  if ('request' !== kind) return;
146
151
  const handler = type && isKey(type, this._handlers) ? this._handlers[type] : void 0;
147
- if (handler) Promise.resolve().then(()=>handler(payload)).then((result)=>{
152
+ if (handler) Promise.resolve().then(()=>{
153
+ const result = handler(payload, info);
154
+ return result;
155
+ }).then((result)=>{
148
156
  this._target.postMessage({
149
157
  __RPC__: RPC_SIGN,
150
158
  kind: 'response',
@@ -10,7 +10,7 @@ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends Ac
10
10
  payload?: never;
11
11
  } : StructuredSerializeOptions & {
12
12
  targetOrigin?: string;
13
- transmit?: Promise<readonly WindowClient[]>;
13
+ transmit?: () => Promise<readonly WindowClient[]>;
14
14
  } & {
15
15
  payload?: Parameters<CONSUME[K]>[0] | undefined;
16
16
  retry?: number;
@@ -20,7 +20,7 @@ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends Ac
20
20
  payload?: never;
21
21
  } : StructuredSerializeOptions & {
22
22
  targetOrigin?: string;
23
- transmit?: Promise<readonly WindowClient[]>;
23
+ transmit?: () => Promise<readonly WindowClient[]>;
24
24
  } & {
25
25
  payload?: Parameters<CONSUME[K]>[0] | undefined;
26
26
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createBroadcastChannelRPC<EVENT extends ActionRecord, CO
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createBroadcastChannelRPC<EVENT extends ActionRecord, CO
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends Action
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends Action
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRe
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRe
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionR
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionR
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUM
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUM
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRec
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRec
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME e
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME e
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME exte
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME exte
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
@@ -5,7 +5,7 @@ export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME exte
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
7
7
  targetOrigin?: string;
8
- transmit?: Promise<readonly WindowClient[]>;
8
+ transmit?: () => Promise<readonly WindowClient[]>;
9
9
  } & {
10
10
  payload?: Parameters<CONSUME[K]>[0] | undefined;
11
11
  retry?: number;
@@ -15,7 +15,7 @@ export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME exte
15
15
  payload?: never;
16
16
  } : StructuredSerializeOptions & {
17
17
  targetOrigin?: string;
18
- transmit?: Promise<readonly WindowClient[]>;
18
+ transmit?: () => Promise<readonly WindowClient[]>;
19
19
  } & {
20
20
  payload?: Parameters<CONSUME[K]>[0] | undefined;
21
21
  retry?: number;
package/dist/fields.d.ts CHANGED
@@ -31,9 +31,9 @@ export interface Transport {
31
31
  }
32
32
  export type IframeSerializeOptions = StructuredSerializeOptions & {
33
33
  targetOrigin?: string;
34
- transmit?: Promise<readonly WindowClient[]>;
34
+ transmit?: () => Promise<readonly WindowClient[]>;
35
35
  };
36
- export type ListenerType = (ev: Pick<MessageEvent, 'data' | 'origin' | 'source'> & {
36
+ export type ListenerType = (ev: Pick<MessageEvent, 'data' | 'origin' | 'ports' | 'source'> & {
37
37
  wait?: () => void;
38
38
  }) => void;
39
39
  export type RPCItem = Pick<RPCAction, 'broadcast'> & Pick<RPCFactory, 'getType'>;
@@ -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,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,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,KAAK,OAAO,CAAA;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACzE,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,KACzE,IAAI,CAAA;AAET,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAEhF,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;CACnB,CAAA"}
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,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,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,KAAK,OAAO,CAAA;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACzE,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,KACnF,IAAI,CAAA;AAET,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAEhF,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;CACnB,CAAA"}
@@ -6,7 +6,7 @@ declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord,
6
6
  payload?: never;
7
7
  } : StructuredSerializeOptions & {
8
8
  targetOrigin?: string;
9
- transmit?: Promise<readonly WindowClient[]>;
9
+ transmit?: () => Promise<readonly WindowClient[]>;
10
10
  } & {
11
11
  payload?: Parameters<CONSUME[K]>[0] | undefined;
12
12
  retry?: number;
@@ -16,7 +16,7 @@ declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord,
16
16
  payload?: never;
17
17
  } : StructuredSerializeOptions & {
18
18
  targetOrigin?: string;
19
- transmit?: Promise<readonly WindowClient[]>;
19
+ transmit?: () => Promise<readonly WindowClient[]>;
20
20
  } & {
21
21
  payload?: Parameters<CONSUME[K]>[0] | undefined;
22
22
  retry?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,OAAO,CAA8C;IAI7D,OAAO;IAMP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAyBvC,QAAQ,IAAI,IAAI;IAMhB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAYtE;AAED,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,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,OAAO,CAA8C;IAI7D,OAAO;IAMP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAyBvC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAYtE;AAED,eAAe,iCAAiC,CAAA"}
@@ -12,6 +12,7 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
12
12
  const data = event.data;
13
13
  listener({
14
14
  origin: event.origin,
15
+ ports: event.ports,
15
16
  source: null,
16
17
  wait: resove,
17
18
  data
@@ -25,7 +26,7 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
25
26
  }
26
27
  postMessage(message, options) {
27
28
  const { transmit, transfer } = options ?? {};
28
- if (transmit) transmit.then((clients)=>clients.forEach((client)=>client.postMessage(message, {
29
+ if (transmit) transmit().then((clients)=>clients.forEach((client)=>client.postMessage(message, {
29
30
  transfer
30
31
  }))).catch(()=>{});
31
32
  else this._source?.postMessage(message, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-chat/rpc",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {