// Do not edit. This file is generated.
// MoonBit type: ValidityStateFlags
// Specifications: html.idl
///|
/// [ValidityStateFlags](https://developer.mozilla.org/en-US/docs/Web/API/ValidityStateFlags)
#external
pub type ValidityStateFlags
///|
pub impl TJsValue for ValidityStateFlags with to_js(self : ValidityStateFlags) -> JsValue = "%identity"
///|
pub impl FromJsAny for ValidityStateFlags with from_js_any(value : JsAny) -> ValidityStateFlags = "%identity"
///|
pub fn ValidityStateFlags::new(
value_missing? : Bool,
type_mismatch? : Bool,
pattern_mismatch? : Bool,
too_long? : Bool,
too_short? : Bool,
range_underflow? : Bool,
range_overflow? : Bool,
step_mismatch? : Bool,
bad_input? : Bool,
custom_error? : Bool,
) -> ValidityStateFlags {
validity_state_flags_ffi(
opt_to_js(value_missing),
opt_to_js(type_mismatch),
opt_to_js(pattern_mismatch),
opt_to_js(too_long),
opt_to_js(too_short),
opt_to_js(range_underflow),
opt_to_js(range_overflow),
opt_to_js(step_mismatch),
opt_to_js(bad_input),
opt_to_js(custom_error),
)
}
///|
pub fn ValidityStateFlags::empty() -> ValidityStateFlags {
validity_state_flags_empty_ffi()
}
///|
pub fn ValidityStateFlags::value_missing(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_value_missing_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::type_mismatch(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_type_mismatch_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::pattern_mismatch(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_pattern_mismatch_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::too_long(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_too_long_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::too_short(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_too_short_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::range_underflow(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_range_underflow_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::range_overflow(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_range_overflow_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::step_mismatch(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_step_mismatch_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::bad_input(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_bad_input_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn ValidityStateFlags::custom_error(self : ValidityStateFlags) -> Bool? {
validity_state_flags_get_custom_error_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
#cfg(target="js")
extern "js" fn validity_state_flags_ffi(
value_missing : JsValue,
type_mismatch : JsValue,
pattern_mismatch : JsValue,
too_long : JsValue,
too_short : JsValue,
range_underflow : JsValue,
range_overflow : JsValue,
step_mismatch : JsValue,
bad_input : JsValue,
custom_error : JsValue,
) -> ValidityStateFlags =
#|(valueMissing, typeMismatch, patternMismatch, tooLong, tooShort, rangeUnderflow, rangeOverflow, stepMismatch, badInput, customError) => {
#| const obj = {};
#| if (valueMissing !== undefined) obj.valueMissing = valueMissing;
#| if (typeMismatch !== undefined) obj.typeMismatch = typeMismatch;
#| if (patternMismatch !== undefined) obj.patternMismatch = patternMismatch;
#| if (tooLong !== undefined) obj.tooLong = tooLong;
#| if (tooShort !== undefined) obj.tooShort = tooShort;
#| if (rangeUnderflow !== undefined) obj.rangeUnderflow = rangeUnderflow;
#| if (rangeOverflow !== undefined) obj.rangeOverflow = rangeOverflow;
#| if (stepMismatch !== undefined) obj.stepMismatch = stepMismatch;
#| if (badInput !== undefined) obj.badInput = badInput;
#| if (customError !== undefined) obj.customError = customError;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn validity_state_flags_empty_ffi() -> ValidityStateFlags = "() => {}"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_value_missing_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.valueMissing"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_type_mismatch_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.typeMismatch"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_pattern_mismatch_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.patternMismatch"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_too_long_ffi(obj : JsValue) -> JsValue = "(obj) => obj.tooLong"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_too_short_ffi(obj : JsValue) -> JsValue = "(obj) => obj.tooShort"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_range_underflow_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.rangeUnderflow"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_range_overflow_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.rangeOverflow"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_step_mismatch_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.stepMismatch"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_bad_input_ffi(obj : JsValue) -> JsValue = "(obj) => obj.badInput"
///|
#cfg(target="js")
extern "js" fn validity_state_flags_get_custom_error_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.customError"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_ffi(
value_missing : JsValue,
type_mismatch : JsValue,
pattern_mismatch : JsValue,
too_long : JsValue,
too_short : JsValue,
range_underflow : JsValue,
range_overflow : JsValue,
step_mismatch : JsValue,
bad_input : JsValue,
custom_error : JsValue,
) -> ValidityStateFlags = "webapi_ValidityStateFlags" "new"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_empty_ffi() -> ValidityStateFlags = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_value_missing_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_valueMissing"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_type_mismatch_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_typeMismatch"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_pattern_mismatch_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_patternMismatch"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_too_long_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_tooLong"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_too_short_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_tooShort"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_range_underflow_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_rangeUnderflow"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_range_overflow_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_rangeOverflow"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_step_mismatch_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_stepMismatch"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_bad_input_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_badInput"
///|
#cfg(target="wasm-gc")
fn validity_state_flags_get_custom_error_ffi(obj : JsValue) -> JsValue = "webapi_ValidityStateFlags" "get_customError"