// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type GLTFDefinition
///|
pub fn GLTFDefinition::as_user_data(self : GLTFDefinition) -> UserData = "%identity"
///|
extern "js" fn GLTFDefinition::ffi_extensions(
self : GLTFDefinition,
) -> Nullable[UserData] =
#| (self) => self.extensions
///|
pub fn GLTFDefinition::extensions(self : GLTFDefinition) -> UserData? {
self.ffi_extensions().to_option()
}
///|
extern "js" fn GLTFDefinition::ffi_set_extension(
self : GLTFDefinition,
name : String,
value : String,
) -> JsResult[Unit] =
#| (self, name, value) => { try { return { ok: true, value: (() => { if(!self.extensions)self.extensions={};Object.defineProperty(self.extensions,name,{value:JSON.parse(value),enumerable:true,writable:true,configurable:true}); })() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn GLTFDefinition::set_extension(
self : GLTFDefinition,
name : String,
value : Json,
) -> Unit raise SerializationError {
match self.ffi_set_extension(name, value.stringify()).into_result() {
Ok(value) => value
Err(message) => raise SerializationError(message)
}
}
///|
extern "js" fn GLTFDefinition::ffi_json(
self : GLTFDefinition,
) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn GLTFDefinition::json(
self : GLTFDefinition,
) -> Json raise SerializationError {
match self.ffi_json().into_result() {
Ok(value) =>
@json.parse(value) catch {
error => raise SerializationError((error : Error).to_string())
}
Err(message) => raise SerializationError(message)
}
}