crossws 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/_chunks/_request.mjs +82 -0
  2. package/dist/_chunks/_types.d.mts +24 -0
  3. package/dist/_chunks/adapter.d.mts +174 -0
  4. package/dist/_chunks/adapter.mjs +93 -0
  5. package/dist/_chunks/bun.d.mts +38 -0
  6. package/dist/_chunks/cloudflare.d.mts +45 -0
  7. package/dist/_chunks/deno.d.mts +17 -0
  8. package/dist/_chunks/error.mjs +10 -0
  9. package/dist/_chunks/libs/ws.mjs +3531 -0
  10. package/dist/_chunks/node.d.mts +299 -0
  11. package/dist/_chunks/peer.mjs +244 -0
  12. package/dist/_chunks/rolldown-runtime.mjs +32 -0
  13. package/dist/_chunks/sse.d.mts +12 -0
  14. package/dist/_chunks/web.d.mts +298 -0
  15. package/dist/adapters/bun.d.mts +2 -41
  16. package/dist/adapters/bun.mjs +83 -93
  17. package/dist/adapters/cloudflare.d.mts +2 -46
  18. package/dist/adapters/cloudflare.mjs +173 -218
  19. package/dist/adapters/deno.d.mts +2 -19
  20. package/dist/adapters/deno.mjs +65 -74
  21. package/dist/adapters/node.d.mts +2 -299
  22. package/dist/adapters/node.mjs +119 -156
  23. package/dist/adapters/sse.d.mts +2 -13
  24. package/dist/adapters/sse.mjs +98 -118
  25. package/dist/adapters/uws.d.mts +44 -44
  26. package/dist/adapters/uws.mjs +152 -175
  27. package/dist/index.d.mts +2 -170
  28. package/dist/index.mjs +3 -1
  29. package/dist/server/bun.d.mts +8 -21
  30. package/dist/server/bun.mjs +24 -31
  31. package/dist/server/cloudflare.d.mts +8 -21
  32. package/dist/server/cloudflare.mjs +21 -30
  33. package/dist/server/default.d.mts +8 -21
  34. package/dist/server/default.mjs +22 -26
  35. package/dist/server/deno.d.mts +8 -21
  36. package/dist/server/deno.mjs +21 -24
  37. package/dist/server/node.d.mts +8 -21
  38. package/dist/server/node.mjs +32 -43
  39. package/dist/websocket/native.d.mts +3 -2
  40. package/dist/websocket/native.mjs +4 -1
  41. package/dist/websocket/node.d.mts +3 -2
  42. package/dist/websocket/node.mjs +7 -13
  43. package/dist/websocket/sse.d.mts +34 -34
  44. package/dist/websocket/sse.mjs +112 -123
  45. package/package.json +36 -28
  46. package/adapters/cloudflare-durable.d.ts +0 -2
  47. package/dist/shared/crossws.95-eYp2D.d.mts +0 -23
  48. package/dist/shared/crossws.B31KJMcF.mjs +0 -83
  49. package/dist/shared/crossws.BQXMA5bH.d.mts +0 -297
  50. package/dist/shared/crossws.By9qWDAI.mjs +0 -8
  51. package/dist/shared/crossws.CPlNx7g8.mjs +0 -105
  52. package/dist/shared/crossws.CipVM6lf.mjs +0 -4973
  53. package/dist/shared/crossws.WpyOHUXc.mjs +0 -330
@@ -1,226 +1,181 @@
1
- import { env } from 'cloudflare:workers';
2
- import { M as Message, P as Peer, t as toBufferLike } from '../shared/crossws.WpyOHUXc.mjs';
3
- import { a as adapterUtils, g as getPeers, A as AdapterHookable } from '../shared/crossws.CPlNx7g8.mjs';
4
- import { S as StubRequest } from '../shared/crossws.B31KJMcF.mjs';
5
- import { W as WSError } from '../shared/crossws.By9qWDAI.mjs';
1
+ import { i as AdapterHookable, r as getPeers, t as adapterUtils } from "../_chunks/adapter.mjs";
2
+ import { n as Message, r as toBufferLike, t as Peer } from "../_chunks/peer.mjs";
3
+ import { t as StubRequest } from "../_chunks/_request.mjs";
4
+ import { t as WSError } from "../_chunks/error.mjs";
5
+ import { env } from "cloudflare:workers";
6
6
 
