summaryrefslogtreecommitdiff
path: root/cli/tsc/dts/lib.deno.worker.d.ts
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 /cli/tsc/dts/lib.deno.worker.d.ts
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 'cli/tsc/dts/lib.deno.worker.d.ts')
-rw-r--r--cli/tsc/dts/lib.deno.worker.d.ts46
1 files changed, 38 insertions, 8 deletions
diff --git a/cli/tsc/dts/lib.deno.worker.d.ts b/cli/tsc/dts/lib.deno.worker.d.ts
index 752a427c9..b165f2086 100644
--- a/cli/tsc/dts/lib.deno.worker.d.ts
+++ b/cli/tsc/dts/lib.deno.worker.d.ts
@@ -7,13 +7,13 @@
/// <reference lib="deno.cache" />
/** @category Web Workers */
-interface WorkerGlobalScopeEventMap {
+declare interface WorkerGlobalScopeEventMap {
"error": ErrorEvent;
"unhandledrejection": PromiseRejectionEvent;
}
/** @category Web Workers */
-declare class WorkerGlobalScope extends EventTarget {
+declare interface WorkerGlobalScope extends EventTarget {
readonly location: WorkerLocation;
readonly navigator: WorkerNavigator;
onerror: ((this: WorkerGlobalScope, ev: ErrorEvent) => any) | null;
@@ -54,9 +54,14 @@ declare class WorkerGlobalScope extends EventTarget {
caches: CacheStorage;
}
+/** @category Web Workers */
+declare var WorkerGlobalScope: {
+ readonly prototype: WorkerGlobalScope;
+ new (): never;
+};
+
/** @category Web APIs */
-declare class WorkerNavigator {
- constructor();
+declare interface WorkerNavigator {
readonly hardwareConcurrency: number;
readonly userAgent: string;
readonly language: string;
@@ -64,16 +69,23 @@ declare class WorkerNavigator {
}
/** @category Web APIs */
+declare var WorkerNavigator: {
+ readonly prototype: WorkerNavigator;
+ new (): never;
+};
+
+/** @category Web APIs */
declare var navigator: WorkerNavigator;
/** @category Web Workers */
-interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {
+declare interface DedicatedWorkerGlobalScopeEventMap
+ extends WorkerGlobalScopeEventMap {
"message": MessageEvent;
"messageerror": MessageEvent;
}
/** @category Web APIs */
-declare class DedicatedWorkerGlobalScope extends WorkerGlobalScope {
+declare interface DedicatedWorkerGlobalScope extends WorkerGlobalScope {
readonly name: string;
onmessage:
| ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any)
@@ -112,6 +124,12 @@ declare class DedicatedWorkerGlobalScope extends WorkerGlobalScope {
): void;
}
+/** @category Web APIs */
+declare var DedicatedWorkerGlobalScope: {
+ readonly prototype: DedicatedWorkerGlobalScope;
+ new (): never;
+};
+
/** @category Web Workers */
declare var name: string;
/** @category Web Workers */
@@ -186,8 +204,7 @@ declare function removeEventListener(
*
* @category Web APIs
*/
-declare class WorkerLocation {
- constructor();
+declare interface WorkerLocation {
readonly hash: string;
readonly host: string;
readonly hostname: string;
@@ -202,5 +219,18 @@ declare class WorkerLocation {
// TODO(nayeemrmn): Move this to `extensions/web` where its implementation is.
// The types there must first be split into window, worker and global types.
+/** The absolute location of the script executed by the Worker. Such an object
+ * is initialized for each worker and is available via the
+ * WorkerGlobalScope.location property obtained by calling self.location.
+ *
+ * @category Web APIs
+ */
+declare var WorkerLocation: {
+ readonly prototype: WorkerLocation;
+ new (): never;
+};
+
+// TODO(nayeemrmn): Move this to `extensions/web` where its implementation is.
+// The types there must first be split into window, worker and global types.
/** @category Web APIs */
declare var location: WorkerLocation;