// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/crash-reporting
///|
/// CrashReportBody dictionary
pub(all) struct CrashReportBody {
reason : String?
stack : String?
is_top_level : Bool?
visibility_state : DocumentVisibilityState?
}
///|
/// Create a new CrashReportBody with default values
pub fn CrashReportBody::default() -> CrashReportBody {
CrashReportBody::{
reason: None,
stack: None,
is_top_level: None,
visibility_state: None,
}
}
///|
extern "js" fn CrashReportBody::to_js_ffi(self : CrashReportBody) -> JsValue =
#| (self) => ({
#| reason: self.reason,
#| stack: self.stack,
#| is_top_level: (self.is_top_level === -1 ? undefined : self.is_top_level),
#| visibility_state: ((() => { const v = self.visibility_state; if (v === undefined) return undefined; return ['visible', 'hidden'][v]; })())
#| })
///|
/// Convert to JsValue
pub fn CrashReportBody::to_js(self : CrashReportBody) -> JsValue {
CrashReportBody::to_js_ffi(self)
}
///|
extern "js" fn CrashReportBody::from_js_ffi(value : JsValue) -> CrashReportBody =
#| (v) => ({
#| reason: v.reason,
#| stack: v.stack,
#| is_top_level: (v.is_top_level === undefined ? -1 : v.is_top_level),
#| visibility_state: (v.visibility_state === undefined ? undefined : ['visible', 'hidden'].indexOf(v.visibility_state))
#| })
///|
/// Convert from JsValue
pub fn CrashReportBody::from_js(value : JsValue) -> CrashReportBody {
CrashReportBody::from_js_ffi(value)
}