// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/intervention-reporting
///|
/// InterventionReportBody dictionary
pub(all) struct InterventionReportBody {
id : String?
message : String?
sourceFile : Nullable[String]
lineNumber : Nullable[Int]
columnNumber : Nullable[Int]
}
///|
/// Create a new InterventionReportBody with default values
pub fn InterventionReportBody::default() -> InterventionReportBody {
InterventionReportBody::{
id: None,
message: None,
sourceFile: Nullable::Undefined,
lineNumber: Nullable::Undefined,
columnNumber: Nullable::Undefined,
}
}
///|
extern "js" fn InterventionReportBody::to_js_ffi(
self : InterventionReportBody,
) -> JsValue =
#| (self) => ({
#| id: self.id,
#| message: self.message,
#| sourceFile: ((() => { const v = self.sourceFile; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })()),
#| lineNumber: ((() => { const v = self.lineNumber; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })()),
#| columnNumber: ((() => { const v = self.columnNumber; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn InterventionReportBody::to_js(self : InterventionReportBody) -> JsValue {
InterventionReportBody::to_js_ffi(self)
}
///|
extern "js" fn InterventionReportBody::from_js_ffi(
value : JsValue,
) -> InterventionReportBody =
#| (v) => ({
#| id: v.id,
#| message: v.message,
#| sourceFile: (v.sourceFile === undefined ? { $tag: 0 } : v.sourceFile === null ? { $tag: 1 } : { $tag: 2, _0: v.sourceFile }),
#| lineNumber: (v.lineNumber === undefined ? { $tag: 0 } : v.lineNumber === null ? { $tag: 1 } : { $tag: 2, _0: v.lineNumber }),
#| columnNumber: (v.columnNumber === undefined ? { $tag: 0 } : v.columnNumber === null ? { $tag: 1 } : { $tag: 2, _0: v.columnNumber })
#| })
///|
/// Convert from JsValue
pub fn InterventionReportBody::from_js(
value : JsValue,
) -> InterventionReportBody {
InterventionReportBody::from_js_ffi(value)
}