Types
CustomEvent = ref object of Event
Event = ref object of RootObj ctype* {.jsget: "type".}: CAtom target* {.jsget.}: EventTarget currentTarget* {.jsget.}: EventTarget flags*: set[EventFlag] isTrusted* {.jsufget.}: bool
EventFlag = enum efStopPropagation, efStopImmediatePropagation, efCanceled, efInPassiveListener, efComposed, efInitialized, efDispatch
EventInit = object of JSDict bubbles* {.jsdefault.}: bool cancelable* {.jsdefault.}: bool composed* {.jsdefault.}: bool
EventTarget = ref object of RootObj
EventTargetHTMLElement = distinct EventTarget
EventTargetWindow = distinct EventTarget
InputEvent = ref object of UIEvent
InputEventInit = object of UIEventInit data* {.jsdefault.}: Option[string] isComposing* {.jsdefault.}: bool inputType* {.jsdefault.}: string
MessageEvent = ref object of Event
MessageEventInit = object of EventInit data* {.jsdefault: JS_NULL.}: JSValueConst
MouseEvent = ref object of UIEvent
MouseEventInit = object of EventModifierInit screenX* {.jsdefault.}: int32 screenY* {.jsdefault.}: int32 clientX* {.jsdefault.}: int32 clientY* {.jsdefault.}: int32 button* {.jsdefault.}: int16 buttons* {.jsdefault.}: uint16
SubmitEvent = ref object of Event
SubmitEventInit = object of EventInit submitter* {.jsdefault.}: EventTargetHTMLElement
Vars
getParentImpl: proc (ctx: JSContext; target: EventTarget; isLoad: bool): EventTarget {. nimcall, ...raises: [].}
isDefaultPassiveImpl: proc (target: EventTarget): bool {.nimcall, ...raises: [].}
isHTMLElementImpl: proc (target: EventTarget): bool {.nimcall, ...raises: [].}
isWindowImpl: proc (target: EventTarget): bool {.nimcall, ...raises: [].}
setEventImpl: proc (ctx: JSContext; event: Event): Event {.nimcall, ...raises: [].}
Procs
proc addEventGetSet(ctx: JSContext; classid: JSClassID; atoms: openArray[StaticAtom]): Opt[void] {....raises: [], tags: [], forbids: [].}
proc addEventGetSet(ctx: JSContext; obj: JSValueConst; atoms: openArray[StaticAtom]): Opt[void] {....raises: [], tags: [], forbids: [].}
proc addEventModule(ctx: JSContext): Opt[ tuple[eventCID, eventTargetCID: JSClassID]] {....raises: [], tags: [], forbids: [].}
proc dispatch(ctx: JSContext; target: EventTarget; event: Event; targetOverride = false): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc eventReflectGet(ctx: JSContext; this: JSValueConst; magic: cint): JSValue {. cdecl, ...raises: [], tags: [], forbids: [].}
proc eventReflectSet(ctx: JSContext; this, val: JSValueConst; magic: cint): JSValue {. cdecl, ...raises: [], tags: [RootEffect], forbids: [].}
proc eventReflectSet0(ctx: JSContext; target: EventTarget; val: JSValueConst; magic: cint; fun2: JSSetterMagicFunction; atom: StaticAtom; target2 = none(EventTarget)): JSValue {. ...raises: [], tags: [RootEffect], forbids: [].}
proc hasEventListener(eventTarget: EventTarget; ctype: CAtom): bool {. ...raises: [], tags: [], forbids: [].}
proc innerEventCreationSteps(event: Event; eventInitDict: EventInit) {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newCustomEvent(ctx: JSContext; ctype: CAtom; eventInitDict = CustomEventInit( detail: JSValue(u: JSValueUnion(int32: 0), tag: 2))): CustomEvent {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newEvent(ctype: CAtom; target: EventTarget; bubbles, cancelable: bool): Event {. ...raises: [], tags: [], forbids: [].}
proc newInputEvent(ctype: CAtom; eventInit = InputEventInit()): InputEvent {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newMessageEvent(ctx: JSContext; ctype: CAtom; eventInit = MessageEventInit( data: JSValue(u: JSValueUnion(int32: 0), tag: 2))): MessageEvent {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newMouseEvent(ctype: CAtom; eventInit = MouseEventInit()): MouseEvent {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newSubmitEvent(ctype: CAtom; eventInit = SubmitEventInit()): SubmitEvent {. ...raises: [], tags: [TimeEffect], forbids: [].}
proc newUIEvent(ctype: CAtom; eventInit = UIEventInit()): UIEvent {....raises: [], tags: [TimeEffect], forbids: [].}