mirror of
https://github.com/denoland/deno.git
synced 2024-11-01 09:24:20 -04:00
69 lines
1.3 KiB
TypeScript
69 lines
1.3 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 {
|
||
|
#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",
|
||
|
]);
|