// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/mediacapture-automation
///|
/// MockCapturePromptResult enum
pub(all) enum MockCapturePromptResult {
Granted
Denied
} derive(Eq, Show)
///|
/// Convert to string value
pub fn MockCapturePromptResult::to_string(
self : MockCapturePromptResult,
) -> String {
match self {
MockCapturePromptResult::Granted => "granted"
MockCapturePromptResult::Denied => "denied"
}
}
///|
/// Parse from string value
pub fn MockCapturePromptResult::from_string(
s : String,
) -> MockCapturePromptResult? {
match s {
"granted" => Some(MockCapturePromptResult::Granted)
"denied" => Some(MockCapturePromptResult::Denied)
_ => None
}
}
///|
/// MockCapturePromptResultConfiguration dictionary
pub(all) struct MockCapturePromptResultConfiguration {
getUserMedia : MockCapturePromptResult?
getDisplayMedia : MockCapturePromptResult?
}
///|
/// Create a new MockCapturePromptResultConfiguration with default values
pub fn MockCapturePromptResultConfiguration::default() -> MockCapturePromptResultConfiguration {
MockCapturePromptResultConfiguration::{
getUserMedia: None,
getDisplayMedia: None,
}
}
///|
extern "js" fn MockCapturePromptResultConfiguration::to_js_ffi(
self : MockCapturePromptResultConfiguration,
) -> JsValue =
#| (self) => ({
#| getUserMedia: ((() => { const v = self.getUserMedia; if (v === undefined) return undefined; return ['granted', 'denied'][v]; })()),
#| getDisplayMedia: ((() => { const v = self.getDisplayMedia; if (v === undefined) return undefined; return ['granted', 'denied'][v]; })())
#| })
///|
/// Convert to JsValue
pub fn MockCapturePromptResultConfiguration::to_js(
self : MockCapturePromptResultConfiguration,
) -> JsValue {
MockCapturePromptResultConfiguration::to_js_ffi(self)
}
///|
extern "js" fn MockCapturePromptResultConfiguration::from_js_ffi(
value : JsValue,
) -> MockCapturePromptResultConfiguration =
#| (v) => ({
#| getUserMedia: (v.getUserMedia === undefined ? undefined : ['granted', 'denied'].indexOf(v.getUserMedia)),
#| getDisplayMedia: (v.getDisplayMedia === undefined ? undefined : ['granted', 'denied'].indexOf(v.getDisplayMedia))
#| })
///|
/// Convert from JsValue
pub fn MockCapturePromptResultConfiguration::from_js(
value : JsValue,
) -> MockCapturePromptResultConfiguration {
MockCapturePromptResultConfiguration::from_js_ffi(value)
}
///|
/// MockCaptureDeviceConfiguration dictionary
pub(all) struct MockCaptureDeviceConfiguration {
label : String?
deviceId : String?
groupId : String?
}
///|
/// Create a new MockCaptureDeviceConfiguration with default values
pub fn MockCaptureDeviceConfiguration::default() -> MockCaptureDeviceConfiguration {
MockCaptureDeviceConfiguration::{ label: None, deviceId: None, groupId: None }
}
///|
extern "js" fn MockCaptureDeviceConfiguration::to_js_ffi(
self : MockCaptureDeviceConfiguration,
) -> JsValue =
#| (self) => ({
#| label: self.label,
#| deviceId: self.deviceId,
#| groupId: self.groupId
#| })
///|
/// Convert to JsValue
pub fn MockCaptureDeviceConfiguration::to_js(
self : MockCaptureDeviceConfiguration,
) -> JsValue {
MockCaptureDeviceConfiguration::to_js_ffi(self)
}
///|
extern "js" fn MockCaptureDeviceConfiguration::from_js_ffi(
value : JsValue,
) -> MockCaptureDeviceConfiguration =
#| (v) => ({
#| label: v.label,
#| deviceId: v.deviceId,
#| groupId: v.groupId
#| })
///|
/// Convert from JsValue
pub fn MockCaptureDeviceConfiguration::from_js(
value : JsValue,
) -> MockCaptureDeviceConfiguration {
MockCaptureDeviceConfiguration::from_js_ffi(value)
}
///|
/// MockCameraConfiguration dictionary
pub(all) struct MockCameraConfiguration {
label : String?
deviceId : String?
groupId : String?
defaultFrameRate : Double?
facingMode : String?
}
///|
/// Create a new MockCameraConfiguration with default values
pub fn MockCameraConfiguration::default() -> MockCameraConfiguration {
MockCameraConfiguration::{
label: None,
deviceId: None,
groupId: None,
defaultFrameRate: None,
facingMode: None,
}
}
///|
extern "js" fn MockCameraConfiguration::to_js_ffi(
self : MockCameraConfiguration,
) -> JsValue =
#| (self) => ({
#| label: self.label,
#| deviceId: self.deviceId,
#| groupId: self.groupId,
#| defaultFrameRate: ((() => { const v = self.defaultFrameRate; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| facingMode: self.facingMode
#| })
///|
/// Convert to JsValue
pub fn MockCameraConfiguration::to_js(
self : MockCameraConfiguration,
) -> JsValue {
MockCameraConfiguration::to_js_ffi(self)
}
///|
extern "js" fn MockCameraConfiguration::from_js_ffi(
value : JsValue,
) -> MockCameraConfiguration =
#| (v) => ({
#| label: v.label,
#| deviceId: v.deviceId,
#| groupId: v.groupId,
#| defaultFrameRate: (v.defaultFrameRate === undefined ? { $tag: 0 } : { $tag: 1, _0: v.defaultFrameRate }),
#| facingMode: v.facingMode
#| })
///|
/// Convert from JsValue
pub fn MockCameraConfiguration::from_js(
value : JsValue,
) -> MockCameraConfiguration {
MockCameraConfiguration::from_js_ffi(value)
}
///|
/// MockMicrophoneConfiguration dictionary
pub(all) struct MockMicrophoneConfiguration {
label : String?
deviceId : String?
groupId : String?
defaultSampleRate : Int?
}
///|
/// Create a new MockMicrophoneConfiguration with default values
pub fn MockMicrophoneConfiguration::default() -> MockMicrophoneConfiguration {
MockMicrophoneConfiguration::{
label: None,
deviceId: None,
groupId: None,
defaultSampleRate: None,
}
}
///|
extern "js" fn MockMicrophoneConfiguration::to_js_ffi(
self : MockMicrophoneConfiguration,
) -> JsValue =
#| (self) => ({
#| label: self.label,
#| deviceId: self.deviceId,
#| groupId: self.groupId,
#| defaultSampleRate: self.defaultSampleRate
#| })
///|
/// Convert to JsValue
pub fn MockMicrophoneConfiguration::to_js(
self : MockMicrophoneConfiguration,
) -> JsValue {
MockMicrophoneConfiguration::to_js_ffi(self)
}
///|
extern "js" fn MockMicrophoneConfiguration::from_js_ffi(
value : JsValue,
) -> MockMicrophoneConfiguration =
#| (v) => ({
#| label: v.label,
#| deviceId: v.deviceId,
#| groupId: v.groupId,
#| defaultSampleRate: v.defaultSampleRate
#| })
///|
/// Convert from JsValue
pub fn MockMicrophoneConfiguration::from_js(
value : JsValue,
) -> MockMicrophoneConfiguration {
MockMicrophoneConfiguration::from_js_ffi(value)
}