// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type ShaderDefines
///|
#module("@mizchi/three-mbt/material-edit")
pub extern "js" fn ShaderDefines::ShaderDefines() -> ShaderDefines = "shaderDefines"
///|
pub extern "js" fn ShaderDefines::set_int(
self : ShaderDefines,
name : String,
value : Int,
) -> Unit =
#| (self, name, value) => { self[name] = value; }
///|
extern "js" fn ShaderDefines::ffi_get_int(
self : ShaderDefines,
name : String,
) -> Nullable[Int] =
#| (self, name) => { const value = self[name]; return Object.hasOwn(self,name) && Number.isInteger(value) && value >= -2147483648 && value <= 2147483647 ? value : null; }
///|
pub fn ShaderDefines::get_int(self : ShaderDefines, name : String) -> Int? {
self.ffi_get_int(name).to_option()
}
///|
pub extern "js" fn ShaderDefines::set_float(
self : ShaderDefines,
name : String,
value : Double,
) -> Unit =
#| (self, name, value) => { self[name] = value; }
///|
extern "js" fn ShaderDefines::ffi_get_float(
self : ShaderDefines,
name : String,
) -> Nullable[Double] =
#| (self, name) => { const value = self[name]; return Object.hasOwn(self,name) && typeof value === "number" ? value : null; }
///|
pub fn ShaderDefines::get_float(self : ShaderDefines, name : String) -> Double? {
self.ffi_get_float(name).to_option()
}
///|
pub extern "js" fn ShaderDefines::set_bool(
self : ShaderDefines,
name : String,
value : Bool,
) -> Unit =
#| (self, name, value) => { self[name] = value; }
///|
extern "js" fn ShaderDefines::ffi_get_bool(
self : ShaderDefines,
name : String,
) -> Nullable[Bool] =
#| (self, name) => { const value = self[name]; return Object.hasOwn(self,name) && typeof value === "boolean" ? value : null; }
///|
pub fn ShaderDefines::get_bool(self : ShaderDefines, name : String) -> Bool? {
self.ffi_get_bool(name).to_option()
}
///|
pub extern "js" fn ShaderDefines::set_string(
self : ShaderDefines,
name : String,
value : String,
) -> Unit =
#| (self, name, value) => { self[name] = value; }
///|
extern "js" fn ShaderDefines::ffi_get_string(
self : ShaderDefines,
name : String,
) -> Nullable[String] =
#| (self, name) => { const value = self[name]; return Object.hasOwn(self,name) && typeof value === "string" ? value : null; }
///|
pub fn ShaderDefines::get_string(
self : ShaderDefines,
name : String,
) -> String? {
self.ffi_get_string(name).to_option()
}
///|
pub extern "js" fn ShaderDefines::remove(
self : ShaderDefines,
name : String,
) -> Unit =
#| (self, name) => { delete self[name]; }
///|
pub extern "js" fn ShaderDefines::keys(
self : ShaderDefines,
) -> FixedArray[String] =
#| (self) => Object.keys(self)