7
+ //#region src/adapters/cloudflare.ts
7
8
  const cloudflareAdapter = (opts = {}) => {
8
- const hooks = new AdapterHookable(opts);
9
- const globalPeers = /* @__PURE__ */ new Map();
10
- const resolveDurableStub = opts.resolveDurableStub || ((_req, env$1, _context) => {
11
- const bindingName = opts.bindingName || "$DurableObject";
12
- const binding = (env$1 || env)[bindingName];
13
- if (binding) {
14
- const instanceId = binding.idFromName(opts.instanceName || "crossws");
15
- return binding.get(instanceId);
16
- }
17
- });
18
- const { publish: durablePublish, ...utils } = adapterUtils(globalPeers);
19
- return {
20
- ...utils,
21
- handleUpgrade: async (request, cfEnv, cfCtx) => {
22
- const stub = await resolveDurableStub(
23
- request,
24
- cfEnv,
25
- cfCtx
26
- );
27
- if (stub) {
28
- return stub.fetch(
29
- request
30
- );
31
- }
32
- const { upgradeHeaders, endResponse, context, namespace } = await hooks.upgrade(request);
33
- if (endResponse) {
34
- return endResponse;
35
- }
36
- const peers = getPeers(
37
- globalPeers,
38
- namespace
39
- );
40
- const pair = new WebSocketPair();
41
- const client = pair[0];
42
- const server = pair[1];
43
- const peer = new CloudflareFallbackPeer({
44
- ws: client,
45
- peers,
46
- wsServer: server,
47
- request,
48
- cfEnv,
49
- cfCtx,
50
- context,
51
- namespace
52
- });
53
- peers.add(peer);
54
- server.accept();
55
- hooks.callHook("open", peer);
56
- server.addEventListener("message", (event) => {
57
- hooks.callHook(
58
- "message",
59
- peer,
60
- new Message(event.data, peer, event)
61
- );
62
- });
63
- server.addEventListener("error", (event) => {
64
- peers.delete(peer);
65
- hooks.callHook("error", peer, new WSError(event.error));
66
- });
67
- server.addEventListener("close", (event) => {
68
- peers.delete(peer);
69
- hooks.callHook("close", peer, event);
70
- });
71
- return new Response(null, {
72
- status: 101,
73
- webSocket: client,
74
- headers: upgradeHeaders
75
- });
76
- },
77
- handleDurableInit: async (obj, state, env) => {
78
- },
79
- handleDurableUpgrade: async (obj, request) => {
80
- const { upgradeHeaders, endResponse, namespace } = await hooks.upgrade(
81
- request
82
- );
83
- if (endResponse) {
84
- return endResponse;
85
- }
86
- const peers = getPeers(globalPeers, namespace);
87
- const pair = new WebSocketPair();
88
- const client = pair[0];
89
- const server = pair[1];
90
- const peer = CloudflareDurablePeer._restore(
91
- obj,
92
- server,
93
- request,
94
- namespace
95
- );
96
- peers.add(peer);
97
- obj.ctx.acceptWebSocket(server);
98
- await hooks.callHook("open", peer);
99
- return new Response(null, {
100
- status: 101,
101
- webSocket: client,
102
- headers: upgradeHeaders
103
- });
104
- },
105
- handleDurableMessage: async (obj, ws, message) => {
106
- const peer = CloudflareDurablePeer._restore(obj, ws);
107
- await hooks.callHook("message", peer, new Message(message, peer));
108
- },
109
- handleDurableClose: async (obj, ws, code, reason, wasClean) => {
110
- const peer = CloudflareDurablePeer._restore(obj, ws);
111
- const peers = getPeers(globalPeers, peer.namespace);
112
- peers.delete(peer);
113
- const details = { code, reason, wasClean };
114
- await hooks.callHook("close", peer, details);
115
- },
116
- handleDurablePublish: async (_obj, topic, data, opts2) => {
117
- return durablePublish(topic, data, opts2);
118
- },
119
- publish: async (topic, data, opts2) => {
120
- const stub = await resolveDurableStub(void 0, env, void 0);
121
- if (!stub) {
122
- throw new Error("[crossws] Durable Object binding cannot be resolved.");
123
- }
124
- try {
125
- return await stub.webSocketPublish(topic, data, opts2);
126
- } catch (error) {
127
- console.error(error);
128
- throw error;
129
- }
130
- }
131
- };
9
+ const hooks = new AdapterHookable(opts);
10
+ const globalPeers = /* @__PURE__ */ new Map();
11
+ const resolveDurableStub = opts.resolveDurableStub || ((_req, env$1, _context) => {
12
+ const bindingName = opts.bindingName || "$DurableObject";
13
+ const binding = (env$1 || env)[bindingName];
14
+ if (binding) {
15
+ const instanceId = binding.idFromName(opts.instanceName || "crossws");
16
+ return binding.get(instanceId);
17
+ }
18
+ });
19
+ const { publish: durablePublish, ...utils } = adapterUtils(globalPeers);
20
+ return {
21
+ ...utils,
22
+ handleUpgrade: async (request, cfEnv, cfCtx) => {
23
+ const stub = await resolveDurableStub(request, cfEnv, cfCtx);
24
+ if (stub) return stub.fetch(request);
25
+ const { upgradeHeaders, endResponse, context, namespace } = await hooks.upgrade(request);
26
+ if (endResponse) return endResponse;
27
+ const peers = getPeers(globalPeers, namespace);
28
+ const pair = new WebSocketPair();
29
+ const client = pair[0];
30
+ const server = pair[1];
31
+ const peer = new CloudflareFallbackPeer({
32
+ ws: client,
33
+ peers,
34
+ wsServer: server,
35
+ request,
36
+ cfEnv,
37
+ cfCtx,
38
+ context,
39
+ namespace
40
+ });
41
+ peers.add(peer);
42
+ server.accept();
43
+ hooks.callHook("open", peer);
44
+ server.addEventListener("message", (event) => {
45
+ hooks.callHook("message", peer, new Message(event.data, peer, event));
46
+ });
47
+ server.addEventListener("error", (event) => {
48
+ peers.delete(peer);
49
+ hooks.callHook("error", peer, new WSError(event.error));
50
+ });
51
+ server.addEventListener("close", (event) => {
52
+ peers.delete(peer);
53
+ hooks.callHook("close", peer, event);
54
+ server.close();
55
+ });
56
+ return new Response(null, {
57
+ status: 101,
58
+ webSocket: client,
59
+ headers: upgradeHeaders
60
+ });
61
+ },
62
+ handleDurableInit: async (obj, state, env$1) => {},
63
+ handleDurableUpgrade: async (obj, request) => {
64
+ const { upgradeHeaders, endResponse, namespace } = await hooks.upgrade(request);
65
+ if (endResponse) return endResponse;
66
+ const peers = getPeers(globalPeers, namespace);
67
+ const pair = new WebSocketPair();
68
+ const client = pair[0];
69
+ const server = pair[1];
70
+ const peer = CloudflareDurablePeer._restore(obj, server, request, namespace);
71
+ peers.add(peer);
72
+ obj.ctx.acceptWebSocket(server);
73
+ await hooks.callHook("open", peer);
74
+ return new Response(null, {
75
+ status: 101,
76
+ webSocket: client,
77
+ headers: upgradeHeaders
78
+ });
79
+ },
80
+ handleDurableMessage: async (obj, ws, message) => {
81
+ const peer = CloudflareDurablePeer._restore(obj, ws);
82
+ await hooks.callHook("message", peer, new Message(message, peer));
83
+ },
84
+ handleDurableClose: async (obj, ws, code, reason, wasClean) => {
85
+ const peer = CloudflareDurablePeer._restore(obj, ws);
86
+ getPeers(globalPeers, peer.namespace).delete(peer);
87
+ const details = {
88
+ code,
89
+ reason,
90
+ wasClean
91
+ };
92
+ await hooks.callHook("close", peer, details);
93
+ },
94
+ handleDurablePublish: async (_obj, topic, data, opts$1) => {
95
+ return durablePublish(topic, data, opts$1);
96
+ },
97
+ publish: async (topic, data, opts$1) => {
98
+ const stub = await resolveDurableStub(void 0, env, void 0);
99
+ if (!stub) throw new Error("[crossws] Durable Object binding cannot be resolved.");
100
+ try {
101
+ return await stub.webSocketPublish(topic, data, opts$1);
102
+ } catch (error) {
103
+ console.error(error);
104
+ throw error;
105
+ }
106
+ }
107
+ };
108
+ };
109
+ var cloudflare_default = cloudflareAdapter;
110
+ var CloudflareDurablePeer = class CloudflareDurablePeer extends Peer {
111
+ get peers() {
112
+ return new Set(this.#getwebsockets().map((ws) => CloudflareDurablePeer._restore(this._internal.durable, ws)));
113
+ }
114
+ #getwebsockets() {
115
+ return this._internal.durable.ctx.getWebSockets();
116
+ }
117
+ send(data) {
118
+ return this._internal.ws.send(toBufferLike(data));
119
+ }
120
+ subscribe(topic) {
121
+ super.subscribe(topic);
122
+ const state = getAttachedState(this._internal.ws);
123
+ if (!state.t) state.t = /* @__PURE__ */ new Set();
124
+ state.t.add(topic);
125
+ setAttachedState(this._internal.ws, state);
126
+ }
127
+ publish(topic, data) {
128
+ const websockets = this.#getwebsockets();
129
+ if (websockets.length < 2) return;
130
+ const dataBuff = toBufferLike(data);
131
+ for (const ws of websockets) {
132
+ if (ws === this._internal.ws) continue;
133
+ if (getAttachedState(ws).t?.has(topic)) ws.send(dataBuff);
134
+ }
135
+ }
136
+ close(code, reason) {
137
+ this._internal.ws.close(code, reason);
138
+ }
139
+ static _restore(durable, ws, request, namespace) {
140
+ let peer = ws._crosswsPeer;
141
+ if (peer) return peer;
142
+ const state = ws.deserializeAttachment() || {};
143
+ peer = ws._crosswsPeer = new CloudflareDurablePeer({
144
+ ws,
145
+ request: request || new StubRequest(state.u || ""),
146
+ namespace: namespace || state.n || "",
147
+ durable
148
+ });
149
+ if (state.i) peer._id = state.i;
150
+ if (request?.url) state.u = request.url;
151
+ state.i = peer.id;
152
+ setAttachedState(ws, state);
153
+ return peer;
154
+ }
155
+ };
156
+ var CloudflareFallbackPeer = class extends Peer {
157
+ send(data) {
158
+ this._internal.wsServer.send(toBufferLike(data));
159
+ return 0;
160
+ }
161
+ publish(_topic, _message) {
162
+ console.warn("[crossws] [cloudflare] pub/sub support requires Durable Objects.");
163
+ }
164
+ close(code, reason) {
165
+ this._internal.ws.close(code, reason);
166
+ }
132
167
  };
