crossws 0.1.2 → 0.2.0
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/adapters/bun.cjs +24 -24
- package/dist/adapters/bun.d.cts +9 -9
- package/dist/adapters/bun.d.mts +9 -9
- package/dist/adapters/bun.d.ts +9 -9
- package/dist/adapters/bun.mjs +21 -21
- package/dist/adapters/cloudflare.cjs +20 -17
- package/dist/adapters/cloudflare.d.cts +6 -6
- package/dist/adapters/cloudflare.d.mts +6 -6
- package/dist/adapters/cloudflare.d.ts +6 -6
- package/dist/adapters/cloudflare.mjs +16 -13
- package/dist/adapters/deno.cjs +17 -17
- package/dist/adapters/deno.d.cts +6 -6
- package/dist/adapters/deno.d.mts +6 -6
- package/dist/adapters/deno.d.ts +6 -6
- package/dist/adapters/deno.mjs +14 -14
- package/dist/adapters/node.cjs +21 -21
- package/dist/adapters/node.d.cts +7 -7
- package/dist/adapters/node.d.mts +7 -7
- package/dist/adapters/node.d.ts +7 -7
- package/dist/adapters/node.mjs +18 -18
- package/dist/adapters/uws.cjs +33 -26
- package/dist/adapters/uws.d.cts +7 -7
- package/dist/adapters/uws.d.mts +7 -7
- package/dist/adapters/uws.d.ts +7 -7
- package/dist/adapters/uws.mjs +31 -24
- package/dist/index.cjs +12 -10
- package/dist/index.d.cts +4 -113
- package/dist/index.d.mts +4 -113
- package/dist/index.d.ts +4 -113
- package/dist/index.mjs +7 -5
- package/dist/shared/{crossws.a6b0a7cc.mjs → crossws.61d46dae.mjs} +31 -42
- package/dist/shared/crossws.a2e5c71e.d.cts +112 -0
- package/dist/shared/crossws.a2e5c71e.d.mts +112 -0
- package/dist/shared/crossws.a2e5c71e.d.ts +112 -0
- package/dist/shared/{crossws.6009d265.cjs → crossws.c0275b79.cjs} +33 -43
- package/package.json +2 -2
- package/dist/shared/crossws.6f7f02b3.mjs +0 -8
- package/dist/shared/crossws.deae10fd.cjs +0 -10
package/dist/adapters/node.cjs
CHANGED
|
@@ -5,8 +5,8 @@ const websocket = require('../shared/crossws.2ed26345.cjs');
|
|
|
5
5
|
const require$$0 = require('events');
|
|
6
6
|
const require$$2 = require('http');
|
|
7
7
|
const require$$1 = require('crypto');
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const types = require('../shared/crossws.c0275b79.cjs');
|
|
9
|
+
const index = require('../index.cjs');
|
|
10
10
|
require('https');
|
|
11
11
|
require('net');
|
|
12
12
|
require('tls');
|
|
@@ -620,51 +620,51 @@ function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
|
620
620
|
|
|
621
621
|
const _WebSocketServer = /*@__PURE__*/websocket.getDefaultExportFromCjs(websocketServer);
|
|
622
622
|
|
|
623
|
-
const node =
|
|
624
|
-
(
|
|
625
|
-
const crossws =
|
|
623
|
+
const node = types.defineWebSocketAdapter(
|
|
624
|
+
(options = {}) => {
|
|
625
|
+
const crossws = types.createCrossWS(options);
|
|
626
626
|
const wss = options.wss || new _WebSocketServer({
|
|
627
627
|
noServer: true,
|
|
628
628
|
...options.serverOptions
|
|
629
629
|
});
|
|
630
630
|
wss.on("connection", (ws, req) => {
|
|
631
|
-
const peer
|
|
632
|
-
crossws.open
|
|
631
|
+
const peer = new NodePeer({ node: { ws, req, server: wss } });
|
|
632
|
+
crossws.callHook("open", peer);
|
|
633
633
|
ws.on("message", (data, isBinary) => {
|
|
634
|
-
crossws.$("node:message", peer
|
|
634
|
+
crossws.$callHook("node:message", peer, data, isBinary);
|
|
635
635
|
if (Array.isArray(data)) {
|
|
636
636
|
data = Buffer.concat(data);
|
|
637
637
|
}
|
|
638
|
-
crossws.message
|
|
638
|
+
crossws.callHook("message", peer, new types.Message(data, isBinary));
|
|
639
639
|
});
|
|
640
|
-
ws.on("error", (error
|
|
641
|
-
crossws.$("node:error", peer
|
|
642
|
-
crossws.error
|
|
640
|
+
ws.on("error", (error) => {
|
|
641
|
+
crossws.$callHook("node:error", peer, error);
|
|
642
|
+
crossws.callHook("error", peer, new index.WSError(error));
|
|
643
643
|
});
|
|
644
644
|
ws.on("close", (code, reason) => {
|
|
645
|
-
crossws.$("node:close", peer
|
|
646
|
-
crossws.close
|
|
645
|
+
crossws.$callHook("node:close", peer, code, reason);
|
|
646
|
+
crossws.callHook("close", peer, {
|
|
647
647
|
code,
|
|
648
648
|
reason: reason?.toString()
|
|
649
649
|
});
|
|
650
650
|
});
|
|
651
651
|
ws.on("open", () => {
|
|
652
|
-
crossws.$("node:open", peer
|
|
652
|
+
crossws.$callHook("node:open", peer);
|
|
653
653
|
});
|
|
654
654
|
ws.on("ping", (data) => {
|
|
655
|
-
crossws.$("node:ping", peer
|
|
655
|
+
crossws.$callHook("node:ping", peer, data);
|
|
656
656
|
});
|
|
657
657
|
ws.on("pong", (data) => {
|
|
658
|
-
crossws.$("node:pong", peer
|
|
658
|
+
crossws.$callHook("node:pong", peer, data);
|
|
659
659
|
});
|
|
660
660
|
ws.on(
|
|
661
661
|
"unexpected-response",
|
|
662
662
|
(req2, res) => {
|
|
663
|
-
crossws.$("node:unexpected-response", peer
|
|
663
|
+
crossws.$callHook("node:unexpected-response", peer, req2, res);
|
|
664
664
|
}
|
|
665
665
|
);
|
|
666
666
|
ws.on("upgrade", (req2) => {
|
|
667
|
-
crossws.$("node:upgrade", peer
|
|
667
|
+
crossws.$callHook("node:upgrade", peer, req2);
|
|
668
668
|
});
|
|
669
669
|
});
|
|
670
670
|
wss.on("headers", function(outgoingHeaders, req) {
|
|
@@ -690,7 +690,7 @@ const node = peer.defineWebSocketAdapter(
|
|
|
690
690
|
};
|
|
691
691
|
}
|
|
692
692
|
);
|
|
693
|
-
class
|
|
693
|
+
class NodePeer extends types.Peer {
|
|
694
694
|
get id() {
|
|
695
695
|
const socket = this.ctx.node.req.socket;
|
|
696
696
|
if (!socket) {
|
|
@@ -709,7 +709,7 @@ class NodeWSPeer extends peer.WSPeer {
|
|
|
709
709
|
return this.ctx.node.ws.readyState;
|
|
710
710
|
}
|
|
711
711
|
send(message, options) {
|
|
712
|
-
this.ctx.node.ws.send(
|
|
712
|
+
this.ctx.node.ws.send(types.toBufferLike(message), {
|
|
713
713
|
compress: options?.compress,
|
|
714
714
|
binary: options?.binary,
|
|
715
715
|
...options
|
package/dist/adapters/node.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.cjs';
|
|
2
2
|
import { IncomingMessage as IncomingMessage$1 } from 'node:http';
|
|
3
3
|
import { Duplex as Duplex$1 } from 'node:stream';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
@@ -286,13 +286,13 @@ declare class Server<T extends typeof WebSocket = typeof WebSocket, U extends ty
|
|
|
286
286
|
type WebSocketServer = Server;
|
|
287
287
|
declare function createWebSocketStream(websocket: WebSocket, options?: DuplexOptions): Duplex;
|
|
288
288
|
|
|
289
|
-
interface
|
|
289
|
+
interface NodeAdapter {
|
|
290
|
+
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
291
|
+
}
|
|
292
|
+
interface NodeOptions extends AdapterOptions {
|
|
290
293
|
wss?: WebSocketServer;
|
|
291
294
|
serverOptions?: ServerOptions;
|
|
292
295
|
}
|
|
293
|
-
|
|
294
|
-
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
295
|
-
}
|
|
296
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
296
|
+
declare const _default: Adapter<NodeAdapter, NodeOptions>;
|
|
297
297
|
|
|
298
|
-
export { type
|
|
298
|
+
export { type NodeAdapter, type NodeOptions, _default as default };
|
package/dist/adapters/node.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.mjs';
|
|
2
2
|
import { IncomingMessage as IncomingMessage$1 } from 'node:http';
|
|
3
3
|
import { Duplex as Duplex$1 } from 'node:stream';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
@@ -286,13 +286,13 @@ declare class Server<T extends typeof WebSocket = typeof WebSocket, U extends ty
|
|
|
286
286
|
type WebSocketServer = Server;
|
|
287
287
|
declare function createWebSocketStream(websocket: WebSocket, options?: DuplexOptions): Duplex;
|
|
288
288
|
|
|
289
|
-
interface
|
|
289
|
+
interface NodeAdapter {
|
|
290
|
+
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
291
|
+
}
|
|
292
|
+
interface NodeOptions extends AdapterOptions {
|
|
290
293
|
wss?: WebSocketServer;
|
|
291
294
|
serverOptions?: ServerOptions;
|
|
292
295
|
}
|
|
293
|
-
|
|
294
|
-
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
295
|
-
}
|
|
296
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
296
|
+
declare const _default: Adapter<NodeAdapter, NodeOptions>;
|
|
297
297
|
|
|
298
|
-
export { type
|
|
298
|
+
export { type NodeAdapter, type NodeOptions, _default as default };
|
package/dist/adapters/node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.js';
|
|
2
2
|
import { IncomingMessage as IncomingMessage$1 } from 'node:http';
|
|
3
3
|
import { Duplex as Duplex$1 } from 'node:stream';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
@@ -286,13 +286,13 @@ declare class Server<T extends typeof WebSocket = typeof WebSocket, U extends ty
|
|
|
286
286
|
type WebSocketServer = Server;
|
|
287
287
|
declare function createWebSocketStream(websocket: WebSocket, options?: DuplexOptions): Duplex;
|
|
288
288
|
|
|
289
|
-
interface
|
|
289
|
+
interface NodeAdapter {
|
|
290
|
+
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
291
|
+
}
|
|
292
|
+
interface NodeOptions extends AdapterOptions {
|
|
290
293
|
wss?: WebSocketServer;
|
|
291
294
|
serverOptions?: ServerOptions;
|
|
292
295
|
}
|
|
293
|
-
|
|
294
|
-
handleUpgrade(req: IncomingMessage$1, socket: Duplex$1, head: Buffer): void;
|
|
295
|
-
}
|
|
296
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
296
|
+
declare const _default: Adapter<NodeAdapter, NodeOptions>;
|
|
297
297
|
|
|
298
|
-
export { type
|
|
298
|
+
export { type NodeAdapter, type NodeOptions, _default as default };
|
package/dist/adapters/node.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import { v as validationExports, g as getDefaultExportFromCjs, e as extension$1,
|
|
|
3
3
|
import require$$0 from 'events';
|
|
4
4
|
import require$$2 from 'http';
|
|
5
5
|
import require$$1 from 'crypto';
|
|
6
|
-
import { d as defineWebSocketAdapter,
|
|
7
|
-
import {
|
|
6
|
+
import { d as defineWebSocketAdapter, M as Message, P as Peer, t as toBufferLike, c as createCrossWS } from '../shared/crossws.61d46dae.mjs';
|
|
7
|
+
import { WSError } from '../index.mjs';
|
|
8
8
|
import 'https';
|
|
9
9
|
import 'net';
|
|
10
10
|
import 'tls';
|
|
@@ -613,50 +613,50 @@ function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
|
613
613
|
const _WebSocketServer = /*@__PURE__*/getDefaultExportFromCjs(websocketServer);
|
|
614
614
|
|
|
615
615
|
const node = defineWebSocketAdapter(
|
|
616
|
-
(
|
|
617
|
-
const crossws = createCrossWS(
|
|
616
|
+
(options = {}) => {
|
|
617
|
+
const crossws = createCrossWS(options);
|
|
618
618
|
const wss = options.wss || new _WebSocketServer({
|
|
619
619
|
noServer: true,
|
|
620
620
|
...options.serverOptions
|
|
621
621
|
});
|
|
622
622
|
wss.on("connection", (ws, req) => {
|
|
623
|
-
const peer = new
|
|
624
|
-
crossws.open
|
|
623
|
+
const peer = new NodePeer({ node: { ws, req, server: wss } });
|
|
624
|
+
crossws.callHook("open", peer);
|
|
625
625
|
ws.on("message", (data, isBinary) => {
|
|
626
|
-
crossws.$("node:message", peer, data, isBinary);
|
|
626
|
+
crossws.$callHook("node:message", peer, data, isBinary);
|
|
627
627
|
if (Array.isArray(data)) {
|
|
628
628
|
data = Buffer.concat(data);
|
|
629
629
|
}
|
|
630
|
-
crossws.message
|
|
630
|
+
crossws.callHook("message", peer, new Message(data, isBinary));
|
|
631
631
|
});
|
|
632
632
|
ws.on("error", (error) => {
|
|
633
|
-
crossws.$("node:error", peer, error);
|
|
634
|
-
crossws.error
|
|
633
|
+
crossws.$callHook("node:error", peer, error);
|
|
634
|
+
crossws.callHook("error", peer, new WSError(error));
|
|
635
635
|
});
|
|
636
636
|
ws.on("close", (code, reason) => {
|
|
637
|
-
crossws.$("node:close", peer, code, reason);
|
|
638
|
-
crossws.close
|
|
637
|
+
crossws.$callHook("node:close", peer, code, reason);
|
|
638
|
+
crossws.callHook("close", peer, {
|
|
639
639
|
code,
|
|
640
640
|
reason: reason?.toString()
|
|
641
641
|
});
|
|
642
642
|
});
|
|
643
643
|
ws.on("open", () => {
|
|
644
|
-
crossws.$("node:open", peer);
|
|
644
|
+
crossws.$callHook("node:open", peer);
|
|
645
645
|
});
|
|
646
646
|
ws.on("ping", (data) => {
|
|
647
|
-
crossws.$("node:ping", peer, data);
|
|
647
|
+
crossws.$callHook("node:ping", peer, data);
|
|
648
648
|
});
|
|
649
649
|
ws.on("pong", (data) => {
|
|
650
|
-
crossws.$("node:pong", peer, data);
|
|
650
|
+
crossws.$callHook("node:pong", peer, data);
|
|
651
651
|
});
|
|
652
652
|
ws.on(
|
|
653
653
|
"unexpected-response",
|
|
654
654
|
(req2, res) => {
|
|
655
|
-
crossws.$("node:unexpected-response", peer, req2, res);
|
|
655
|
+
crossws.$callHook("node:unexpected-response", peer, req2, res);
|
|
656
656
|
}
|
|
657
657
|
);
|
|
658
658
|
ws.on("upgrade", (req2) => {
|
|
659
|
-
crossws.$("node:upgrade", peer, req2);
|
|
659
|
+
crossws.$callHook("node:upgrade", peer, req2);
|
|
660
660
|
});
|
|
661
661
|
});
|
|
662
662
|
wss.on("headers", function(outgoingHeaders, req) {
|
|
@@ -682,7 +682,7 @@ const node = defineWebSocketAdapter(
|
|
|
682
682
|
};
|
|
683
683
|
}
|
|
684
684
|
);
|
|
685
|
-
class
|
|
685
|
+
class NodePeer extends Peer {
|
|
686
686
|
get id() {
|
|
687
687
|
const socket = this.ctx.node.req.socket;
|
|
688
688
|
if (!socket) {
|
package/dist/adapters/uws.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const types = require('../shared/crossws.c0275b79.cjs');
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -8,51 +8,58 @@ var __publicField = (obj, key, value) => {
|
|
|
8
8
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
9
|
return value;
|
|
10
10
|
};
|
|
11
|
-
const uws =
|
|
12
|
-
(
|
|
13
|
-
const crossws =
|
|
14
|
-
const
|
|
11
|
+
const uws = types.defineWebSocketAdapter(
|
|
12
|
+
(options = {}) => {
|
|
13
|
+
const crossws = types.createCrossWS(options);
|
|
14
|
+
const getPeer = (ws) => {
|
|
15
15
|
const userData = ws.getUserData();
|
|
16
16
|
if (userData._peer) {
|
|
17
17
|
return userData._peer;
|
|
18
18
|
}
|
|
19
|
-
const peer = new
|
|
19
|
+
const peer = new UWSPeer({ uws: { ws, userData } });
|
|
20
20
|
userData._peer = peer;
|
|
21
21
|
return peer;
|
|
22
22
|
};
|
|
23
23
|
const websocket = {
|
|
24
24
|
...options.uws,
|
|
25
25
|
close(ws, code, message) {
|
|
26
|
-
const peer =
|
|
27
|
-
crossws.$("uws:close", peer, ws, code, message);
|
|
28
|
-
crossws.close
|
|
26
|
+
const peer = getPeer(ws);
|
|
27
|
+
crossws.$callHook("uws:close", peer, ws, code, message);
|
|
28
|
+
crossws.callHook("close", peer, { code, reason: message?.toString() });
|
|
29
29
|
},
|
|
30
30
|
drain(ws) {
|
|
31
|
-
const peer =
|
|
32
|
-
crossws.$("uws:drain", peer, ws);
|
|
31
|
+
const peer = getPeer(ws);
|
|
32
|
+
crossws.$callHook("uws:drain", peer, ws);
|
|
33
33
|
},
|
|
34
34
|
message(ws, message, isBinary) {
|
|
35
|
-
const peer
|
|
36
|
-
crossws.$("uws:message", peer
|
|
37
|
-
const msg = new
|
|
38
|
-
crossws.message
|
|
35
|
+
const peer = getPeer(ws);
|
|
36
|
+
crossws.$callHook("uws:message", peer, ws, message, isBinary);
|
|
37
|
+
const msg = new types.Message(message, isBinary);
|
|
38
|
+
crossws.callHook("message", peer, msg);
|
|
39
39
|
},
|
|
40
40
|
open(ws) {
|
|
41
|
-
const peer =
|
|
42
|
-
crossws.$("uws:open", peer, ws);
|
|
43
|
-
crossws.open
|
|
41
|
+
const peer = getPeer(ws);
|
|
42
|
+
crossws.$callHook("uws:open", peer, ws);
|
|
43
|
+
crossws.callHook("open", peer);
|
|
44
44
|
},
|
|
45
45
|
ping(ws, message) {
|
|
46
|
-
const peer =
|
|
47
|
-
crossws.$("uws:ping", peer, ws, message);
|
|
46
|
+
const peer = getPeer(ws);
|
|
47
|
+
crossws.$callHook("uws:ping", peer, ws, message);
|
|
48
48
|
},
|
|
49
49
|
pong(ws, message) {
|
|
50
|
-
const peer =
|
|
51
|
-
crossws.$("uws:pong", peer, ws, message);
|
|
50
|
+
const peer = getPeer(ws);
|
|
51
|
+
crossws.$callHook("uws:pong", peer, ws, message);
|
|
52
52
|
},
|
|
53
53
|
subscription(ws, topic, newCount, oldCount) {
|
|
54
|
-
const peer =
|
|
55
|
-
crossws.$(
|
|
54
|
+
const peer = getPeer(ws);
|
|
55
|
+
crossws.$callHook(
|
|
56
|
+
"uws:subscription",
|
|
57
|
+
peer,
|
|
58
|
+
ws,
|
|
59
|
+
topic,
|
|
60
|
+
newCount,
|
|
61
|
+
oldCount
|
|
62
|
+
);
|
|
56
63
|
},
|
|
57
64
|
async upgrade(res, req, context) {
|
|
58
65
|
let aborted = false;
|
|
@@ -94,7 +101,7 @@ const uws = peer.defineWebSocketAdapter(
|
|
|
94
101
|
};
|
|
95
102
|
}
|
|
96
103
|
);
|
|
97
|
-
class
|
|
104
|
+
class UWSPeer extends types.Peer {
|
|
98
105
|
constructor() {
|
|
99
106
|
super(...arguments);
|
|
100
107
|
__publicField(this, "_headers");
|
|
@@ -122,7 +129,7 @@ class UWSWSPeer extends peer.WSPeer {
|
|
|
122
129
|
}
|
|
123
130
|
send(message, options) {
|
|
124
131
|
return this.ctx.uws.ws.send(
|
|
125
|
-
|
|
132
|
+
types.toBufferLike(message),
|
|
126
133
|
options?.binary,
|
|
127
134
|
options?.compress
|
|
128
135
|
);
|
package/dist/adapters/uws.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.cjs';
|
|
2
2
|
import { WebSocketBehavior, HttpRequest, HttpResponse } from 'uWebSockets.js';
|
|
3
3
|
|
|
4
4
|
type UserData = {
|
|
@@ -8,12 +8,12 @@ type UserData = {
|
|
|
8
8
|
context: any;
|
|
9
9
|
};
|
|
10
10
|
type WebSocketHandler = WebSocketBehavior<UserData>;
|
|
11
|
-
interface
|
|
12
|
-
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
13
|
-
}
|
|
14
|
-
interface Adapter {
|
|
11
|
+
interface UWSAdapter {
|
|
15
12
|
websocket: WebSocketHandler;
|
|
16
13
|
}
|
|
17
|
-
|
|
14
|
+
interface UWSOptions extends AdapterOptions {
|
|
15
|
+
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: Adapter<UWSAdapter, UWSOptions>;
|
|
18
18
|
|
|
19
|
-
export { type
|
|
19
|
+
export { type UWSAdapter, type UWSOptions, _default as default };
|
package/dist/adapters/uws.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.mjs';
|
|
2
2
|
import { WebSocketBehavior, HttpRequest, HttpResponse } from 'uWebSockets.js';
|
|
3
3
|
|
|
4
4
|
type UserData = {
|
|
@@ -8,12 +8,12 @@ type UserData = {
|
|
|
8
8
|
context: any;
|
|
9
9
|
};
|
|
10
10
|
type WebSocketHandler = WebSocketBehavior<UserData>;
|
|
11
|
-
interface
|
|
12
|
-
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
13
|
-
}
|
|
14
|
-
interface Adapter {
|
|
11
|
+
interface UWSAdapter {
|
|
15
12
|
websocket: WebSocketHandler;
|
|
16
13
|
}
|
|
17
|
-
|
|
14
|
+
interface UWSOptions extends AdapterOptions {
|
|
15
|
+
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: Adapter<UWSAdapter, UWSOptions>;
|
|
18
18
|
|
|
19
|
-
export { type
|
|
19
|
+
export { type UWSAdapter, type UWSOptions, _default as default };
|
package/dist/adapters/uws.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.js';
|
|
2
2
|
import { WebSocketBehavior, HttpRequest, HttpResponse } from 'uWebSockets.js';
|
|
3
3
|
|
|
4
4
|
type UserData = {
|
|
@@ -8,12 +8,12 @@ type UserData = {
|
|
|
8
8
|
context: any;
|
|
9
9
|
};
|
|
10
10
|
type WebSocketHandler = WebSocketBehavior<UserData>;
|
|
11
|
-
interface
|
|
12
|
-
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
13
|
-
}
|
|
14
|
-
interface Adapter {
|
|
11
|
+
interface UWSAdapter {
|
|
15
12
|
websocket: WebSocketHandler;
|
|
16
13
|
}
|
|
17
|
-
|
|
14
|
+
interface UWSOptions extends AdapterOptions {
|
|
15
|
+
uws?: Exclude<WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: Adapter<UWSAdapter, UWSOptions>;
|
|
18
18
|
|
|
19
|
-
export { type
|
|
19
|
+
export { type UWSAdapter, type UWSOptions, _default as default };
|
package/dist/adapters/uws.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineWebSocketAdapter, c as createCrossWS,
|
|
1
|
+
import { d as defineWebSocketAdapter, c as createCrossWS, M as Message, P as Peer, t as toBufferLike } from '../shared/crossws.61d46dae.mjs';
|
|
2
2
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -7,50 +7,57 @@ var __publicField = (obj, key, value) => {
|
|
|
7
7
|
return value;
|
|
8
8
|
};
|
|
9
9
|
const uws = defineWebSocketAdapter(
|
|
10
|
-
(
|
|
11
|
-
const crossws = createCrossWS(
|
|
12
|
-
const
|
|
10
|
+
(options = {}) => {
|
|
11
|
+
const crossws = createCrossWS(options);
|
|
12
|
+
const getPeer = (ws) => {
|
|
13
13
|
const userData = ws.getUserData();
|
|
14
14
|
if (userData._peer) {
|
|
15
15
|
return userData._peer;
|
|
16
16
|
}
|
|
17
|
-
const peer = new
|
|
17
|
+
const peer = new UWSPeer({ uws: { ws, userData } });
|
|
18
18
|
userData._peer = peer;
|
|
19
19
|
return peer;
|
|
20
20
|
};
|
|
21
21
|
const websocket = {
|
|
22
22
|
...options.uws,
|
|
23
23
|
close(ws, code, message) {
|
|
24
|
-
const peer =
|
|
25
|
-
crossws.$("uws:close", peer, ws, code, message);
|
|
26
|
-
crossws.close
|
|
24
|
+
const peer = getPeer(ws);
|
|
25
|
+
crossws.$callHook("uws:close", peer, ws, code, message);
|
|
26
|
+
crossws.callHook("close", peer, { code, reason: message?.toString() });
|
|
27
27
|
},
|
|
28
28
|
drain(ws) {
|
|
29
|
-
const peer =
|
|
30
|
-
crossws.$("uws:drain", peer, ws);
|
|
29
|
+
const peer = getPeer(ws);
|
|
30
|
+
crossws.$callHook("uws:drain", peer, ws);
|
|
31
31
|
},
|
|
32
32
|
message(ws, message, isBinary) {
|
|
33
|
-
const peer =
|
|
34
|
-
crossws.$("uws:message", peer, ws, message, isBinary);
|
|
35
|
-
const msg = new
|
|
36
|
-
crossws.message
|
|
33
|
+
const peer = getPeer(ws);
|
|
34
|
+
crossws.$callHook("uws:message", peer, ws, message, isBinary);
|
|
35
|
+
const msg = new Message(message, isBinary);
|
|
36
|
+
crossws.callHook("message", peer, msg);
|
|
37
37
|
},
|
|
38
38
|
open(ws) {
|
|
39
|
-
const peer =
|
|
40
|
-
crossws.$("uws:open", peer, ws);
|
|
41
|
-
crossws.open
|
|
39
|
+
const peer = getPeer(ws);
|
|
40
|
+
crossws.$callHook("uws:open", peer, ws);
|
|
41
|
+
crossws.callHook("open", peer);
|
|
42
42
|
},
|
|
43
43
|
ping(ws, message) {
|
|
44
|
-
const peer =
|
|
45
|
-
crossws.$("uws:ping", peer, ws, message);
|
|
44
|
+
const peer = getPeer(ws);
|
|
45
|
+
crossws.$callHook("uws:ping", peer, ws, message);
|
|
46
46
|
},
|
|
47
47
|
pong(ws, message) {
|
|
48
|
-
const peer =
|
|
49
|
-
crossws.$("uws:pong", peer, ws, message);
|
|
48
|
+
const peer = getPeer(ws);
|
|
49
|
+
crossws.$callHook("uws:pong", peer, ws, message);
|
|
50
50
|
},
|
|
51
51
|
subscription(ws, topic, newCount, oldCount) {
|
|
52
|
-
const peer =
|
|
53
|
-
crossws.$(
|
|
52
|
+
const peer = getPeer(ws);
|
|
53
|
+
crossws.$callHook(
|
|
54
|
+
"uws:subscription",
|
|
55
|
+
peer,
|
|
56
|
+
ws,
|
|
57
|
+
topic,
|
|
58
|
+
newCount,
|
|
59
|
+
oldCount
|
|
60
|
+
);
|
|
54
61
|
},
|
|
55
62
|
async upgrade(res, req, context) {
|
|
56
63
|
let aborted = false;
|
|
@@ -92,7 +99,7 @@ const uws = defineWebSocketAdapter(
|
|
|
92
99
|
};
|
|
93
100
|
}
|
|
94
101
|
);
|
|
95
|
-
class
|
|
102
|
+
class UWSPeer extends Peer {
|
|
96
103
|
constructor() {
|
|
97
104
|
super(...arguments);
|
|
98
105
|
__publicField(this, "_headers");
|
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const error = require('./shared/crossws.deae10fd.cjs');
|
|
3
|
+
const types = require('./shared/crossws.c0275b79.cjs');
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
class WSError extends Error {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
this.name = "WSError";
|
|
9
|
+
}
|
|
8
10
|
}
|
|
9
11
|
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.createCrossWS =
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
12
|
+
exports.Message = types.Message;
|
|
13
|
+
exports.Peer = types.Peer;
|
|
14
|
+
exports.createCrossWS = types.createCrossWS;
|
|
15
|
+
exports.defineHooks = types.defineHooks;
|
|
16
|
+
exports.defineWebSocketAdapter = types.defineWebSocketAdapter;
|
|
17
|
+
exports.WSError = WSError;
|