@event-chat/rpc 0.1.15 → 0.1.17

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.
Files changed (65) hide show
  1. package/dist/core/RPCAction.d.ts +2 -2
  2. package/dist/core/RPCAction.d.ts.map +1 -1
  3. package/dist/core/RPCAction.js +3 -3
  4. package/dist/core/RPCDecorator.d.ts +7 -3
  5. package/dist/core/RPCDecorator.d.ts.map +1 -1
  6. package/dist/core/RPCDecorator.js +2 -1
  7. package/dist/core/registry.d.ts +4 -4
  8. package/dist/core/registry.d.ts.map +1 -1
  9. package/dist/entry/auto.d.ts.map +1 -1
  10. package/dist/entry/broadcastChannel.d.ts +2 -22
  11. package/dist/entry/broadcastChannel.d.ts.map +1 -1
  12. package/dist/entry/dedicatedWorkerGlobalScope.d.ts +1 -1
  13. package/dist/entry/serviceWorkerGlobalScope.d.ts +1 -1
  14. package/dist/entry/serviceWorkerRegistration.d.ts +1 -1
  15. package/dist/entry/sharedWorker.d.ts +1 -1
  16. package/dist/entry/sharedWorkerGlobalScope.d.ts +1 -1
  17. package/dist/entry/webSocket.d.ts +1 -1
  18. package/dist/entry/window.d.ts +1 -1
  19. package/dist/entry/window.d.ts.map +1 -1
  20. package/dist/entry/window.js +4 -1
  21. package/dist/entry/worker.d.ts +1 -1
  22. package/dist/fields.d.ts +3 -1
  23. package/dist/fields.d.ts.map +1 -1
  24. package/dist/react/RPCProvider.d.ts.map +1 -1
  25. package/dist/react/RPCProvider.js +1 -1
  26. package/dist/react/fields.d.ts +2 -2
  27. package/dist/react/fields.d.ts.map +1 -1
  28. package/dist/react/hooks.d.ts +20 -15
  29. package/dist/react/hooks.d.ts.map +1 -1
  30. package/dist/react/hooks.js +21 -9
  31. package/dist/react/index.d.ts +1 -1
  32. package/dist/react/index.d.ts.map +1 -1
  33. package/dist/transports/BaseTransport.d.ts +4 -1
  34. package/dist/transports/BaseTransport.d.ts.map +1 -1
  35. package/dist/transports/BaseTransport.js +1 -0
  36. package/dist/transports/BroadcastChannelTransport.d.ts +3 -1
  37. package/dist/transports/BroadcastChannelTransport.d.ts.map +1 -1
  38. package/dist/transports/BroadcastChannelTransport.js +2 -0
  39. package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts +1 -0
  40. package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts.map +1 -1
  41. package/dist/transports/DedicatedWorkerGlobalScopeTransport.js +1 -0
  42. package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts +1 -0
  43. package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts.map +1 -1
  44. package/dist/transports/ServiceWorkerGlobalScopeTransport.js +1 -0
  45. package/dist/transports/ServiceWorkerRegistrationTransport.d.ts +4 -1
  46. package/dist/transports/ServiceWorkerRegistrationTransport.d.ts.map +1 -1
  47. package/dist/transports/ServiceWorkerRegistrationTransport.js +14 -3
  48. package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts +1 -0
  49. package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts.map +1 -1
  50. package/dist/transports/SharedWorkerGlobalScopeTransport.js +1 -0
  51. package/dist/transports/SharedWorkerTransport.d.ts +1 -0
  52. package/dist/transports/SharedWorkerTransport.d.ts.map +1 -1
  53. package/dist/transports/SharedWorkerTransport.js +1 -0
  54. package/dist/transports/WebSocketTransport.d.ts +1 -0
  55. package/dist/transports/WebSocketTransport.d.ts.map +1 -1
  56. package/dist/transports/WebSocketTransport.js +5 -0
  57. package/dist/transports/WindowTransport.d.ts +3 -0
  58. package/dist/transports/WindowTransport.d.ts.map +1 -1
  59. package/dist/transports/WindowTransport.js +35 -1
  60. package/dist/transports/WorkerTransport.d.ts +1 -0
  61. package/dist/transports/WorkerTransport.d.ts.map +1 -1
  62. package/dist/transports/WorkerTransport.js +1 -0
  63. package/dist/transports/fields.d.ts +1 -3
  64. package/dist/transports/fields.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -10,7 +10,7 @@ declare class RPCAction {
10
10
  private _options;
11
11
  private _pending;
12
12
  private _boundMessageHandler;
13
- constructor(_target: Transport, options?: RPCOptionsType);
13
+ constructor(_target: Transport<boolean>, options?: RPCOptionsType);
14
14
  destroy(): void;
15
15
  broadcast<T>(options?: Omit<RequestOptions<T>, 'retry'>): void;
16
16
  config(options: Omit<RPCOptionsType, 'onConnect' | 'onDisconnect'>): void;
@@ -33,7 +33,7 @@ export type RPCOptionsType = {
33
33
  retryTimeout?: number;
34
34
  retryTimes?: number;
35
35
  onConnect?: () => void;
36
- onDisconnect?: () => void;
36
+ onDisconnect?: (destroy?: boolean) => void;
37
37
  };
38
38
  export type ActionFunType = (payload?: any, info?: MessageInfo) => any;
39
39
  export type BrodcastItem = (value: unknown, info?: MessageInfo) => void;
@@ -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;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"}
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,CAAC,OAAO,CAAC,EACnC,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,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"}
@@ -32,7 +32,7 @@ class RPCAction {
32
32
  destroy() {
33
33
  clearInterval(this._heartbeatTimer ?? void 0);
34
34
  this._target.onremove(this._boundMessageHandler);
35
- this._abort();
35
+ this._abort(true);
36
36
  this._brodcastListeners = [];
37
37
  this._handlers = {};
38
38
  this._heartbeatTimer = null;
@@ -102,9 +102,9 @@ class RPCAction {
102
102
  });
103
103
  });
