// Do not edit. This file is generated.
// MoonBit type: URLPatternResult
// Specifications: urlpattern.idl
///|
/// [URLPatternResult](https://developer.mozilla.org/en-US/docs/Web/API/URLPatternResult)
#external
pub type URLPatternResult
///|
pub impl TJsValue for URLPatternResult with to_js(self : URLPatternResult) -> JsValue = "%identity"
///|
pub impl FromJsAny for URLPatternResult with from_js_any(value : JsAny) -> URLPatternResult = "%identity"
///|
pub fn URLPatternResult::new(
inputs? : Array[URLPatternInput],
protocol? : URLPatternComponentResult,
username? : URLPatternComponentResult,
password? : URLPatternComponentResult,
hostname? : URLPatternComponentResult,
port? : URLPatternComponentResult,
pathname? : URLPatternComponentResult,
search? : URLPatternComponentResult,
hash? : URLPatternComponentResult,
) -> URLPatternResult {
url_pattern_result_ffi(
opt_to_js(inputs),
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),
)
}
///|
pub fn URLPatternResult::empty() -> URLPatternResult {
url_pattern_result_empty_ffi()
}
///|
pub fn URLPatternResult::inputs(
self : URLPatternResult,
) -> Array[URLPatternInput]? {
url_pattern_result_get_inputs_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::protocol(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_protocol_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::username(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_username_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::password(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_password_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::hostname(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_hostname_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::port(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_port_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::pathname(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_pathname_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::search(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_search_ffi(TJsValue::to_js(self)).to_option()
}
///|
pub fn URLPatternResult::hash(
self : URLPatternResult,
) -> URLPatternComponentResult? {
url_pattern_result_get_hash_ffi(TJsValue::to_js(self)).to_option()
}
///|
#cfg(target="js")
extern "js" fn url_pattern_result_ffi(
inputs : JsValue,
protocol : JsValue,
username : JsValue,
password : JsValue,
hostname : JsValue,
port : JsValue,
pathname : JsValue,
search : JsValue,
hash : JsValue,
) -> URLPatternResult =
#|(inputs, protocol, username, password, hostname, port, pathname, search, hash) => {
#| const obj = {};
#| if (inputs !== undefined) obj.inputs = inputs;
#| 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;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn url_pattern_result_empty_ffi() -> URLPatternResult = "() => {}"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_inputs_ffi(obj : JsValue) -> JsValue = "(obj) => obj.inputs"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_protocol_ffi(obj : JsValue) -> JsValue = "(obj) => obj.protocol"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_username_ffi(obj : JsValue) -> JsValue = "(obj) => obj.username"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_password_ffi(obj : JsValue) -> JsValue = "(obj) => obj.password"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_hostname_ffi(obj : JsValue) -> JsValue = "(obj) => obj.hostname"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_port_ffi(obj : JsValue) -> JsValue = "(obj) => obj.port"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_pathname_ffi(obj : JsValue) -> JsValue = "(obj) => obj.pathname"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_search_ffi(obj : JsValue) -> JsValue = "(obj) => obj.search"
///|
#cfg(target="js")
extern "js" fn url_pattern_result_get_hash_ffi(obj : JsValue) -> JsValue = "(obj) => obj.hash"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_ffi(
inputs : JsValue,
protocol : JsValue,
username : JsValue,
password : JsValue,
hostname : JsValue,
port : JsValue,
pathname : JsValue,
search : JsValue,
hash : JsValue,
) -> URLPatternResult = "webapi_URLPatternResult" "new"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_empty_ffi() -> URLPatternResult = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_inputs_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_inputs"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_protocol_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_protocol"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_username_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_username"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_password_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_password"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_hostname_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_hostname"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_port_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_port"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_pathname_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_pathname"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_search_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_search"
///|
#cfg(target="wasm-gc")
fn url_pattern_result_get_hash_ffi(obj : JsValue) -> JsValue = "webapi_URLPatternResult" "get_hash"