// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/input-events
///|
/// InputEventInit dictionary
pub(all) struct InputEventInit {
dataTransfer : Nullable[DataTransfer]
targetRanges : Array[StaticRange]?
data : Nullable[String]
isComposing : Bool?
inputType : String?
}
///|
/// Create a new InputEventInit with default values
pub fn InputEventInit::default() -> InputEventInit {
InputEventInit::{
dataTransfer: Nullable::Undefined,
targetRanges: None,
data: Nullable::Undefined,
isComposing: None,
inputType: None,
}
}
///|
extern "js" fn InputEventInit::to_js_ffi(self : InputEventInit) -> JsValue =
#| (self) => ({
#| dataTransfer: ((() => { const v = self.dataTransfer; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })()),
#| targetRanges: ((() => { const v = self.targetRanges; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| data: ((() => { const v = self.data; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })()),
#| isComposing: (self.isComposing === -1 ? undefined : self.isComposing),
#| inputType: self.inputType
#| })
///|
/// Convert to JsValue
pub fn InputEventInit::to_js(self : InputEventInit) -> JsValue {
InputEventInit::to_js_ffi(self)
}
///|
extern "js" fn InputEventInit::from_js_ffi(value : JsValue) -> InputEventInit =
#| (v) => ({
#| dataTransfer: (v.dataTransfer === undefined ? { $tag: 0 } : v.dataTransfer === null ? { $tag: 1 } : { $tag: 2, _0: v.dataTransfer }),
#| targetRanges: (v.targetRanges === undefined ? { $tag: 0 } : { $tag: 1, _0: v.targetRanges }),
#| data: (v.data === undefined ? { $tag: 0 } : v.data === null ? { $tag: 1 } : { $tag: 2, _0: v.data }),
#| isComposing: (v.isComposing === undefined ? -1 : v.isComposing),
#| inputType: v.inputType
#| })
///|
/// Convert from JsValue
pub fn InputEventInit::from_js(value : JsValue) -> InputEventInit {
InputEventInit::from_js_ffi(value)
}