1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-30 11:16:38 -05:00
denoland-deno/cli/js/web/error_event.ts
2020-07-06 21:45:39 -04:00

68 lines
1.4 KiB
TypeScript

// 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 {
readonly #message: string;
readonly #filename: string;
readonly #lineno: number;
readonly #colno: number;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
readonly #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",
]);