diff options
Diffstat (limited to 'js/custom_event.ts')
-rw-r--r-- | js/custom_event.ts | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/js/custom_event.ts b/js/custom_event.ts deleted file mode 100644 index 922abd4b1..000000000 --- a/js/custom_event.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2018 the Deno authors. All rights reserved. MIT license. -import * as domTypes from "./dom_types.ts"; -import * as event from "./event.ts"; -import { getPrivateValue, requiredArguments } from "./util.ts"; - -// WeakMaps are recommended for private attributes (see MDN link below) -// https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Add-on_SDK/Guides/Contributor_s_Guide/Private_Properties#Using_WeakMaps -export const customEventAttributes = new WeakMap(); - -export class CustomEvent extends event.Event implements domTypes.CustomEvent { - constructor( - type: string, - customEventInitDict: domTypes.CustomEventInit = {} - ) { - requiredArguments("CustomEvent", arguments.length, 1); - super(type, customEventInitDict); - const { detail = null } = customEventInitDict; - customEventAttributes.set(this, { detail }); - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - get detail(): any { - return getPrivateValue(this, customEventAttributes, "detail"); - } - - initCustomEvent( - type: string, - bubbles?: boolean, - cancelable?: boolean, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - detail?: any - ): void { - if (this.dispatched) { - return; - } - - customEventAttributes.set(this, { detail }); - } - - get [Symbol.toStringTag](): string { - return "CustomEvent"; - } -} - -/** Built-in objects providing `get` methods for our - * interceptable JavaScript operations. - */ -Reflect.defineProperty(CustomEvent.prototype, "detail", { enumerable: true }); |