@event-chat/rpc 0.1.27 → 0.1.29

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 (90) hide show
  1. package/dist/core/RPCAction.d.ts +5 -5
  2. package/dist/core/RPCAction.d.ts.map +1 -1
  3. package/dist/core/RPCAction.js +1 -2
  4. package/dist/core/registry.d.ts +2 -3
  5. package/dist/core/registry.d.ts.map +1 -1
  6. package/dist/createCtx.d.ts +1 -1
  7. package/dist/createCtx.d.ts.map +1 -1
  8. package/dist/entry/broadcastChannel.d.ts +3 -3
  9. package/dist/entry/broadcastChannel.d.ts.map +1 -1
  10. package/dist/entry/dedicatedWorkerGlobalScope.d.ts +3 -3
  11. package/dist/entry/dedicatedWorkerGlobalScope.d.ts.map +1 -1
  12. package/dist/entry/messagePort.d.ts +3 -3
  13. package/dist/entry/messagePort.d.ts.map +1 -1
  14. package/dist/entry/serviceWorkerGlobalScope.d.ts +3 -3
  15. package/dist/entry/serviceWorkerGlobalScope.d.ts.map +1 -1
  16. package/dist/entry/serviceWorkerRegistration.d.ts +3 -3
  17. package/dist/entry/serviceWorkerRegistration.d.ts.map +1 -1
  18. package/dist/entry/sharedWorker.d.ts +3 -3
  19. package/dist/entry/sharedWorker.d.ts.map +1 -1
  20. package/dist/entry/sharedWorkerGlobalScope.d.ts +3 -3
  21. package/dist/entry/sharedWorkerGlobalScope.d.ts.map +1 -1
  22. package/dist/entry/webSocket.d.ts +3 -3
  23. package/dist/entry/webSocket.d.ts.map +1 -1
  24. package/dist/entry/window.d.ts +3 -3
  25. package/dist/entry/window.d.ts.map +1 -1
  26. package/dist/entry/worker.d.ts +3 -3
  27. package/dist/entry/worker.d.ts.map +1 -1
  28. package/dist/fields.d.ts +16 -40
  29. package/dist/fields.d.ts.map +1 -1
  30. package/dist/fields.js +1 -30
  31. package/dist/index.d.ts +3 -5
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -4
  34. package/dist/react/fields.d.ts +0 -3
  35. package/dist/react/fields.d.ts.map +1 -1
  36. package/dist/react/hooks.d.ts +2 -4
  37. package/dist/react/hooks.d.ts.map +1 -1
  38. package/dist/react/index.d.ts +0 -1
  39. package/dist/react/index.d.ts.map +1 -1
  40. package/dist/react/index.js +0 -1
  41. package/dist/transports/BaseTransport.d.ts +2 -6
  42. package/dist/transports/BaseTransport.d.ts.map +1 -1
  43. package/dist/transports/BroadcastChannelTransport.d.ts.map +1 -1
  44. package/dist/transports/BroadcastChannelTransport.js +1 -1
  45. package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts.map +1 -1
  46. package/dist/transports/DedicatedWorkerGlobalScopeTransport.js +1 -1
  47. package/dist/transports/MessagePortTransport.d.ts.map +1 -1
  48. package/dist/transports/MessagePortTransport.js +1 -1
  49. package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts +2 -2
  50. package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts.map +1 -1
  51. package/dist/transports/ServiceWorkerGlobalScopeTransport.js +2 -2
  52. package/dist/transports/ServiceWorkerRegistrationTransport.d.ts +2 -2
  53. package/dist/transports/ServiceWorkerRegistrationTransport.d.ts.map +1 -1
  54. package/dist/transports/ServiceWorkerRegistrationTransport.js +1 -1
  55. package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts.map +1 -1
  56. package/dist/transports/SharedWorkerGlobalScopeTransport.js +1 -1
  57. package/dist/transports/SharedWorkerTransport.d.ts.map +1 -1
  58. package/dist/transports/SharedWorkerTransport.js +1 -1
  59. package/dist/transports/WebSocketTransport.d.ts.map +1 -1
  60. package/dist/transports/WebSocketTransport.js +1 -1
  61. package/dist/transports/WindowTransport.d.ts +2 -2
  62. package/dist/transports/WindowTransport.d.ts.map +1 -1
  63. package/dist/transports/WindowTransport.js +1 -1
  64. package/dist/transports/WorkerTransport.d.ts.map +1 -1
  65. package/dist/transports/WorkerTransport.js +1 -1
  66. package/dist/utils.d.ts +6 -0
  67. package/dist/utils.d.ts.map +1 -1
  68. package/dist/utils.js +17 -1
  69. package/package.json +1 -1
  70. package/dist/RPCAction.d.ts +0 -43
  71. package/dist/RPCAction.d.ts.map +0 -1
  72. package/dist/RPCAction.js +0 -196
  73. package/dist/RPCDecorator.d.ts +0 -21
  74. package/dist/RPCDecorator.d.ts.map +0 -1
  75. package/dist/RPCDecorator.js +0 -57
  76. package/dist/RPCFactory.d.ts +0 -22
  77. package/dist/RPCFactory.d.ts.map +0 -1
  78. package/dist/RPCFactory.js +0 -141
  79. package/dist/RPCProvider.d.ts +0 -4
  80. package/dist/RPCProvider.d.ts.map +0 -1
  81. package/dist/RPCProvider.js +0 -34
  82. package/dist/hooks.d.ts +0 -34
  83. package/dist/hooks.d.ts.map +0 -1
  84. package/dist/hooks.js +0 -82
  85. package/dist/react/createCtx.d.ts +0 -13
  86. package/dist/react/createCtx.d.ts.map +0 -1
  87. package/dist/react/createCtx.js +0 -33
  88. package/dist/transports/fields.d.ts +0 -19
  89. package/dist/transports/fields.d.ts.map +0 -1
  90. package/dist/transports/fields.js +0 -0
