// Do not edit. This file is generated.
// MoonBit type: DOMQuadInit
// Specifications: geometry.idl
///|
/// [DOMQuadInit](https://developer.mozilla.org/en-US/docs/Web/API/DOMQuadInit)
#external
pub type DOMQuadInit
///|
pub impl TJsValue for DOMQuadInit with to_js(self : DOMQuadInit) -> JsValue = "%identity"
///|
pub impl FromJsAny for DOMQuadInit with from_js_any(value : JsAny) -> DOMQuadInit = "%identity"
///|
pub fn DOMQuadInit::new(
p1? : DOMPointInit,
p2? : DOMPointInit,
p3? : DOMPointInit,
p4? : DOMPointInit,
) -> DOMQuadInit {
dom_quad_init_ffi(opt_to_js(p1), opt_to_js(p2), opt_to_js(p3), opt_to_js(p4))
}
///|
pub fn DOMQuadInit::empty() -> DOMQuadInit {
dom_quad_init_empty_ffi()
}
///|
pub fn DOMQuadInit::p1(self : DOMQuadInit) -> DOMPointInit? {
dom_quad_init_get_p1_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn DOMQuadInit::p2(self : DOMQuadInit) -> DOMPointInit? {
dom_quad_init_get_p2_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn DOMQuadInit::p3(self : DOMQuadInit) -> DOMPointInit? {
dom_quad_init_get_p3_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn DOMQuadInit::p4(self : DOMQuadInit) -> DOMPointInit? {
dom_quad_init_get_p4_ffi(TJsValue::to_js(self)).to_option()
}
///|
#cfg(target="js")
extern "js" fn dom_quad_init_ffi(
p1 : JsValue,
p2 : JsValue,
p3 : JsValue,
p4 : JsValue,
) -> DOMQuadInit =
#|(p1, p2, p3, p4) => {
#| const obj = {};
#| if (p1 !== undefined) obj.p1 = p1;
#| if (p2 !== undefined) obj.p2 = p2;
#| if (p3 !== undefined) obj.p3 = p3;
#| if (p4 !== undefined) obj.p4 = p4;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn dom_quad_init_empty_ffi() -> DOMQuadInit = "() => {}"
///|
#cfg(target="js")
extern "js" fn dom_quad_init_get_p1_ffi(obj : JsValue) -> JsValue = "(obj) => obj.p1"
///|
#cfg(target="js")
extern "js" fn dom_quad_init_get_p2_ffi(obj : JsValue) -> JsValue = "(obj) => obj.p2"
///|
#cfg(target="js")
extern "js" fn dom_quad_init_get_p3_ffi(obj : JsValue) -> JsValue = "(obj) => obj.p3"
///|
#cfg(target="js")
extern "js" fn dom_quad_init_get_p4_ffi(obj : JsValue) -> JsValue = "(obj) => obj.p4"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_ffi(
p1 : JsValue,
p2 : JsValue,
p3 : JsValue,
p4 : JsValue,
) -> DOMQuadInit = "webapi_DOMQuadInit" "new"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_empty_ffi() -> DOMQuadInit = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_get_p1_ffi(obj : JsValue) -> JsValue = "webapi_DOMQuadInit" "get_p1"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_get_p2_ffi(obj : JsValue) -> JsValue = "webapi_DOMQuadInit" "get_p2"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_get_p3_ffi(obj : JsValue) -> JsValue = "webapi_DOMQuadInit" "get_p3"
///|
#cfg(target="wasm-gc")
fn dom_quad_init_get_p4_ffi(obj : JsValue) -> JsValue = "webapi_DOMQuadInit" "get_p4"