func getIDElement(e js.Object) js.Object { for { attr := e.Get("dataset").Get(toDatasetProp(datasetAttrID)) if !attr.IsUndefined() { return e } e = e.Get("parentNode") if e.IsNull() || e.IsUndefined() { break } } return nil }
func wrapEvent(o js.Object) Event { if o.IsNull() || o.IsUndefined() { return nil } ev := &BasicEvent{o} c := o.Get("constructor") switch c { case js.Global.Get("AnimationEvent"): return &AnimationEvent{ev} case js.Global.Get("AudioProcessingEvent"): return &AudioProcessingEvent{ev} case js.Global.Get("BeforeInputEvent"): return &BeforeInputEvent{ev} case js.Global.Get("BeforeUnloadEvent"): return &BeforeUnloadEvent{ev} case js.Global.Get("BlobEvent"): return &BlobEvent{ev} case js.Global.Get("ClipboardEvent"): return &ClipboardEvent{ev} case js.Global.Get("CloseEvent"): return &CloseEvent{BasicEvent: ev} case js.Global.Get("CompositionEvent"): return &CompositionEvent{ev} case js.Global.Get("CSSFontFaceLoadEvent"): return &CSSFontFaceLoadEvent{ev} case js.Global.Get("CustomEvent"): return &CustomEvent{ev} case js.Global.Get("DeviceLightEvent"): return &DeviceLightEvent{ev} case js.Global.Get("DeviceMotionEvent"): return &DeviceMotionEvent{ev} case js.Global.Get("DeviceOrientationEvent"): return &DeviceOrientationEvent{ev} case js.Global.Get("DeviceProximityEvent"): return &DeviceProximityEvent{ev} case js.Global.Get("DOMTransactionEvent"): return &DOMTransactionEvent{ev} case js.Global.Get("DragEvent"): return &DragEvent{ev} case js.Global.Get("EditingBeforeInputEvent"): return &EditingBeforeInputEvent{ev} case js.Global.Get("ErrorEvent"): return &ErrorEvent{ev} case js.Global.Get("FocusEvent"): return &FocusEvent{ev} case js.Global.Get("GamepadEvent"): return &GamepadEvent{ev} case js.Global.Get("HashChangeEvent"): return &HashChangeEvent{ev} case js.Global.Get("IDBVersionChangeEvent"): return &IDBVersionChangeEvent{ev} case js.Global.Get("KeyboardEvent"): return &KeyboardEvent{BasicEvent: ev} case js.Global.Get("MediaStreamEvent"): return &MediaStreamEvent{ev} case js.Global.Get("MessageEvent"): return &MessageEvent{BasicEvent: ev} case js.Global.Get("MouseEvent"): return &MouseEvent{UIEvent: &UIEvent{ev}} case js.Global.Get("MutationEvent"): return &MutationEvent{ev} case js.Global.Get("OfflineAudioCompletionEvent"): return &OfflineAudioCompletionEvent{ev} case js.Global.Get("PageTransitionEvent"): return &PageTransitionEvent{ev} case js.Global.Get("PointerEvent"): return &PointerEvent{ev} case js.Global.Get("PopStateEvent"): return &PopStateEvent{ev} case js.Global.Get("ProgressEvent"): return &ProgressEvent{ev} case js.Global.Get("RelatedEvent"): return &RelatedEvent{ev} case js.Global.Get("RTCPeerConnectionIceEvent"): return &RTCPeerConnectionIceEvent{ev} case js.Global.Get("SensorEvent"): return &SensorEvent{ev} case js.Global.Get("StorageEvent"): return &StorageEvent{ev} case js.Global.Get("SVGEvent"): return &SVGEvent{ev} case js.Global.Get("SVGZoomEvent"): return &SVGZoomEvent{ev} case js.Global.Get("TimeEvent"): return &TimeEvent{ev} case js.Global.Get("TouchEvent"): return &TouchEvent{ev} case js.Global.Get("TrackEvent"): return &TrackEvent{ev} case js.Global.Get("TransitionEvent"): return &TransitionEvent{ev} case js.Global.Get("UIEvent"): return &UIEvent{ev} case js.Global.Get("UserProximityEvent"): return &UserProximityEvent{ev} case js.Global.Get("WheelEvent"): return &WheelEvent{BasicEvent: ev} default: return ev } }