diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2020-05-11 22:28:13 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-11 14:28:13 +0200 |
commit | d16c7394cb052928d1ff9ae63cbb13811f264727 (patch) | |
tree | 426c88fa1df0c55091cddc93fa2e23999131dc7b /cli/js/web/error_event.ts | |
parent | 32aeec9630dc91162f0408b95dd86e1c26e4c1d3 (diff) |
fix: Expose ErrorEvent globally (#5222)
Diffstat (limited to 'cli/js/web/error_event.ts')
-rw-r--r-- | cli/js/web/error_event.ts | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/cli/js/web/error_event.ts b/cli/js/web/error_event.ts new file mode 100644 index 000000000..fbdd19fb5 --- /dev/null +++ b/cli/js/web/error_event.ts @@ -0,0 +1,68 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +import { EventImpl as Event } from "./event.ts"; +import { defineEnumerableProps } from "./util.ts"; + +export class ErrorEventImpl extends Event implements ErrorEvent { + #message: string; + #filename: string; + #lineno: number; + #colno: number; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + #error: any; + + get message(): string { + return this.#message; + } + get filename(): string { + return this.#filename; + } + get lineno(): number { + return this.#lineno; + } + get colno(): number { + return this.#colno; + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + get error(): any { + return this.#error; + } + + constructor( + type: string, + { + bubbles, + cancelable, + composed, + message = "", + filename = "", + lineno = 0, + colno = 0, + error = null, + }: ErrorEventInit = {} + ) { + super(type, { + bubbles: bubbles, + cancelable: cancelable, + composed: composed, + }); + + this.#message = message; + this.#filename = filename; + this.#lineno = lineno; + this.#colno = colno; + this.#error = error; + } + + get [Symbol.toStringTag](): string { + return "ErrorEvent"; + } +} + +defineEnumerableProps(ErrorEventImpl, [ + "message", + "filename", + "lineno", + "colno", + "error", +]); |