133
- class CloudflareDurablePeer extends Peer {
134
- get peers() {
135
- return new Set(
136
- this.#getwebsockets().map(
137
- (ws) => CloudflareDurablePeer._restore(this._internal.durable, ws)
138
- )
139
- );
140
- }
141
- #getwebsockets() {
142
- return this._internal.durable.ctx.getWebSockets();
143
- }
144
- send(data) {
145
- return this._internal.ws.send(toBufferLike(data));
146
- }
147
- subscribe(topic) {
148
- super.subscribe(topic);
149
- const state = getAttachedState(this._internal.ws);
150
- if (!state.t) {
151
- state.t = /* @__PURE__ */ new Set();
152
- }
153
- state.t.add(topic);
154
- setAttachedState(this._internal.ws, state);
155
- }
156
- publish(topic, data) {
157
- const websockets = this.#getwebsockets();
158
- if (websockets.length < 2) {
159
- return;
160
- }
161
- const dataBuff = toBufferLike(data);
162
- for (const ws of websockets) {
163
- if (ws === this._internal.ws) {
164
- continue;
165
- }
166
- const state = getAttachedState(ws);
167
- if (state.t?.has(topic)) {
168
- ws.send(dataBuff);
169
- }
170
- }
171
- }
172
- close(code, reason) {
173
- this._internal.ws.close(code, reason);
174
- }
175
- static _restore(durable, ws, request, namespace) {
176
- let peer = ws._crosswsPeer;
177
- if (peer) {
178
- return peer;
179
- }
180
- const state = ws.deserializeAttachment() || {};
181
- peer = ws._crosswsPeer = new CloudflareDurablePeer({
182
- ws,
183
- request: request || new StubRequest(state.u || ""),
184
- namespace: namespace || state.n || "",
185
- durable
186
- });
187
- if (state.i) {
188
- peer._id = state.i;
189
- }
190
- if (request?.url) {
191
- state.u = request.url;
192
- }
193
- state.i = peer.id;
194
- setAttachedState(ws, state);
195
- return peer;
196
- }
197
- }
198
- class CloudflareFallbackPeer extends Peer {
199
- send(data) {
200
- this._internal.wsServer.send(toBufferLike(data));
201
- return 0;
202
- }
203
- publish(_topic, _message) {
204
- console.warn(
205
- "[crossws] [cloudflare] pub/sub support requires Durable Objects."
206
- );
207
- }
208
- close(code, reason) {
209
- this._internal.ws.close(code, reason);
210
- }
211
- }
212
168
  function getAttachedState(ws) {
213
- let state = ws._crosswsState;
214
- if (state) {
215
- return state;
216
- }
217
- state = ws.deserializeAttachment() || {};
218
- ws._crosswsState = state;
219
- return state;
169
+ let state = ws._crosswsState;
170
+ if (state) return state;
171
+ state = ws.deserializeAttachment() || {};
172
+ ws._crosswsState = state;
173
+ return state;
220
174
  }
