summaryrefslogtreecommitdiff
path: root/cli/js/web/error_event.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/web/error_event.ts')
-rw-r--r--cli/js/web/error_event.ts68
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",
+]);