// Do not edit. This file is generated.
// MoonBit type: CSSStyleSheetInit
// Specifications: cssom.idl
///|
/// [CSSStyleSheetInit](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheetInit)
#external
pub type CSSStyleSheetInit
///|
pub impl TJsValue for CSSStyleSheetInit with to_js(self : CSSStyleSheetInit) -> JsValue = "%identity"
///|
pub impl FromJsAny for CSSStyleSheetInit with from_js_any(value : JsAny) -> CSSStyleSheetInit = "%identity"
///|
pub(open) trait TCSSStyleSheetInitNewMedia: TJsValue {}
///|
pub impl TCSSStyleSheetInitNewMedia for MediaList
///|
pub impl TCSSStyleSheetInitNewMedia for String
///|
pub fn CSSStyleSheetInit::new(
base_url? : String,
media? : &TCSSStyleSheetInitNewMedia,
disabled? : Bool,
) -> CSSStyleSheetInit {
css_style_sheet_init_ffi(
opt_to_js(base_url),
match media {
Some(v) => v.to_js()
None => JsValue::undefined()
},
opt_to_js(disabled),
)
}
///|
pub fn CSSStyleSheetInit::empty() -> CSSStyleSheetInit {
css_style_sheet_init_empty_ffi()
}
///|
pub(open) trait TCSSStyleSheetInitGetMedia: TJsValue {}
///|
pub impl TCSSStyleSheetInitGetMedia for MediaList
///|
pub impl TCSSStyleSheetInitGetMedia for String
///|
#external
pub type CSSStyleSheetInitGetMedia
///|
pub impl TJsValue for CSSStyleSheetInitGetMedia with to_js(
self : CSSStyleSheetInitGetMedia,
) -> JsValue = "%identity"
///|
pub impl FromJsAny for CSSStyleSheetInitGetMedia with from_js_any(value : JsAny) -> CSSStyleSheetInitGetMedia = "%identity"
///|
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TCSSStyleSheetInitGetMedia + FromJsAny] CSSStyleSheetInitGetMedia::into(
self : CSSStyleSheetInitGetMedia,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TCSSStyleSheetInitGetMedia + FromJsAny] CSSStyleSheetInitGetMedia::unsafe_into(
self : CSSStyleSheetInitGetMedia,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TCSSStyleSheetInitGetMedia] CSSStyleSheetInitGetMedia::from(
value : T,
) -> CSSStyleSheetInitGetMedia = "%identity"
///|
pub impl TCSSStyleSheetInitGetMedia for CSSStyleSheetInitGetMedia
///|
pub fn CSSStyleSheetInit::base_url(self : CSSStyleSheetInit) -> String? {
css_style_sheet_init_get_base_url_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn CSSStyleSheetInit::media(
self : CSSStyleSheetInit,
) -> CSSStyleSheetInitGetMedia? {
css_style_sheet_init_get_media_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn CSSStyleSheetInit::disabled(self : CSSStyleSheetInit) -> Bool? {
css_style_sheet_init_get_disabled_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
#cfg(target="js")
extern "js" fn css_style_sheet_init_ffi(
base_url : JsValue,
media : JsValue,
disabled : JsValue,
) -> CSSStyleSheetInit =
#|(baseURL, media, disabled) => {
#| const obj = {};
#| if (baseURL !== undefined) obj.baseURL = baseURL;
#| if (media !== undefined) obj.media = media;
#| if (disabled !== undefined) obj.disabled = disabled;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn css_style_sheet_init_empty_ffi() -> CSSStyleSheetInit = "() => {}"
///|
#cfg(target="js")
extern "js" fn css_style_sheet_init_get_base_url_ffi(obj : JsValue) -> JsValue = "(obj) => obj.baseURL"
///|
#cfg(target="js")
extern "js" fn css_style_sheet_init_get_media_ffi(obj : JsValue) -> JsValue = "(obj) => obj.media"
///|
#cfg(target="js")
extern "js" fn css_style_sheet_init_get_disabled_ffi(obj : JsValue) -> JsValue = "(obj) => obj.disabled"
///|
#cfg(target="wasm-gc")
fn css_style_sheet_init_ffi(
base_url : JsValue,
media : JsValue,
disabled : JsValue,
) -> CSSStyleSheetInit = "webapi_CSSStyleSheetInit" "new"
///|
#cfg(target="wasm-gc")
fn css_style_sheet_init_empty_ffi() -> CSSStyleSheetInit = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn css_style_sheet_init_get_base_url_ffi(obj : JsValue) -> JsValue = "webapi_CSSStyleSheetInit" "get_baseURL"
///|
#cfg(target="wasm-gc")
fn css_style_sheet_init_get_media_ffi(obj : JsValue) -> JsValue = "webapi_CSSStyleSheetInit" "get_media"
///|
#cfg(target="wasm-gc")
fn css_style_sheet_init_get_disabled_ffi(obj : JsValue) -> JsValue = "webapi_CSSStyleSheetInit" "get_disabled"