221
175
  function setAttachedState(ws, state) {
222
- ws._crosswsState = state;
223
- ws.serializeAttachment(state);
176
+ ws._crosswsState = state;
177
+ ws.serializeAttachment(state);
224
178
  }
225
179
 
226
- export { cloudflareAdapter as default };
180
+ //#endregion
181
+ export { cloudflare_default as default };
@@ -1,19 +1,2 @@
1
- import { Adapter, AdapterInstance, AdapterOptions } from '../index.mjs';
2
- import '../shared/crossws.BQXMA5bH.mjs';
3
-
4
- interface DenoAdapter extends AdapterInstance {
5
- handleUpgrade(req: Request, info: ServeHandlerInfo): Promise<Response>;
6
- }
7
- interface DenoOptions extends AdapterOptions {
8
- }
9
- type ServeHandlerInfo = {
10
- remoteAddr?: {
11
- transport: string;
12
- hostname: string;
13
- port: number;
14
- };
15
- };
16
- declare const denoAdapter: Adapter<DenoAdapter, DenoOptions>;
17
-
18
- export { denoAdapter as default };
19
- export type { DenoAdapter, DenoOptions };
1
+ import { n as DenoOptions, r as denoAdapter, t as DenoAdapter } from "../_chunks/deno.mjs";
2
+ export { DenoAdapter, DenoOptions, denoAdapter as default };
@@ -1,78 +1,69 @@
1
- import { M as Message, P as Peer, t as toBufferLike } from '../shared/crossws.WpyOHUXc.mjs';
2
- import { a as adapterUtils, A as AdapterHookable, g as getPeers } from '../shared/crossws.CPlNx7g8.mjs';
3
- import { W as WSError } from '../shared/crossws.By9qWDAI.mjs';
1
+ import { i as AdapterHookable, r as getPeers, t as adapterUtils } from "../_chunks/adapter.mjs";
2
+ import { n as Message, r as toBufferLike, t as Peer } from "../_chunks/peer.mjs";
3
+ import { t as WSError } from "../_chunks/error.mjs";
4
4
 
