diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2020-01-21 01:30:30 +1100 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-20 09:30:30 -0500 |
commit | 60b53fd6b6dc2af83a64c332b9f3a1926f43d631 (patch) | |
tree | 4f4ef1aadb8c79ef2319d728b9d5b132af40ef83 /cli/js/workers.ts | |
parent | 23e67eb5153bd26dbae471b27dc6a21a6d283b0b (diff) |
Use globalThis to reference global scope (#3719)
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli/js/workers.ts')
-rw-r--r-- | cli/js/workers.ts | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/cli/js/workers.ts b/cli/js/workers.ts index d1d8f78e2..7e8219e19 100644 --- a/cli/js/workers.ts +++ b/cli/js/workers.ts @@ -4,9 +4,9 @@ import * as dispatch from "./dispatch.ts"; import { sendAsync, sendSync } from "./dispatch_json.ts"; import { log, createResolvable, Resolvable } from "./util.ts"; import { TextDecoder, TextEncoder } from "./text_encoding.ts"; -import { window } from "./window.ts"; import { blobURLMap } from "./url.ts"; import { blobBytesWeakMap } from "./blob.ts"; +import { Event } from "./event.ts"; import { EventTarget } from "./event_target.ts"; const encoder = new TextEncoder(); @@ -106,16 +106,19 @@ export async function workerMain(): Promise<void> { const event = { data }; try { - result = window.onmessage(event); + if (!globalThis["onmessage"]) { + break; + } + result = globalThis.onmessage!(event); if (result && "then" in result) { await result; } - if (!window["onmessage"]) { + if (!globalThis["onmessage"]) { break; } } catch (e) { - if (window["onerror"]) { - const result = window.onerror( + if (globalThis["onerror"]) { + const result = globalThis.onerror( e.message, e.fileName, e.lineNumber, @@ -145,7 +148,7 @@ export interface Worker { export interface WorkerOptions {} /** Extended Deno Worker initialization options. - * `noDenoNamespace` hides global `window.Deno` namespace for + * `noDenoNamespace` hides global `globalThis.Deno` namespace for * spawned worker and nested workers spawned by it (default: false). */ export interface DenoWorkerOptions extends WorkerOptions { @@ -202,7 +205,9 @@ export class WorkerImpl extends EventTarget implements Worker { } private handleError(e: any): boolean { - const event = new window.Event("error", { cancelable: true }); + // TODO: this is being handled in a type unsafe way, it should be type safe + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const event = new Event("error", { cancelable: true }) as any; event.message = e.message; event.lineNumber = e.lineNumber ? e.lineNumber + 1 : null; event.columnNumber = e.columnNumber ? e.columnNumber + 1 : null; |