104
104
  }
105
- _abort() {
105
+ _abort(destroy) {
106
106
  this._isConnected = false;
107
- this._options?.onDisconnect?.();
107
+ this._options?.onDisconnect?.(destroy);
108
108
  this._pending.forEach(({ reject, timer })=>{
109
109
  clearTimeout(timer);
110
110
  reject(new Error('[RPC] 连接已断开,请求已取消'));
@@ -1,8 +1,8 @@
1
1
  import { Transport } from '../fields';
2
2
  import RPCAction, { ActionFunType, BrodcastItem, RPCOptionsType, RequestOptions } from './RPCAction';
3
- declare function RPCDecorator<EVENT extends ActionRecord, CONSUME extends ActionRecord>(factory: Transport | null, context?: DecoratorContext<EVENT, CONSUME>): readonly [Readonly<Omit<RPCAction, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport, "getType" | "upset"> & {
4
- request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: RequestOptionsByAction<CONSUME[K]>] : [keyname: K, reqops: RequestOptionsByAction<CONSUME[K]>]) => Promise<UnwrapPromise<ReturnType<CONSUME[K]>>>;
5
- }>, () => void];
3
+ declare const factoryKey: readonly ["getType", "upset"];
4
+ declare const disabledKey: readonly ["destroy", "on", "onBrodcast"];
5
+ declare function RPCDecorator<TARGET extends Transport<boolean> | null, EVENT extends ActionRecord, CONSUME extends ActionRecord>(factory: TARGET, context?: DecoratorContext<EVENT, CONSUME>): readonly [ResultType<(<K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: RequestOptionsByAction<CONSUME[K]>] : [keyname: K, reqops: RequestOptionsByAction<CONSUME[K]>]) => Promise<UnwrapPromise<ReturnType<CONSUME[K]>>>), TARGET>, () => void];
6
6
  export default RPCDecorator;
7
7
  export interface DecoratorContext<EVENT extends ActionRecord, CONSUME extends ActionRecord> {
8
8
  brodcast?: Record<string, BrodcastItem>;
@@ -11,10 +11,14 @@ export interface DecoratorContext<EVENT extends ActionRecord, CONSUME extends Ac
11
11
  event?: EVENT;
12
12
  }
13
13
  export type ActionRecord = Record<string, ActionFunType>;
14
+ type GetTransportFlag<T> = T extends Transport<infer B> ? B : never;
14
15
  type RequestOptionsByAction<F extends ActionFunType> = Parameters<F> extends [] ? Omit<RequestOptions, 'payload'> & {
15
16
  payload?: never;
16
17
  } : RequestOptions<Parameters<F>[0]> & {
17
18
  payload: Parameters<F>[0];
18
19
  };
20
+ type ResultType<REQ, TARGET extends Transport<boolean> | null> = [TARGET] extends [null] ? Record<never, never> : Readonly<Omit<RPCAction, (typeof disabledKey)[number] | 'request'> & Pick<Transport<boolean>, (typeof factoryKey)[number]> & {
21
+ request: GetTransportFlag<TARGET> extends true ? never : REQ;
22
+ }>;
19
23
  type UnwrapPromise<T> = T extends Promise<infer R> ? R : T;
20
24
  //# sourceMappingURL=RPCDecorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RPCDecorator.d.ts","sourceRoot":"","sources":["../../src/core/RPCDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAapG,iBAAS,YAAY,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAC5E,OAAO,EAAE,SAAS,GAAG,IAAI,EACzB,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;cAKzB,CAAC,SAAS,MAAM,OAAO,WAC7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GACtC,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GACzD,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAGjB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBA8C5F;AAED,eAAe,YAAY,CAAA;AAE3B,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAExD,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IACjD,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,GACpB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GACrD,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAEtE,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"RPCDecorator.d.ts","sourceRoot":"","sources":["../../src/core/RPCDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpG,QAAA,MAAM,UAAU,+BAAgC,CAAA;AAChD,QAAA,MAAM,WAAW,0CAA2C,CAAA;AAU5D,iBAAS,YAAY,CACnB,MAAM,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,EACxC,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,0BAI1C,CAAC,SAAS,MAAM,OAAO,WAC7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GACtC,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GACzD,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAGjB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBA0C5F;AAED,eAAe,YAAY,CAAA;AAE3B,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAGxD,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEnE,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IACjD,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,GACpB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GACrD,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAEtE,KAAK,UAAU,CAAC,GAAG,EAAE,MAAM,SAAS,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GACpF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACpB,QAAQ,CACN,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GACvD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG;IACtD,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,GAAG,CAAA;CAC7D,CACJ,CAAA;AAEL,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA"}
@@ -27,12 +27,13 @@ function RPCDecorator(factory, context) {
27
27
  };
28
28
  Object.entries(event ?? {}).forEach(([keyname, handle])=>action?.on(keyname, handle));
29
29
  Object.values(brodcast ?? {}).forEach((handle)=>action?.onBrodcast(handle));