5
+ //#region src/adapters/deno.ts
5
6
  const denoAdapter = (options = {}) => {
6
- if (typeof Deno === "undefined") {
7
- throw new Error(
8
- "[crossws] Using Deno adapter in an incompatible environment."
9
- );
10
- }
11
- const hooks = new AdapterHookable(options);
12
- const globalPeers = /* @__PURE__ */ new Map();
13
- return {
14
- ...adapterUtils(globalPeers),
15
- handleUpgrade: async (request, info) => {
16
- const { upgradeHeaders, endResponse, context, namespace } = await hooks.upgrade(request);
17
- if (endResponse) {
18
- return endResponse;
19
- }
20
- const headers = upgradeHeaders instanceof Headers ? upgradeHeaders : new Headers(upgradeHeaders);
21
- const upgrade = Deno.upgradeWebSocket(request, {
22
- // @ts-expect-error Setting headers is currently not supported in Deno
23
- // https://github.com/denoland/deno/issues/19277
24
- headers,
25
- protocol: headers.get("sec-websocket-protocol") ?? ""
26
- });
27
- const peers = getPeers(globalPeers, namespace);
28
- const peer = new DenoPeer({
29
- ws: upgrade.socket,
30
- request,
31
- peers,
32
- denoInfo: info,
33
- context,
34
- namespace
35
- });
36
- peers.add(peer);
37
- upgrade.socket.addEventListener("open", () => {
38
- hooks.callHook("open", peer);
39
- });
40
- upgrade.socket.addEventListener("message", (event) => {
41
- hooks.callHook("message", peer, new Message(event.data, peer, event));
42
- });
43
- upgrade.socket.addEventListener("close", () => {
44
- peers.delete(peer);
45
- hooks.callHook("close", peer, {});
46
- });
47
- upgrade.socket.addEventListener("error", (error) => {
48
- peers.delete(peer);
49
- hooks.callHook("error", peer, new WSError(error));
50
- });
51
- return upgrade.response;
52
- }
53
- };
7
+ if (typeof Deno === "undefined") throw new Error("[crossws] Using Deno adapter in an incompatible environment.");
8
+ const hooks = new AdapterHookable(options);
9
+ const globalPeers = /* @__PURE__ */ new Map();
10
+ return {
11
+ ...adapterUtils(globalPeers),
12
+ handleUpgrade: async (request, info) => {
13
+ const { upgradeHeaders, endResponse, context, namespace } = await hooks.upgrade(request);
14
+ if (endResponse) return endResponse;
15
+ const headers = upgradeHeaders instanceof Headers ? upgradeHeaders : new Headers(upgradeHeaders);
16
+ const upgrade = Deno.upgradeWebSocket(request, {
17
+ headers,
18
+ protocol: headers.get("sec-websocket-protocol") ?? ""
19
+ });
20
+ const peers = getPeers(globalPeers, namespace);
21
+ const peer = new DenoPeer({
22
+ ws: upgrade.socket,
23
+ request,
24
+ peers,
25
+ denoInfo: info,
26
+ context,
27
+ namespace
28
+ });
29
+ peers.add(peer);
30
+ upgrade.socket.addEventListener("open", () => {
31
+ hooks.callHook("open", peer);
32
+ });
33
+ upgrade.socket.addEventListener("message", (event) => {
34
+ hooks.callHook("message", peer, new Message(event.data, peer, event));
35
+ });
36
+ upgrade.socket.addEventListener("close", () => {
37
+ peers.delete(peer);
38
+ hooks.callHook("close", peer, {});
39
+ });
40
+ upgrade.socket.addEventListener("error", (error) => {
41
+ peers.delete(peer);
42
+ hooks.callHook("error", peer, new WSError(error));
43
+ });
44
+ return upgrade.response;
45
+ }
46
+ };
47
+ };
48
+ var deno_default = denoAdapter;
49
+ var DenoPeer = class extends Peer {
50
+ get remoteAddress() {
51
+ return this._internal.denoInfo.remoteAddr?.hostname;
52
+ }
53
+ send(data) {
54
+ return this._internal.ws.send(toBufferLike(data));
55
+ }
56
+ publish(topic, data) {
57
+ const dataBuff = toBufferLike(data);
58
+ for (const peer of this._internal.peers) if (peer !== this && peer._topics.has(topic)) peer._internal.ws.send(dataBuff);
59
+ }
60
+ close(code, reason) {
61
+ this._internal.ws.close(code, reason);
62
+ }
63
+ terminate() {
64
+ this._internal.ws.terminate();
65
+ }
54
66
  };
55
- class DenoPeer extends Peer {
56
- get remoteAddress() {
57
- return this._internal.denoInfo.remoteAddr?.hostname;
58
- }
59
- send(data) {
60
- return this._internal.ws.send(toBufferLike(data));
61
- }
62
- publish(topic, data) {
63
- const dataBuff = toBufferLike(data);
64
- for (const peer of this._internal.peers) {
65
- if (peer !== this && peer._topics.has(topic)) {
66
- peer._internal.ws.send(dataBuff);
67
- }
68
- }
69
- }
70
- close(code, reason) {
71
- this._internal.ws.close(code, reason);
72
- }
73
- terminate() {
74
- this._internal.ws.terminate();
75
- }
76
- }
77
67
 
78
- export { denoAdapter as default };
68
+ //#endregion
69
+ export { deno_default as default };