crossws 0.0.0 → 0.1.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/LICENSE +46 -0
- package/README.md +286 -0
- package/adapters/bun.d.ts +1 -0
- package/adapters/cloudflare.d.ts +1 -0
- package/adapters/deno.d.ts +1 -0
- package/adapters/node.d.ts +1 -0
- package/dist/adapters/bun.cjs +72 -0
- package/dist/adapters/bun.d.cts +13 -0
- package/dist/adapters/bun.d.mts +13 -0
- package/dist/adapters/bun.d.ts +13 -0
- package/dist/adapters/bun.mjs +70 -0
- package/dist/adapters/cloudflare.cjs +52 -0
- package/dist/adapters/cloudflare.d.cts +12 -0
- package/dist/adapters/cloudflare.d.mts +12 -0
- package/dist/adapters/cloudflare.d.ts +12 -0
- package/dist/adapters/cloudflare.mjs +50 -0
- package/dist/adapters/deno.cjs +48 -0
- package/dist/adapters/deno.d.cts +10 -0
- package/dist/adapters/deno.d.mts +10 -0
- package/dist/adapters/deno.d.ts +10 -0
- package/dist/adapters/deno.mjs +46 -0
- package/dist/adapters/node.cjs +695 -0
- package/dist/adapters/node.d.cts +298 -0
- package/dist/adapters/node.d.mts +298 -0
- package/dist/adapters/node.d.ts +298 -0
- package/dist/adapters/node.mjs +687 -0
- package/dist/index.cjs +13 -0
- package/dist/index.d.cts +67 -0
- package/dist/index.d.mts +67 -0
- package/dist/index.d.ts +67 -0
- package/dist/index.mjs +7 -0
- package/dist/shared/crossws.21e14e0d.cjs +59 -0
- package/dist/shared/crossws.2ed26345.cjs +3931 -0
- package/dist/shared/crossws.9536f626.mjs +54 -0
- package/dist/shared/crossws.a5db571c.mjs +3910 -0
- package/dist/websocket/index.cjs +5 -0
- package/dist/websocket/index.d.cts +10 -0
- package/dist/websocket/index.d.mts +10 -0
- package/dist/websocket/index.d.ts +10 -0
- package/dist/websocket/index.mjs +3 -0
- package/dist/websocket/node.cjs +17 -0
- package/dist/websocket/node.d.cts +10 -0
- package/dist/websocket/node.d.mts +10 -0
- package/dist/websocket/node.d.ts +10 -0
- package/dist/websocket/node.mjs +15 -0
- package/package.json +94 -1
- package/websocket.d.ts +1 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
declare class WebSocketError extends Error {
|
|
2
|
+
constructor(...args: any[]);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
declare class WebSocketMessage {
|
|
6
|
+
readonly rawData: string | ArrayBuffer | Uint8Array;
|
|
7
|
+
readonly isBinary?: boolean | undefined;
|
|
8
|
+
constructor(rawData: string | ArrayBuffer | Uint8Array, isBinary?: boolean | undefined);
|
|
9
|
+
text(): string;
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type ReadyState = 0 | 1 | 2 | 3;
|
|
14
|
+
interface WebSocketContext {
|
|
15
|
+
}
|
|
16
|
+
declare abstract class WebSocketPeerBase<T extends WebSocketContext = WebSocketContext> {
|
|
17
|
+
ctx: T;
|
|
18
|
+
constructor(ctx: T);
|
|
19
|
+
get id(): string | undefined;
|
|
20
|
+
get readyState(): ReadyState | -1;
|
|
21
|
+
abstract send(message: string | ArrayBuffer | Uint8Array, compress?: boolean): number;
|
|
22
|
+
toString(): string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type WSHook<ArgsT extends Array<any> = []> = (peer: WebSocketPeerBase, ...args: ArgsT) => void | Promise<void>;
|
|
26
|
+
declare function defineWebSocketHooks(hooks: Partial<WebSocketHooks>): Partial<WebSocketHooks>;
|
|
27
|
+
interface WebSocketHooks {
|
|
28
|
+
/** A message is received */
|
|
29
|
+
message: WSHook<[WebSocketMessage]>;
|
|
30
|
+
/** A socket is opened */
|
|
31
|
+
open: WSHook<[]>;
|
|
32
|
+
/** A socket is closed */
|
|
33
|
+
close: WSHook<[{
|
|
34
|
+
code?: number;
|
|
35
|
+
reason?: string;
|
|
36
|
+
}]>;
|
|
37
|
+
/** An error occurs */
|
|
38
|
+
error: WSHook<[WebSocketError]>;
|
|
39
|
+
"bun:message": WSHook<[ws: any, message: any]>;
|
|
40
|
+
"bun:open": WSHook<[ws: any]>;
|
|
41
|
+
"bun:close": WSHook<[ws: any]>;
|
|
42
|
+
"bun:drain": WSHook<[]>;
|
|
43
|
+
"bun:error": WSHook<[ws: any, error: any]>;
|
|
44
|
+
"bun:ping": WSHook<[ws: any, data: any]>;
|
|
45
|
+
"bun:pong": WSHook<[ws: any, data: any]>;
|
|
46
|
+
"cloudflare:accept": WSHook<[]>;
|
|
47
|
+
"cloudflare:message": WSHook<[event: any]>;
|
|
48
|
+
"cloudflare:error": WSHook<[event: any]>;
|
|
49
|
+
"cloudflare:close": WSHook<[event: any]>;
|
|
50
|
+
"deno:open": WSHook<[]>;
|
|
51
|
+
"deno:message": WSHook<[event: any]>;
|
|
52
|
+
"deno:close": WSHook<[]>;
|
|
53
|
+
"deno:error": WSHook<[error: any]>;
|
|
54
|
+
"node:open": WSHook<[]>;
|
|
55
|
+
"node:message": WSHook<[data: any, isBinary: boolean]>;
|
|
56
|
+
"node:close": WSHook<[code: number, reason: Buffer]>;
|
|
57
|
+
"node:error": WSHook<[error: any]>;
|
|
58
|
+
"node:ping": WSHook<[data: Buffer]>;
|
|
59
|
+
"node:pong": WSHook<[data: Buffer]>;
|
|
60
|
+
"node:unexpected-response": WSHook<[req: any, res: any]>;
|
|
61
|
+
"node:upgrade": WSHook<[req: any]>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type WebSocketAdapter<RT = any, OT = any> = (hooks: Partial<WebSocketHooks>, opts: OT) => RT;
|
|
65
|
+
declare function defineWebSocketAdapter<RT, OT>(factory: WebSocketAdapter<RT, OT>): WebSocketAdapter<RT, OT>;
|
|
66
|
+
|
|
67
|
+
export { type WebSocketAdapter, type WebSocketContext, WebSocketError, type WebSocketHooks, WebSocketMessage, WebSocketPeerBase, defineWebSocketAdapter, defineWebSocketHooks };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
declare class WebSocketError extends Error {
|
|
2
|
+
constructor(...args: any[]);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
declare class WebSocketMessage {
|
|
6
|
+
readonly rawData: string | ArrayBuffer | Uint8Array;
|
|
7
|
+
readonly isBinary?: boolean | undefined;
|
|
8
|
+
constructor(rawData: string | ArrayBuffer | Uint8Array, isBinary?: boolean | undefined);
|
|
9
|
+
text(): string;
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type ReadyState = 0 | 1 | 2 | 3;
|
|
14
|
+
interface WebSocketContext {
|
|
15
|
+
}
|
|
16
|
+
declare abstract class WebSocketPeerBase<T extends WebSocketContext = WebSocketContext> {
|
|
17
|
+
ctx: T;
|
|
18
|
+
constructor(ctx: T);
|
|
19
|
+
get id(): string | undefined;
|
|
20
|
+
get readyState(): ReadyState | -1;
|
|
21
|
+
abstract send(message: string | ArrayBuffer | Uint8Array, compress?: boolean): number;
|
|
22
|
+
toString(): string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type WSHook<ArgsT extends Array<any> = []> = (peer: WebSocketPeerBase, ...args: ArgsT) => void | Promise<void>;
|
|
26
|
+
declare function defineWebSocketHooks(hooks: Partial<WebSocketHooks>): Partial<WebSocketHooks>;
|
|
27
|
+
interface WebSocketHooks {
|
|
28
|
+
/** A message is received */
|
|
29
|
+
message: WSHook<[WebSocketMessage]>;
|
|
30
|
+
/** A socket is opened */
|
|
31
|
+
open: WSHook<[]>;
|
|
32
|
+
/** A socket is closed */
|
|
33
|
+
close: WSHook<[{
|
|
34
|
+
code?: number;
|
|
35
|
+
reason?: string;
|
|
36
|
+
}]>;
|
|
37
|
+
/** An error occurs */
|
|
38
|
+
error: WSHook<[WebSocketError]>;
|
|
39
|
+
"bun:message": WSHook<[ws: any, message: any]>;
|
|
40
|
+
"bun:open": WSHook<[ws: any]>;
|
|
41
|
+
"bun:close": WSHook<[ws: any]>;
|
|
42
|
+
"bun:drain": WSHook<[]>;
|
|
43
|
+
"bun:error": WSHook<[ws: any, error: any]>;
|
|
44
|
+
"bun:ping": WSHook<[ws: any, data: any]>;
|
|
45
|
+
"bun:pong": WSHook<[ws: any, data: any]>;
|
|
46
|
+
"cloudflare:accept": WSHook<[]>;
|
|
47
|
+
"cloudflare:message": WSHook<[event: any]>;
|
|
48
|
+
"cloudflare:error": WSHook<[event: any]>;
|
|
49
|
+
"cloudflare:close": WSHook<[event: any]>;
|
|
50
|
+
"deno:open": WSHook<[]>;
|
|
51
|
+
"deno:message": WSHook<[event: any]>;
|
|
52
|
+
"deno:close": WSHook<[]>;
|
|
53
|
+
"deno:error": WSHook<[error: any]>;
|
|
54
|
+
"node:open": WSHook<[]>;
|
|
55
|
+
"node:message": WSHook<[data: any, isBinary: boolean]>;
|
|
56
|
+
"node:close": WSHook<[code: number, reason: Buffer]>;
|
|
57
|
+
"node:error": WSHook<[error: any]>;
|
|
58
|
+
"node:ping": WSHook<[data: Buffer]>;
|
|
59
|
+
"node:pong": WSHook<[data: Buffer]>;
|
|
60
|
+
"node:unexpected-response": WSHook<[req: any, res: any]>;
|
|
61
|
+
"node:upgrade": WSHook<[req: any]>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type WebSocketAdapter<RT = any, OT = any> = (hooks: Partial<WebSocketHooks>, opts: OT) => RT;
|
|
65
|
+
declare function defineWebSocketAdapter<RT, OT>(factory: WebSocketAdapter<RT, OT>): WebSocketAdapter<RT, OT>;
|
|
66
|
+
|
|
67
|
+
export { type WebSocketAdapter, type WebSocketContext, WebSocketError, type WebSocketHooks, WebSocketMessage, WebSocketPeerBase, defineWebSocketAdapter, defineWebSocketHooks };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
declare class WebSocketError extends Error {
|
|
2
|
+
constructor(...args: any[]);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
declare class WebSocketMessage {
|
|
6
|
+
readonly rawData: string | ArrayBuffer | Uint8Array;
|
|
7
|
+
readonly isBinary?: boolean | undefined;
|
|
8
|
+
constructor(rawData: string | ArrayBuffer | Uint8Array, isBinary?: boolean | undefined);
|
|
9
|
+
text(): string;
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type ReadyState = 0 | 1 | 2 | 3;
|
|
14
|
+
interface WebSocketContext {
|
|
15
|
+
}
|
|
16
|
+
declare abstract class WebSocketPeerBase<T extends WebSocketContext = WebSocketContext> {
|
|
17
|
+
ctx: T;
|
|
18
|
+
constructor(ctx: T);
|
|
19
|
+
get id(): string | undefined;
|
|
20
|
+
get readyState(): ReadyState | -1;
|
|
21
|
+
abstract send(message: string | ArrayBuffer | Uint8Array, compress?: boolean): number;
|
|
22
|
+
toString(): string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type WSHook<ArgsT extends Array<any> = []> = (peer: WebSocketPeerBase, ...args: ArgsT) => void | Promise<void>;
|
|
26
|
+
declare function defineWebSocketHooks(hooks: Partial<WebSocketHooks>): Partial<WebSocketHooks>;
|
|
27
|
+
interface WebSocketHooks {
|
|
28
|
+
/** A message is received */
|
|
29
|
+
message: WSHook<[WebSocketMessage]>;
|
|
30
|
+
/** A socket is opened */
|
|
31
|
+
open: WSHook<[]>;
|
|
32
|
+
/** A socket is closed */
|
|
33
|
+
close: WSHook<[{
|
|
34
|
+
code?: number;
|
|
35
|
+
reason?: string;
|
|
36
|
+
}]>;
|
|
37
|
+
/** An error occurs */
|
|
38
|
+
error: WSHook<[WebSocketError]>;
|
|
39
|
+
"bun:message": WSHook<[ws: any, message: any]>;
|
|
40
|
+
"bun:open": WSHook<[ws: any]>;
|
|
41
|
+
"bun:close": WSHook<[ws: any]>;
|
|
42
|
+
"bun:drain": WSHook<[]>;
|
|
43
|
+
"bun:error": WSHook<[ws: any, error: any]>;
|
|
44
|
+
"bun:ping": WSHook<[ws: any, data: any]>;
|
|
45
|
+
"bun:pong": WSHook<[ws: any, data: any]>;
|
|
46
|
+
"cloudflare:accept": WSHook<[]>;
|
|
47
|
+
"cloudflare:message": WSHook<[event: any]>;
|
|
48
|
+
"cloudflare:error": WSHook<[event: any]>;
|
|
49
|
+
"cloudflare:close": WSHook<[event: any]>;
|
|
50
|
+
"deno:open": WSHook<[]>;
|
|
51
|
+
"deno:message": WSHook<[event: any]>;
|
|
52
|
+
"deno:close": WSHook<[]>;
|
|
53
|
+
"deno:error": WSHook<[error: any]>;
|
|
54
|
+
"node:open": WSHook<[]>;
|
|
55
|
+
"node:message": WSHook<[data: any, isBinary: boolean]>;
|
|
56
|
+
"node:close": WSHook<[code: number, reason: Buffer]>;
|
|
57
|
+
"node:error": WSHook<[error: any]>;
|
|
58
|
+
"node:ping": WSHook<[data: Buffer]>;
|
|
59
|
+
"node:pong": WSHook<[data: Buffer]>;
|
|
60
|
+
"node:unexpected-response": WSHook<[req: any, res: any]>;
|
|
61
|
+
"node:upgrade": WSHook<[req: any]>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type WebSocketAdapter<RT = any, OT = any> = (hooks: Partial<WebSocketHooks>, opts: OT) => RT;
|
|
65
|
+
declare function defineWebSocketAdapter<RT, OT>(factory: WebSocketAdapter<RT, OT>): WebSocketAdapter<RT, OT>;
|
|
66
|
+
|
|
67
|
+
export { type WebSocketAdapter, type WebSocketContext, WebSocketError, type WebSocketHooks, WebSocketMessage, WebSocketPeerBase, defineWebSocketAdapter, defineWebSocketHooks };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function defineWebSocketAdapter(factory) {
|
|
4
|
+
return factory;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
class WebSocketError extends Error {
|
|
8
|
+
constructor(...args) {
|
|
9
|
+
super(...args);
|
|
10
|
+
this.name = "WebSocketError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class WebSocketMessage {
|
|
15
|
+
constructor(rawData, isBinary) {
|
|
16
|
+
this.rawData = rawData;
|
|
17
|
+
this.isBinary = isBinary;
|
|
18
|
+
}
|
|
19
|
+
text() {
|
|
20
|
+
return this.rawData.toString();
|
|
21
|
+
}
|
|
22
|
+
toString() {
|
|
23
|
+
return `<WebSocketMessage: ${this.text()}>`;
|
|
24
|
+
}
|
|
25
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
26
|
+
return this.toString();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const ReadyStateMap = {
|
|
31
|
+
"-1": "unkown",
|
|
32
|
+
0: "connecting",
|
|
33
|
+
1: "open",
|
|
34
|
+
2: "closing",
|
|
35
|
+
3: "closed"
|
|
36
|
+
};
|
|
37
|
+
class WebSocketPeerBase {
|
|
38
|
+
constructor(ctx) {
|
|
39
|
+
this.ctx = ctx;
|
|
40
|
+
}
|
|
41
|
+
get id() {
|
|
42
|
+
return void 0;
|
|
43
|
+
}
|
|
44
|
+
get readyState() {
|
|
45
|
+
return -1;
|
|
46
|
+
}
|
|
47
|
+
toString() {
|
|
48
|
+
const readyState = ReadyStateMap[this.readyState];
|
|
49
|
+
return `<WebSocketPeer${this.id ? ` ${this.id}` : ""} (${readyState})>`;
|
|
50
|
+
}
|
|
51
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
52
|
+
return this.toString();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
exports.WebSocketError = WebSocketError;
|
|
57
|
+
exports.WebSocketMessage = WebSocketMessage;
|
|
58
|
+
exports.WebSocketPeerBase = WebSocketPeerBase;
|
|
59
|
+
exports.defineWebSocketAdapter = defineWebSocketAdapter;
|