@event-chat/rpc 0.1.15 → 0.1.16

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 (36) hide show
  1. package/dist/core/RPCAction.d.ts +1 -1
  2. package/dist/core/RPCAction.d.ts.map +1 -1
  3. package/dist/core/RPCDecorator.d.ts +7 -3
  4. package/dist/core/RPCDecorator.d.ts.map +1 -1
  5. package/dist/core/RPCDecorator.js +1 -1
  6. package/dist/core/registry.d.ts +4 -4
  7. package/dist/core/registry.d.ts.map +1 -1
  8. package/dist/entry/auto.d.ts.map +1 -1
  9. package/dist/entry/broadcastChannel.d.ts +2 -22
  10. package/dist/entry/broadcastChannel.d.ts.map +1 -1
  11. package/dist/entry/dedicatedWorkerGlobalScope.d.ts +1 -1
  12. package/dist/entry/serviceWorkerGlobalScope.d.ts +1 -1
  13. package/dist/entry/serviceWorkerRegistration.d.ts +1 -1
  14. package/dist/entry/sharedWorker.d.ts +1 -1
  15. package/dist/entry/sharedWorkerGlobalScope.d.ts +1 -1
  16. package/dist/entry/webSocket.d.ts +1 -1
  17. package/dist/entry/window.d.ts +1 -1
  18. package/dist/entry/worker.d.ts +1 -1
  19. package/dist/fields.d.ts +2 -1
  20. package/dist/fields.d.ts.map +1 -1
  21. package/dist/react/RPCProvider.d.ts.map +1 -1
  22. package/dist/react/RPCProvider.js +1 -1
  23. package/dist/react/fields.d.ts +2 -2
  24. package/dist/react/fields.d.ts.map +1 -1
  25. package/dist/react/hooks.d.ts +16 -14
  26. package/dist/react/hooks.d.ts.map +1 -1
  27. package/dist/react/hooks.js +2 -3
  28. package/dist/react/index.d.ts +1 -1
  29. package/dist/react/index.d.ts.map +1 -1
  30. package/dist/transports/BaseTransport.d.ts +2 -1
  31. package/dist/transports/BaseTransport.d.ts.map +1 -1
  32. package/dist/transports/BaseTransport.js +1 -0
  33. package/dist/transports/BroadcastChannelTransport.d.ts +2 -1
  34. package/dist/transports/BroadcastChannelTransport.d.ts.map +1 -1
  35. package/dist/transports/BroadcastChannelTransport.js +1 -0
  36. 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;
@@ -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,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,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,wBAyC5F;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"}
@@ -32,7 +32,7 @@ function RPCDecorator(factory, context) {
32
32
  const keyname = key.toString();
33
33
  switch(key){
34
34
  case 'request':
35
- return request;
35
+ return factory?.onlyBrod ? void 0 : request;
36
36
  default:
37
37
  if (action && isAction(action, keyname)) {
38
38
  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,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,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 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;
@@ -28,6 +28,7 @@ export interface Transport {
28
28
  onremove: (listener: ListenerType) => void;
29
29
  postMessage: (message: unknown, options?: IframeSerializeOptions) => void;
30
30
  upset: (options: FactoryOptions) => void;
31
+ onlyBrod?: ONLYBD;
31
32
  }
32
33
  export type IframeSerializeOptions = StructuredSerializeOptions & {
33
34
  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,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,9 @@
1
1
  import RPCDecorator, { ActionRecord, DecoratorContext } from '../core/RPCDecorator';
2
+ import { Transport } from '../fields';
2
3
  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"> & {
4
+ declare const useRPC: <TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord>(ops: RPCHooksOptions<TARGET, EVENT, CONSUME> | RPCDriveOptions<TARGET, EVENT, CONSUME>) => Readonly<{
5
+ 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"> & {
6
+ 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
7
  payload?: never;
7
8
  } : StructuredSerializeOptions & {
8
9
  targetOrigin?: string;
@@ -22,26 +23,27 @@ declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord,
22
23
  retry?: number;
23
24
  } & {
24
25
  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>;
26
+ }]) => 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
27
  }>;
27
- brodcastScope: <T>(data: import("../core/RPCAction").RequestOptions<T>, options?: import("./fields").ScopeProps) => void;
28
+ brodcastScope: <T_1>(data: import("../core/RPCAction").RequestOptions<T_1>, options?: import("./fields").ScopeProps) => void;
28
29
  mount: (name: string) => void;
29
30
  connected: boolean;
30
31
  }>;
31
32
  export default useRPC;
32
- interface RPCBaseOptions {
33
+ export type TargetInit = BroadcastChannel | ServiceWorkerRegistration | SharedWorker | WebSocket | Window | Worker | HTMLIFrameElement | null;
34
+ interface RPCBaseOptions<TARGET extends TargetInit> {
35
+ init: () => TARGET | null | Promise<TARGET | null>;
33
36
  name?: string;
34
37
  options?: FactoryOptions;
35
38
  faild?: (error: unknown) => void;
36
39
  }
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>;
40
+ interface RPCDriveOptions<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> extends RPCBaseOptions<TARGET>, DecoratorContext<EVENT, CONSUME> {
41
+ drive: (target: TARGET, config?: EntryOptions<EVENT, CONSUME>) => RPCResult<TARGET, EVENT, CONSUME>;
40
42
  }
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>;
43
+ interface RPCHooksOptions<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> extends RPCBaseOptions<TARGET>, DecoratorContext<EVENT, CONSUME> {
44
+ drive: (target: unknown, context?: EntryOptions<EVENT, CONSUME>) => Promise<RPCResult<TARGET, EVENT, CONSUME>>;
44
45
  }
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;
46
+ type RPCResult<TARGET extends TargetInit, EVENT extends ActionRecord, CONSUME extends ActionRecord> = ReturnType<typeof RPCDecorator<[
47
+ TARGET
48
+ ] extends [null] ? null : TARGET extends BroadcastChannel ? Transport<true> : Transport<false>, EVENT, CONSUME>>;
47
49
  //# 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,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMnE,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;;;;;;;;;;;;;;;;;;;;;;;;;kBA+B7E,MAAM;;EAoEhB,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 = ()=>{};
@@ -43,10 +42,10 @@ const useRPC = (ops)=>{
43
42
  }
44
43
  }
45
44
  };
46
- return tar ? drive(tar, {
45
+ return drive(tar, {
47
46
  context,
48
47
  options
49
- }) : RPCDecorator(null, context);
48
+ });
50
49
  }).then((target)=>{
51
50
  const [result] = target;
52
51
  decoratorRef.current = result;
@@ -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,7 +1,8 @@
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;
@@ -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;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,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,6 +1,7 @@
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;
5
6
  onmessage(listener: ListenerType): void;
6
7
  onremove(listener: ListenerType): 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;IACjC,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,5 +1,6 @@
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
  }
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.16",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {