///|
#external
type EventTarget
///|
pub extern "js" fn EventTarget::to_node(self : Self) -> @js.Nullable[Node] =
#| (x) => x instanceof Node ? x : null
///|
pub extern "js" fn EventTarget::to_clipboard(
self : Self
) -> @js.Nullable[Clipboard] =
#| (x) => x instanceof Clipboard ? x : null
///|
pub extern "js" fn EventTarget::add_event_listener(
self : Self,
type_ : String,
callback : Listener
) -> Unit =
#| (target, type, listener) => target.addEventListener(type, listener)
///|
pub extern "js" fn EventTarget::remove_event_listener(
self : Self,
type_ : String,
callback : Listener
) -> Unit =
#| (target, type, listener) => target.removeEventListener(type, listener)
///|
pub extern "js" fn EventTarget::dispatch_event(
self : Self,
event : Event
) -> Unit =
#| (target, event) => target.dispatchEvent(event)
///|
pub typealias (Event) -> Unit as Listener