summaryrefslogtreecommitdiff
path: root/ext/websocket
diff options
context:
space:
mode:
authorud2 <sjx233@qq.com>2023-07-04 02:36:55 +0800
committerGitHub <noreply@github.com>2023-07-03 14:36:55 -0400
commitd632cce129cb7025a34cf0aa7262a38fb12f47c4 (patch)
tree6fe672badbe6ea0fb8a30ecc88b74c613aaa7370 /ext/websocket
parente8a866ca8a682b552722926161a7816c5cf94124 (diff)
fix(dts): make globals available on globalThis (#19438)
This PR changes Web IDL interfaces to be declared with `var` instead of `class`, so that accessing them via `globalThis` does not raise type errors. Closes #13390.
Diffstat (limited to 'ext/websocket')
-rw-r--r--ext/websocket/lib.deno_websocket.d.ts35
1 files changed, 21 insertions, 14 deletions
diff --git a/ext/websocket/lib.deno_websocket.d.ts b/ext/websocket/lib.deno_websocket.d.ts
index 208b30a6c..612440da2 100644
--- a/ext/websocket/lib.deno_websocket.d.ts
+++ b/ext/websocket/lib.deno_websocket.d.ts
@@ -1,20 +1,19 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
-// deno-lint-ignore-file no-explicit-any
+// deno-lint-ignore-file no-explicit-any no-var
/// <reference no-default-lib="true" />
/// <reference lib="esnext" />
/** @category Web Sockets */
-interface CloseEventInit extends EventInit {
+declare interface CloseEventInit extends EventInit {
code?: number;
reason?: string;
wasClean?: boolean;
}
/** @category Web Sockets */
-declare class CloseEvent extends Event {
- constructor(type: string, eventInitDict?: CloseEventInit);
+declare interface CloseEvent extends Event {
/**
* Returns the WebSocket connection close code provided by the server.
*/
@@ -29,8 +28,13 @@ declare class CloseEvent extends Event {
readonly wasClean: boolean;
}
+declare var CloseEvent: {
+ readonly prototype: CloseEvent;
+ new (type: string, eventInitDict?: CloseEventInit): CloseEvent;
+};
+
/** @category Web Sockets */
-interface WebSocketEventMap {
+declare interface WebSocketEventMap {
close: CloseEvent;
error: Event;
message: MessageEvent;
@@ -47,14 +51,7 @@ interface WebSocketEventMap {
* @tags allow-net
* @category Web Sockets
*/
-declare class WebSocket extends EventTarget {
- constructor(url: string | URL, protocols?: string | string[]);
-
- static readonly CLOSED: number;
- static readonly CLOSING: number;
- static readonly CONNECTING: number;
- static readonly OPEN: number;
-
+declare interface WebSocket extends EventTarget {
/**
* Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:
*
@@ -122,4 +119,14 @@ declare class WebSocket extends EventTarget {
}
/** @category Web Sockets */
-type BinaryType = "arraybuffer" | "blob";
+declare var WebSocket: {
+ readonly prototype: WebSocket;
+ new (url: string | URL, protocols?: string | string[]): WebSocket;
+ readonly CLOSED: number;
+ readonly CLOSING: number;
+ readonly CONNECTING: number;
+ readonly OPEN: number;
+};
+
+/** @category Web Sockets */
+declare type BinaryType = "arraybuffer" | "blob";