///|
#borrow(result)
extern "c" fn napi_class_lookup_raw(
env : NapiEnv,
value : NapiValue,
type_id : Int32,
result : Ref[UnmanagedBuffer],
) -> Int32 = "napi_mbt_class_lookup"
///|
pub fn napi_class_handle(
env : NapiEnv,
value : NapiValue,
type_id : Int32,
) -> UnmanagedBuffer raise NapiError {
let result = Ref(moonbit_dummy_unmanaged_buffer())
result_from_status(
env,
napi_class_lookup_raw(env, value, type_id, result),
b"Validating native receiver",
)
result.val
}
///|
extern "c" fn napi_class_dispose_raw(
env : NapiEnv,
value : NapiValue,
type_id : Int32,
) -> Int32 = "napi_mbt_class_dispose"
///|
pub fn napi_class_dispose(
env : NapiEnv,
value : NapiValue,
type_id : Int32,
) -> Unit raise NapiError {
result_from_status(
env,
napi_class_dispose_raw(env, value, type_id),
b"Disposing native receiver",
)
}