crossws 0.1.3 → 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 +1 -1
- package/dist/shared/crossws.6f7f02b3.mjs +0 -8
- package/dist/shared/crossws.deae10fd.cjs +0 -10
package/dist/adapters/bun.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const types = require('../shared/crossws.c0275b79.cjs');
|
|
4
4
|
|
|
5
|
-
const bun =
|
|
6
|
-
(
|
|
7
|
-
const crossws =
|
|
8
|
-
const
|
|
5
|
+
const bun = types.defineWebSocketAdapter(
|
|
6
|
+
(options = {}) => {
|
|
7
|
+
const crossws = types.createCrossWS(options);
|
|
8
|
+
const getPeer = (ws) => {
|
|
9
9
|
if (ws.data?._peer) {
|
|
10
10
|
return ws.data._peer;
|
|
11
11
|
}
|
|
12
|
-
const peer = new
|
|
12
|
+
const peer = new BunPeer({ bun: { ws } });
|
|
13
13
|
ws.data = ws.data || {};
|
|
14
14
|
ws.data._peer = peer;
|
|
15
15
|
return peer;
|
|
@@ -27,37 +27,37 @@ const bun = peer.defineWebSocketAdapter(
|
|
|
27
27
|
},
|
|
28
28
|
websocket: {
|
|
29
29
|
message: (ws, message) => {
|
|
30
|
-
const peer
|
|
31
|
-
crossws.$("bun:message", peer
|
|
32
|
-
crossws.message
|
|
30
|
+
const peer = getPeer(ws);
|
|
31
|
+
crossws.$callHook("bun:message", peer, ws, message);
|
|
32
|
+
crossws.callHook("message", peer, new types.Message(message));
|
|
33
33
|
},
|
|
34
34
|
open: (ws) => {
|
|
35
|
-
const peer =
|
|
36
|
-
crossws.$("bun:open", peer, ws);
|
|
37
|
-
crossws.open
|
|
35
|
+
const peer = getPeer(ws);
|
|
36
|
+
crossws.$callHook("bun:open", peer, ws);
|
|
37
|
+
crossws.callHook("open", peer);
|
|
38
38
|
},
|
|
39
39
|
close: (ws) => {
|
|
40
|
-
const peer =
|
|
41
|
-
crossws.$("bun:close", peer, ws);
|
|
42
|
-
crossws.close
|
|
40
|
+
const peer = getPeer(ws);
|
|
41
|
+
crossws.$callHook("bun:close", peer, ws);
|
|
42
|
+
crossws.callHook("close", peer, {});
|
|
43
43
|
},
|
|
44
44
|
drain: (ws) => {
|
|
45
|
-
const peer =
|
|
46
|
-
crossws.$("bun:drain", peer);
|
|
45
|
+
const peer = getPeer(ws);
|
|
46
|
+
crossws.$callHook("bun:drain", peer);
|
|
47
47
|
},
|
|
48
48
|
ping(ws, data) {
|
|
49
|
-
const peer =
|
|
50
|
-
crossws.$("bun:ping", peer, ws, data);
|
|
49
|
+
const peer = getPeer(ws);
|
|
50
|
+
crossws.$callHook("bun:ping", peer, ws, data);
|
|
51
51
|
},
|
|
52
52
|
pong(ws, data) {
|
|
53
|
-
const peer =
|
|
54
|
-
crossws.$("bun:pong", peer, ws, data);
|
|
53
|
+
const peer = getPeer(ws);
|
|
54
|
+
crossws.$callHook("bun:pong", peer, ws, data);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
);
|
|
60
|
-
class
|
|
60
|
+
class BunPeer extends types.Peer {
|
|
61
61
|
get id() {
|
|
62
62
|
let addr = this.ctx.bun.ws.remoteAddress;
|
|
63
63
|
if (addr.includes(":")) {
|
|
@@ -75,12 +75,12 @@ class BunWSPeer extends peer.WSPeer {
|
|
|
75
75
|
return this.ctx.bun.ws.data.req?.headers || new Headers();
|
|
76
76
|
}
|
|
77
77
|
send(message, options) {
|
|
78
|
-
return this.ctx.bun.ws.send(
|
|
78
|
+
return this.ctx.bun.ws.send(types.toBufferLike(message), options?.compress);
|
|
79
79
|
}
|
|
80
80
|
publish(topic, message, options) {
|
|
81
81
|
return this.ctx.bun.ws.publish(
|
|
82
82
|
topic,
|
|
83
|
-
|
|
83
|
+
types.toBufferLike(message),
|
|
84
84
|
options?.compress
|
|
85
85
|
);
|
|
86
86
|
}
|
package/dist/adapters/bun.d.cts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, P as Peer, b as Adapter } from '../shared/crossws.a2e5c71e.cjs';
|
|
2
2
|
import { WebSocketHandler, Server } from 'bun';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface BunAdapter {
|
|
5
|
+
websocket: WebSocketHandler<ContextData>;
|
|
6
|
+
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
interface BunOptions extends AdapterOptions {
|
|
5
9
|
}
|
|
6
10
|
type ContextData = {
|
|
7
|
-
_peer?:
|
|
11
|
+
_peer?: Peer;
|
|
8
12
|
req?: Request;
|
|
9
13
|
server?: Server;
|
|
10
14
|
};
|
|
11
|
-
|
|
12
|
-
websocket: WebSocketHandler<ContextData>;
|
|
13
|
-
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
15
|
+
declare const _default: Adapter<BunAdapter, BunOptions>;
|
|
16
16
|
|
|
17
|
-
export { type
|
|
17
|
+
export { type BunAdapter, type BunOptions, _default as default };
|
package/dist/adapters/bun.d.mts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, P as Peer, b as Adapter } from '../shared/crossws.a2e5c71e.mjs';
|
|
2
2
|
import { WebSocketHandler, Server } from 'bun';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface BunAdapter {
|
|
5
|
+
websocket: WebSocketHandler<ContextData>;
|
|
6
|
+
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
interface BunOptions extends AdapterOptions {
|
|
5
9
|
}
|
|
6
10
|
type ContextData = {
|
|
7
|
-
_peer?:
|
|
11
|
+
_peer?: Peer;
|
|
8
12
|
req?: Request;
|
|
9
13
|
server?: Server;
|
|
10
14
|
};
|
|
11
|
-
|
|
12
|
-
websocket: WebSocketHandler<ContextData>;
|
|
13
|
-
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
15
|
+
declare const _default: Adapter<BunAdapter, BunOptions>;
|
|
16
16
|
|
|
17
|
-
export { type
|
|
17
|
+
export { type BunAdapter, type BunOptions, _default as default };
|
package/dist/adapters/bun.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, P as Peer, b as Adapter } from '../shared/crossws.a2e5c71e.js';
|
|
2
2
|
import { WebSocketHandler, Server } from 'bun';
|
|
3
3
|
|
|
4
|
-
interface
|
|
4
|
+
interface BunAdapter {
|
|
5
|
+
websocket: WebSocketHandler<ContextData>;
|
|
6
|
+
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
interface BunOptions extends AdapterOptions {
|
|
5
9
|
}
|
|
6
10
|
type ContextData = {
|
|
7
|
-
_peer?:
|
|
11
|
+
_peer?: Peer;
|
|
8
12
|
req?: Request;
|
|
9
13
|
server?: Server;
|
|
10
14
|
};
|
|
11
|
-
|
|
12
|
-
websocket: WebSocketHandler<ContextData>;
|
|
13
|
-
handleUpgrade(req: Request, server: Server): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: WebSocketAdapter<Adapter, AdapterOptions>;
|
|
15
|
+
declare const _default: Adapter<BunAdapter, BunOptions>;
|
|
16
16
|
|
|
17
|
-
export { type
|
|
17
|
+
export { type BunAdapter, type BunOptions, _default as default };
|
package/dist/adapters/bun.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { d as defineWebSocketAdapter,
|
|
1
|
+
import { d as defineWebSocketAdapter, M as Message, c as createCrossWS, P as Peer, t as toBufferLike } from '../shared/crossws.61d46dae.mjs';
|
|
2
2
|
|
|
3
3
|
const bun = defineWebSocketAdapter(
|
|
4
|
-
(
|
|
5
|
-
const crossws = createCrossWS(
|
|
6
|
-
const
|
|
4
|
+
(options = {}) => {
|
|
5
|
+
const crossws = createCrossWS(options);
|
|
6
|
+
const getPeer = (ws) => {
|
|
7
7
|
if (ws.data?._peer) {
|
|
8
8
|
return ws.data._peer;
|
|
9
9
|
}
|
|
10
|
-
const peer = new
|
|
10
|
+
const peer = new BunPeer({ bun: { ws } });
|
|
11
11
|
ws.data = ws.data || {};
|
|
12
12
|
ws.data._peer = peer;
|
|
13
13
|
return peer;
|
|
@@ -25,37 +25,37 @@ const bun = defineWebSocketAdapter(
|
|
|
25
25
|
},
|
|
26
26
|
websocket: {
|
|
27
27
|
message: (ws, message) => {
|
|
28
|
-
const peer =
|
|
29
|
-
crossws.$("bun:message", peer, ws, message);
|
|
30
|
-
crossws.message
|
|
28
|
+
const peer = getPeer(ws);
|
|
29
|
+
crossws.$callHook("bun:message", peer, ws, message);
|
|
30
|
+
crossws.callHook("message", peer, new Message(message));
|
|
31
31
|
},
|
|
32
32
|
open: (ws) => {
|
|
33
|
-
const peer =
|
|
34
|
-
crossws.$("bun:open", peer, ws);
|
|
35
|
-
crossws.open
|
|
33
|
+
const peer = getPeer(ws);
|
|
34
|
+
crossws.$callHook("bun:open", peer, ws);
|
|
35
|
+
crossws.callHook("open", peer);
|
|
36
36
|
},
|
|
37
37
|
close: (ws) => {
|
|
38
|
-
const peer =
|
|
39
|
-
crossws.$("bun:close", peer, ws);
|
|
40
|
-
crossws.close
|
|
38
|
+
const peer = getPeer(ws);
|
|
39
|
+
crossws.$callHook("bun:close", peer, ws);
|
|
40
|
+
crossws.callHook("close", peer, {});
|
|
41
41
|
},
|
|
42
42
|
drain: (ws) => {
|
|
43
|
-
const peer =
|
|
44
|
-
crossws.$("bun:drain", peer);
|
|
43
|
+
const peer = getPeer(ws);
|
|
44
|
+
crossws.$callHook("bun:drain", peer);
|
|
45
45
|
},
|
|
46
46
|
ping(ws, data) {
|
|
47
|
-
const peer =
|
|
48
|
-
crossws.$("bun:ping", peer, ws, data);
|
|
47
|
+
const peer = getPeer(ws);
|
|
48
|
+
crossws.$callHook("bun:ping", peer, ws, data);
|
|
49
49
|
},
|
|
50
50
|
pong(ws, data) {
|
|
51
|
-
const peer =
|
|
52
|
-
crossws.$("bun:pong", peer, ws, data);
|
|
51
|
+
const peer = getPeer(ws);
|
|
52
|
+
crossws.$callHook("bun:pong", peer, ws, data);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
|
-
class
|
|
58
|
+
class BunPeer extends Peer {
|
|
59
59
|
get id() {
|
|
60
60
|
let addr = this.ctx.bun.ws.remoteAddress;
|
|
61
61
|
if (addr.includes(":")) {
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const types = require('../shared/crossws.c0275b79.cjs');
|
|
4
|
+
const index = require('../index.cjs');
|
|
5
5
|
|
|
6
|
-
const cloudflare =
|
|
7
|
-
(
|
|
8
|
-
const crossws =
|
|
6
|
+
const cloudflare = types.defineWebSocketAdapter(
|
|
7
|
+
(options = {}) => {
|
|
8
|
+
const crossws = types.createCrossWS(options);
|
|
9
9
|
const handleUpgrade = async (req, env, context) => {
|
|
10
10
|
const pair = new WebSocketPair();
|
|
11
11
|
const client = pair[0];
|
|
12
12
|
const server = pair[1];
|
|
13
|
-
const peer
|
|
13
|
+
const peer = new CloudflarePeer({
|
|
14
14
|
cloudflare: { client, server, req, env, context }
|
|
15
15
|
});
|
|
16
|
-
const { headers } = await crossws.upgrade(peer
|
|
16
|
+
const { headers } = await crossws.upgrade(peer);
|
|
17
17
|
server.accept();
|
|
18
|
-
crossws.$("cloudflare:accept", peer
|
|
19
|
-
crossws.open
|
|
18
|
+
crossws.$callHook("cloudflare:accept", peer);
|
|
19
|
+
crossws.callHook("open", peer);
|
|
20
20
|
server.addEventListener("message", (event) => {
|
|
21
|
-
crossws.$("cloudflare:message", peer
|
|
22
|
-
crossws.message
|
|
21
|
+
crossws.$callHook("cloudflare:message", peer, event);
|
|
22
|
+
crossws.callHook("message", peer, new types.Message(event.data));
|
|
23
23
|
});
|
|
24
24
|
server.addEventListener("error", (event) => {
|
|
25
|
-
crossws.$("cloudflare:error", peer
|
|
26
|
-
crossws.error
|
|
25
|
+
crossws.$callHook("cloudflare:error", peer, event);
|
|
26
|
+
crossws.callHook("error", peer, new index.WSError(event.error));
|
|
27
27
|
});
|
|
28
28
|
server.addEventListener("close", (event) => {
|
|
29
|
-
crossws.$("cloudflare:close", peer
|
|
30
|
-
crossws.close
|
|
29
|
+
crossws.$callHook("cloudflare:close", peer, event);
|
|
30
|
+
crossws.callHook("close", peer, {
|
|
31
|
+
code: event.code,
|
|
32
|
+
reason: event.reason
|
|
33
|
+
});
|
|
31
34
|
});
|
|
32
35
|
return new Response(null, {
|
|
33
36
|
status: 101,
|
|
@@ -40,7 +43,7 @@ const cloudflare = peer.defineWebSocketAdapter(
|
|
|
40
43
|
};
|
|
41
44
|
}
|
|
42
45
|
);
|
|
43
|
-
class CloudflarePeer extends
|
|
46
|
+
class CloudflarePeer extends types.Peer {
|
|
44
47
|
get id() {
|
|
45
48
|
return void 0;
|
|
46
49
|
}
|
|
@@ -54,7 +57,7 @@ class CloudflarePeer extends peer.WSPeer {
|
|
|
54
57
|
return this.ctx.cloudflare.client.readyState;
|
|
55
58
|
}
|
|
56
59
|
send(message) {
|
|
57
|
-
this.ctx.cloudflare.server.send(
|
|
60
|
+
this.ctx.cloudflare.server.send(types.toBufferLike(message));
|
|
58
61
|
return 0;
|
|
59
62
|
}
|
|
60
63
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.cjs';
|
|
2
2
|
import * as _cf from '@cloudflare/workers-types';
|
|
3
3
|
|
|
4
4
|
type Env = Record<string, any>;
|
|
5
|
-
interface
|
|
6
|
-
}
|
|
7
|
-
interface Adapter {
|
|
5
|
+
interface CloudflareAdapter {
|
|
8
6
|
handleUpgrade(req: _cf.Request, env: Env, context: _cf.ExecutionContext): Promise<_cf.Response>;
|
|
9
7
|
}
|
|
10
|
-
|
|
8
|
+
interface CloudflareOptions extends AdapterOptions {
|
|
9
|
+
}
|
|
10
|
+
declare const _default: Adapter<CloudflareAdapter, CloudflareOptions>;
|
|
11
11
|
|
|
12
|
-
export { type
|
|
12
|
+
export { type CloudflareAdapter, type CloudflareOptions, _default as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.mjs';
|
|
2
2
|
import * as _cf from '@cloudflare/workers-types';
|
|
3
3
|
|
|
4
4
|
type Env = Record<string, any>;
|
|
5
|
-
interface
|
|
6
|
-
}
|
|
7
|
-
interface Adapter {
|
|
5
|
+
interface CloudflareAdapter {
|
|
8
6
|
handleUpgrade(req: _cf.Request, env: Env, context: _cf.ExecutionContext): Promise<_cf.Response>;
|
|
9
7
|
}
|
|
10
|
-
|
|
8
|
+
interface CloudflareOptions extends AdapterOptions {
|
|
9
|
+
}
|
|
10
|
+
declare const _default: Adapter<CloudflareAdapter, CloudflareOptions>;
|
|
11
11
|
|
|
12
|
-
export { type
|
|
12
|
+
export { type CloudflareAdapter, type CloudflareOptions, _default as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.js';
|
|
2
2
|
import * as _cf from '@cloudflare/workers-types';
|
|
3
3
|
|
|
4
4
|
type Env = Record<string, any>;
|
|
5
|
-
interface
|
|
6
|
-
}
|
|
7
|
-
interface Adapter {
|
|
5
|
+
interface CloudflareAdapter {
|
|
8
6
|
handleUpgrade(req: _cf.Request, env: Env, context: _cf.ExecutionContext): Promise<_cf.Response>;
|
|
9
7
|
}
|
|
10
|
-
|
|
8
|
+
interface CloudflareOptions extends AdapterOptions {
|
|
9
|
+
}
|
|
10
|
+
declare const _default: Adapter<CloudflareAdapter, CloudflareOptions>;
|
|
11
11
|
|
|
12
|
-
export { type
|
|
12
|
+
export { type CloudflareAdapter, type CloudflareOptions, _default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { d as defineWebSocketAdapter,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineWebSocketAdapter, M as Message, P as Peer, t as toBufferLike, c as createCrossWS } from '../shared/crossws.61d46dae.mjs';
|
|
2
|
+
import { WSError } from '../index.mjs';
|
|
3
3
|
|
|
4
4
|
const cloudflare = defineWebSocketAdapter(
|
|
5
|
-
(
|
|
6
|
-
const crossws = createCrossWS(
|
|
5
|
+
(options = {}) => {
|
|
6
|
+
const crossws = createCrossWS(options);
|
|
7
7
|
const handleUpgrade = async (req, env, context) => {
|
|
8
8
|
const pair = new WebSocketPair();
|
|
9
9
|
const client = pair[0];
|
|
@@ -13,19 +13,22 @@ const cloudflare = defineWebSocketAdapter(
|
|
|
13
13
|
});
|
|
14
14
|
const { headers } = await crossws.upgrade(peer);
|
|
15
15
|
server.accept();
|
|
16
|
-
crossws.$("cloudflare:accept", peer);
|
|
17
|
-
crossws.open
|
|
16
|
+
crossws.$callHook("cloudflare:accept", peer);
|
|
17
|
+
crossws.callHook("open", peer);
|
|
18
18
|
server.addEventListener("message", (event) => {
|
|
19
|
-
crossws.$("cloudflare:message", peer, event);
|
|
20
|
-
crossws.message
|
|
19
|
+
crossws.$callHook("cloudflare:message", peer, event);
|
|
20
|
+
crossws.callHook("message", peer, new Message(event.data));
|
|
21
21
|
});
|
|
22
22
|
server.addEventListener("error", (event) => {
|
|
23
|
-
crossws.$("cloudflare:error", peer, event);
|
|
24
|
-
crossws.error
|
|
23
|
+
crossws.$callHook("cloudflare:error", peer, event);
|
|
24
|
+
crossws.callHook("error", peer, new WSError(event.error));
|
|
25
25
|
});
|
|
26
26
|
server.addEventListener("close", (event) => {
|
|
27
|
-
crossws.$("cloudflare:close", peer, event);
|
|
28
|
-
crossws.close
|
|
27
|
+
crossws.$callHook("cloudflare:close", peer, event);
|
|
28
|
+
crossws.callHook("close", peer, {
|
|
29
|
+
code: event.code,
|
|
30
|
+
reason: event.reason
|
|
31
|
+
});
|
|
29
32
|
});
|
|
30
33
|
return new Response(null, {
|
|
31
34
|
status: 101,
|
|
@@ -38,7 +41,7 @@ const cloudflare = defineWebSocketAdapter(
|
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
);
|
|
41
|
-
class CloudflarePeer extends
|
|
44
|
+
class CloudflarePeer extends Peer {
|
|
42
45
|
get id() {
|
|
43
46
|
return void 0;
|
|
44
47
|
}
|
package/dist/adapters/deno.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const types = require('../shared/crossws.c0275b79.cjs');
|
|
4
|
+
const index = require('../index.cjs');
|
|
5
5
|
|
|
6
|
-
const deno =
|
|
7
|
-
(
|
|
8
|
-
const crossws =
|
|
6
|
+
const deno = types.defineWebSocketAdapter(
|
|
7
|
+
(options = {}) => {
|
|
8
|
+
const crossws = types.createCrossWS(options);
|
|
9
9
|
const handleUpgrade = async (req) => {
|
|
10
10
|
const { headers } = await crossws.upgrade({
|
|
11
11
|
url: req.url,
|
|
@@ -15,24 +15,24 @@ const deno = peer.defineWebSocketAdapter(
|
|
|
15
15
|
// @ts-expect-error https://github.com/denoland/deno/pull/22242
|
|
16
16
|
headers
|
|
17
17
|
});
|
|
18
|
-
const peer
|
|
18
|
+
const peer = new DenoPeer({
|
|
19
19
|
deno: { ws: upgrade.socket, req }
|
|
20
20
|
});
|
|
21
21
|
upgrade.socket.addEventListener("open", () => {
|
|
22
|
-
crossws.$("deno:open", peer
|
|
23
|
-
crossws.open
|
|
22
|
+
crossws.$callHook("deno:open", peer);
|
|
23
|
+
crossws.callHook("open", peer);
|
|
24
24
|
});
|
|
25
25
|
upgrade.socket.addEventListener("message", (event) => {
|
|
26
|
-
crossws.$("deno:message", peer
|
|
27
|
-
crossws.message
|
|
26
|
+
crossws.$callHook("deno:message", peer, event);
|
|
27
|
+
crossws.callHook("message", peer, new types.Message(event.data));
|
|
28
28
|
});
|
|
29
29
|
upgrade.socket.addEventListener("close", () => {
|
|
30
|
-
crossws.$("deno:close", peer
|
|
31
|
-
crossws.close
|
|
30
|
+
crossws.$callHook("deno:close", peer);
|
|
31
|
+
crossws.callHook("close", peer, {});
|
|
32
32
|
});
|
|
33
|
-
upgrade.socket.addEventListener("error", (error
|
|
34
|
-
crossws.$("deno:error", peer
|
|
35
|
-
crossws.error
|
|
33
|
+
upgrade.socket.addEventListener("error", (error) => {
|
|
34
|
+
crossws.$callHook("deno:error", peer, error);
|
|
35
|
+
crossws.callHook("error", peer, new index.WSError(error));
|
|
36
36
|
});
|
|
37
37
|
return upgrade.response;
|
|
38
38
|
};
|
|
@@ -41,7 +41,7 @@ const deno = peer.defineWebSocketAdapter(
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
|
-
class
|
|
44
|
+
class DenoPeer extends types.Peer {
|
|
45
45
|
get id() {
|
|
46
46
|
return this.ctx.deno.ws.remoteAddress;
|
|
47
47
|
}
|
|
@@ -55,7 +55,7 @@ class DenoWSPeer extends peer.WSPeer {
|
|
|
55
55
|
return this.ctx.deno.req.headers || new Headers();
|
|
56
56
|
}
|
|
57
57
|
send(message) {
|
|
58
|
-
this.ctx.deno.ws.send(
|
|
58
|
+
this.ctx.deno.ws.send(types.toBufferLike(message));
|
|
59
59
|
return 0;
|
|
60
60
|
}
|
|
61
61
|
}
|
package/dist/adapters/deno.d.cts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.cjs';
|
|
2
2
|
import * as _deno_types from '@deno/types';
|
|
3
3
|
|
|
4
|
-
interface
|
|
5
|
-
}
|
|
6
|
-
interface Adapter {
|
|
4
|
+
interface DenoAdapter {
|
|
7
5
|
handleUpgrade(req: Request): Promise<Response>;
|
|
8
6
|
}
|
|
7
|
+
interface DenoOptions extends AdapterOptions {
|
|
8
|
+
}
|
|
9
9
|
declare global {
|
|
10
10
|
const Deno: typeof _deno_types.Deno;
|
|
11
11
|
}
|
|
12
|
-
declare const _default:
|
|
12
|
+
declare const _default: Adapter<DenoAdapter, DenoOptions>;
|
|
13
13
|
|
|
14
|
-
export { type
|
|
14
|
+
export { type DenoAdapter, type DenoOptions, _default as default };
|
package/dist/adapters/deno.d.mts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.mjs';
|
|
2
2
|
import * as _deno_types from '@deno/types';
|
|
3
3
|
|
|
4
|
-
interface
|
|
5
|
-
}
|
|
6
|
-
interface Adapter {
|
|
4
|
+
interface DenoAdapter {
|
|
7
5
|
handleUpgrade(req: Request): Promise<Response>;
|
|
8
6
|
}
|
|
7
|
+
interface DenoOptions extends AdapterOptions {
|
|
8
|
+
}
|
|
9
9
|
declare global {
|
|
10
10
|
const Deno: typeof _deno_types.Deno;
|
|
11
11
|
}
|
|
12
|
-
declare const _default:
|
|
12
|
+
declare const _default: Adapter<DenoAdapter, DenoOptions>;
|
|
13
13
|
|
|
14
|
-
export { type
|
|
14
|
+
export { type DenoAdapter, type DenoOptions, _default as default };
|
package/dist/adapters/deno.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as AdapterOptions, b as Adapter } from '../shared/crossws.a2e5c71e.js';
|
|
2
2
|
import * as _deno_types from '@deno/types';
|
|
3
3
|
|
|
4
|
-
interface
|
|
5
|
-
}
|
|
6
|
-
interface Adapter {
|
|
4
|
+
interface DenoAdapter {
|
|
7
5
|
handleUpgrade(req: Request): Promise<Response>;
|
|
8
6
|
}
|
|
7
|
+
interface DenoOptions extends AdapterOptions {
|
|
8
|
+
}
|
|
9
9
|
declare global {
|
|
10
10
|
const Deno: typeof _deno_types.Deno;
|
|
11
11
|
}
|
|
12
|
-
declare const _default:
|
|
12
|
+
declare const _default: Adapter<DenoAdapter, DenoOptions>;
|
|
13
13
|
|
|
14
|
-
export { type
|
|
14
|
+
export { type DenoAdapter, type DenoOptions, _default as default };
|
package/dist/adapters/deno.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { d as defineWebSocketAdapter,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineWebSocketAdapter, M as Message, P as Peer, t as toBufferLike, c as createCrossWS } from '../shared/crossws.61d46dae.mjs';
|
|
2
|
+
import { WSError } from '../index.mjs';
|
|
3
3
|
|
|
4
4
|
const deno = defineWebSocketAdapter(
|
|
5
|
-
(
|
|
6
|
-
const crossws = createCrossWS(
|
|
5
|
+
(options = {}) => {
|
|
6
|
+
const crossws = createCrossWS(options);
|
|
7
7
|
const handleUpgrade = async (req) => {
|
|
8
8
|
const { headers } = await crossws.upgrade({
|
|
9
9
|
url: req.url,
|
|
@@ -13,24 +13,24 @@ const deno = defineWebSocketAdapter(
|
|
|
13
13
|
// @ts-expect-error https://github.com/denoland/deno/pull/22242
|
|
14
14
|
headers
|
|
15
15
|
});
|
|
16
|
-
const peer = new
|
|
16
|
+
const peer = new DenoPeer({
|
|
17
17
|
deno: { ws: upgrade.socket, req }
|
|
18
18
|
});
|
|
19
19
|
upgrade.socket.addEventListener("open", () => {
|
|
20
|
-
crossws.$("deno:open", peer);
|
|
21
|
-
crossws.open
|
|
20
|
+
crossws.$callHook("deno:open", peer);
|
|
21
|
+
crossws.callHook("open", peer);
|
|
22
22
|
});
|
|
23
23
|
upgrade.socket.addEventListener("message", (event) => {
|
|
24
|
-
crossws.$("deno:message", peer, event);
|
|
25
|
-
crossws.message
|
|
24
|
+
crossws.$callHook("deno:message", peer, event);
|
|
25
|
+
crossws.callHook("message", peer, new Message(event.data));
|
|
26
26
|
});
|
|
27
27
|
upgrade.socket.addEventListener("close", () => {
|
|
28
|
-
crossws.$("deno:close", peer);
|
|
29
|
-
crossws.close
|
|
28
|
+
crossws.$callHook("deno:close", peer);
|
|
29
|
+
crossws.callHook("close", peer, {});
|
|
30
30
|
});
|
|
31
31
|
upgrade.socket.addEventListener("error", (error) => {
|
|
32
|
-
crossws.$("deno:error", peer, error);
|
|
33
|
-
crossws.error
|
|
32
|
+
crossws.$callHook("deno:error", peer, error);
|
|
33
|
+
crossws.callHook("error", peer, new WSError(error));
|
|
34
34
|
});
|
|
35
35
|
return upgrade.response;
|
|
36
36
|
};
|
|
@@ -39,7 +39,7 @@ const deno = defineWebSocketAdapter(
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
|
-
class
|
|
42
|
+
class DenoPeer extends Peer {
|
|
43
43
|
get id() {
|
|
44
44
|
return this.ctx.deno.ws.remoteAddress;
|
|
45
45
|
}
|