// Do not edit. This file is generated.
// MoonBit type: Request
// Specifications: fetch.idl
///|
/// [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request)
#external
pub type Request
///|
pub impl TJsValue for Request with to_js(self : Request) -> JsValue = "%identity"
///|
pub impl FromJsAny for Request with from_js_any(value : JsAny) -> Request = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// Prefer `try_into()` for checked downcasts.
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TRequest] Request::into(self : Request) -> T = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// WARNING: If the underlying JS value is not of type T, this will silently
/// produce a value with incorrect type, leading to undefined behavior.
pub fn[T : TRequest] Request::unsafe_into(self : Request) -> T = "%identity"
///|
pub impl HasConstructor for Request with constructor_name() {
"Request"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TRequest + HasConstructor] Request::try_into(self : Request) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TRequest for Request
///|
pub fn Request::new(input : &TRequestInfo, init? : RequestInit) -> Request {
request_new_ffi(input.to_js(), opt_to_js(init))
}
///|
/// [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) interface.
pub trait TRequest: TJsValue {
method_(self : Self) -> String = _
url(self : Self) -> String = _
headers(self : Self) -> Headers = _
destination(self : Self) -> RequestDestination = _
referrer(self : Self) -> String = _
referrer_policy(self : Self) -> ReferrerPolicy = _
mode(self : Self) -> RequestMode = _
credentials(self : Self) -> RequestCredentials = _
cache(self : Self) -> RequestCache = _
redirect(self : Self) -> RequestRedirect = _
integrity(self : Self) -> String = _
keepalive(self : Self) -> Bool = _
is_reload_navigation(self : Self) -> Bool = _
is_history_navigation(self : Self) -> Bool = _
signal(self : Self) -> AbortSignal = _
duplex(self : Self) -> RequestDuplex = _
clone(self : Self) -> Request = _
body(self : Self) -> ReadableStream = _
body_used(self : Self) -> Bool = _
array_buffer(self : Self) -> JsPromise[ArrayBuffer] = _
blob(self : Self) -> JsPromise[Blob] = _
bytes(self : Self) -> JsPromise[Uint8Array] = _
form_data(self : Self) -> JsPromise[FormData] = _
json(self : Self) -> JsPromise[JsValue] = _
text(self : Self) -> JsPromise[String] = _
}
///|
/// [Request.method](https://developer.mozilla.org/en-US/docs/Web/API/Request/method)
impl TRequest with method_(self : Self) -> String {
request_method_ffi(TJsValue::to_js(self))
}
///|
/// [Request.url](https://developer.mozilla.org/en-US/docs/Web/API/Request/url)
impl TRequest with url(self : Self) -> String {
request_url_ffi(TJsValue::to_js(self))
}
///|
/// [Request.headers](https://developer.mozilla.org/en-US/docs/Web/API/Request/headers)
impl TRequest with headers(self : Self) -> Headers {
request_headers_ffi(TJsValue::to_js(self))
}
///|
/// [Request.destination](https://developer.mozilla.org/en-US/docs/Web/API/Request/destination)
impl TRequest with destination(self : Self) -> RequestDestination {
request_destination_ffi(TJsValue::to_js(self))
}
///|
/// [Request.referrer](https://developer.mozilla.org/en-US/docs/Web/API/Request/referrer)
impl TRequest with referrer(self : Self) -> String {
request_referrer_ffi(TJsValue::to_js(self))
}
///|
/// [Request.referrerPolicy](https://developer.mozilla.org/en-US/docs/Web/API/Request/referrerPolicy)
impl TRequest with referrer_policy(self : Self) -> ReferrerPolicy {
request_referrer_policy_ffi(TJsValue::to_js(self))
}
///|
/// [Request.mode](https://developer.mozilla.org/en-US/docs/Web/API/Request/mode)
impl TRequest with mode(self : Self) -> RequestMode {
request_mode_ffi(TJsValue::to_js(self))
}
///|
/// [Request.credentials](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials)
impl TRequest with credentials(self : Self) -> RequestCredentials {
request_credentials_ffi(TJsValue::to_js(self))
}
///|
/// [Request.cache](https://developer.mozilla.org/en-US/docs/Web/API/Request/cache)
impl TRequest with cache(self : Self) -> RequestCache {
request_cache_ffi(TJsValue::to_js(self))
}
///|
/// [Request.redirect](https://developer.mozilla.org/en-US/docs/Web/API/Request/redirect)
impl TRequest with redirect(self : Self) -> RequestRedirect {
request_redirect_ffi(TJsValue::to_js(self))
}
///|
/// [Request.integrity](https://developer.mozilla.org/en-US/docs/Web/API/Request/integrity)
impl TRequest with integrity(self : Self) -> String {
request_integrity_ffi(TJsValue::to_js(self))
}
///|
/// [Request.keepalive](https://developer.mozilla.org/en-US/docs/Web/API/Request/keepalive)
impl TRequest with keepalive(self : Self) -> Bool {
request_keepalive_ffi(TJsValue::to_js(self))
}
///|
/// [Request.isReloadNavigation](https://developer.mozilla.org/en-US/docs/Web/API/Request/isReloadNavigation)
impl TRequest with is_reload_navigation(self : Self) -> Bool {
request_is_reload_navigation_ffi(TJsValue::to_js(self))
}
///|
/// [Request.isHistoryNavigation](https://developer.mozilla.org/en-US/docs/Web/API/Request/isHistoryNavigation)
impl TRequest with is_history_navigation(self : Self) -> Bool {
request_is_history_navigation_ffi(TJsValue::to_js(self))
}
///|
/// [Request.signal](https://developer.mozilla.org/en-US/docs/Web/API/Request/signal)
impl TRequest with signal(self : Self) -> AbortSignal {
request_signal_ffi(TJsValue::to_js(self))
}
///|
/// [Request.duplex](https://developer.mozilla.org/en-US/docs/Web/API/Request/duplex)
impl TRequest with duplex(self : Self) -> RequestDuplex {
request_duplex_ffi(TJsValue::to_js(self))
}
///|
/// [Request.clone](https://developer.mozilla.org/en-US/docs/Web/API/Request/clone)
impl TRequest with clone(self : Self) -> Request {
request_clone_ffi(TJsValue::to_js(self))
}
///|
/// [Request.body](https://developer.mozilla.org/en-US/docs/Web/API/Request/body)
impl TRequest with body(self : Self) -> ReadableStream {
request_body_ffi(TJsValue::to_js(self))
}
///|
/// [Request.bodyUsed](https://developer.mozilla.org/en-US/docs/Web/API/Request/bodyUsed)
impl TRequest with body_used(self : Self) -> Bool {
request_body_used_ffi(TJsValue::to_js(self))
}
///|
/// [Request.arrayBuffer](https://developer.mozilla.org/en-US/docs/Web/API/Request/arrayBuffer)
impl TRequest with array_buffer(self : Self) -> JsPromise[ArrayBuffer] {
request_array_buffer_ffi(TJsValue::to_js(self))
}
///|
/// [Request.blob](https://developer.mozilla.org/en-US/docs/Web/API/Request/blob)
impl TRequest with blob(self : Self) -> JsPromise[Blob] {
request_blob_ffi(TJsValue::to_js(self))
}
///|
/// [Request.bytes](https://developer.mozilla.org/en-US/docs/Web/API/Request/bytes)
impl TRequest with bytes(self : Self) -> JsPromise[Uint8Array] {
request_bytes_ffi(TJsValue::to_js(self))
}
///|
/// [Request.formData](https://developer.mozilla.org/en-US/docs/Web/API/Request/formData)
impl TRequest with form_data(self : Self) -> JsPromise[FormData] {
request_form_data_ffi(TJsValue::to_js(self))
}
///|
/// [Request.json](https://developer.mozilla.org/en-US/docs/Web/API/Request/json)
impl TRequest with json(self : Self) -> JsPromise[JsValue] {
request_json_ffi(TJsValue::to_js(self))
}
///|
/// [Request.text](https://developer.mozilla.org/en-US/docs/Web/API/Request/text)
impl TRequest with text(self : Self) -> JsPromise[String] {
request_text_ffi(TJsValue::to_js(self))
}
///|
#cfg(target="js")
extern "js" fn request_new_ffi(input : JsValue, init : JsValue) -> Request = "(input, init) => new Request(input, init)"
///|
#cfg(target="js")
extern "js" fn request_method_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.method"
///|
#cfg(target="js")
fn request_method_ffi(obj : JsValue) -> String {
request_method_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_url_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.url"
///|
#cfg(target="js")
fn request_url_ffi(obj : JsValue) -> String {
request_url_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_headers_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.headers"
///|
#cfg(target="js")
fn request_headers_ffi(obj : JsValue) -> Headers {
request_headers_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_destination_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.destination"
///|
#cfg(target="js")
fn request_destination_ffi(obj : JsValue) -> RequestDestination {
RequestDestination::from_unchecked(
request_destination_ffi_js(obj).unsafe_cast(),
)
}
///|
#cfg(target="js")
extern "js" fn request_referrer_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.referrer"
///|
#cfg(target="js")
fn request_referrer_ffi(obj : JsValue) -> String {
request_referrer_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_referrer_policy_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.referrerPolicy"
///|
#cfg(target="js")
fn request_referrer_policy_ffi(obj : JsValue) -> ReferrerPolicy {
ReferrerPolicy::from_unchecked(
request_referrer_policy_ffi_js(obj).unsafe_cast(),
)
}
///|
#cfg(target="js")
extern "js" fn request_mode_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.mode"
///|
#cfg(target="js")
fn request_mode_ffi(obj : JsValue) -> RequestMode {
RequestMode::from_unchecked(request_mode_ffi_js(obj).unsafe_cast())
}
///|
#cfg(target="js")
extern "js" fn request_credentials_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.credentials"
///|
#cfg(target="js")
fn request_credentials_ffi(obj : JsValue) -> RequestCredentials {
RequestCredentials::from_unchecked(
request_credentials_ffi_js(obj).unsafe_cast(),
)
}
///|
#cfg(target="js")
extern "js" fn request_cache_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.cache"
///|
#cfg(target="js")
fn request_cache_ffi(obj : JsValue) -> RequestCache {
RequestCache::from_unchecked(request_cache_ffi_js(obj).unsafe_cast())
}
///|
#cfg(target="js")
extern "js" fn request_redirect_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.redirect"
///|
#cfg(target="js")
fn request_redirect_ffi(obj : JsValue) -> RequestRedirect {
RequestRedirect::from_unchecked(request_redirect_ffi_js(obj).unsafe_cast())
}
///|
#cfg(target="js")
extern "js" fn request_integrity_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.integrity"
///|
#cfg(target="js")
fn request_integrity_ffi(obj : JsValue) -> String {
request_integrity_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_keepalive_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.keepalive"
///|
#cfg(target="js")
fn request_keepalive_ffi(obj : JsValue) -> Bool {
request_keepalive_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_is_reload_navigation_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.isReloadNavigation"
///|
#cfg(target="js")
fn request_is_reload_navigation_ffi(obj : JsValue) -> Bool {
request_is_reload_navigation_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_is_history_navigation_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.isHistoryNavigation"
///|
#cfg(target="js")
fn request_is_history_navigation_ffi(obj : JsValue) -> Bool {
request_is_history_navigation_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_signal_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.signal"
///|
#cfg(target="js")
fn request_signal_ffi(obj : JsValue) -> AbortSignal {
request_signal_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_duplex_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.duplex"
///|
#cfg(target="js")
fn request_duplex_ffi(obj : JsValue) -> RequestDuplex {
RequestDuplex::from_unchecked(request_duplex_ffi_js(obj).unsafe_cast())
}
///|
#cfg(target="js")
extern "js" fn request_clone_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.clone()"
///|
#cfg(target="js")
fn request_clone_ffi(obj : JsValue) -> Request {
request_clone_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_body_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.body"
///|
#cfg(target="js")
fn request_body_ffi(obj : JsValue) -> ReadableStream {
request_body_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_body_used_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.bodyUsed"
///|
#cfg(target="js")
fn request_body_used_ffi(obj : JsValue) -> Bool {
request_body_used_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_array_buffer_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.arrayBuffer()"
///|
#cfg(target="js")
fn request_array_buffer_ffi(obj : JsValue) -> JsPromise[ArrayBuffer] {
request_array_buffer_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_blob_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.blob()"
///|
#cfg(target="js")
fn request_blob_ffi(obj : JsValue) -> JsPromise[Blob] {
request_blob_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_bytes_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.bytes()"
///|
#cfg(target="js")
fn request_bytes_ffi(obj : JsValue) -> JsPromise[Uint8Array] {
request_bytes_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_form_data_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.formData()"
///|
#cfg(target="js")
fn request_form_data_ffi(obj : JsValue) -> JsPromise[FormData] {
request_form_data_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_json_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.json()"
///|
#cfg(target="js")
fn request_json_ffi(obj : JsValue) -> JsPromise[JsValue] {
request_json_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn request_text_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.text()"
///|
#cfg(target="js")
fn request_text_ffi(obj : JsValue) -> JsPromise[String] {
request_text_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_new_ffi(input : JsValue, init : JsValue) -> Request = "webapi_Request" "new"
///|
#cfg(target="wasm-gc")
fn request_method_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_method"
///|
#cfg(target="wasm-gc")
fn request_method_ffi(obj : JsValue) -> String {
jsvalue_to_string(request_method_ffi_wasm(obj))
}
///|
#cfg(target="wasm-gc")
fn request_url_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_url"
///|
#cfg(target="wasm-gc")
fn request_url_ffi(obj : JsValue) -> String {
jsvalue_to_string(request_url_ffi_wasm(obj))
}
///|
#cfg(target="wasm-gc")
fn request_headers_ffi(obj : JsValue) -> Headers = "webapi_Request" "get_headers"
///|
#cfg(target="wasm-gc")
fn request_destination_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_destination"
///|
#cfg(target="wasm-gc")
fn request_destination_ffi(obj : JsValue) -> RequestDestination {
RequestDestination::from_unchecked(
jsvalue_to_string(request_destination_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn request_referrer_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_referrer"
///|
#cfg(target="wasm-gc")
fn request_referrer_ffi(obj : JsValue) -> String {
jsvalue_to_string(request_referrer_ffi_wasm(obj))
}
///|
#cfg(target="wasm-gc")
fn request_referrer_policy_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_referrerPolicy"
///|
#cfg(target="wasm-gc")
fn request_referrer_policy_ffi(obj : JsValue) -> ReferrerPolicy {
ReferrerPolicy::from_unchecked(
jsvalue_to_string(request_referrer_policy_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn request_mode_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_mode"
///|
#cfg(target="wasm-gc")
fn request_mode_ffi(obj : JsValue) -> RequestMode {
RequestMode::from_unchecked(jsvalue_to_string(request_mode_ffi_wasm(obj)))
}
///|
#cfg(target="wasm-gc")
fn request_credentials_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_credentials"
///|
#cfg(target="wasm-gc")
fn request_credentials_ffi(obj : JsValue) -> RequestCredentials {
RequestCredentials::from_unchecked(
jsvalue_to_string(request_credentials_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn request_cache_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_cache"
///|
#cfg(target="wasm-gc")
fn request_cache_ffi(obj : JsValue) -> RequestCache {
RequestCache::from_unchecked(jsvalue_to_string(request_cache_ffi_wasm(obj)))
}
///|
#cfg(target="wasm-gc")
fn request_redirect_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_redirect"
///|
#cfg(target="wasm-gc")
fn request_redirect_ffi(obj : JsValue) -> RequestRedirect {
RequestRedirect::from_unchecked(
jsvalue_to_string(request_redirect_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn request_integrity_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_integrity"
///|
#cfg(target="wasm-gc")
fn request_integrity_ffi(obj : JsValue) -> String {
jsvalue_to_string(request_integrity_ffi_wasm(obj))
}
///|
#cfg(target="wasm-gc")
fn request_keepalive_ffi(obj : JsValue) -> Bool = "webapi_Request" "get_keepalive"
///|
#cfg(target="wasm-gc")
fn request_is_reload_navigation_ffi(obj : JsValue) -> Bool = "webapi_Request" "get_isReloadNavigation"
///|
#cfg(target="wasm-gc")
fn request_is_history_navigation_ffi(obj : JsValue) -> Bool = "webapi_Request" "get_isHistoryNavigation"
///|
#cfg(target="wasm-gc")
fn request_signal_ffi(obj : JsValue) -> AbortSignal = "webapi_Request" "get_signal"
///|
#cfg(target="wasm-gc")
fn request_duplex_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "get_duplex"
///|
#cfg(target="wasm-gc")
fn request_duplex_ffi(obj : JsValue) -> RequestDuplex {
RequestDuplex::from_unchecked(jsvalue_to_string(request_duplex_ffi_wasm(obj)))
}
///|
#cfg(target="wasm-gc")
fn request_clone_ffi(obj : JsValue) -> Request = "webapi_Request" "clone"
///|
#cfg(target="wasm-gc")
fn request_body_ffi(obj : JsValue) -> ReadableStream = "webapi_Request" "get_body"
///|
#cfg(target="wasm-gc")
fn request_body_used_ffi(obj : JsValue) -> Bool = "webapi_Request" "get_bodyUsed"
///|
#cfg(target="wasm-gc")
fn request_array_buffer_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "arrayBuffer"
///|
#cfg(target="wasm-gc")
fn request_array_buffer_ffi(obj : JsValue) -> JsPromise[ArrayBuffer] {
request_array_buffer_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_blob_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "blob"
///|
#cfg(target="wasm-gc")
fn request_blob_ffi(obj : JsValue) -> JsPromise[Blob] {
request_blob_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_bytes_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "bytes"
///|
#cfg(target="wasm-gc")
fn request_bytes_ffi(obj : JsValue) -> JsPromise[Uint8Array] {
request_bytes_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_form_data_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "formData"
///|
#cfg(target="wasm-gc")
fn request_form_data_ffi(obj : JsValue) -> JsPromise[FormData] {
request_form_data_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_json_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "json"
///|
#cfg(target="wasm-gc")
fn request_json_ffi(obj : JsValue) -> JsPromise[JsValue] {
request_json_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn request_text_ffi_wasm(obj : JsValue) -> JsValue = "webapi_Request" "text"
///|
#cfg(target="wasm-gc")
fn request_text_ffi(obj : JsValue) -> JsPromise[String] {
request_text_ffi_wasm(obj).unsafe_cast()
}