// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Fog
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Fog::Fog(color : Int, near : Double, far : Double) -> Fog = "fog"
///|
pub extern "js" fn Fog::color(self : Fog) -> Color =
#| (self) => self.color
///|
pub extern "js" fn Fog::near(self : Fog) -> Double =
#| (self) => self.near
///|
pub extern "js" fn Fog::set_near(self : Fog, value : Double) -> Unit =
#| (self, value) => { self.near = value; }
///|
pub extern "js" fn Fog::far(self : Fog) -> Double =
#| (self) => self.far
///|
pub extern "js" fn Fog::set_far(self : Fog, value : Double) -> Unit =
#| (self, value) => { self.far = value; }
///|
extern "js" fn Fog::ffi_to_json(self : Fog) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Fog::to_json(self : Fog) -> Json raise SerializationError {
match self.ffi_to_json().into_result() {
Ok(value) =>
@json.parse(value) catch {
error => raise SerializationError((error : Error).to_string())
}
Err(message) => raise SerializationError(message)
}
}
///|
extern "js" fn Fog::ffi_to_json_string(self : Fog) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Fog::to_json_string(self : Fog) -> String raise SerializationError {
match self.ffi_to_json_string().into_result() {
Ok(value) => value
Err(message) => raise SerializationError(message)
}
}