// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/digital-credentials
///|
/// DigitalCredentialRequestOptions dictionary
pub(all) struct DigitalCredentialRequestOptions {
requests : Array[DigitalCredentialGetRequest]
}
///|
/// Create a new DigitalCredentialRequestOptions with default values
pub fn DigitalCredentialRequestOptions::default() -> DigitalCredentialRequestOptions {
DigitalCredentialRequestOptions::{ requests: [] }
}
///|
extern "js" fn DigitalCredentialRequestOptions::to_js_ffi(
self : DigitalCredentialRequestOptions,
) -> JsValue =
#| (self) => ({
#| requests: self.requests
#| })
///|
/// Convert to JsValue
pub fn DigitalCredentialRequestOptions::to_js(
self : DigitalCredentialRequestOptions,
) -> JsValue {
DigitalCredentialRequestOptions::to_js_ffi(self)
}
///|
extern "js" fn DigitalCredentialRequestOptions::from_js_ffi(
value : JsValue,
) -> DigitalCredentialRequestOptions =
#| (v) => ({
#| requests: v.requests
#| })
///|
/// Convert from JsValue
pub fn DigitalCredentialRequestOptions::from_js(
value : JsValue,
) -> DigitalCredentialRequestOptions {
DigitalCredentialRequestOptions::from_js_ffi(value)
}
///|
/// DigitalCredentialGetRequest dictionary
pub(all) struct DigitalCredentialGetRequest {
protocol : String
data : JsValue
}
///|
/// Create a new DigitalCredentialGetRequest
pub fn DigitalCredentialGetRequest::new(
data~ : JsValue,
) -> DigitalCredentialGetRequest {
DigitalCredentialGetRequest::{ protocol: "", data }
}
///|
extern "js" fn DigitalCredentialGetRequest::to_js_ffi(
self : DigitalCredentialGetRequest,
) -> JsValue =
#| (self) => ({
#| protocol: self.protocol,
#| data: self.data
#| })
///|
/// Convert to JsValue
pub fn DigitalCredentialGetRequest::to_js(
self : DigitalCredentialGetRequest,
) -> JsValue {
DigitalCredentialGetRequest::to_js_ffi(self)
}
///|
extern "js" fn DigitalCredentialGetRequest::from_js_ffi(
value : JsValue,
) -> DigitalCredentialGetRequest =
#| (v) => ({
#| protocol: v.protocol,
#| data: v.data
#| })
///|
/// Convert from JsValue
pub fn DigitalCredentialGetRequest::from_js(
value : JsValue,
) -> DigitalCredentialGetRequest {
DigitalCredentialGetRequest::from_js_ffi(value)
}
///|
/// DigitalCredentialCreationOptions dictionary
pub(all) struct DigitalCredentialCreationOptions {
requests : Array[DigitalCredentialCreateRequest]?
}
///|
/// Create a new DigitalCredentialCreationOptions with default values
pub fn DigitalCredentialCreationOptions::default() -> DigitalCredentialCreationOptions {
DigitalCredentialCreationOptions::{ requests: None }
}
///|
extern "js" fn DigitalCredentialCreationOptions::to_js_ffi(
self : DigitalCredentialCreationOptions,
) -> JsValue =
#| (self) => ({
#| requests: ((() => { const v = self.requests; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn DigitalCredentialCreationOptions::to_js(
self : DigitalCredentialCreationOptions,
) -> JsValue {
DigitalCredentialCreationOptions::to_js_ffi(self)
}
///|
extern "js" fn DigitalCredentialCreationOptions::from_js_ffi(
value : JsValue,
) -> DigitalCredentialCreationOptions =
#| (v) => ({
#| requests: (v.requests === undefined ? { $tag: 0 } : { $tag: 1, _0: v.requests })
#| })
///|
/// Convert from JsValue
pub fn DigitalCredentialCreationOptions::from_js(
value : JsValue,
) -> DigitalCredentialCreationOptions {
DigitalCredentialCreationOptions::from_js_ffi(value)
}
///|
/// DigitalCredentialCreateRequest dictionary
pub(all) struct DigitalCredentialCreateRequest {
protocol : String
data : JsValue
}
///|
/// Create a new DigitalCredentialCreateRequest
pub fn DigitalCredentialCreateRequest::new(
data~ : JsValue,
) -> DigitalCredentialCreateRequest {
DigitalCredentialCreateRequest::{ protocol: "", data }
}
///|
extern "js" fn DigitalCredentialCreateRequest::to_js_ffi(
self : DigitalCredentialCreateRequest,
) -> JsValue =
#| (self) => ({
#| protocol: self.protocol,
#| data: self.data
#| })
///|
/// Convert to JsValue
pub fn DigitalCredentialCreateRequest::to_js(
self : DigitalCredentialCreateRequest,
) -> JsValue {
DigitalCredentialCreateRequest::to_js_ffi(self)
}
///|
extern "js" fn DigitalCredentialCreateRequest::from_js_ffi(
value : JsValue,
) -> DigitalCredentialCreateRequest =
#| (v) => ({
#| protocol: v.protocol,
#| data: v.data
#| })
///|
/// Convert from JsValue
pub fn DigitalCredentialCreateRequest::from_js(
value : JsValue,
) -> DigitalCredentialCreateRequest {
DigitalCredentialCreateRequest::from_js_ffi(value)
}
///|
/// DigitalCredential interface
pub type DigitalCredential
///|
pub extern "js" fn DigitalCredential::to_js_value(
self : DigitalCredential,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to DigitalCredential (unchecked)
pub extern "js" fn DigitalCredential::from_js_value(
v : JsValue,
) -> DigitalCredential =
#| (v) => v
///|
/// Safely cast JsValue to DigitalCredential (checked with instanceof)
pub extern "js" fn DigitalCredential::from_js_value_opt(
v : JsValue,
) -> DigitalCredential? =
#| (v) => (v instanceof DigitalCredential) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to DigitalCredential (checked with instanceof)
pub extern "js" fn JsValue::as_digital_credential(
self : JsValue,
) -> DigitalCredential? =
#| (self) => (self instanceof DigitalCredential) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to DigitalCredential (unchecked)
pub extern "js" fn JsValue::to_digital_credential(
self : JsValue,
) -> DigitalCredential =
#| (self) => self
///|
pub extern "js" fn DigitalCredential::to_credential(
self : DigitalCredential,
) -> Credential =
#| (self) => self
///|
pub extern "js" fn DigitalCredential::to_json(
self : DigitalCredential,
) -> JsValue =
#| (self) => self.toJSON()
///|
pub extern "js" fn DigitalCredential::get_protocol(
self : DigitalCredential,
) -> String =
#| (self) => self.protocol
///|
pub extern "js" fn DigitalCredential::get_data(
self : DigitalCredential,
) -> JsValue =
#| (self) => self.data
///|
pub extern "js" fn DigitalCredential::user_agent_allows_protocol(
protocol : String,
) -> Bool =
#| (protocol) => DigitalCredential.userAgentAllowsProtocol(protocol)