@@ -1,141 +0,0 @@
1
- import { TARGET_TYPE_STRINGS } from "./fields.js";
2
- function isSafeBufferSource(data) {
3
- return data instanceof ArrayBuffer || ArrayBuffer.isView(data) && data.buffer instanceof ArrayBuffer;
4
- }
5
- class RPCFactory {
6
- _target;
7
- _options;
8
- _onconnect = {};
9
- constructor(_target, _options = {}){
10
- this._target = _target;
11
- this._options = _options;
12
- this._onconnect = {
13
- WebSocketPort: new Promise((resolve)=>{
14
- if (this._target instanceof WebSocket) {
15
- this._target.onopen = ()=>{
16
- resolve(true);
17
- };
18
- this._target.onclose = ()=>{
19
- resolve(false);
20
- };
21
- } else resolve(false);
22
- })
23
- };
24
- }
25
- destory() {
26
- if (this._target instanceof BroadcastChannel) this._target.close();
27
- if (this._target instanceof WebSocket) {
28
- this._target.onclose = null;
29
- this._target.onopen = null;
30
- if (this._target.readyState === WebSocket.OPEN) this._target.close();
31
- }
32
- this._target, ServiceWorkerContainer;
33
- if (this._target instanceof SharedWorker) this._target.port.close();
34
- if ('undefined' != typeof SharedWorkerGlobalScope && this._target instanceof SharedWorkerGlobalScope) {
35
- this._onconnect.SharedWorkerGlobalPort?.then((messagePort)=>messagePort.close()).catch(()=>{});
36
- if (this._onconnect.SharedWorkerGlobalScope) this._target.removeEventListener('connect', this._onconnect.SharedWorkerGlobalScope);
37
- }
38
- if (this._target instanceof Worker) this._target.terminate();
39
- this._onconnect = {};
40
- }
41
- getType() {
42
- return `${Object.prototype.toString.call(this._target)}`;
43
- }
44
- is(source) {
45
- return this._target === source;
46
- }
47
- onmessage(listener) {
48
- if (this._target instanceof BroadcastChannel) this._target.addEventListener('message', listener, this._options.message);
49
- if (this._target instanceof WebSocket) this._target.onmessage = listener;
50
- if (this.getType() === TARGET_TYPE_STRINGS.Window) window.addEventListener('message', listener, this._options.message);
51
- if ('undefined' != typeof ServiceWorkerRegistration && this._target instanceof ServiceWorkerRegistration) navigator.serviceWorker.addEventListener('message', listener, this._options.message);
52
- if ('undefined' != typeof ServiceWorkerGlobalScope && this._target instanceof ServiceWorkerGlobalScope) {
53
- this._onconnect.ServiceWorkerGlobalScope = (event)=>{
54
- const ports = event.ports.map((i)=>i);
55
- const source = event.source instanceof Client ? null : event.source;
56
- const messageEvent = new MessageEvent('serverWork', {
57
- ...event,
58
- ports,
59
- source
60
- });
61
- listener(messageEvent);
62
- };
63
- this._target.addEventListener('message', this._onconnect.ServiceWorkerGlobalScope, this._options.message);
64
- }
65
- if (this._target instanceof SharedWorker) {
66
- this._target.port.addEventListener('message', listener, this._options.message);
67
- this._target.port.start();
68
- }
69
- if ('undefined' != typeof SharedWorkerGlobalScope && this._target instanceof SharedWorkerGlobalScope) {
70
- const SharedWorker1 = this._target;
71
- this._onconnect.SharedWorkerGlobalPort = new Promise((resolve)=>{
72
- this._onconnect.SharedWorkerGlobalScope = (event)=>{
73
- const port = event.ports[0];
74
- resolve(port);
75
- port.addEventListener('message', listener, this._options.message);
76
- port.start();
77
- };
78
- SharedWorker1.addEventListener('connect', this._onconnect.SharedWorkerGlobalScope);
79
- });
80
- }
81
- if (this._target instanceof Worker) this._target.addEventListener('message', listener, this._options.message);
82
- if ('undefined' != typeof DedicatedWorkerGlobalScope && this._target instanceof DedicatedWorkerGlobalScope) this._target.addEventListener('message', listener, this._options.message);
83
- }
84
- onremove(listener) {
85
- if (this._target instanceof BroadcastChannel) this._target.removeEventListener('message', listener, this._options.message);
86
- if (this._target instanceof WebSocket) this._target.onmessage = null;
87
- if (this.getType() === TARGET_TYPE_STRINGS.Window) window.removeEventListener('message', listener, this._options.message);
88
- if ('undefined' != typeof ServiceWorkerRegistration && this._target instanceof ServiceWorkerRegistration) navigator.serviceWorker.removeEventListener('message', listener, this._options.message);
89
- if ('undefined' != typeof ServiceWorkerGlobalScope && this._target instanceof ServiceWorkerGlobalScope && this._onconnect.ServiceWorkerGlobalScope) this._target.removeEventListener('message', this._onconnect.ServiceWorkerGlobalScope, this._options.message);
90
- if (this._target instanceof SharedWorker) this._target.port.removeEventListener('message', listener, this._options.message);
91
- if ('undefined' != typeof SharedWorkerGlobalScope && this._target instanceof SharedWorkerGlobalScope) this._onconnect.SharedWorkerGlobalPort?.then((messagePort)=>{
92
- messagePort.removeEventListener('message', listener, this._options.message);
93
- }).catch(()=>{});
94
- if (this._target instanceof Worker) this._target.removeEventListener('message', listener, this._options.message);
95
- if ('undefined' != typeof DedicatedWorkerGlobalScope && this._target instanceof DedicatedWorkerGlobalScope) this._target.removeEventListener('message', listener, this._options.message);
96
- }
97
- postMessage(message, options) {
98
- const { transfer, targetOrigin = '*' } = options ?? {};
99
- if (this._target instanceof BroadcastChannel) this._target.postMessage(message);
100
- if (this._target instanceof WebSocket) {
101
- const target = this._target;
102
- this._onconnect.WebSocketPort?.then((open)=>{
103
- if (open) target.send(isSafeBufferSource(message) || message instanceof Blob ? message : String(message));
104
- }).catch(()=>{});
105
- }
106
- if (this.getType() === TARGET_TYPE_STRINGS.Window && 'postMessage' in this._target) this._target.postMessage(message, {
107
- targetOrigin,
108
- transfer
109
- });
110
- if ('undefined' != typeof ServiceWorkerRegistration && this._target instanceof ServiceWorkerRegistration) this._target.active?.postMessage(message, {
111
- transfer
112
- });
113
- if ('undefined' != typeof ServiceWorkerGlobalScope && this._target instanceof ServiceWorkerGlobalScope) this._target.clients.matchAll().then((clients)=>{
114
- clients.forEach((client)=>client.postMessage(message, {
115
- transfer
116
- }));
117
- }).catch(()=>{});
118
- if (this._target instanceof SharedWorker) this._target.port.postMessage(message, {
119
- transfer
120
- });
121
- if ('undefined' != typeof SharedWorkerGlobalScope && this._target instanceof SharedWorkerGlobalScope) this._onconnect.SharedWorkerGlobalPort?.then((messagePort)=>{
122
- messagePort.postMessage(message, {
123
- transfer
124
- });
125
- }).catch(()=>{});
126
- if (this._target instanceof Worker) this._target.postMessage(message, {
127
- transfer
128
- });
129
- if ('undefined' != typeof DedicatedWorkerGlobalScope && this._target instanceof DedicatedWorkerGlobalScope) this._target.postMessage(message, {
130
- transfer
131
- });
132
- }
133
- upset(options) {
134
- this._options = {
135
- ...this._options,
136
- ...options
137
- };
138
- }
139
- }
140
- const src_RPCFactory = RPCFactory;
141
- export { src_RPCFactory as default };
@@ -1,4 +0,0 @@
1
- import { FC, PropsWithChildren } from 'react';
2
- declare const RPCProvider: FC<PropsWithChildren>;
3
- export default RPCProvider;
4
- //# sourceMappingURL=RPCProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RPCProvider.d.ts","sourceRoot":"","sources":["../src/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,34 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useRef } from "react";
3
- import { RPCInstanceContext, TARGET_TYPE_STRINGS } from "./fields.js";
4
- import { objectValues } from "./utils.js";
5
- const RPCProvider = ({ children })=>{
6
- const list = useRef(new Map());
7
- const brodcastScope = useCallback((data, options)=>{
8
- const { exclude, include, typein, typeout } = options ?? {};
9
- if (list.current.size > 0) {
10
- const scope = objectValues(TARGET_TYPE_STRINGS).filter((item)=>!exclude?.includes(item)).filter((item)=>!include || include.includes(item)).map(String);
11
- list.current.forEach((group, item)=>{
12
- if (scope.includes(item.getType()) && !typeout?.includes(group) && (!typein || typein.includes(group))) item.broadcast(data);
13
- });
14
- }
15
- }, []);
16
- const mount = useCallback((data, name)=>{
17
- const newMap = new Map(list.current);
18
- if (void 0 !== name) newMap.set(data, name);
19
- else newMap.delete(data);
20
- list.current = newMap;
21
- }, []);
22
- useEffect(()=>()=>{
23
- list.current = new Map();
24
- }, []);
25
- return /*#__PURE__*/ jsx(RPCInstanceContext.Provider, {
26
- value: {
27
- brodcastScope,
28
- mount
29
- },
30
- children: children
31
- });
32
- };
33
- const src_RPCProvider = RPCProvider;
34
- export { src_RPCProvider as default };
package/dist/hooks.d.ts DELETED
@@ -1,34 +0,0 @@
1
- import { ActionRecord, DecoratorContext } from './RPCDecorator';
2
- declare const useRPC: <EVENT extends ActionRecord, CONSUME extends ActionRecord>({ init, ...ops }: RPCHooksOptions<EVENT, CONSUME>) => Readonly<{
3
- rpc: Readonly<Omit<Readonly<Omit<import("./RPCAction").default, "request" | "on"> & Pick<import("./RPCFactory").default<import("./RPCFactory").TargetType>, "getType" | "upset"> & {
4
- request: <K extends keyof CONSUME>(...args: Parameters<CONSUME[K]> extends [] ? [keyname: K, reqops?: (Parameters<CONSUME[K]> extends [] ? Omit<import("./RPCAction").RequestOptions, "payload"> & {
5
- payload?: never;
6
- } : StructuredSerializeOptions & {
7
- targetOrigin?: string;
8
- } & {
9
- payload?: Parameters<CONSUME[K]>[0] | undefined;
10
- retry?: number;
11
- } & {
12
- payload: Parameters<CONSUME[K]>[0];
13
- }) | undefined] : [keyname: K, reqops: Parameters<CONSUME[K]> extends [] ? Omit<import("./RPCAction").RequestOptions, "payload"> & {
14
- payload?: never;
15
- } : StructuredSerializeOptions & {
16
- targetOrigin?: string;
17
- } & {
18
- payload?: Parameters<CONSUME[K]>[0] | undefined;
19
- retry?: number;
20
- } & {
21
- payload: Parameters<CONSUME[K]>[0];
22
- }]) => Promise<ReturnType<CONSUME[K]>>;
23
- }>, "destroy">>;
24
- mount: (name: string) => void;
25
- connected: boolean;
26
- brodcastScope: <T>(data: import("./RPCAction").RequestOptions<T>, options?: import("./fields").ScopeProps) => void;
27
- }>;
28
- export default useRPC;
29
- interface RPCHooksOptions<EVENT extends ActionRecord, CONSUME extends ActionRecord> extends DecoratorContext<EVENT, CONSUME> {
30
- init: () => TargetInit | Promise<TargetInit>;
31
- name?: string;
32
- }
33
- type TargetInit = BroadcastChannel | ServiceWorkerRegistration | SharedWorker | WebSocket | Window | Worker | HTMLIFrameElement | null;
34
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI7E,QAAA,MAAM,MAAM,GAAI,KAAK,SAAS,YAAY,EAAE,OAAO,SAAS,YAAY,EAAE,kBAGvE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;kBAoDvB,MAAM;;;EAkDhB,CAAA;AAED,eAAe,MAAM,CAAA;AAErB,UAAU,eAAe,CACvB,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,CAC5B,SAAQ,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IACxC,IAAI,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAOD,KAAK,UAAU,GACX,gBAAgB,GAChB,yBAAyB,GACzB,YAAY,GACZ,SAAS,GACT,MAAM,GACN,MAAM,GACN,iBAAiB,GACjB,IAAI,CAAA"}
package/dist/hooks.js DELETED
@@ -1,82 +0,0 @@
1
- import { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
2
- import RPCDecorator from "./RPCDecorator.js";
3
- import { RPCInstanceContext } from "./fields.js";
4
- const disableKey = [
5
- 'destroy'
6
- ];
7
- const useRPC = ({ init, ...ops })=>{
8
- const { mount, brodcastScope = ()=>{} } = useContext(RPCInstanceContext);
9
- const [connected, setConnected] = useState(false);
10
- const initRef = useRef(init);
11
- const opsRef = useRef(ops);
12
- const decoratorRef = useRef(null);
13
- const processRef = useRef(Promise.resolve(null));
14
- const isRPCResult = useCallback((data, key)=>null !== data && key in data, []);
15
- const rpcIns = useMemo(()=>new Proxy({}, {
16
- get (_, key) {
17
- const decorator = decoratorRef.current;
18
- const keyname = key.toString();
19
- if (decorator && !disableKey.map(String).includes(keyname) && isRPCResult(decorator, keyname)) return decorator[keyname];
20
- throw new Error(`outof decorator: ${key.toString()}`);
21
- },
22
- has (_, key) {
23
- const decorator = decoratorRef.current;
24
- const keyname = key.toString();
25
- return null !== decorator && !disableKey.map(String).includes(keyname) && isRPCResult(decorator, keyname);
26
- },
27
- set () {
28
- throw new Error('decorator is readonly');
29
- }
30
- }), [
31
- decoratorRef,
32
- isRPCResult
33
- ]);
34
- const mounHandle = useCallback((name)=>{
35
- if (decoratorRef.current) mount?.(decoratorRef.current, name);
36
- }, [
37
- mount
38
- ]);
39
- useEffect(()=>{
40
- const { config, name = '', ...opConfig } = opsRef.current;
41
- processRef.current = processRef.current.then(initRef.current).then((tar)=>{
42
- const result = RPCDecorator(tar instanceof HTMLIFrameElement ? tar.contentWindow : tar, {
43
- ...opConfig,
44
- config: {
45
- ...config,
46
- onConnect () {
47
- config?.onConnect?.();
48
- setConnected(true);
49
- },
50
- onDisconnect () {
51
- config?.onDisconnect?.();
52
- setConnected(false);
53
- }
54
- }
55
- });
56
- decoratorRef.current = result;
57
- mount?.(result, name);
58
- return result;
59
- });
60
- return ()=>{
61
- processRef.current = processRef.current.then((result)=>{
62
- setConnected(false);
63
- if (result) {
64
- mount?.(result);
65
- result.destroy();
66
- }
67
- decoratorRef.current = null;
68
- return null;
69
- });
70
- };
71
- }, [
72
- mount
73
- ]);
74
- return Object.freeze({
75
- rpc: rpcIns,
76
- mount: mounHandle,
77
- connected,
78
- brodcastScope
79
- });
80
- };
81
- const hooks = useRPC;
82
- export { hooks as default };
@@ -1,13 +0,0 @@
1
- import { ActionFunType, BrodcastItem } from '../core/RPCAction';
2
- declare function createCtx<CTX extends Record<string, unknown>, ACTIONS extends Record<string, ActionFunType>, BRODCATS extends Record<string, BrodcastItem>>(factory: (ctx: Partial<CTX>) => ACTIONS, brodcast?: (ctx: Partial<CTX>) => BRODCATS): Readonly<{
3
- actions: ACTIONS;
4
- brodcasts: BRODCATS | undefined;
5
- provider: (next: Partial<CTX>) => () => void;
6
- }>;
7
- declare function createService<CTX extends Record<string, unknown>>(): <ACTIONS extends Record<string, ActionFunType>, BRODCATS extends Record<string, BrodcastItem>>(factory: (ctx: Partial<CTX>) => ACTIONS, brodcast?: (ctx: Partial<CTX>) => BRODCATS) => Readonly<{
8
- actions: ACTIONS;
9
- brodcasts: BRODCATS | undefined;
10
- provider: (next: Partial<CTX>) => () => void;
11
- }>;
12
- export { createCtx, createService };
13
- //# sourceMappingURL=createCtx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createCtx.d.ts","sourceRoot":"","sources":["../../src/react/createCtx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/D,iBAAS,SAAS,CAChB,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC7C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ;;;qBAiB3D,OAAO,CAAC,GAAG,CAAC;GAYrC;AAED,iBAAS,aAAa,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAEtD,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC7C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAE7C,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,EACvC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ;;;;GAE7C;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
@@ -1,33 +0,0 @@
1
- function createCtx(factory, brodcast) {
2
- const ctx = {
3
- current: null
4
- };
5
- const proxyCtx = new Proxy({}, {
6
- get (_, key) {
7
- return ctx.current ? Reflect.get(ctx.current, key) : void 0;
8
- },
9
- set () {
10
- throw new Error('ctx is readonly');
11
- }
12
- });
13
- const actions = factory(proxyCtx);
14
- const brodcasts = brodcast?.(proxyCtx);
15
- const provider = (next)=>{
16
- ctx.current = {
17
- ...ctx.current ?? {},
18
- ...next
19
- };
20
- return ()=>{
21
- ctx.current = null;
22
- };
23
- };
24
- return Object.freeze({
25
- actions,
26
- brodcasts,
27
- provider
28
- });
29
- }
30
- function createService() {
31
- return (factory, brodcast)=>createCtx(factory, brodcast);
32
- }
33
- export { createCtx, createService };
@@ -1,19 +0,0 @@
1
- import { ActionRecord, DecoratorContext } from '../core/RPCDecorator';
2
- import { FactoryOptions } from './BaseTransport';
3
- export interface Transport {
4
- destory: () => void;
5
- getType: () => string;
6
- is: (source: MessageEventSource | null) => boolean;
7
- onmessage: (listener: (ev: MessageEvent) => unknown) => void;
8
- onremove: (listener: (ev: MessageEvent) => unknown) => void;
9
- postMessage: (message: unknown, options?: IframeSerializeOptions) => void;
10
- upset: (options: FactoryOptions) => void;
11
- }
12
- export type IframeSerializeOptions = StructuredSerializeOptions & {
13
- targetOrigin?: string;
14
- };
15
- export interface EntryOptions<EVENT extends ActionRecord, CONSUME extends ActionRecord> {
16
- options?: FactoryOptions;
17
- context?: DecoratorContext<EVENT, CONSUME>;
18
- }
19
- //# sourceMappingURL=fields.d.ts.map
@@ -1 +0,0 @@
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"}
File without changes