enable type declarations

This commit is contained in:
Jonas Kruckenberg
2022-12-18 17:05:10 +01:00
parent 093001d876
commit 063a3cfd54
12 changed files with 579 additions and 1 deletions
+18
View File
@@ -0,0 +1,18 @@
export interface MessageKind<T, D> {
type: T;
data: D;
}
export interface CloseFrame {
code: number;
reason: string;
}
export type Message = MessageKind<"Text", string> | MessageKind<"Binary", number[]> | MessageKind<"Ping", number[]> | MessageKind<"Pong", number[]> | MessageKind<"Close", CloseFrame | null>;
export default class WebSocket {
id: number;
private readonly listeners;
constructor(id: number, listeners: Array<(arg: Message) => void>);
static connect(url: string, options?: unknown): Promise<WebSocket>;
addListener(cb: (arg: Message) => void): void;
send(message: Message | string | number[]): Promise<void>;
disconnect(): Promise<void>;
}