@wevu/web-apis
Version:
Web API polyfills and global installers for mini-program runtimes
59 lines (58 loc) • 1.87 kB
text/typescript
import { RequestGlobalsEventTarget } from "./shared.mjs";
import { WebSocketMiniProgramOptions } from "./networkDefaults.mjs";
import { BlobPolyfill } from "./web.mjs";
//#region src/websocket.d.ts
type WebSocketBinaryType = 'blob' | 'arraybuffer';
type WebSocketSendData = string | ArrayBuffer | ArrayBufferView | Blob;
type WebSocketMessageData = string | ArrayBuffer | Blob | BlobPolyfill;
interface WebSocketCloseEventLike {
code: number;
reason: string;
type: 'close';
wasClean: boolean;
}
interface WebSocketErrorEventLike {
error?: unknown;
message?: string;
type: 'error';
}
interface WebSocketMessageEventLike {
data: WebSocketMessageData;
origin: string;
type: 'message';
}
interface WebSocketPolyfillInit {
protocols?: string | string[];
miniProgram?: WebSocketMiniProgramOptions;
miniprogram?: WebSocketMiniProgramOptions;
}
declare class WebSocketPolyfill extends RequestGlobalsEventTarget {
static readonly CONNECTING = 0;
static readonly OPEN = 1;
static readonly CLOSING = 2;
static readonly CLOSED = 3;
readonly CONNECTING = 0;
readonly OPEN = 1;
readonly CLOSING = 2;
readonly CLOSED = 3;
readonly extensions = "";
readonly protocol = "";
readonly url: string;
binaryType: WebSocketBinaryType;
bufferedAmount: number;
readyState: number;
onclose: ((event: WebSocketCloseEventLike) => void) | null;
onerror: ((event: WebSocketErrorEventLike) => void) | null;
onmessage: ((event: WebSocketMessageEventLike) => void) | null;
onopen: ((event: {
type: 'open';
}) => void) | null;
private socketTask?;
constructor(url: string, protocols?: string | string[] | WebSocketPolyfillInit);
close(code?: number, reason?: string): void;
send(data: WebSocketSendData): void;
private closeFromRuntime;
private emitError;
}
//#endregion
export { WebSocketPolyfill, WebSocketPolyfillInit };