// Do not edit. This file is generated.
// MoonBit type: URLPatternInit
// Specifications: urlpattern.idl
///|
/// [URLPatternInit](https://developer.mozilla.org/en-US/docs/Web/API/URLPatternInit)
#external
pub type URLPatternInit
///|
pub impl TJsValue for URLPatternInit with to_js(self : URLPatternInit) -> JsValue = "%identity"
///|
pub impl FromJsAny for URLPatternInit with from_js_any(value : JsAny) -> URLPatternInit = "%identity"
///|
pub fn URLPatternInit::new(
protocol? : String,
username? : String,
password? : String,
hostname? : String,
port? : String,
pathname? : String,
search? : String,
hash? : String,
base_url? : String,
) -> URLPatternInit {
url_pattern_init_ffi(
opt_to_js(protocol),
opt_to_js(username),
opt_to_js(password),
opt_to_js(hostname),
opt_to_js(port),
opt_to_js(pathname),
opt_to_js(search),
opt_to_js(hash),
opt_to_js(base_url),
)
}
///|
pub fn URLPatternInit::empty() -> URLPatternInit {
url_pattern_init_empty_ffi()
}
///|
pub fn URLPatternInit::protocol(self : URLPatternInit) -> String? {
url_pattern_init_get_protocol_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::username(self : URLPatternInit) -> String? {
url_pattern_init_get_username_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::password(self : URLPatternInit) -> String? {
url_pattern_init_get_password_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::hostname(self : URLPatternInit) -> String? {
url_pattern_init_get_hostname_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::port(self : URLPatternInit) -> String? {
url_pattern_init_get_port_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::pathname(self : URLPatternInit) -> String? {
url_pattern_init_get_pathname_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::search(self : URLPatternInit) -> String? {
url_pattern_init_get_search_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::hash(self : URLPatternInit) -> String? {
url_pattern_init_get_hash_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn URLPatternInit::base_url(self : URLPatternInit) -> String? {
url_pattern_init_get_base_url_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
#cfg(target="js")
extern "js" fn url_pattern_init_ffi(
protocol : JsValue,
username : JsValue,
password : JsValue,
hostname : JsValue,
port : JsValue,
pathname : JsValue,
search : JsValue,
hash : JsValue,
base_url : JsValue,
) -> URLPatternInit =
#|(protocol, username, password, hostname, port, pathname, search, hash, baseURL) => {
#| const obj = {};
#| if (protocol !== undefined) obj.protocol = protocol;
#| if (username !== undefined) obj.username = username;
#| if (password !== undefined) obj.password = password;
#| if (hostname !== undefined) obj.hostname = hostname;
#| if (port !== undefined) obj.port = port;
#| if (pathname !== undefined) obj.pathname = pathname;
#| if (search !== undefined) obj.search = search;
#| if (hash !== undefined) obj.hash = hash;
#| if (baseURL !== undefined) obj.baseURL = baseURL;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn url_pattern_init_empty_ffi() -> URLPatternInit = "() => {}"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_protocol_ffi(obj : JsValue) -> JsValue = "(obj) => obj.protocol"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_username_ffi(obj : JsValue) -> JsValue = "(obj) => obj.username"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_password_ffi(obj : JsValue) -> JsValue = "(obj) => obj.password"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_hostname_ffi(obj : JsValue) -> JsValue = "(obj) => obj.hostname"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_port_ffi(obj : JsValue) -> JsValue = "(obj) => obj.port"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_pathname_ffi(obj : JsValue) -> JsValue = "(obj) => obj.pathname"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_search_ffi(obj : JsValue) -> JsValue = "(obj) => obj.search"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_hash_ffi(obj : JsValue) -> JsValue = "(obj) => obj.hash"
///|
#cfg(target="js")
extern "js" fn url_pattern_init_get_base_url_ffi(obj : JsValue) -> JsValue = "(obj) => obj.baseURL"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_ffi(
protocol : JsValue,
username : JsValue,
password : JsValue,
hostname : JsValue,
port : JsValue,
pathname : JsValue,
search : JsValue,
hash : JsValue,
base_url : JsValue,
) -> URLPatternInit = "webapi_URLPatternInit" "new"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_empty_ffi() -> URLPatternInit = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_protocol_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_protocol"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_username_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_username"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_password_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_password"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_hostname_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_hostname"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_port_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_port"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_pathname_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_pathname"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_search_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_search"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_hash_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_hash"
///|
#cfg(target="wasm-gc")
fn url_pattern_init_get_base_url_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternInit" "get_baseURL"