libnode_sys/napi/napi_1/
napi_throw_error.rs1use std::ffi::c_char;
2use std::sync::OnceLock;
3
4use super::super::*;
5
6const SYMBOL: &[u8] = "napi_throw_error".as_bytes();
7type SIGNATURE = fn(env: napi_env, code: *const c_char, msg: *const c_char) -> napi_status;
8static CACHE: OnceLock<crate::load::Symbol<SIGNATURE>> = OnceLock::new();
9
10pub unsafe fn napi_throw_error(
11 env: napi_env,
12 code: *const c_char,
13 msg: *const c_char,
14) -> napi_status {
15 unsafe { CACHE.get_or_init(|| crate::load::get_sym(SYMBOL).unwrap())(env, code, msg) }
16}