// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/attribution-reporting-api
///|
/// AttributionReportingRequestOptions dictionary
pub(all) struct AttributionReportingRequestOptions {
eventSourceEligible : Bool
triggerEligible : Bool
}
///|
/// Create a new AttributionReportingRequestOptions with default values
pub fn AttributionReportingRequestOptions::default() -> AttributionReportingRequestOptions {
AttributionReportingRequestOptions::{
eventSourceEligible: false,
triggerEligible: false,
}
}
///|
extern "js" fn AttributionReportingRequestOptions::to_js_ffi(
self : AttributionReportingRequestOptions,
) -> JsValue =
#| (self) => ({
#| eventSourceEligible: self.eventSourceEligible,
#| triggerEligible: self.triggerEligible
#| })
///|
/// Convert to JsValue
pub fn AttributionReportingRequestOptions::to_js(
self : AttributionReportingRequestOptions,
) -> JsValue {
AttributionReportingRequestOptions::to_js_ffi(self)
}
///|
extern "js" fn AttributionReportingRequestOptions::from_js_ffi(
value : JsValue,
) -> AttributionReportingRequestOptions =
#| (v) => ({
#| eventSourceEligible: v.eventSourceEligible,
#| triggerEligible: v.triggerEligible
#| })
///|
/// Convert from JsValue
pub fn AttributionReportingRequestOptions::from_js(
value : JsValue,
) -> AttributionReportingRequestOptions {
AttributionReportingRequestOptions::from_js_ffi(value)
}
///|
/// RequestInit dictionary
pub(all) struct RequestInit {
attributionReporting : AttributionReportingRequestOptions?
method_ : String?
headers : HeadersInit?
body : Nullable[BodyInit]
referrer : String?
referrerPolicy : ReferrerPolicy?
mode : RequestMode?
credentials : RequestCredentials?
cache : RequestCache?
redirect : RequestRedirect?
integrity : String?
keepalive : Bool?
signal : Nullable[AbortSignal]
duplex : RequestDuplex?
priority : RequestPriority?
window : JsValue?
targetAddressSpace : IPAddressSpace?
sharedStorageWritable : Bool?
privateToken : PrivateToken?
adAuctionHeaders : Bool?
}
///|
/// Create a new RequestInit with default values
pub fn RequestInit::default() -> RequestInit {
RequestInit::{
attributionReporting: None,
method_: None,
headers: None,
body: Nullable::Undefined,
referrer: None,
referrerPolicy: None,
mode: None,
credentials: None,
cache: None,
redirect: None,
integrity: None,
keepalive: None,
signal: Nullable::Undefined,
duplex: None,
priority: None,
window: None,
targetAddressSpace: None,
sharedStorageWritable: None,
privateToken: None,
adAuctionHeaders: None,
}
}
///|
extern "js" fn RequestInit::to_js_ffi(self : RequestInit) -> JsValue =
#| (self) => ({
#| attributionReporting: ((() => { const v = self.attributionReporting; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| method: self.method_,
#| headers: ((() => { const v = self.headers; if (v === undefined || v.$tag !== 1) return undefined; return v._0.to_js_value(); })()),
#| body: ((() => { const v = self.body; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0.to_js_value(); })()),
#| referrer: self.referrer,
#| referrerPolicy: ((() => { const v = self.referrerPolicy; if (v === undefined) return undefined; return ['', 'no-referrer', 'no-referrer-when-downgrade', 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin', 'strict-origin-when-cross-origin', 'unsafe-url'][v]; })()),
#| mode: ((() => { const v = self.mode; if (v === undefined) return undefined; return ['navigate', 'same-origin', 'no-cors', 'cors'][v]; })()),
#| credentials: ((() => { const v = self.credentials; if (v === undefined) return undefined; return ['omit', 'same-origin', 'include'][v]; })()),
#| cache: ((() => { const v = self.cache; if (v === undefined) return undefined; return ['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached'][v]; })()),
#| redirect: ((() => { const v = self.redirect; if (v === undefined) return undefined; return ['follow', 'error', 'manual'][v]; })()),
#| integrity: self.integrity,
#| keepalive: (self.keepalive === -1 ? undefined : self.keepalive),
#| signal: ((() => { const v = self.signal; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })()),
#| duplex: ((() => { const v = self.duplex; if (v === undefined) return undefined; return ['half'][v]; })()),
#| priority: ((() => { const v = self.priority; if (v === undefined) return undefined; return ['high', 'low', 'auto'][v]; })()),
#| window: ((() => { const v = self.window; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| targetAddressSpace: ((() => { const v = self.targetAddressSpace; if (v === undefined) return undefined; return ['public', 'local', 'loopback'][v]; })()),
#| sharedStorageWritable: (self.sharedStorageWritable === -1 ? undefined : self.sharedStorageWritable),
#| privateToken: ((() => { const v = self.privateToken; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| adAuctionHeaders: (self.adAuctionHeaders === -1 ? undefined : self.adAuctionHeaders)
#| })
///|
/// Convert to JsValue
pub fn RequestInit::to_js(self : RequestInit) -> JsValue {
RequestInit::to_js_ffi(self)
}
///|
extern "js" fn RequestInit::from_js_ffi(value : JsValue) -> RequestInit =
#| (v) => ({
#| attributionReporting: (v.attributionReporting === undefined ? { $tag: 0 } : { $tag: 1, _0: v.attributionReporting }),
#| method_: v.method,
#| headers: (v.headers === undefined ? { $tag: 0 } : { $tag: 1, _0: v.headers }),
#| body: (v.body === undefined ? { $tag: 0 } : v.body === null ? { $tag: 1 } : { $tag: 2, _0: v.body }),
#| referrer: v.referrer,
#| referrerPolicy: (v.referrerPolicy === undefined ? undefined : ['', 'no-referrer', 'no-referrer-when-downgrade', 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin', 'strict-origin-when-cross-origin', 'unsafe-url'].indexOf(v.referrerPolicy)),
#| mode: (v.mode === undefined ? undefined : ['navigate', 'same-origin', 'no-cors', 'cors'].indexOf(v.mode)),
#| credentials: (v.credentials === undefined ? undefined : ['omit', 'same-origin', 'include'].indexOf(v.credentials)),
#| cache: (v.cache === undefined ? undefined : ['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached'].indexOf(v.cache)),
#| redirect: (v.redirect === undefined ? undefined : ['follow', 'error', 'manual'].indexOf(v.redirect)),
#| integrity: v.integrity,
#| keepalive: (v.keepalive === undefined ? -1 : v.keepalive),
#| signal: (v.signal === undefined ? { $tag: 0 } : v.signal === null ? { $tag: 1 } : { $tag: 2, _0: v.signal }),
#| duplex: (v.duplex === undefined ? undefined : ['half'].indexOf(v.duplex)),
#| priority: (v.priority === undefined ? undefined : ['high', 'low', 'auto'].indexOf(v.priority)),
#| window: (v.window === undefined ? { $tag: 0 } : { $tag: 1, _0: v.window }),
#| targetAddressSpace: (v.targetAddressSpace === undefined ? undefined : ['public', 'local', 'loopback'].indexOf(v.targetAddressSpace)),
#| sharedStorageWritable: (v.sharedStorageWritable === undefined ? -1 : v.sharedStorageWritable),
#| privateToken: (v.privateToken === undefined ? { $tag: 0 } : { $tag: 1, _0: v.privateToken }),
#| adAuctionHeaders: (v.adAuctionHeaders === undefined ? -1 : v.adAuctionHeaders)
#| })
///|
/// Convert from JsValue
pub fn RequestInit::from_js(value : JsValue) -> RequestInit {
RequestInit::from_js_ffi(value)
}