@event-chat/rpc 0.1.1 → 0.1.4
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.
- package/dist/core/RPCAction.d.ts +42 -0
- package/dist/core/RPCAction.d.ts.map +1 -0
- package/dist/core/RPCAction.js +189 -0
- package/dist/core/RPCDecorator.d.ts +20 -0
- package/dist/core/RPCDecorator.d.ts.map +1 -0
- package/dist/core/RPCDecorator.js +57 -0
- package/dist/core/registry.d.ts +41 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +29 -0
- package/dist/entry/auto.d.ts +2 -0
- package/dist/entry/auto.d.ts.map +1 -0
- package/dist/entry/auto.js +56 -0
- package/dist/entry/broadcastChannel.d.ts +24 -0
- package/dist/entry/broadcastChannel.d.ts.map +1 -0
- package/dist/entry/broadcastChannel.js +7 -0
- package/dist/entry/dedicatedWorkerGlobalScope.d.ts +24 -0
- package/dist/entry/dedicatedWorkerGlobalScope.d.ts.map +1 -0
- package/dist/entry/dedicatedWorkerGlobalScope.js +7 -0
- package/dist/entry/serviceWorkerGlobalScope.d.ts +24 -0
- package/dist/entry/serviceWorkerGlobalScope.d.ts.map +1 -0
- package/dist/entry/serviceWorkerGlobalScope.js +7 -0
- package/dist/entry/serviceWorkerRegistration.d.ts +24 -0
- package/dist/entry/serviceWorkerRegistration.d.ts.map +1 -0
- package/dist/entry/serviceWorkerRegistration.js +7 -0
- package/dist/entry/sharedWorker.d.ts +24 -0
- package/dist/entry/sharedWorker.d.ts.map +1 -0
- package/dist/entry/sharedWorker.js +7 -0
- package/dist/entry/sharedWorkerGlobalScope.d.ts +24 -0
- package/dist/entry/sharedWorkerGlobalScope.d.ts.map +1 -0
- package/dist/entry/sharedWorkerGlobalScope.js +7 -0
- package/dist/entry/webSocket.d.ts +24 -0
- package/dist/entry/webSocket.d.ts.map +1 -0
- package/dist/entry/webSocket.js +7 -0
- package/dist/entry/window.d.ts +24 -0
- package/dist/entry/window.d.ts.map +1 -0
- package/dist/entry/window.js +8 -0
- package/dist/entry/worker.d.ts +24 -0
- package/dist/entry/worker.d.ts.map +1 -0
- package/dist/entry/worker.js +7 -0
- package/dist/fields.d.ts +15 -0
- package/dist/fields.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/react/RPCProvider.d.ts +4 -0
- package/dist/react/RPCProvider.d.ts.map +1 -0
- package/dist/react/RPCProvider.js +34 -0
- package/dist/react/createCtx.d.ts +13 -0
- package/dist/react/createCtx.d.ts.map +1 -0
- package/dist/react/createCtx.js +33 -0
- package/dist/react/fields.d.ts +30 -0
- package/dist/react/fields.d.ts.map +1 -0
- package/dist/react/fields.js +14 -0
- package/dist/react/hooks.d.ts +44 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +87 -0
- package/dist/react/index.d.ts +5 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +5 -0
- package/dist/transports/BaseTransport.d.ts +19 -0
- package/dist/transports/BaseTransport.d.ts.map +1 -0
- package/dist/transports/BaseTransport.js +22 -0
- package/dist/transports/BroadcastChannelTransport.d.ts +9 -0
- package/dist/transports/BroadcastChannelTransport.d.ts.map +1 -0
- package/dist/transports/BroadcastChannelTransport.js +17 -0
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts +10 -0
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.d.ts.map +1 -0
- package/dist/transports/DedicatedWorkerGlobalScopeTransport.js +18 -0
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts +11 -0
- package/dist/transports/ServiceWorkerGlobalScopeTransport.d.ts.map +1 -0
- package/dist/transports/ServiceWorkerGlobalScopeTransport.js +33 -0
- package/dist/transports/ServiceWorkerRegistrationTransport.d.ts +10 -0
- package/dist/transports/ServiceWorkerRegistrationTransport.d.ts.map +1 -0
- package/dist/transports/ServiceWorkerRegistrationTransport.js +18 -0
- package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts +12 -0
- package/dist/transports/SharedWorkerGlobalScopeTransport.d.ts.map +1 -0
- package/dist/transports/SharedWorkerGlobalScopeTransport.js +36 -0
- package/dist/transports/SharedWorkerTransport.d.ts +10 -0
- package/dist/transports/SharedWorkerTransport.d.ts.map +1 -0
- package/dist/transports/SharedWorkerTransport.js +21 -0
- package/dist/transports/WebSocketTransport.d.ts +14 -0
- package/dist/transports/WebSocketTransport.d.ts.map +1 -0
- package/dist/transports/WebSocketTransport.js +39 -0
- package/dist/transports/WindowTransport.d.ts +10 -0
- package/dist/transports/WindowTransport.d.ts.map +1 -0
- package/dist/transports/WindowTransport.js +19 -0
- package/dist/transports/WorkerTransport.d.ts +10 -0
- package/dist/transports/WorkerTransport.d.ts.map +1 -0
- package/dist/transports/WorkerTransport.js +20 -0
- package/dist/transports/fields.d.ts +21 -0
- package/dist/transports/fields.d.ts.map +1 -0
- package/dist/transports/fields.js +0 -0
- package/package.json +45 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class DedicatedWorkerGlobalScopeTransport extends BaseTransport {
|
|
3
|
+
destory() {}
|
|
4
|
+
onmessage(listener) {
|
|
5
|
+
this._target.addEventListener('message', listener, this._options.message);
|
|
6
|
+
}
|
|
7
|
+
onremove(listener) {
|
|
8
|
+
this._target.removeEventListener('message', listener, this._options.message);
|
|
9
|
+
}
|
|
10
|
+
postMessage(message, options) {
|
|
11
|
+
const { transfer } = options ?? {};
|
|
12
|
+
this._target.postMessage(message, {
|
|
13
|
+
transfer
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const transports_DedicatedWorkerGlobalScopeTransport = DedicatedWorkerGlobalScopeTransport;
|
|
18
|
+
export { transports_DedicatedWorkerGlobalScopeTransport as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class ServiceWorkerGlobalScopeTransport extends BaseTransport<ServiceWorkerGlobalScope> {
|
|
4
|
+
private _onconnect;
|
|
5
|
+
destory(): void;
|
|
6
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
7
|
+
onremove(): void;
|
|
8
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
9
|
+
}
|
|
10
|
+
export default ServiceWorkerGlobalScopeTransport;
|
|
11
|
+
//# sourceMappingURL=ServiceWorkerGlobalScopeTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,iCAAkC,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAWxD,QAAQ,IAAI,IAAI;IAMhB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAStE;AAED,eAAe,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class ServiceWorkerGlobalScopeTransport extends BaseTransport {
|
|
3
|
+
_onconnect;
|
|
4
|
+
destory() {
|
|
5
|
+
this._onconnect = void 0;
|
|
6
|
+
}
|
|
7
|
+
onmessage(listener) {
|
|
8
|
+
this._onconnect = (event)=>{
|
|
9
|
+
const ports = event.ports.map((i)=>i);
|
|
10
|
+
const source = event.source instanceof Client ? null : event.source;
|
|
11
|
+
const messageEvent = new MessageEvent('serverWork', {
|
|
12
|
+
...event,
|
|
13
|
+
ports,
|
|
14
|
+
source
|
|
15
|
+
});
|
|
16
|
+
listener(messageEvent);
|
|
17
|
+
};
|
|
18
|
+
this._target.addEventListener('message', this._onconnect, this._options.message);
|
|
19
|
+
}
|
|
20
|
+
onremove() {
|
|
21
|
+
if (this._onconnect) this._target.removeEventListener('message', this._onconnect, this._options.message);
|
|
22
|
+
}
|
|
23
|
+
postMessage(message, options) {
|
|
24
|
+
const { transfer } = options ?? {};
|
|
25
|
+
this._target.clients.matchAll().then((clients)=>{
|
|
26
|
+
clients.forEach((client)=>client.postMessage(message, {
|
|
27
|
+
transfer
|
|
28
|
+
}));
|
|
29
|
+
}).catch(()=>{});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const transports_ServiceWorkerGlobalScopeTransport = ServiceWorkerGlobalScopeTransport;
|
|
33
|
+
export { transports_ServiceWorkerGlobalScopeTransport as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class ServiceWorkerRegistrationTransport extends BaseTransport<ServiceWorkerRegistration> {
|
|
4
|
+
destory(): void;
|
|
5
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
6
|
+
onremove(listener: (ev: MessageEvent) => unknown): void;
|
|
7
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
8
|
+
}
|
|
9
|
+
export default ServiceWorkerRegistrationTransport;
|
|
10
|
+
//# sourceMappingURL=ServiceWorkerRegistrationTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceWorkerRegistrationTransport.d.ts","sourceRoot":"","sources":["../../src/transports/ServiceWorkerRegistrationTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,cAAM,kCAAmC,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACvF,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIvD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class ServiceWorkerRegistrationTransport extends BaseTransport {
|
|
3
|
+
destory() {}
|
|
4
|
+
onmessage(listener) {
|
|
5
|
+
navigator.serviceWorker.addEventListener('message', listener, this._options.message);
|
|
6
|
+
}
|
|
7
|
+
onremove(listener) {
|
|
8
|
+
navigator.serviceWorker.removeEventListener('message', listener, this._options.message);
|
|
9
|
+
}
|
|
10
|
+
postMessage(message, options) {
|
|
11
|
+
const { transfer } = options ?? {};
|
|
12
|
+
this._target.active?.postMessage(message, {
|
|
13
|
+
transfer
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const transports_ServiceWorkerRegistrationTransport = ServiceWorkerRegistrationTransport;
|
|
18
|
+
export { transports_ServiceWorkerRegistrationTransport as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class SharedWorkerGlobalScopeTransport extends BaseTransport<SharedWorkerGlobalScope> {
|
|
4
|
+
private _onconnect;
|
|
5
|
+
private _message;
|
|
6
|
+
destory(): void;
|
|
7
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
8
|
+
onremove(listener: (ev: MessageEvent) => unknown): void;
|
|
9
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
10
|
+
}
|
|
11
|
+
export default SharedWorkerGlobalScopeTransport;
|
|
12
|
+
//# sourceMappingURL=SharedWorkerGlobalScopeTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedWorkerGlobalScopeTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerGlobalScopeTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,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,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAexD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAQvD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAQtE;AAED,eAAe,gCAAgC,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class SharedWorkerGlobalScopeTransport extends BaseTransport {
|
|
3
|
+
_onconnect = Promise.resolve(null);
|
|
4
|
+
_message;
|
|
5
|
+
destory() {
|
|
6
|
+
this._onconnect.then((messagePort)=>messagePort?.close()).catch(()=>{});
|
|
7
|
+
if (this._message) this._target.removeEventListener('connect', this._message);
|
|
8
|
+
}
|
|
9
|
+
onmessage(listener) {
|
|
10
|
+
const SharedWorker = this._target;
|
|
11
|
+
this._onconnect = new Promise((resolve)=>{
|
|
12
|
+
this._message = (event)=>{
|
|
13
|
+
const port = event.ports[0];
|
|
14
|
+
resolve(port);
|
|
15
|
+
port.addEventListener('message', listener, this._options.message);
|
|
16
|
+
port.start();
|
|
17
|
+
};
|
|
18
|
+
SharedWorker.addEventListener('connect', this._message);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
onremove(listener) {
|
|
22
|
+
this._onconnect.then((messagePort)=>{
|
|
23
|
+
messagePort?.removeEventListener('message', listener, this._options.message);
|
|
24
|
+
}).catch(()=>{});
|
|
25
|
+
}
|
|
26
|
+
postMessage(message, options) {
|
|
27
|
+
const { transfer } = options ?? {};
|
|
28
|
+
this._onconnect?.then((messagePort)=>{
|
|
29
|
+
messagePort?.postMessage(message, {
|
|
30
|
+
transfer
|
|
31
|
+
});
|
|
32
|
+
}).catch(()=>{});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const transports_SharedWorkerGlobalScopeTransport = SharedWorkerGlobalScopeTransport;
|
|
36
|
+
export { transports_SharedWorkerGlobalScopeTransport as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class SharedWorkerTransport extends BaseTransport<SharedWorker> {
|
|
4
|
+
destory(): void;
|
|
5
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
6
|
+
onremove(listener: (ev: MessageEvent) => unknown): void;
|
|
7
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
8
|
+
}
|
|
9
|
+
export default SharedWorkerTransport;
|
|
10
|
+
//# sourceMappingURL=SharedWorkerTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedWorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/SharedWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,qBAAsB,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC7D,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAKxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIvD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class SharedWorkerTransport extends BaseTransport {
|
|
3
|
+
destory() {
|
|
4
|
+
this._target.port.close();
|
|
5
|
+
}
|
|
6
|
+
onmessage(listener) {
|
|
7
|
+
this._target.port.addEventListener('message', listener, this._options.message);
|
|
8
|
+
this._target.port.start();
|
|
9
|
+
}
|
|
10
|
+
onremove(listener) {
|
|
11
|
+
this._target.port.removeEventListener('message', listener, this._options.message);
|
|
12
|
+
}
|
|
13
|
+
postMessage(message, options) {
|
|
14
|
+
const { transfer } = options ?? {};
|
|
15
|
+
this._target.port.postMessage(message, {
|
|
16
|
+
transfer
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const transports_SharedWorkerTransport = SharedWorkerTransport;
|
|
21
|
+
export { transports_SharedWorkerTransport as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FactoryOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class WebSocketTransport extends BaseTransport<WebSocket> {
|
|
4
|
+
protected _target: WebSocket;
|
|
5
|
+
protected _options: FactoryOptions;
|
|
6
|
+
private _onconnect;
|
|
7
|
+
constructor(_target: WebSocket, _options?: FactoryOptions);
|
|
8
|
+
destory(): void;
|
|
9
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
10
|
+
onremove(): void;
|
|
11
|
+
postMessage(message: unknown): void;
|
|
12
|
+
}
|
|
13
|
+
export default WebSocketTransport;
|
|
14
|
+
//# sourceMappingURL=WebSocketTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,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,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIxD,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAWpC;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
function isSafeBufferSource(data) {
|
|
3
|
+
return data instanceof ArrayBuffer || ArrayBuffer.isView(data) && data.buffer instanceof ArrayBuffer;
|
|
4
|
+
}
|
|
5
|
+
class WebSocketTransport extends BaseTransport {
|
|
6
|
+
_target;
|
|
7
|
+
_options;
|
|
8
|
+
_onconnect = Promise.resolve(false);
|
|
9
|
+
constructor(_target, _options = {}){
|
|
10
|
+
super(_target, _options), this._target = _target, this._options = _options;
|
|
11
|
+
this._onconnect = new Promise((resolve)=>{
|
|
12
|
+
this._target.onopen = ()=>{
|
|
13
|
+
resolve(true);
|
|
14
|
+
};
|
|
15
|
+
this._target.onclose = ()=>{
|
|
16
|
+
resolve(false);
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
destory() {
|
|
21
|
+
this._target.onclose = null;
|
|
22
|
+
this._target.onopen = null;
|
|
23
|
+
if (this._target.readyState === WebSocket.OPEN) this._target.close();
|
|
24
|
+
}
|
|
25
|
+
onmessage(listener) {
|
|
26
|
+
this._target.onmessage = listener;
|
|
27
|
+
}
|
|
28
|
+
onremove() {
|
|
29
|
+
this._target.onmessage = null;
|
|
30
|
+
}
|
|
31
|
+
postMessage(message) {
|
|
32
|
+
const target = this._target;
|
|
33
|
+
this._onconnect.then((open)=>{
|
|
34
|
+
if (open) target.send(isSafeBufferSource(message) || message instanceof Blob ? message : String(message));
|
|
35
|
+
}).catch(()=>{});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const transports_WebSocketTransport = WebSocketTransport;
|
|
39
|
+
export { transports_WebSocketTransport as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class WindowTransport extends BaseTransport<Window> {
|
|
4
|
+
destory(): void;
|
|
5
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
6
|
+
onremove(listener: (ev: MessageEvent) => unknown): void;
|
|
7
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
8
|
+
}
|
|
9
|
+
export default WindowTransport;
|
|
10
|
+
//# sourceMappingURL=WindowTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WindowTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IACjD,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIvD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAOtE;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class WindowTransport extends BaseTransport {
|
|
3
|
+
destory() {}
|
|
4
|
+
onmessage(listener) {
|
|
5
|
+
window.addEventListener('message', listener, this._options.message);
|
|
6
|
+
}
|
|
7
|
+
onremove(listener) {
|
|
8
|
+
window.removeEventListener('message', listener, this._options.message);
|
|
9
|
+
}
|
|
10
|
+
postMessage(message, options) {
|
|
11
|
+
const { transfer, targetOrigin = '*' } = options ?? {};
|
|
12
|
+
this._target.postMessage(message, {
|
|
13
|
+
targetOrigin,
|
|
14
|
+
transfer
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const transports_WindowTransport = WindowTransport;
|
|
19
|
+
export { transports_WindowTransport as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IframeSerializeOptions } from '../fields';
|
|
2
|
+
import BaseTransport from './BaseTransport';
|
|
3
|
+
declare class WorkerTransport extends BaseTransport<Worker> {
|
|
4
|
+
destory(): void;
|
|
5
|
+
onmessage(listener: (ev: MessageEvent) => unknown): void;
|
|
6
|
+
onremove(listener: (ev: MessageEvent) => unknown): void;
|
|
7
|
+
postMessage(message: unknown, options?: IframeSerializeOptions): void;
|
|
8
|
+
}
|
|
9
|
+
export default WorkerTransport;
|
|
10
|
+
//# sourceMappingURL=WorkerTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/WorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAG3C,cAAM,eAAgB,SAAQ,aAAa,CAAC,MAAM,CAAC;IACjD,OAAO;IAIP,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI;IAIvD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;CAItE;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import BaseTransport from "./BaseTransport.js";
|
|
2
|
+
class WorkerTransport extends BaseTransport {
|
|
3
|
+
destory() {
|
|
4
|
+
this._target.terminate();
|
|
5
|
+
}
|
|
6
|
+
onmessage(listener) {
|
|
7
|
+
this._target.addEventListener('message', listener, this._options.message);
|
|
8
|
+
}
|
|
9
|
+
onremove(listener) {
|
|
10
|
+
this._target.removeEventListener('message', listener, this._options.message);
|
|
11
|
+
}
|
|
12
|
+
postMessage(message, options) {
|
|
13
|
+
const { transfer } = options ?? {};
|
|
14
|
+
this._target.postMessage(message, {
|
|
15
|
+
transfer
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const transports_WorkerTransport = WorkerTransport;
|
|
20
|
+
export { transports_WorkerTransport as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ActionRecord, DecoratorContext } from '../core/RPCDecorator';
|
|
2
|
+
export interface FactoryOptions {
|
|
3
|
+
message?: boolean | AddEventListenerOptions;
|
|
4
|
+
}
|
|
5
|
+
export interface Transport {
|
|
6
|
+
destory: () => void;
|
|
7
|
+
getType: () => string;
|
|
8
|
+
is: (source: MessageEventSource | null) => boolean;
|
|
9
|
+
onmessage: (listener: (ev: MessageEvent) => unknown) => void;
|
|
10
|
+
onremove: (listener: (ev: MessageEvent) => unknown) => void;
|
|
11
|
+
postMessage: (message: unknown, options?: IframeSerializeOptions) => void;
|
|
12
|
+
upset: (options: FactoryOptions) => void;
|
|
13
|
+
}
|
|
14
|
+
export type IframeSerializeOptions = StructuredSerializeOptions & {
|
|
15
|
+
targetOrigin?: string;
|
|
16
|
+
};
|
|
17
|
+
export interface EntryOptions<EVENT extends ActionRecord, CONSUME extends ActionRecord> {
|
|
18
|
+
options?: FactoryOptions;
|
|
19
|
+
context?: DecoratorContext<EVENT, CONSUME>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -0,0 +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"}
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,12 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@event-chat/rpc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"import": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./react": {
|
|
12
|
+
"types": "./dist/react/index.d.ts",
|
|
13
|
+
"import": "./dist/react/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./auto": {
|
|
16
|
+
"types": "./dist/entry/auto.d.ts",
|
|
17
|
+
"import": "./dist/entry/auto.js"
|
|
18
|
+
},
|
|
19
|
+
"./window": {
|
|
20
|
+
"types": "./dist/entry/window.d.ts",
|
|
21
|
+
"import": "./dist/entry/window.js"
|
|
22
|
+
},
|
|
23
|
+
"./worker": {
|
|
24
|
+
"types": "./dist/entry/worker.d.ts",
|
|
25
|
+
"import": "./dist/entry/worker.js"
|
|
26
|
+
},
|
|
27
|
+
"./webSocket": {
|
|
28
|
+
"types": "./dist/entry/webSocket.d.ts",
|
|
29
|
+
"import": "./dist/entry/webSocket.js"
|
|
30
|
+
},
|
|
31
|
+
"./broadcastChannel": {
|
|
32
|
+
"types": "./dist/entry/broadcastChannel.d.ts",
|
|
33
|
+
"import": "./dist/entry/broadcastChannel.js"
|
|
34
|
+
},
|
|
35
|
+
"./sharedWorker": {
|
|
36
|
+
"types": "./dist/entry/sharedWorker.d.ts",
|
|
37
|
+
"import": "./dist/entry/sharedWorker.js"
|
|
38
|
+
},
|
|
39
|
+
"./sharedWorkerGlobalScope": {
|
|
40
|
+
"types": "./dist/entry/sharedWorkerGlobalScope.d.ts",
|
|
41
|
+
"import": "./dist/entry/sharedWorkerGlobalScope.js"
|
|
42
|
+
},
|
|
43
|
+
"./dedicatedWorkerGlobalScope": {
|
|
44
|
+
"types": "./dist/entry/dedicatedWorkerGlobalScope.d.ts",
|
|
45
|
+
"import": "./dist/entry/dedicatedWorkerGlobalScope.js"
|
|
46
|
+
},
|
|
47
|
+
"./serviceWorkerGlobalScope": {
|
|
48
|
+
"types": "./dist/entry/serviceWorkerGlobalScope.d.ts",
|
|
49
|
+
"import": "./dist/entry/serviceWorkerGlobalScope.js"
|
|
50
|
+
},
|
|
51
|
+
"./serviceWorkerRegistration": {
|
|
52
|
+
"types": "./dist/entry/serviceWorkerRegistration.d.ts",
|
|
53
|
+
"import": "./dist/entry/serviceWorkerRegistration.js"
|
|
10
54
|
}
|
|
11
55
|
},
|
|
12
56
|
"types": "./dist/index.d.ts",
|