@nmtjs/ws-transport 0.15.0-beta.9 → 0.15.1
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/index.js +4 -4
- package/dist/runtimes/bun.d.ts +1 -1
- package/dist/runtimes/bun.js +4 -4
- package/dist/runtimes/bun.js.map +1 -1
- package/dist/runtimes/deno.d.ts +1 -1
- package/dist/runtimes/deno.js +4 -4
- package/dist/runtimes/deno.js.map +1 -1
- package/dist/runtimes/node.d.ts +1 -1
- package/dist/runtimes/node.js +4 -4
- package/dist/runtimes/node.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.js +14 -2
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/package.json +34 -20
- package/src/runtimes/bun.ts +2 -2
- package/src/runtimes/deno.ts +2 -2
- package/src/runtimes/node.ts +2 -2
- package/src/server.ts +18 -1
- package/src/types.ts +3 -3
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from './injectables.js';
|
|
2
|
+
export * from './server.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/runtimes/bun.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import type { ConnectionType } from '@nmtjs/protocol';
|
|
|
3
3
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
4
4
|
import type { WsTransportOptions } from '../types.ts';
|
|
5
5
|
import * as injectables from '../injectables.ts';
|
|
6
|
-
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'bun'>, typeof injectables, ProxyableTransportType.
|
|
6
|
+
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'bun'>, typeof injectables, ProxyableTransportType.WS>;
|
package/dist/runtimes/bun.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
2
2
|
import createAdapter from 'crossws/adapters/bun';
|
|
3
|
-
import * as injectables from
|
|
4
|
-
import { createWSTransportWorker } from
|
|
5
|
-
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from
|
|
3
|
+
import * as injectables from '../injectables.js';
|
|
4
|
+
import { createWSTransportWorker } from '../server.js';
|
|
5
|
+
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from '../utils.js';
|
|
6
6
|
function adapterFactory(params) {
|
|
7
7
|
const adapter = createAdapter({ hooks: params.wsHooks });
|
|
8
8
|
let server = null;
|
|
@@ -52,7 +52,7 @@ function adapterFactory(params) {
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
export const WsTransport = {
|
|
55
|
-
proxyable: ProxyableTransportType.
|
|
55
|
+
proxyable: ProxyableTransportType.WS,
|
|
56
56
|
injectables,
|
|
57
57
|
factory(options) {
|
|
58
58
|
return createWSTransportWorker(adapterFactory, options);
|
package/dist/runtimes/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/runtimes/bun.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAOhD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,SAAS,cAAc,CAAC,MAA8B;
|
|
1
|
+
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/runtimes/bun.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAOhD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,SAAS,cAAc,CAAC,MAA8B,EAAmB;IACvE,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAExD,IAAI,MAAM,GAA2B,IAAI,CAAA;IAEzC,SAAS,YAAY,GAAG;QACtB,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK;QACzB,yBAAyB;QACzB;YACE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM;YACzB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YACxB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;YAChC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACb,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;oBACnB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;iBAClC;gBACH,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE;YAC1D,MAAM,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE;YACxC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE;gBAC3B,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;wBACnD,OAAO,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;oBACrD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;oBACtD,OAAO,+BAA+B,EAAE,CAAA;gBAC1C,CAAC;gBACD,OAAO,oBAAoB,EAAE,CAAA;YAAA,CAC9B;SACF,CACF,CAAA;IAAA,CACF;IAED,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,GAAG,YAAY,EAAE,CAAA;YACvB,OAAO,MAAO,CAAC,GAAG,CAAC,IAAI,CAAA;QAAA,CACxB;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;QAAA,CACF;KACF,CAAA;AAAA,CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAKpB;IACF,SAAS,EAAE,sBAAsB,CAAC,EAAE;IACpC,WAAW;IACX,OAAO,CAAC,OAAO,EAAE;QACf,OAAO,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAAA,CACxD;CACF,CAAA"}
|
package/dist/runtimes/deno.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import type { ConnectionType } from '@nmtjs/protocol';
|
|
|
3
3
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
4
4
|
import type { WsTransportOptions } from '../types.ts';
|
|
5
5
|
import * as injectables from '../injectables.ts';
|
|
6
|
-
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'deno'>, typeof injectables, ProxyableTransportType.
|
|
6
|
+
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'deno'>, typeof injectables, ProxyableTransportType.WS>;
|
package/dist/runtimes/deno.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
2
2
|
import createAdapter from 'crossws/adapters/deno';
|
|
3
|
-
import * as injectables from
|
|
4
|
-
import { createWSTransportWorker } from
|
|
5
|
-
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from
|
|
3
|
+
import * as injectables from '../injectables.js';
|
|
4
|
+
import { createWSTransportWorker } from '../server.js';
|
|
5
|
+
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, StatusResponse, } from '../utils.js';
|
|
6
6
|
function adapterFactory(params) {
|
|
7
7
|
const adapter = createAdapter({ hooks: params.wsHooks });
|
|
8
8
|
let server = null;
|
|
@@ -75,7 +75,7 @@ function adapterFactory(params) {
|
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
export const WsTransport = {
|
|
78
|
-
proxyable: ProxyableTransportType.
|
|
78
|
+
proxyable: ProxyableTransportType.WS,
|
|
79
79
|
injectables,
|
|
80
80
|
factory(options) {
|
|
81
81
|
return createWSTransportWorker(adapterFactory, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deno.js","sourceRoot":"","sources":["../../src/runtimes/deno.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,aAAa,MAAM,uBAAuB,CAAA;AAOjD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAA;AAsBpB,SAAS,cAAc,CAAC,MAA+B;
|
|
1
|
+
{"version":3,"file":"deno.js","sourceRoot":"","sources":["../../src/runtimes/deno.ts"],"names":[],"mappings":"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"}
|
package/dist/runtimes/node.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import type { ConnectionType } from '@nmtjs/protocol';
|
|
|
3
3
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
4
4
|
import type { WsTransportOptions } from '../types.ts';
|
|
5
5
|
import * as injectables from '../injectables.ts';
|
|
6
|
-
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'node'>, typeof injectables, ProxyableTransportType.
|
|
6
|
+
export declare const WsTransport: Transport<ConnectionType.Bidirectional, WsTransportOptions<'node'>, typeof injectables, ProxyableTransportType.WS>;
|
package/dist/runtimes/node.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ProxyableTransportType } from '@nmtjs/gateway';
|
|
2
2
|
import createAdapter from 'crossws/adapters/uws';
|
|
3
|
-
import * as injectables from
|
|
4
|
-
import { createWSTransportWorker } from
|
|
5
|
-
import { StatusResponse } from
|
|
3
|
+
import * as injectables from '../injectables.js';
|
|
4
|
+
import { createWSTransportWorker } from '../server.js';
|
|
5
|
+
import { StatusResponse } from '../utils.js';
|
|
6
6
|
import { App, SSLApp, us_socket_local_port } from 'uWebSockets.js';
|
|
7
7
|
const statusResponse = StatusResponse();
|
|
8
8
|
const statusResponseBuffer = await statusResponse.arrayBuffer();
|
|
@@ -58,7 +58,7 @@ function adapterFactory(params) {
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
export const WsTransport = {
|
|
61
|
-
proxyable: ProxyableTransportType.
|
|
61
|
+
proxyable: ProxyableTransportType.WS,
|
|
62
62
|
injectables,
|
|
63
63
|
factory(options) {
|
|
64
64
|
return createWSTransportWorker(adapterFactory, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtimes/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAOhD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAElE,MAAM,cAAc,GAAG,cAAc,EAAE,CAAA;AACvC,MAAM,oBAAoB,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAA;AAE/D,SAAS,cAAc,CAAC,MAA+B;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtimes/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAOhD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAElE,MAAM,cAAc,GAAG,cAAc,EAAE,CAAA;AACvC,MAAM,oBAAoB,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAA;AAE/D,SAAS,cAAc,CAAC,MAA+B,EAAmB;IACxE,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAExD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG;QACvB,CAAC,CAAC,MAAM,CAAC;YACL,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;YACjC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;YAC7B,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;SAChC,CAAC;QACJ,CAAC,CAAC,GAAG,EAAE,CAAA;IAET,MAAM;SACH,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;SACzD,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,GAAG;iBACA,WAAW,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;iBACpE,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAAA,CAC7B,CAAC,CAAA;IAAA,CACH,CAAC,CAAA;IAEJ,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC7B,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAClD,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAA;oBACxD,CAAC;gBAAA,CACF,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAA;gBACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;oBACtD,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACnE,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAA;oBACxD,CAAC;gBAAA,CACF,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;YAChD,CAAC;QAAA,CACF,CAAC;QACJ,IAAI,EAAE,GAAG,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,EAAE,CAAA;QAAA,CACf;KACF,CAAA;AAAA,CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAKpB;IACF,SAAS,EAAE,sBAAsB,CAAC,EAAE;IACpC,WAAW;IACX,OAAO,CAAC,OAAO,EAAE;QACf,OAAO,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAAA,CACxD;CACF,CAAA"}
|
package/dist/server.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ export declare class WsTransportServer implements TransportWorker<ConnectionType
|
|
|
13
13
|
start(hooks: TransportWorkerParams<ConnectionType.Bidirectional>): Promise<string>;
|
|
14
14
|
stop(): Promise<void>;
|
|
15
15
|
send(connectionId: string, buffer: ArrayBufferView): boolean;
|
|
16
|
+
close(connectionId: string, options?: {
|
|
17
|
+
code?: number;
|
|
18
|
+
reason?: string;
|
|
19
|
+
}): void;
|
|
16
20
|
private createWsHooks;
|
|
17
21
|
private createServer;
|
|
18
22
|
}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConnectionType, ProtocolVersion } from '@nmtjs/protocol';
|
|
2
2
|
import { defineHooks } from 'crossws';
|
|
3
|
-
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, } from
|
|
3
|
+
import { InternalServerErrorHttpResponse, NotFoundHttpResponse, } from './utils.js';
|
|
4
4
|
export function createWSTransportWorker(adapterFactory, options) {
|
|
5
5
|
return new WsTransportServer(adapterFactory, options);
|
|
6
6
|
}
|
|
@@ -49,6 +49,18 @@ export class WsTransportServer {
|
|
|
49
49
|
return false;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
close(connectionId, options = {}) {
|
|
53
|
+
const peer = this.clients.get(connectionId);
|
|
54
|
+
if (!peer)
|
|
55
|
+
return;
|
|
56
|
+
this.clients.delete(connectionId);
|
|
57
|
+
try {
|
|
58
|
+
peer.close(options.code ?? 1001, options.reason ?? 'Closed');
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error(`Failed to close WebSocket connection ${connectionId}`, error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
52
64
|
createWsHooks() {
|
|
53
65
|
return defineHooks({
|
|
54
66
|
upgrade: async (req) => {
|
|
@@ -84,7 +96,7 @@ export class WsTransportServer {
|
|
|
84
96
|
this.clients.set(connectionId, peer);
|
|
85
97
|
},
|
|
86
98
|
message: async (peer, message) => {
|
|
87
|
-
const data = message.arrayBuffer();
|
|
99
|
+
const data = message.arrayBuffer().slice();
|
|
88
100
|
try {
|
|
89
101
|
await this.params.onMessage({
|
|
90
102
|
connectionId: peer.context.connectionId,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AASrC,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,YAAY,CAAA;AAEnB,MAAM,UAAU,uBAAuB,CACrC,cAA2C,EAC3C,OAA2B;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MaybePromise, OneOf } from '@nmtjs/common';
|
|
2
2
|
import type { Hooks } from 'crossws';
|
|
3
3
|
export type WsTransportServerRequest = {
|
|
4
4
|
url: URL;
|
|
@@ -75,7 +75,7 @@ export type WsAdapterParams<R extends keyof WsTransportRuntimes = keyof WsTransp
|
|
|
75
75
|
runtime?: WsTransportRuntimes[R];
|
|
76
76
|
};
|
|
77
77
|
export interface WsAdapterServer {
|
|
78
|
-
stop: () =>
|
|
79
|
-
start: () =>
|
|
78
|
+
stop: () => MaybePromise<any>;
|
|
79
|
+
start: () => MaybePromise<string>;
|
|
80
80
|
}
|
|
81
81
|
export type WsAdapterServerFactory<R extends keyof WsTransportRuntimes = keyof WsTransportRuntimes> = (params: WsAdapterParams<R>) => WsAdapterServer;
|
package/package.json
CHANGED
|
@@ -1,31 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nmtjs/ws-transport",
|
|
3
|
+
"description": "WebSocket server transport for Neemata runtimes.",
|
|
3
4
|
"type": "module",
|
|
4
5
|
"exports": {
|
|
5
|
-
".":
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
".": {
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"import": "./dist/index.js",
|
|
9
|
+
"module-sync": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./bun": {
|
|
12
|
+
"types": "./dist/runtimes/bun.d.ts",
|
|
13
|
+
"import": "./dist/runtimes/bun.js",
|
|
14
|
+
"module-sync": "./dist/runtimes/bun.js"
|
|
15
|
+
},
|
|
16
|
+
"./deno": {
|
|
17
|
+
"types": "./dist/runtimes/deno.d.ts",
|
|
18
|
+
"import": "./dist/runtimes/deno.js",
|
|
19
|
+
"module-sync": "./dist/runtimes/deno.js"
|
|
20
|
+
},
|
|
21
|
+
"./node": {
|
|
22
|
+
"types": "./dist/runtimes/node.d.ts",
|
|
23
|
+
"import": "./dist/runtimes/node.js",
|
|
24
|
+
"module-sync": "./dist/runtimes/node.js"
|
|
25
|
+
}
|
|
9
26
|
},
|
|
10
27
|
"dependencies": {
|
|
11
|
-
"crossws": "0.4.
|
|
28
|
+
"crossws": "0.4.4"
|
|
12
29
|
},
|
|
13
30
|
"devDependencies": {
|
|
14
|
-
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.
|
|
15
|
-
"@nmtjs/
|
|
16
|
-
"@nmtjs/
|
|
17
|
-
"@nmtjs/
|
|
18
|
-
"@nmtjs/protocol": "0.15.
|
|
31
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.57.0",
|
|
32
|
+
"@nmtjs/common": "0.15.1",
|
|
33
|
+
"@nmtjs/gateway": "0.15.1",
|
|
34
|
+
"@nmtjs/client": "0.15.1",
|
|
35
|
+
"@nmtjs/protocol": "0.15.1"
|
|
19
36
|
},
|
|
20
37
|
"peerDependencies": {
|
|
21
38
|
"@types/bun": "^1.3.0",
|
|
22
39
|
"@types/deno": "^2.3.0",
|
|
23
40
|
"@types/node": "^24",
|
|
24
|
-
"uWebSockets.js": "^20.
|
|
25
|
-
"@nmtjs/
|
|
26
|
-
"@nmtjs/
|
|
27
|
-
"@nmtjs/
|
|
28
|
-
"@nmtjs/
|
|
41
|
+
"uWebSockets.js": "^20.57.0",
|
|
42
|
+
"@nmtjs/core": "0.15.1",
|
|
43
|
+
"@nmtjs/common": "0.15.1",
|
|
44
|
+
"@nmtjs/gateway": "0.15.1",
|
|
45
|
+
"@nmtjs/protocol": "0.15.1"
|
|
29
46
|
},
|
|
30
47
|
"peerDependenciesMeta": {
|
|
31
48
|
"@types/bun": {
|
|
@@ -52,11 +69,8 @@
|
|
|
52
69
|
"LICENSE.md",
|
|
53
70
|
"README.md"
|
|
54
71
|
],
|
|
55
|
-
"version": "0.15.
|
|
72
|
+
"version": "0.15.1",
|
|
56
73
|
"scripts": {
|
|
57
|
-
"clean-build": "rm -rf ./dist"
|
|
58
|
-
"build": "tsc --declaration --sourcemap",
|
|
59
|
-
"dev": "tsc --watch",
|
|
60
|
-
"type-check": "tsc --noEmit"
|
|
74
|
+
"clean-build": "rm -rf ./dist"
|
|
61
75
|
}
|
|
62
76
|
}
|
package/src/runtimes/bun.ts
CHANGED
|
@@ -72,9 +72,9 @@ export const WsTransport: Transport<
|
|
|
72
72
|
ConnectionType.Bidirectional,
|
|
73
73
|
WsTransportOptions<'bun'>,
|
|
74
74
|
typeof injectables,
|
|
75
|
-
ProxyableTransportType.
|
|
75
|
+
ProxyableTransportType.WS
|
|
76
76
|
> = {
|
|
77
|
-
proxyable: ProxyableTransportType.
|
|
77
|
+
proxyable: ProxyableTransportType.WS,
|
|
78
78
|
injectables,
|
|
79
79
|
factory(options) {
|
|
80
80
|
return createWSTransportWorker(adapterFactory, options)
|
package/src/runtimes/deno.ts
CHANGED
|
@@ -115,9 +115,9 @@ export const WsTransport: Transport<
|
|
|
115
115
|
ConnectionType.Bidirectional,
|
|
116
116
|
WsTransportOptions<'deno'>,
|
|
117
117
|
typeof injectables,
|
|
118
|
-
ProxyableTransportType.
|
|
118
|
+
ProxyableTransportType.WS
|
|
119
119
|
> = {
|
|
120
|
-
proxyable: ProxyableTransportType.
|
|
120
|
+
proxyable: ProxyableTransportType.WS,
|
|
121
121
|
injectables,
|
|
122
122
|
factory(options) {
|
|
123
123
|
return createWSTransportWorker(adapterFactory, options)
|
package/src/runtimes/node.ts
CHANGED
|
@@ -73,9 +73,9 @@ export const WsTransport: Transport<
|
|
|
73
73
|
ConnectionType.Bidirectional,
|
|
74
74
|
WsTransportOptions<'node'>,
|
|
75
75
|
typeof injectables,
|
|
76
|
-
ProxyableTransportType.
|
|
76
|
+
ProxyableTransportType.WS
|
|
77
77
|
> = {
|
|
78
|
-
proxyable: ProxyableTransportType.
|
|
78
|
+
proxyable: ProxyableTransportType.WS,
|
|
79
79
|
injectables,
|
|
80
80
|
factory(options) {
|
|
81
81
|
return createWSTransportWorker(adapterFactory, options)
|
package/src/server.ts
CHANGED
|
@@ -77,6 +77,23 @@ export class WsTransportServer
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
close(
|
|
81
|
+
connectionId: string,
|
|
82
|
+
options: { code?: number; reason?: string } = {},
|
|
83
|
+
) {
|
|
84
|
+
const peer = this.clients.get(connectionId)
|
|
85
|
+
if (!peer) return
|
|
86
|
+
this.clients.delete(connectionId)
|
|
87
|
+
try {
|
|
88
|
+
peer.close(options.code ?? 1001, options.reason ?? 'Closed')
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error(
|
|
91
|
+
`Failed to close WebSocket connection ${connectionId}`,
|
|
92
|
+
error,
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
80
97
|
private createWsHooks(): Hooks {
|
|
81
98
|
return defineHooks({
|
|
82
99
|
upgrade: async (req) => {
|
|
@@ -118,7 +135,7 @@ export class WsTransportServer
|
|
|
118
135
|
this.clients.set(connectionId, peer)
|
|
119
136
|
},
|
|
120
137
|
message: async (peer, message) => {
|
|
121
|
-
const data = message.arrayBuffer() as ArrayBuffer
|
|
138
|
+
const data = message.arrayBuffer().slice() as ArrayBuffer
|
|
122
139
|
try {
|
|
123
140
|
await this.params.onMessage({
|
|
124
141
|
connectionId: peer.context.connectionId,
|
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MaybePromise, OneOf } from '@nmtjs/common'
|
|
2
2
|
import type { Hooks } from 'crossws'
|
|
3
3
|
|
|
4
4
|
export type WsTransportServerRequest = {
|
|
@@ -114,8 +114,8 @@ export type WsAdapterParams<
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
export interface WsAdapterServer {
|
|
117
|
-
stop: () =>
|
|
118
|
-
start: () =>
|
|
117
|
+
stop: () => MaybePromise<any>
|
|
118
|
+
start: () => MaybePromise<string>
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
export type WsAdapterServerFactory<
|