30
+ factory?.observe(destroy);
30
31
  const rpcInsc = new Proxy({}, {
31
32
  get (_, key) {
32
33
  const keyname = key.toString();
33
34
  switch(key){
34
35
  case 'request':
35
- return request;
36
+ return factory?.onlyBrod ? void 0 : request;
36
37
  default:
37
38
  if (action && isAction(action, keyname)) {
38
39
  const value = action[keyname];
@@ -3,9 +3,9 @@ import { TargetType } from '../transports/BaseTransport';
3
3
  import { EntryOptions } from '../transports/fields';
4
4
  import { ActionRecord } from './RPCDecorator';
5
5
  export declare function cacheImport(item?: TransportItem): Promise<{
6
- default: new (target: any, options?: FactoryOptions) => Transport;
6
+ default: new (target: any, options?: FactoryOptions) => Transport<boolean>;
7
7
  } | undefined>;
8
- export declare function createRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: unknown, config?: EntryOptions<EVENT, CONSUME>): Promise<readonly [Readonly<Omit<import("./RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport, "getType" | "upset"> & {
8
+ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: unknown, config?: EntryOptions<EVENT, CONSUME>): Promise<readonly [Readonly<Omit<import("./RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport<boolean>, "getType" | "upset"> & {
9
9
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("./RPCAction").RequestOptions, "payload"> & {
10
10
  payload?: never;
11
11
  } : StructuredSerializeOptions & {
@@ -29,13 +29,13 @@ export declare function createRPC<EVENT extends ActionRecord, CONSUME extends Ac
29
29
  }]) => Promise<ReturnType<CONSUME[K]> extends infer T ? T extends ReturnType<CONSUME[K]> ? T extends Promise<infer R> ? R : T : never : never>;
30
30
  }>, () => void]>;
31
31
  export declare function registerTransport<T extends TargetType>(resolver: TransportResolver<T>): void;
32
- export declare function resolveTransport(target: unknown, options?: FactoryOptions): Promise<Transport | null>;
32
+ export declare function resolveTransport(target: unknown, options?: FactoryOptions): Promise<Transport<boolean> | null>;
33
33
  export type TransportResolver<T extends TargetType = TargetType> = {
34
34
  name: string;
35
35
  in: () => boolean;
36
36
  match: (target: unknown) => target is T;
37
37
  load: () => Promise<{
38
- default: new (target: T, options?: FactoryOptions) => Transport;
38
+ default: new (target: T, options?: FactoryOptions) => Transport<boolean>;
39
39
  }>;
40
40
  };
41
41
  type TransportItem = TransportResolver<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK3D,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa;yCAoCW,cAAc,KAAK,SAAS;eA7BtF;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAChF,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;iBAItC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAErF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,6BASzE;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,OAAO,CAAA;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC,CAAA;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,SAAS,CAAA;KAAE,CAAC,CAAA;CACzF,CAAA;AAID,KAAK,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK3D,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa;yCAoCW,cAAc,KAAK,SAAS,CAAC,OAAO,CAAC;eA7B/F;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAChF,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;iBAItC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAErF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,sCASzE;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,OAAO,CAAA;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC,CAAA;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,SAAS,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;CAClG,CAAA;AAID,KAAK,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/entry/auto.ts"],"names":[],"mappings":"AAkEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/entry/auto.ts"],"names":[],"mappings":"AAmEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,26 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createBroadcastChannelRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: BroadcastChannel, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
4
- request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
- payload?: never;
6
- } : StructuredSerializeOptions & {
7
- targetOrigin?: string;
8
- transmit?: () => Promise<readonly WindowClient[]>;
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
- } & {
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>;
3
+ export declare function createBroadcastChannelRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: BroadcastChannel, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
+ request: never;
25
5
  }>, () => void];
26
6
  //# sourceMappingURL=broadcastChannel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"broadcastChannel.d.ts","sourceRoot":"","sources":["../../src/entry/broadcastChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAChG,MAAM,EAAE,gBAAgB,EACxB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAItC"}
1
+ {"version":3,"file":"broadcastChannel.d.ts","sourceRoot":"","sources":["../../src/entry/broadcastChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAChG,MAAM,EAAE,gBAAgB,EACxB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;gBAItC"}
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: DedicatedWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createDedicatedWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: DedicatedWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: ServiceWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createServiceWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: ServiceWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: ServiceWorkerRegistration, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createServiceWorkerRegistrationRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: ServiceWorkerRegistration, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: SharedWorker, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createSharedWorkerRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: SharedWorker, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: SharedWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createSharedWorkerGlobalScopeRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: SharedWorkerGlobalScope, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: WebSocket, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createWebSocketRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: WebSocket, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: Window | HTMLIFrameElement, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createWindowRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: Window | HTMLIFrameElement, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/entry/window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,wBAAgB,eAAe,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EACtF,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAClC,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAMtC"}
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/entry/window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,wBAAgB,eAAe,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EACtF,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAClC,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAYtC"}
@@ -3,6 +3,9 @@ import WindowTransport from "../transports/WindowTransport.js";
3
3
  function createWindowRPC(target, config) {
4
4
  const { context, options } = config ?? {};
5
5
  const instance = target instanceof HTMLIFrameElement ? target.contentWindow : target;
6
- return RPCDecorator(instance ? new WindowTransport(instance, options) : null, context);
6
+ const ops = target instanceof HTMLIFrameElement ? Object.assign({}, options, {
7
+ observer: ()=>target
8
+ }) : options;
9
+ return RPCDecorator(instance ? new WindowTransport(instance, ops) : null, context);
7
10
  }
8
11
  export { createWindowRPC };
@@ -1,6 +1,6 @@
1
1
  import { ActionRecord } from '../RPCDecorator';
2
2
  import { EntryOptions } from '../transports/fields';
3
- export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: Worker, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
3
+ export declare function createWorkerRPC<EVENT extends ActionRecord, CONSUME extends ActionRecord>(target: Worker, config?: EntryOptions<EVENT, CONSUME>): readonly [Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport<boolean>, "getType" | "upset"> & {
4
4
  request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
5
5
  payload?: never;
6
6
  } : StructuredSerializeOptions & {
package/dist/fields.d.ts CHANGED
@@ -20,14 +20,16 @@ export interface RPCInstanceContextIns {
20
20
  brodcastScope?: <T>(data: RequestOptions<T>, options?: ScopeProps) => void;
21
21
  mount?: (item: RPCItem, name?: string) => void;
22
22
  }
23
- export interface Transport {
23
+ export interface Transport<ONLYBD extends boolean = false> {
24
24
  destroy: () => void;
25
25
  getType: () => string;
26
26
  is: (source: MessageEventSource | null) => boolean;
27
+ observe: (close?: () => void) => void;
27
28
  onmessage: (listener: ListenerType) => void;
28
29
  onremove: (listener: ListenerType) => void;
29
30
  postMessage: (message: unknown, options?: IframeSerializeOptions) => void;
30
31
  upset: (options: FactoryOptions) => void;
32
+ onlyBrod?: ONLYBD;
31
33
  }
32
34
  export type IframeSerializeOptions = StructuredSerializeOptions & {
33
35
  targetOrigin?: string;
@@ -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,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"}
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,CAAC,MAAM,SAAS,OAAO,GAAG,KAAK;IACvD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,KAAK,OAAO,CAAA;IAClD,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,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACzE,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;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"}
@@ -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,CA4CtC,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;AAW7E,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CA6CtC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -9,7 +9,7 @@ const RPCProvider = ({ children })=>{
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
  list.current.forEach((group, item)=>{
12
- if (scope.includes(item.getType()) && !typeout?.includes(group) && (!typein || typein.includes(group))) item.broadcast(data);
12
+ if ('getType' in item && scope.includes(item.getType()) && !typeout?.includes(group) && (!typein || typein.includes(group))) item.broadcast(data);
13
13
  });
14
14
  }
15
15
  }, []);
@@ -1,5 +1,5 @@
1
1
  import RPCAction, { RequestOptions } from '../core/RPCAction';
2
- import { Transport } from '../transports/fields';
2
+ import { Transport } from '../fields';
3
3
  import { ValueOf } from '../utils';
4
4
  export declare const RPCInstanceContext: import("react").Context<RPCInstanceContextIns>;
5
5
  export declare const TARGET_TYPE_STRINGS: Readonly<{
@@ -20,7 +20,7 @@ export interface RPCInstanceContextIns {
20
20
  brodcastScope?: <T>(data: RequestOptions<T>, options?: ScopeProps) => void;
21
21
  mount?: (item: RPCItem, name?: string) => void;
22
22
  }
23
- export type RPCItem = Pick<RPCAction, 'broadcast'> & Pick<Transport, 'getType'>;
23
+ export type RPCItem = (Pick<RPCAction, 'broadcast'> & Pick<Transport<boolean>, 'getType'>) | Record<never, never>;
24
24
  export type ScopeProps = {
25
25
  exclude?: Array<ValueOf<typeof TARGET_TYPE_STRINGS>>;
26
26
  include?: Array<ValueOf<typeof TARGET_TYPE_STRINGS>>;
@@ -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;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,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,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAE/E,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/react/fields.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,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;CACnB,CAAA"}
@@ -1,8 +1,10 @@
1
1
  import RPCDecorator, { ActionRecord, DecoratorContext } from '../core/RPCDecorator';
2
- import { EntryOptions, FactoryOptions } from '../transports/fields';
3
- declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord, TARGET>(ops: RPCHooksOptions<EVENT, CONSUME> | RPCDriveOptions<EVENT, CONSUME, TARGET>) => Readonly<{
4
- rpc: Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<import("../fields").Transport, "getType" | "upset"> & {
5
- request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
2
+ import { Transport } from '../fields';
3
+ import { FactoryOptions } from '../transports/BaseTransport';
4
+ import { EntryOptions } from '../transports/fields';
5
+ declare const useRPC: <TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord>(ops: RPCHooksOptions<TARGET, EVENT, CONSUME> | RPCDriveOptions<TARGET, EVENT, CONSUME>) => Readonly<{
6
+ rpc: [[TARGET] extends [null] ? null : TARGET extends BroadcastChannel ? Transport<true> : Transport<false>] extends [null] ? Record<never, never> : Readonly<Omit<import("../core/RPCAction").default, "destroy" | "on" | "onBrodcast" | "request"> & Pick<Transport<boolean>, "getType" | "upset"> & {
7
+ request: (([TARGET] extends [null] ? null : TARGET extends BroadcastChannel ? Transport<true> : Transport<false>) extends infer T ? T extends ([TARGET] extends [null] ? null : TARGET extends BroadcastChannel ? Transport<true> : Transport<false>) ? T extends Transport<infer B extends boolean> ? B : never : never : never) extends true ? never : <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("../core/RPCAction").RequestOptions, "payload"> & {
6
8
  payload?: never;
7
9
  } : StructuredSerializeOptions & {
8
10
  targetOrigin?: string;
@@ -22,26 +24,29 @@ declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord,
22
24
  retry?: number;
23
25
  } & {
24
26
  payload: Parameters<CONSUME[K]>[0];
25
- }]) => Promise<ReturnType<CONSUME[K]> extends infer T ? T extends ReturnType<CONSUME[K]> ? T extends Promise<infer R> ? R : T : never : never>;
27
+ }]) => Promise<ReturnType<CONSUME[K]> extends infer T_1 ? T_1 extends ReturnType<CONSUME[K]> ? T_1 extends Promise<infer R> ? R : T_1 : never : never>;
26
28
  }>;
27
- brodcastScope: <T>(data: import("../core/RPCAction").RequestOptions<T>, options?: import("./fields").ScopeProps) => void;
29
+ brodcastScope: <T_1>(data: import("../core/RPCAction").RequestOptions<T_1>, options?: import("./fields").ScopeProps) => void;
30
+ destroy: () => void;
28
31
  mount: (name: string) => void;
29
32
  connected: boolean;
33
+ start: () => () => void;
30
34
  }>;
31
35
  export default useRPC;
32
- interface RPCBaseOptions {
36
+ export type TargetInit = BroadcastChannel | ServiceWorkerRegistration | SharedWorker | WebSocket | Window | Worker | HTMLIFrameElement | null;
37
+ interface RPCBaseOptions<TARGET extends TargetInit> {
38
+ init: () => TARGET | null | Promise<TARGET | null>;
33
39
  name?: string;
34
40
  options?: FactoryOptions;
35
41
  faild?: (error: unknown) => void;
36
42
  }
37
- interface RPCDriveOptions<EVENT extends ActionRecord, CONSUME extends ActionRecord, TARGET> extends RPCBaseOptions, DecoratorContext<EVENT, CONSUME> {
38
- drive: (target: TARGET, config?: EntryOptions<EVENT, CONSUME>) => RPCResult<EVENT, CONSUME>;
39
- init: () => TARGET | null | Promise<TARGET | null>;
43
+ interface RPCDriveOptions<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> extends RPCBaseOptions<TARGET>, DecoratorContext<EVENT, CONSUME> {
44
+ drive: (target: TARGET, config?: EntryOptions<EVENT, CONSUME>) => RPCResult<TARGET, EVENT, CONSUME>;
40
45
  }
41
- interface RPCHooksOptions<EVENT extends ActionRecord, CONSUME extends ActionRecord> extends RPCBaseOptions, DecoratorContext<EVENT, CONSUME> {
42
- drive: (target: unknown, context?: EntryOptions<EVENT, CONSUME>) => Promise<RPCResult<EVENT, CONSUME>>;
43
- init: () => TargetInit | Promise<TargetInit>;
46
+ interface RPCHooksOptions<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> extends RPCBaseOptions<TARGET>, DecoratorContext<EVENT, CONSUME> {
47
+ drive: (target: unknown, context?: EntryOptions<EVENT, CONSUME>) => Promise<RPCResult<TARGET, EVENT, CONSUME>>;
44
48
  }
45
- type RPCResult<EVENT extends ActionRecord, CONSUME extends ActionRecord> = ReturnType<typeof RPCDecorator<EVENT, CONSUME>>;
46
- type TargetInit = BroadcastChannel | ServiceWorkerRegistration | SharedWorker | WebSocket | Window | Worker | HTMLIFrameElement | null;
49
+ type RPCResult<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> = ReturnType<typeof RPCDecorator<[
50
+ TARGET
51
+ ] extends [null] ? null : TARGET extends BroadcastChannel ? Transport<true> : Transport<false>, EVENT, CONSUME>>;
47
52
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMnE,QAAA,MAAM,MAAM,GAAI,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAAE,MAAM,EAC9E,KAAK,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;kBA+BrE,MAAM;;EAqEhB,CAAA;AAED,eAAe,MAAM,CAAA;AAErB,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACjC;AAED,UAAU,eAAe,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAAE,MAAM,CACxF,SAAQ,cAAc,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3F,IAAI,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACnD;AAED,UAAU,eAAe,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,CAChF,SAAQ,cAAc,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IACxD,KAAK,EAAE,CACL,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACvC,IAAI,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC7C;AAED,KAAK,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,IAAI,UAAU,CACnF,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CACpC,CAAA;AAGD,KAAK,UAAU,GACX,gBAAgB,GAChB,yBAAyB,GACzB,YAAY,GACZ,SAAS,GACT,MAAM,GACN,MAAM,GACN,iBAAiB,GACjB,IAAI,CAAA"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAMnD,QAAA,MAAM,MAAM,GACV,MAAM,SAAS,UAAU,EACzB,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAE5B,KAAK,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiC7E,MAAM;;;EAsFhB,CAAA;AAED,eAAe,MAAM,CAAA;AAGrB,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,yBAAyB,GACzB,YAAY,GACZ,SAAS,GACT,MAAM,GACN,MAAM,GACN,iBAAiB,GACjB,IAAI,CAAA;AAER,UAAU,cAAc,CAAC,MAAM,SAAS,UAAU;IAChD,IAAI,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACjC;AAED,UAAU,eAAe,CACvB,MAAM,SAAS,UAAU,EACzB,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,CAE5B,SAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChE,KAAK,EAAE,CACL,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAClC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;CACvC;AAED,UAAU,eAAe,CACvB,MAAM,SAAS,UAAU,EACzB,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,CAE5B,SAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChE,KAAK,EAAE,CACL,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;CAChD;AAED,KAAK,SAAS,CACZ,MAAM,SAAS,UAAU,EACzB,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,IAC1B,UAAU,CACZ,OAAO,YAAY,CACjB;IAAC,MAAM;CAAC,SAAS,CAAC,IAAI,CAAC,GACnB,IAAI,GACJ,MAAM,SAAS,gBAAgB,GAC7B,SAAS,CAAC,IAAI,CAAC,GACf,SAAS,CAAC,KAAK,CAAC,EACtB,KAAK,EACL,OAAO,CACR,CACF,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
2
- import RPCDecorator from "../core/RPCDecorator.js";
3
2
  import { isKey } from "../utils.js";
4
3
  import { RPCInstanceContext } from "./fields.js";
5
4
  const defaultBrod = ()=>{};
@@ -8,6 +7,7 @@ const useRPC = (ops)=>{
8
7
  const [connected, setConnected] = useState(false);
9
8
  const decoratorRef = useRef(null);
10
9
  const processRef = useRef(Promise.resolve(null));
10
+ const destroyRef = useRef(()=>{});
11
11
  const opsRef = useRef(ops);
12
12
  const rpcIns = useMemo(()=>new Proxy({}, {
13
13
  get (_, key, ref) {
@@ -26,9 +26,13 @@ const useRPC = (ops)=>{
26
26
  }, [
27
27
  mount
28
28
  ]);
29
- useEffect(()=>{
29
+ const start = useCallback(()=>{
30
30
  const { config, options, drive, faild, init, name = '', ...opConfig } = opsRef.current;
31
- processRef.current = processRef.current.then(()=>init()).then((tar)=>tar instanceof HTMLIFrameElement ? tar.contentWindow : tar).then((tar)=>{
31
+ setConnected(false);
32
+ processRef.current = processRef.current.then(()=>init()).then((tar)=>{
33
+ if (options && tar instanceof HTMLIFrameElement) options.observer = ()=>tar;
34
+ return tar instanceof HTMLIFrameElement ? tar.contentWindow : tar;
35
+ }).then((tar)=>{
32
36
  const context = {
33
37
  ...opConfig,
34
38
  config: {
@@ -37,22 +41,25 @@ const useRPC = (ops)=>{
37
41
  config?.onConnect?.();
38
42
  setConnected(true);
39
43
  },
40
- onDisconnect () {
41
- config?.onDisconnect?.();
44
+ onDisconnect (destroy) {
45
+ config?.onDisconnect?.(destroy);
42
46
  setConnected(false);
43
47
  }
44
48
  }
45
49
  };
46
- return tar ? drive(tar, {
50
+ return drive(tar, {
47
51
  context,
48
52
  options
49
- }) : RPCDecorator(null, context);
53
+ });
50
54
  }).then((target)=>{
51
- const [result] = target;
55
+ const [result, destroy] = target;
52
56
  decoratorRef.current = result;
57
+ destroyRef.current = destroy;
53
58
  mount?.(result, name);
54
59
  return target;
55
60
  }).catch((error)=>{
61
+ if (decoratorRef.current) mount?.(decoratorRef.current);
62
+ destroyRef.current();
56
63
  faild?.(error);
57
64
  return null;
58
65
  });
@@ -71,11 +78,16 @@ const useRPC = (ops)=>{
71
78
  }, [
72
79
  mount
73
80
  ]);
81
+ useEffect(start, [
82
+ start
83
+ ]);
74
84
  return Object.freeze({
75
85
  rpc: rpcIns,
76
86
  brodcastScope: brodcastScope ?? defaultBrod,
87
+ destroy: ()=>destroyRef.current?.(),
77
88
  mount: mounHandle,
78
- connected
89
+ connected,
90
+ start
79
91
  });
80
92
  };
81
93
  const hooks = useRPC;
@@ -1,5 +1,5 @@
1
1
  export * from './createCtx';
2
2
  export { type RPCInstanceContextIns, TARGET_TYPE_STRINGS } from './fields';
3
- export { default as useRPC } from './hooks';
3
+ export { default as useRPC, type TargetInit } from './hooks';
4
4
  export { default as RPCProvider } from './RPCProvider';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,KAAK,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,KAAK,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA"}
@@ -1,12 +1,14 @@
1
1
  import { IframeSerializeOptions, ListenerType, Transport } from '../fields';
2
- declare abstract class BaseTransport<T extends TargetType = TargetType> implements Transport {
2
+ declare abstract class BaseTransport<T extends TargetType = TargetType, ONLYBD extends boolean = false> implements Transport<ONLYBD> {
3
3
  protected _target: T;
4
4
  protected _options: FactoryOptions;
5
+ readonly onlyBrod?: ONLYBD;
5
6
  constructor(_target: T, _options?: FactoryOptions);
6
7
  getType(): string;
7
8
  is(source: MessageEventSource | null): boolean;
8
9
  upset(options: FactoryOptions): void;
9
10
  abstract destroy(): void;
11
+ abstract observe(close?: () => void): void;
10
12
  abstract onmessage(listener: ListenerType): void;
11
13
  abstract onremove(listener: ListenerType): void;
12
14
  abstract postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -14,6 +16,7 @@ declare abstract class BaseTransport<T extends TargetType = TargetType> implemen
14
16
  export default BaseTransport;
15
17
  export interface FactoryOptions {
16
18
  message?: boolean | AddEventListenerOptions;
19
+ observer?: () => unknown;
17
20
  }
18
21
  export type TargetType = BroadcastChannel | WebSocket | Window | ServiceWorkerRegistration | ServiceWorkerGlobalScope | SharedWorker | SharedWorkerGlobalScope | Worker | DedicatedWorkerGlobalScope;
19
22
  //# sourceMappingURL=BaseTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BaseTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAM3E,uBAAe,aAAa,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,YAAW,SAAS;IAEhF,SAAS,CAAC,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,QAAQ,EAAE,cAAc;gBADxB,OAAO,EAAE,CAAC,EACV,QAAQ,GAAE,cAAmB;IAGzC,OAAO;IAKP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,KAAK,CAAC,OAAO,EAAE,cAAc;IAM7B,QAAQ,CAAC,OAAO,IAAI,IAAI;IACxB,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAC/E;AAED,eAAe,aAAa,CAAA;AAE5B,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;CAC5C;AAID,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,SAAS,GACT,MAAM,GAEN,yBAAyB,GACzB,wBAAwB,GACxB,YAAY,GACZ,uBAAuB,GACvB,MAAM,GACN,0BAA0B,CAAA"}
1
+ {"version":3,"file":"BaseTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BaseTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAM3E,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;IAGzC,OAAO;IAKP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAC/E;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,SAAS,GACT,MAAM,GAEN,yBAAyB,GACzB,wBAAwB,GACxB,YAAY,GACZ,uBAAuB,GACvB,MAAM,GACN,0BAA0B,CAAA"}
@@ -1,6 +1,7 @@
1
1
  class BaseTransport {
2
2
  _target;
3
3
  _options;
4
+ onlyBrod;
4
5
  constructor(_target, _options = {}){
5
6
  this._target = _target;
6
7
  this._options = _options;
@@ -1,7 +1,9 @@
1
1
  import { ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
- declare class BroadcastChannelTransport extends BaseTransport<BroadcastChannel> {
3
+ declare class BroadcastChannelTransport extends BaseTransport<BroadcastChannel, true> {
4
+ readonly onlyBrod = true;
4
5
  destroy(): void;
6
+ observe(): void;
5
7
  onmessage(listener: ListenerType): void;
6
8
  onremove(listener: ListenerType): void;
7
9
  postMessage(message: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BroadcastChannelTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BroadcastChannelTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,yBAA0B,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IACrE,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGpC;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"BroadcastChannelTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BroadcastChannelTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,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,OAAO,GAAG,IAAI;CAGpC;AAED,eAAe,yBAAyB,CAAA"}
@@ -1,8 +1,10 @@
1
1
  import BaseTransport from "./BaseTransport.js";
2
2
  class BroadcastChannelTransport extends BaseTransport {
3
+ onlyBrod = true;
3
4
  destroy() {
4
5
  this._target.close();
5
6
  }
7
+ observe() {}
6
8
  onmessage(listener) {
7
9
  this._target.addEventListener('message', listener, this._options.message);
8
10
  }
@@ -2,6 +2,7 @@ import { IframeSerializeOptions, ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
3
  declare class DedicatedWorkerGlobalScopeTransport extends BaseTransport<DedicatedWorkerGlobalScope> {
4
4
  destroy(): void;
5
+ observe(): void;
5
6
  onmessage(listener: ListenerType): void;
6
7
  onremove(listener: ListenerType): void;
7
8
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DedicatedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/DedicatedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,mCAAoC,SAAQ,aAAa,CAAC,0BAA0B,CAAC;IAEzF,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,mCAAmC,CAAA"}
1
+ {"version":3,"file":"DedicatedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/DedicatedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,mCAAmC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import BaseTransport from "./BaseTransport.js";
2
2
  class DedicatedWorkerGlobalScopeTransport extends BaseTransport {
3
3
  destroy() {}
4
+ observe() {}
4
5
  onmessage(listener) {
5
6
  this._target.addEventListener('message', listener, this._options.message);
6
7
  }
@@ -4,6 +4,7 @@ declare class ServiceWorkerGlobalScopeTransport extends BaseTransport<ServiceWor
4
4
  private _onconnect;
5
5
  private _source;
6
6
  destroy(): void;
7
+ observe(): void;
7
8
  onmessage(listener: ListenerType): void;
8
9
  onremove(): void;
9
10
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -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;IAKhB,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;IAKP,OAAO,IAAI,IAAI;IAIf,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"}
@@ -5,6 +5,7 @@ class ServiceWorkerGlobalScopeTransport extends BaseTransport {
5
5
  destroy() {
6
6
  this._onconnect = void 0;
7
7
  }
8
+ observe() {}
8
9
  onmessage(listener) {
9
10
  this._onconnect = (event)=>{
10
11
  this._source = event.source;
@@ -1,9 +1,12 @@
1
1
  import { IframeSerializeOptions, ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
3
  declare class ServiceWorkerRegistrationTransport extends BaseTransport<ServiceWorkerRegistration> {
4
+ private _listener;
4
5
  destroy(): void;
6
+ is(source: MessageEventSource | null): source is ServiceWorker;
7
+ observe(): void;
5
8
  onmessage(listener: ListenerType): void;
6
- onremove(listener: ListenerType): void;
9
+ onremove(): void;
7
10
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
8
11
  }
9
12
  export default ServiceWorkerRegistrationTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceWorkerRegistrationTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerRegistrationTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,cAAM,kCAAmC,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAEvF,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,kCAAkC,CAAA"}
1
+ {"version":3,"file":"ServiceWorkerRegistrationTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerRegistrationTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,cAAM,kCAAmC,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACvF,OAAO,CAAC,SAAS,CAA+C;IAIhE,OAAO;IAKP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAQpC,OAAO,IAAI,IAAI;IAEf,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAuBvC,QAAQ,IAAI,IAAI;IAKhB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,kCAAkC,CAAA"}
@@ -1,13 +1,24 @@
1
1
  import BaseTransport from "./BaseTransport.js";
2
2
  class ServiceWorkerRegistrationTransport extends BaseTransport {
3
+ _listener = null;
3
4
  destroy() {
4
5
  this._target.unregister().catch(()=>{});
5
6
  }
7
+ is(source) {
8
+ return source instanceof ServiceWorker;
9
+ }
10
+ observe() {}
6
11
  onmessage(listener) {
7
- navigator.serviceWorker.addEventListener('message', listener, this._options.message);
12
+ this._listener = (event)=>{
13
+ navigator.serviceWorker.getRegistrations().then((registrations)=>{
14
+ const matched = registrations.find((registration)=>event.source === registration.active || event.source === registration.installing || event.source === registration.waiting);
15
+ if (Object.is(matched, this._target)) listener(event);
16
+ }).catch(()=>{});
17
+ };
18
+ navigator.serviceWorker.addEventListener('message', this._listener, this._options.message);
8
19
  }
9
- onremove(listener) {
10
- navigator.serviceWorker.removeEventListener('message', listener, this._options.message);
20
+ onremove() {
21
+ if (this._listener) navigator.serviceWorker.removeEventListener('message', this._listener, this._options.message);
11
22
  }
12
23
  postMessage(message, options) {
13
24
  const { transfer } = options ?? {};
@@ -4,6 +4,7 @@ declare class SharedWorkerGlobalScopeTransport extends BaseTransport<SharedWorke
4
4
  private _onconnect;
5
5
  private _message;
6
6
  destroy(): void;
7
+ observe(): void;
7
8
  onmessage(listener: ListenerType): void;
8
9
  onremove(listener: ListenerType): void;
9
10
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SharedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,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,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAevC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQtC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAQtE;AAED,eAAe,gCAAgC,CAAA"}
1
+ {"version":3,"file":"SharedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAQtE;AAED,eAAe,gCAAgC,CAAA"}
@@ -6,6 +6,7 @@ class SharedWorkerGlobalScopeTransport extends BaseTransport {
6
6
  this._onconnect.then((messagePort)=>messagePort?.close()).catch(()=>{});
7
7
  if (this._message) this._target.removeEventListener('connect', this._message);
8
8
  }
9
+ observe() {}
9
10
  onmessage(listener) {
10
11
  const SharedWorker = this._target;
11
12
  this._onconnect = new Promise((resolve)=>{
@@ -2,6 +2,7 @@ import { IframeSerializeOptions, ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
3
  declare class SharedWorkerTransport extends BaseTransport<SharedWorker> {
4
4
  destroy(): void;
5
+ observe(): void;
5
6
  onmessage(listener: ListenerType): void;
6
7
  onremove(listener: ListenerType): void;
7
8
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SharedWorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,qBAAsB,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC7D,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAKvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,qBAAqB,CAAA"}
1
+ {"version":3,"file":"SharedWorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,qBAAqB,CAAA"}
@@ -3,6 +3,7 @@ class SharedWorkerTransport extends BaseTransport {
3
3
  destroy() {
4
4
  this._target.port.close();
5
5
  }
6
+ observe() {}
6
7
  onmessage(listener) {
7
8
  this._target.port.addEventListener('message', listener, this._options.message);
8
9
  this._target.port.start();
@@ -6,6 +6,7 @@ declare class WebSocketTransport extends BaseTransport<WebSocket> {
6
6
  private _onconnect;
7
7
  constructor(_target: WebSocket, _options?: FactoryOptions);
8
8
  destroy(): void;
9
+ observe(close?: () => void): void;
9
10
  onmessage(listener: ListenerType): void;
10
11
  onremove(): void;
11
12
  postMessage(message: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxD,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,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAWpC;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxD,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,OAAO,GAAG,IAAI;CAWpC;AAED,eAAe,kBAAkB,CAAA"}
@@ -22,6 +22,11 @@ class WebSocketTransport extends BaseTransport {
22
22
  this._target.onopen = null;
23
23
  if (this._target.readyState === WebSocket.OPEN) this._target.close();
24
24
  }
25
+ observe(close) {
26
+ this._target.onclose = ()=>{
27
+ close?.();
28
+ };
29
+ }
25
30
  onmessage(listener) {
26
31
  this._target.onmessage = listener;
27
32
  }
@@ -1,11 +1,14 @@
1
1
  import { IframeSerializeOptions, ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
3
  declare class WindowTransport extends BaseTransport<Window> {
4
+ private _errorHandle;
5
+ private _observerTarget;
4
6
  destroy(): void;
5
7
  is(source: MessageEventSource | null): boolean;
6
8
  onmessage(listener: ListenerType): void;
7
9
  onremove(listener: ListenerType): void;
8
10
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
11
+ observe(close?: () => void): void;
9
12
  }
10
13
  export default WindowTransport;
11
14
  //# sourceMappingURL=WindowTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WindowTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IAEjD,OAAO;IAKP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAOtE;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"WindowTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WindowTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO;IAMP,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAQrE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI;CA0C3B;AAED,eAAe,eAAe,CAAA"}
@@ -1,6 +1,13 @@
1
1
  import BaseTransport from "./BaseTransport.js";
2
2
  class WindowTransport extends BaseTransport {
3
- destroy() {}
3
+ _errorHandle = null;
4
+ _observerTarget = null;
5
+ destroy() {
6
+ this._errorHandle?.({
7
+ isDestroy: true
8
+ });
9
+ this._observerTarget?.disconnect();
10
+ }
4
11
  is(source) {
5
12
  return Object.is(this._target, source);
6
13
  }
@@ -17,6 +24,33 @@ class WindowTransport extends BaseTransport {
17
24
  transfer
18
25
  });
19
26
  }
27
+ observe(close) {
28
+ const element = this._options.observer?.();
29
+ if (!(element instanceof HTMLIFrameElement) || !Object.is(element.contentWindow, this._target)) return;
30
+ if (!element.isConnected) return void close?.();
31
+ const parent = element?.parentElement;
32
+ if (element) {
33
+ const errorHandle = (error)=>{
34
+ element.removeEventListener('error', errorHandle);
35
+ if (!error.isDestroy) close?.();
36
+ };
37
+ element.addEventListener('error', errorHandle);
38
+ this._errorHandle = errorHandle;
39
+ }
40
+ if (parent) {
41
+ const observer = new MutationObserver(()=>{
42
+ if (!element.isConnected) {
43
+ observer.disconnect();
44
+ close?.();
45
+ }
46
+ });
47
+ observer.observe(parent, {
48
+ childList: true,
49
+ subtree: false
50
+ });
51
+ this._observerTarget = observer;
52
+ }
53
+ }
20
54
  }
21
55
  const transports_WindowTransport = WindowTransport;
22
56
  export { transports_WindowTransport as default };
@@ -2,6 +2,7 @@ import { IframeSerializeOptions, ListenerType } from '../fields';
2
2
  import BaseTransport from './BaseTransport';
3
3
  declare class WorkerTransport extends BaseTransport<Worker> {
4
4
  destroy(): void;
5
+ observe(): void;
5
6
  onmessage(listener: ListenerType): void;
6
7
  onremove(listener: ListenerType): void;
7
8
  postMessage(message: unknown, options?: IframeSerializeOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IAEjD,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"WorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChE,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,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,eAAe,CAAA"}
@@ -3,6 +3,7 @@ class WorkerTransport extends BaseTransport {
3
3
  destroy() {
4
4
  this._target.terminate();
5
5
  }
6
+ observe() {}
6
7
  onmessage(listener) {
7
8
  this._target.addEventListener('message', listener, this._options.message);
8
9
  }
@@ -1,7 +1,5 @@
1
1
  import { ActionRecord, DecoratorContext } from '../core/RPCDecorator';
2
- export interface FactoryOptions {
3
- message?: boolean | AddEventListenerOptions;
4
- }
2
+ import { FactoryOptions } from './BaseTransport';
5
3
  export interface Transport {
6
4
  destory: () => void;
7
5
  getType: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/transports/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAErE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;CAC5C;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,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,KAAK,IAAI,CAAA;IAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,KAAK,IAAI,CAAA;IAC3D,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;CACtB,CAAA;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY;IACpF,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CAC3C"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/transports/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAMhD,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,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,KAAK,IAAI,CAAA;IAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,KAAK,IAAI,CAAA;IAC3D,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;CACtB,CAAA;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY;IACpF,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CAC3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-chat/rpc",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {