32 lines
703 B
TypeScript
32 lines
703 B
TypeScript
interface CloseEventInit extends EventInit {
|
|
code?: number
|
|
reason?: string
|
|
wasClean?: boolean
|
|
}
|
|
|
|
/**
|
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent
|
|
*/
|
|
export const CloseEvent: typeof globalThis.CloseEvent =
|
|
globalThis.CloseEvent ??
|
|
class extends Event {
|
|
#eventInitDict
|
|
|
|
constructor(type: string, eventInitDict: CloseEventInit = {}) {
|
|
super(type, eventInitDict)
|
|
this.#eventInitDict = eventInitDict
|
|
}
|
|
|
|
get wasClean(): boolean {
|
|
return this.#eventInitDict.wasClean ?? false
|
|
}
|
|
|
|
get code(): number {
|
|
return this.#eventInitDict.code ?? 0
|
|
}
|
|
|
|
get reason(): string {
|
|
return this.#eventInitDict.reason ?? ''
|
|
}
|
|
}
|