mirror of
https://github.com/napi-rs/napi-rs.git
synced 2025-12-08 19:56:07 +00:00
feat(napi,napi-derive): allow lifetime in Class (#2298)
This commit is contained in:
parent
724673225a
commit
afd081d003
@ -145,6 +145,7 @@ pub struct NapiStructField {
|
||||
pub struct NapiImpl {
|
||||
pub name: Ident,
|
||||
pub js_name: String,
|
||||
pub has_lifetime: bool,
|
||||
pub items: Vec<NapiFn>,
|
||||
pub task_output_type: Option<Type>,
|
||||
pub iterator_yield_type: Option<Type>,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
use proc_macro2::{Ident, Span, TokenStream};
|
||||
use quote::ToTokens;
|
||||
use syn::spanned::Spanned;
|
||||
use syn::{spanned::Spanned, Type, TypePath};
|
||||
|
||||
use crate::{
|
||||
codegen::{get_intermediate_ident, js_mod_to_token_stream},
|
||||
@ -40,7 +40,7 @@ impl TryToTokens for NapiFn {
|
||||
let arg_ref_count = refs.len();
|
||||
let receiver = self.gen_fn_receiver();
|
||||
let receiver_ret_name = Ident::new("_ret", Span::call_site());
|
||||
let ret = self.gen_fn_return(&receiver_ret_name);
|
||||
let ret = self.gen_fn_return(&receiver_ret_name)?;
|
||||
let register = self.gen_fn_register();
|
||||
let attrs = &self.attrs;
|
||||
|
||||
@ -319,7 +319,7 @@ impl NapiFn {
|
||||
args.push(
|
||||
quote! {
|
||||
{
|
||||
<#ident as napi::bindgen_prelude::FromNapiValue>::from_napi_value(env, cb.this)?
|
||||
<#ident as napi::bindgen_prelude::FromNapiValue>::from_napi_value(env, cb.this)?.into()
|
||||
}
|
||||
},
|
||||
);
|
||||
@ -341,9 +341,9 @@ impl NapiFn {
|
||||
refs.push(make_ref(quote! { cb.this }));
|
||||
let token = if mutability.is_some() {
|
||||
mut_ref_spans.push(generic_type.span());
|
||||
quote! { <#ident as napi::bindgen_prelude::FromNapiMutRef>::from_napi_mut_ref(env, cb.this)? }
|
||||
quote! { <#ident as napi::bindgen_prelude::FromNapiMutRef>::from_napi_mut_ref(env, cb.this)?.into() }
|
||||
} else {
|
||||
quote! { <#ident as napi::bindgen_prelude::FromNapiRef>::from_napi_ref(env, cb.this)? }
|
||||
quote! { <#ident as napi::bindgen_prelude::FromNapiRef>::from_napi_ref(env, cb.this)?.into() }
|
||||
};
|
||||
args.push(token);
|
||||
skipped_arg_count += 1;
|
||||
@ -377,7 +377,7 @@ impl NapiFn {
|
||||
}
|
||||
}
|
||||
NapiFnArgKind::Callback(cb) => {
|
||||
arg_conversions.push(self.gen_cb_arg_conversion(&ident, i, cb));
|
||||
arg_conversions.push(self.gen_cb_arg_conversion(&ident, i, cb)?);
|
||||
args.push(quote! { #ident });
|
||||
}
|
||||
}
|
||||
@ -400,7 +400,7 @@ impl NapiFn {
|
||||
index: usize,
|
||||
path: &syn::PatType,
|
||||
) -> BindgenResult<(TokenStream, NapiArgType)> {
|
||||
let ty = &*path.ty;
|
||||
let mut ty = *path.ty.clone();
|
||||
let type_check = if self.return_if_invalid {
|
||||
quote! {
|
||||
if let Ok(maybe_promise) = <#ty as napi::bindgen_prelude::ValidateNapiValue>::validate(env, cb.get_arg(#index)) {
|
||||
@ -439,7 +439,7 @@ impl NapiFn {
|
||||
syn::Type::Reference(syn::TypeReference {
|
||||
mutability, elem, ..
|
||||
}) => {
|
||||
if let syn::Type::Slice(slice) = &**elem {
|
||||
if let syn::Type::Slice(slice) = &*elem {
|
||||
if let syn::Type::Path(ele) = &*slice.elem {
|
||||
if let Some(syn::PathSegment { ident, .. }) = ele.path.segments.first() {
|
||||
if TYPEDARRAY_SLICE_TYPES.contains_key(&&*ident.to_string()) {
|
||||
@ -462,7 +462,7 @@ impl NapiFn {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if let syn::Type::Path(ele) = &**elem {
|
||||
if let syn::Type::Path(ele) = &*elem {
|
||||
if let Some(syn::PathSegment { ident, .. }) = ele.path.segments.last() {
|
||||
if ident == "Env" {
|
||||
return Ok((quote! {}, NapiArgType::Env));
|
||||
@ -486,6 +486,7 @@ impl NapiFn {
|
||||
))
|
||||
}
|
||||
_ => {
|
||||
hidden_ty_lifetime(&mut ty)?;
|
||||
let q = quote! {
|
||||
let #arg_name = {
|
||||
#type_check
|
||||
@ -497,15 +498,22 @@ impl NapiFn {
|
||||
}
|
||||
}
|
||||
|
||||
fn gen_cb_arg_conversion(&self, arg_name: &Ident, index: usize, cb: &CallbackArg) -> TokenStream {
|
||||
fn gen_cb_arg_conversion(
|
||||
&self,
|
||||
arg_name: &Ident,
|
||||
index: usize,
|
||||
cb: &CallbackArg,
|
||||
) -> BindgenResult<TokenStream> {
|
||||
let mut inputs = vec![];
|
||||
let mut arg_conversions = vec![];
|
||||
|
||||
for (i, ty) in cb.args.iter().enumerate() {
|
||||
let cb_arg_ident = Ident::new(&format!("callback_arg_{}", i), Span::call_site());
|
||||
inputs.push(quote! { #cb_arg_ident: #ty });
|
||||
let mut maybe_has_lifetime_ty = ty.clone();
|
||||
hidden_ty_lifetime(&mut maybe_has_lifetime_ty)?;
|
||||
arg_conversions.push(
|
||||
quote! { <#ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #cb_arg_ident)? },
|
||||
quote! { <#maybe_has_lifetime_ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #cb_arg_ident)? },
|
||||
);
|
||||
}
|
||||
|
||||
@ -520,7 +528,7 @@ impl NapiFn {
|
||||
None => quote! { Ok(()) },
|
||||
};
|
||||
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
napi::bindgen_prelude::assert_type_of!(env, cb.get_arg(#index), napi::bindgen_prelude::ValueType::Function)?;
|
||||
let #arg_name = |#(#inputs),*| {
|
||||
let args = vec![
|
||||
@ -543,7 +551,7 @@ impl NapiFn {
|
||||
|
||||
#ret
|
||||
};
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fn gen_fn_receiver(&self) -> TokenStream {
|
||||
@ -562,7 +570,7 @@ impl NapiFn {
|
||||
}
|
||||
}
|
||||
|
||||
fn gen_fn_return(&self, ret: &Ident) -> TokenStream {
|
||||
fn gen_fn_return(&self, ret: &Ident) -> BindgenResult<TokenStream> {
|
||||
let js_name = &self.js_name;
|
||||
|
||||
if let Some(ty) = &self.ret {
|
||||
@ -575,9 +583,9 @@ impl NapiFn {
|
||||
.expect("Parent must exist for constructor");
|
||||
if self.is_ret_result {
|
||||
if self.parent_is_generator {
|
||||
quote! { cb.construct_generator::<false, _>(#js_name, #ret?) }
|
||||
Ok(quote! { cb.construct_generator::<false, _>(#js_name, #ret?) })
|
||||
} else {
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
match #ret {
|
||||
Ok(value) => {
|
||||
cb.construct::<false, _>(#js_name, value)
|
||||
@ -587,21 +595,21 @@ impl NapiFn {
|
||||
Ok(std::ptr::null_mut())
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} else if self.parent_is_generator {
|
||||
quote! { cb.construct_generator::<false, #parent>(#js_name, #ret) }
|
||||
Ok(quote! { cb.construct_generator::<false, #parent>(#js_name, #ret) })
|
||||
} else {
|
||||
quote! { cb.construct::<false, #parent>(#js_name, #ret) }
|
||||
Ok(quote! { cb.construct::<false, #parent>(#js_name, #ret) })
|
||||
}
|
||||
} else if self.kind == FnKind::Factory {
|
||||
if self.is_ret_result {
|
||||
if self.parent_is_generator {
|
||||
quote! { cb.generator_factory(#js_name, #ret?) }
|
||||
Ok(quote! { cb.generator_factory(#js_name, #ret?) })
|
||||
} else if self.is_async {
|
||||
quote! { cb.factory(#js_name, #ret) }
|
||||
Ok(quote! { cb.factory(#js_name, #ret) })
|
||||
} else {
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
match #ret {
|
||||
Ok(value) => {
|
||||
cb.factory(#js_name, value)
|
||||
@ -611,22 +619,22 @@ impl NapiFn {
|
||||
Ok(std::ptr::null_mut())
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} else if self.parent_is_generator {
|
||||
quote! { cb.generator_factory(#js_name, #ret) }
|
||||
Ok(quote! { cb.generator_factory(#js_name, #ret) })
|
||||
} else {
|
||||
quote! { cb.factory(#js_name, #ret) }
|
||||
Ok(quote! { cb.factory(#js_name, #ret) })
|
||||
}
|
||||
} else if self.is_ret_result {
|
||||
if self.is_async {
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
<#ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #ret)
|
||||
}
|
||||
})
|
||||
} else if is_return_self {
|
||||
quote! { #ret.map(|_| cb.this) }
|
||||
Ok(quote! { #ret.map(|_| cb.this) })
|
||||
} else {
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
match #ret {
|
||||
Ok(value) => napi::bindgen_prelude::ToNapiValue::to_napi_value(env, value),
|
||||
Err(err) => {
|
||||
@ -634,19 +642,21 @@ impl NapiFn {
|
||||
Ok(std::ptr::null_mut())
|
||||
},
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} else if is_return_self {
|
||||
quote! { Ok(cb.this) }
|
||||
Ok(quote! { Ok(cb.this) })
|
||||
} else {
|
||||
quote! {
|
||||
<#ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #ret)
|
||||
}
|
||||
let mut return_ty = ty.clone();
|
||||
hidden_ty_lifetime(&mut return_ty)?;
|
||||
Ok(quote! {
|
||||
<#return_ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #ret)
|
||||
})
|
||||
}
|
||||
} else {
|
||||
quote! {
|
||||
Ok(quote! {
|
||||
<() as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, ())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -704,6 +714,26 @@ impl NapiFn {
|
||||
}
|
||||
}
|
||||
|
||||
fn hidden_ty_lifetime(ty: &mut syn::Type) -> BindgenResult<()> {
|
||||
if let Type::Path(TypePath {
|
||||
path: syn::Path { segments, .. },
|
||||
..
|
||||
}) = ty
|
||||
{
|
||||
if let Some(syn::PathSegment {
|
||||
arguments:
|
||||
syn::PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments { args, .. }),
|
||||
..
|
||||
}) = segments.last_mut()
|
||||
{
|
||||
if let Some(syn::GenericArgument::Lifetime(lt)) = args.first_mut() {
|
||||
*lt = syn::Lifetime::new("'_", Span::call_site());
|
||||
}
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
struct ArgConversions {
|
||||
pub args: Vec<TokenStream>,
|
||||
pub arg_conversions: Vec<TokenStream>,
|
||||
|
||||
@ -26,8 +26,17 @@ const TYPED_ARRAY_TYPE: &[&str] = &[
|
||||
];
|
||||
|
||||
// Generate trait implementations for given Struct.
|
||||
fn gen_napi_value_map_impl(name: &Ident, to_napi_val_impl: TokenStream) -> TokenStream {
|
||||
fn gen_napi_value_map_impl(
|
||||
name: &Ident,
|
||||
to_napi_val_impl: TokenStream,
|
||||
has_lifetime: bool,
|
||||
) -> TokenStream {
|
||||
let name_str = name.to_string();
|
||||
let name = if has_lifetime {
|
||||
quote! { #name<'_> }
|
||||
} else {
|
||||
quote! { #name }
|
||||
};
|
||||
let js_name_str = format!("{}\0", name_str);
|
||||
let validate = quote! {
|
||||
unsafe fn validate(env: napi::sys::napi_env, napi_val: napi::sys::napi_value) -> napi::Result<napi::sys::napi_value> {
|
||||
@ -148,7 +157,15 @@ fn gen_napi_value_map_impl(name: &Ident, to_napi_val_impl: TokenStream) -> Token
|
||||
env: napi::bindgen_prelude::sys::napi_env,
|
||||
napi_val: napi::bindgen_prelude::sys::napi_value
|
||||
) -> napi::bindgen_prelude::Result<Self> {
|
||||
napi::bindgen_prelude::FromNapiMutRef::from_napi_mut_ref(env, napi_val)
|
||||
let mut wrapped_val: *mut std::ffi::c_void = std::ptr::null_mut();
|
||||
|
||||
napi::bindgen_prelude::check_status!(
|
||||
napi::bindgen_prelude::sys::napi_unwrap(env, napi_val, &mut wrapped_val),
|
||||
"Failed to recover `{}` type from napi value",
|
||||
#name_str,
|
||||
)?;
|
||||
|
||||
Ok(&mut *(wrapped_val as *mut #name))
|
||||
}
|
||||
}
|
||||
|
||||
@ -264,10 +281,13 @@ impl NapiStruct {
|
||||
NapiStructKind::Class(class) if !class.ctor => gen_napi_value_map_impl(
|
||||
&self.name,
|
||||
self.gen_to_napi_value_ctor_impl_for_non_default_constructor_struct(class),
|
||||
self.has_lifetime,
|
||||
),
|
||||
NapiStructKind::Class(class) => gen_napi_value_map_impl(
|
||||
&self.name,
|
||||
self.gen_to_napi_value_ctor_impl(class),
|
||||
self.has_lifetime,
|
||||
),
|
||||
NapiStructKind::Class(class) => {
|
||||
gen_napi_value_map_impl(&self.name, self.gen_to_napi_value_ctor_impl(class))
|
||||
}
|
||||
NapiStructKind::Object(obj) => self.gen_to_napi_value_obj_impl(obj),
|
||||
NapiStructKind::StructuredEnum(structured_enum) => {
|
||||
self.gen_to_napi_value_structured_enum_impl(structured_enum)
|
||||
@ -285,10 +305,11 @@ impl NapiStruct {
|
||||
let iterator_implementation = self.gen_iterator_property(class, name);
|
||||
let (object_finalize_impl, to_napi_value_impl, javascript_class_ext_impl) = if self.has_lifetime
|
||||
{
|
||||
let name = quote! { #name<'_javascript_function_scope> };
|
||||
(
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::ObjectFinalize for #name<'_javascript_function_scope> {} },
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::ToNapiValue for #name<'_javascript_function_scope> },
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::JavaScriptClassExt for #name<'_javascript_function_scope> },
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::ObjectFinalize for #name {} },
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::ToNapiValue for #name },
|
||||
quote! { impl <'_javascript_function_scope> napi::bindgen_prelude::JavaScriptClassExt for #name },
|
||||
)
|
||||
} else {
|
||||
(
|
||||
@ -332,13 +353,13 @@ impl NapiStruct {
|
||||
|
||||
#[automatically_derived]
|
||||
#javascript_class_ext_impl {
|
||||
fn into_instance<'scope>(self, env: &'scope napi::Env) -> napi::Result<napi::bindgen_prelude::ClassInstance<'scope, #name>> {
|
||||
fn into_instance<'scope>(self, env: &'scope napi::Env) -> napi::Result<napi::bindgen_prelude::ClassInstance<'scope, Self>>
|
||||
{
|
||||
if let Some(ctor_ref) = napi::bindgen_prelude::get_class_constructor(#js_name_str) {
|
||||
unsafe {
|
||||
let wrapped_value = Box::leak(Box::new(self));
|
||||
let wrapped_value = Box::into_raw(Box::new(self));
|
||||
let instance_value = napi::bindgen_prelude::new_instance::<#name>(env.raw(), wrapped_value as *mut _ as *mut std::ffi::c_void, ctor_ref)?;
|
||||
|
||||
Ok(napi::bindgen_prelude::ClassInstance::<#name>::new(instance_value, wrapped_value))
|
||||
Ok(napi::bindgen_prelude::ClassInstance::new(instance_value, env.raw(), wrapped_value))
|
||||
}
|
||||
} else {
|
||||
Err(napi::bindgen_prelude::Error::new(
|
||||
@ -347,7 +368,7 @@ impl NapiStruct {
|
||||
}
|
||||
}
|
||||
|
||||
fn into_reference(self, env: napi::Env) -> napi::Result<napi::bindgen_prelude::Reference<#name>> {
|
||||
fn into_reference(self, env: napi::Env) -> napi::Result<napi::bindgen_prelude::Reference<Self>> {
|
||||
if let Some(ctor_ref) = napi::bindgen_prelude::get_class_constructor(#js_name_str) {
|
||||
unsafe {
|
||||
let mut wrapped_value = Box::into_raw(Box::new(self));
|
||||
|
||||
@ -218,20 +218,20 @@ fn find_enum_value_and_remove_attribute(v: &mut syn::Variant) -> BindgenResult<O
|
||||
}
|
||||
}
|
||||
|
||||
fn get_ty(mut ty: &syn::Type) -> &syn::Type {
|
||||
fn get_ty(mut ty: &mut syn::Type) -> &mut syn::Type {
|
||||
while let syn::Type::Group(g) = ty {
|
||||
ty = &g.elem;
|
||||
ty = &mut g.elem;
|
||||
}
|
||||
|
||||
ty
|
||||
}
|
||||
|
||||
fn replace_self(ty: syn::Type, self_ty: Option<&Ident>) -> syn::Type {
|
||||
fn replace_self(mut ty: syn::Type, self_ty: Option<&Ident>) -> syn::Type {
|
||||
let self_ty = match self_ty {
|
||||
Some(i) => i,
|
||||
None => return ty,
|
||||
};
|
||||
let path = match get_ty(&ty) {
|
||||
let path = match get_ty(&mut ty) {
|
||||
syn::Type::Path(syn::TypePath { qself: None, path }) => path.clone(),
|
||||
other => return other.clone(),
|
||||
};
|
||||
@ -247,16 +247,24 @@ fn replace_self(ty: syn::Type, self_ty: Option<&Ident>) -> syn::Type {
|
||||
}
|
||||
|
||||
/// Extracts the last ident from the path
|
||||
fn extract_path_ident(path: &syn::Path) -> BindgenResult<Ident> {
|
||||
for segment in path.segments.iter() {
|
||||
match segment.arguments {
|
||||
fn extract_path_ident(path: &mut syn::Path) -> BindgenResult<(Ident, bool)> {
|
||||
let mut has_lifetime = false;
|
||||
for segment in path.segments.iter_mut() {
|
||||
match &segment.arguments {
|
||||
syn::PathArguments::None => {}
|
||||
syn::PathArguments::AngleBracketed(generic) => {
|
||||
if let Some(GenericArgument::Lifetime(_)) = generic.args.first() {
|
||||
has_lifetime = true;
|
||||
} else {
|
||||
bail_span!(path, "Only 1 lifetime is supported for now");
|
||||
}
|
||||
}
|
||||
_ => bail_span!(path, "paths with type parameters are not supported yet"),
|
||||
}
|
||||
}
|
||||
|
||||
match path.segments.last() {
|
||||
Some(value) => Ok(value.ident.clone()),
|
||||
Some(value) => Ok((value.ident.clone(), has_lifetime)),
|
||||
None => {
|
||||
bail_span!(path, "empty idents are not supported");
|
||||
}
|
||||
@ -1101,9 +1109,9 @@ impl ConvertToAST for syn::ItemStruct {
|
||||
|
||||
impl ConvertToAST for syn::ItemImpl {
|
||||
fn convert_to_ast(&mut self, impl_opts: &BindgenAttrs) -> BindgenResult<Napi> {
|
||||
let struct_name = match get_ty(&self.self_ty) {
|
||||
let struct_name = match get_ty(&mut self.self_ty) {
|
||||
syn::Type::Path(syn::TypePath {
|
||||
ref path,
|
||||
ref mut path,
|
||||
qself: None,
|
||||
}) => path,
|
||||
_ => {
|
||||
@ -1111,7 +1119,7 @@ impl ConvertToAST for syn::ItemImpl {
|
||||
}
|
||||
};
|
||||
|
||||
let struct_name = extract_path_ident(struct_name)?;
|
||||
let (struct_name, has_lifetime) = extract_path_ident(struct_name)?;
|
||||
|
||||
let mut struct_js_name = struct_name.to_string().to_case(Case::UpperCamel);
|
||||
let mut items = vec![];
|
||||
@ -1189,6 +1197,7 @@ impl ConvertToAST for syn::ItemImpl {
|
||||
iterator_yield_type,
|
||||
iterator_next_type,
|
||||
iterator_return_type,
|
||||
has_lifetime,
|
||||
js_mod: namespace,
|
||||
comments: extract_doc_comments(&self.attrs),
|
||||
register_name: get_register_ident(format!("{struct_name}_impl").as_str()),
|
||||
|
||||
@ -192,21 +192,6 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> ToNapiValue for &[T]
|
||||
where
|
||||
T: ToNapiValue + Copy,
|
||||
{
|
||||
unsafe fn to_napi_value(env: sys::napi_env, val: Self) -> Result<sys::napi_value> {
|
||||
let mut arr = Array::new(env, val.len() as u32)?;
|
||||
|
||||
for (i, v) in val.iter().enumerate() {
|
||||
arr.set(i as u32, *v)?;
|
||||
}
|
||||
|
||||
unsafe { Array::to_napi_value(env, arr) }
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> ToNapiValue for Vec<T>
|
||||
where
|
||||
T: ToNapiValue,
|
||||
|
||||
@ -11,6 +11,7 @@ use std::sync::Mutex;
|
||||
|
||||
#[cfg(all(feature = "napi4", not(feature = "noop"), not(target_family = "wasm")))]
|
||||
use crate::bindgen_prelude::{CUSTOM_GC_TSFN, CUSTOM_GC_TSFN_DESTROYED, THREADS_CAN_ACCESS_ENV};
|
||||
use crate::NapiRaw;
|
||||
use crate::{bindgen_prelude::*, check_status, env::EMPTY_VEC, sys, Result, ValueType};
|
||||
|
||||
#[cfg(all(debug_assertions, not(windows)))]
|
||||
@ -19,11 +20,15 @@ thread_local! {
|
||||
}
|
||||
|
||||
/// Zero copy buffer slice shared between Rust and Node.js.
|
||||
///
|
||||
/// It can only be used in non-async context and the lifetime is bound to the fn closure.
|
||||
///
|
||||
/// If you want to use Node.js Buffer in async context or want to extend the lifetime, use `Buffer` instead.
|
||||
pub struct BufferSlice<'scope> {
|
||||
pub(crate) inner: &'scope mut [u8],
|
||||
pub(crate) raw_value: sys::napi_value,
|
||||
#[allow(dead_code)]
|
||||
pub(crate) env: sys::napi_env,
|
||||
}
|
||||
|
||||
impl<'scope> BufferSlice<'scope> {
|
||||
@ -73,6 +78,7 @@ impl<'scope> BufferSlice<'scope> {
|
||||
Ok(Self {
|
||||
inner: unsafe { slice::from_raw_parts_mut(buf.cast(), len) },
|
||||
raw_value: buf,
|
||||
env: env.0,
|
||||
})
|
||||
}
|
||||
|
||||
@ -140,6 +146,7 @@ impl<'scope> BufferSlice<'scope> {
|
||||
Ok(Self {
|
||||
inner: unsafe { slice::from_raw_parts_mut(buf.cast(), len) },
|
||||
raw_value: buf,
|
||||
env: env.0,
|
||||
})
|
||||
}
|
||||
|
||||
@ -159,6 +166,7 @@ impl<'scope> BufferSlice<'scope> {
|
||||
Ok(Self {
|
||||
inner: unsafe { slice::from_raw_parts_mut(result_ptr.cast(), len) },
|
||||
raw_value: buf,
|
||||
env: env.0,
|
||||
})
|
||||
}
|
||||
|
||||
@ -170,6 +178,12 @@ impl<'scope> BufferSlice<'scope> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'scope> NapiRaw for BufferSlice<'scope> {
|
||||
unsafe fn raw(&self) -> napi_sys::napi_value {
|
||||
self.raw_value
|
||||
}
|
||||
}
|
||||
|
||||
impl<'scope> FromNapiValue for BufferSlice<'scope> {
|
||||
unsafe fn from_napi_value(env: sys::napi_env, napi_val: sys::napi_value) -> Result<Self> {
|
||||
let mut buf = ptr::null_mut();
|
||||
@ -192,11 +206,12 @@ impl<'scope> FromNapiValue for BufferSlice<'scope> {
|
||||
unsafe { slice::from_raw_parts_mut(buf.cast(), len) }
|
||||
},
|
||||
raw_value: napi_val,
|
||||
env,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
impl ToNapiValue for BufferSlice<'_> {
|
||||
impl ToNapiValue for &BufferSlice<'_> {
|
||||
#[allow(unused_variables)]
|
||||
unsafe fn to_napi_value(env: sys::napi_env, val: Self) -> Result<sys::napi_value> {
|
||||
Ok(val.raw_value)
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
use std::any::type_name;
|
||||
use std::ops::Deref;
|
||||
use std::ffi::CString;
|
||||
use std::marker::PhantomData;
|
||||
use std::ops::{Deref, DerefMut};
|
||||
use std::ptr;
|
||||
|
||||
use super::Object;
|
||||
@ -10,23 +12,141 @@ use crate::{
|
||||
},
|
||||
check_status, sys, Env, NapiRaw, NapiValue, ValueType,
|
||||
};
|
||||
use crate::{Property, PropertyAttributes};
|
||||
|
||||
pub type This<T = Object> = T;
|
||||
pub struct This<'scope, T: FromNapiValue = Object> {
|
||||
pub object: T,
|
||||
_phantom: &'scope PhantomData<()>,
|
||||
}
|
||||
|
||||
pub struct ClassInstance<'env, T> {
|
||||
impl<T: FromNapiValue> From<T> for This<'_, T> {
|
||||
fn from(value: T) -> Self {
|
||||
Self {
|
||||
object: value,
|
||||
_phantom: &PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: NapiValue> Deref for This<'_, T> {
|
||||
type Target = T;
|
||||
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.object
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: NapiValue> DerefMut for This<'_, T> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
&mut self.object
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: NapiValue> NapiRaw for This<'_, T> {
|
||||
unsafe fn raw(&self) -> napi_sys::napi_value {
|
||||
self.object.raw()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: NapiValue> NapiValue for This<'_, T> {
|
||||
unsafe fn from_raw(env: napi_sys::napi_env, value: napi_sys::napi_value) -> Result<Self> {
|
||||
Ok(Self {
|
||||
object: T::from_raw(env, value)?,
|
||||
_phantom: &PhantomData,
|
||||
})
|
||||
}
|
||||
|
||||
unsafe fn from_raw_unchecked(env: napi_sys::napi_env, value: napi_sys::napi_value) -> Self {
|
||||
Self {
|
||||
object: T::from_raw_unchecked(env, value),
|
||||
_phantom: &PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ClassInstance<'env, T: 'env> {
|
||||
pub value: sys::napi_value,
|
||||
inner: &'env mut T,
|
||||
env: sys::napi_env,
|
||||
inner: *mut T,
|
||||
_phantom: &'env PhantomData<()>,
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> ClassInstance<'env, T> {
|
||||
#[doc(hidden)]
|
||||
pub fn new(value: sys::napi_value, inner: &'static mut T) -> Self {
|
||||
Self { value, inner }
|
||||
pub unsafe fn new(value: sys::napi_value, env: sys::napi_env, inner: *mut T) -> Self {
|
||||
Self {
|
||||
value,
|
||||
env,
|
||||
inner: unsafe { &mut *inner },
|
||||
_phantom: &PhantomData,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn as_object(&self, env: &Env) -> Object {
|
||||
unsafe { Object::from_raw_unchecked(env.raw(), self.value) }
|
||||
}
|
||||
|
||||
/// Assign this `ClassInstance` to another `This` object
|
||||
///
|
||||
/// Extends the lifetime of `ClassInsatnce` to `This`.
|
||||
pub fn assign_to_this<'a, 'this, U>(
|
||||
&'a self,
|
||||
name: &'a str,
|
||||
this: &'a mut This<U>,
|
||||
) -> Result<ClassInstance<'this, T>>
|
||||
where
|
||||
'this: 'env,
|
||||
U: FromNapiValue + NapiRaw,
|
||||
{
|
||||
let name = CString::new(name)?;
|
||||
check_status!(
|
||||
unsafe {
|
||||
sys::napi_set_named_property(self.env, this.object.raw(), name.as_ptr(), self.value)
|
||||
},
|
||||
"Failed to assign ClassInstance<{}> to this",
|
||||
std::any::type_name::<T>()
|
||||
)?;
|
||||
let val: ClassInstance<'this, T> = ClassInstance {
|
||||
value: self.value,
|
||||
env: self.env,
|
||||
inner: self.inner,
|
||||
_phantom: &PhantomData,
|
||||
};
|
||||
Ok(val)
|
||||
}
|
||||
|
||||
/// Assign this `ClassInstance` to another `This` object with `PropertyAttributes`.
|
||||
///
|
||||
/// Extends the lifetime of `ClassInsatnce` to `This`.
|
||||
pub fn assign_to_this_with_attributes<'a, 'this, U>(
|
||||
&'a self,
|
||||
name: &'a str,
|
||||
attributes: PropertyAttributes,
|
||||
this: &'a mut This<U>,
|
||||
) -> Result<ClassInstance<'this, T>>
|
||||
where
|
||||
'this: 'env,
|
||||
U: FromNapiValue + NapiRaw,
|
||||
{
|
||||
let property = Property::new(name)?
|
||||
.with_value(&self)
|
||||
.with_property_attributes(attributes);
|
||||
|
||||
check_status!(
|
||||
unsafe {
|
||||
sys::napi_define_properties(self.env, this.object.raw(), 1, [property.raw()].as_ptr())
|
||||
},
|
||||
"Failed to define properties on This in `assign_to_this_with_attributes`"
|
||||
)?;
|
||||
|
||||
let val: ClassInstance<'this, T> = ClassInstance {
|
||||
value: self.value,
|
||||
env: self.env,
|
||||
inner: self.inner,
|
||||
_phantom: &PhantomData,
|
||||
};
|
||||
Ok(val)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> NapiRaw for ClassInstance<'env, T> {
|
||||
@ -35,6 +155,12 @@ impl<'env, T: 'env> NapiRaw for ClassInstance<'env, T> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> NapiRaw for &ClassInstance<'env, T> {
|
||||
unsafe fn raw(&self) -> sys::napi_value {
|
||||
self.value
|
||||
}
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> TypeName for ClassInstance<'env, T>
|
||||
where
|
||||
&'env T: TypeName,
|
||||
@ -72,6 +198,8 @@ impl<'env, T: 'env> FromNapiValue for ClassInstance<'env, T> {
|
||||
Ok(Self {
|
||||
value: napi_val,
|
||||
inner: Box::leak(value),
|
||||
env,
|
||||
_phantom: &PhantomData,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -80,13 +208,19 @@ impl<'env, T: 'env> Deref for ClassInstance<'env, T> {
|
||||
type Target = T;
|
||||
|
||||
fn deref(&self) -> &Self::Target {
|
||||
self.inner
|
||||
unsafe { &*self.inner }
|
||||
}
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> DerefMut for ClassInstance<'env, T> {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
unsafe { &mut *self.inner }
|
||||
}
|
||||
}
|
||||
|
||||
impl<'env, T: 'env> AsRef<T> for ClassInstance<'env, T> {
|
||||
fn as_ref(&self) -> &T {
|
||||
self.inner
|
||||
unsafe { &*self.inner }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1547,12 +1547,12 @@ pub(crate) unsafe extern "C" fn trampoline<
|
||||
#[cfg(feature = "napi5")]
|
||||
pub(crate) unsafe extern "C" fn trampoline_setter<
|
||||
V: FromNapiValue,
|
||||
F: Fn(Env, crate::bindgen_runtime::Object, V) -> Result<()>,
|
||||
F: Fn(Env, crate::bindgen_runtime::This, V) -> Result<()>,
|
||||
>(
|
||||
raw_env: sys::napi_env,
|
||||
cb_info: sys::napi_callback_info,
|
||||
) -> sys::napi_value {
|
||||
use crate::bindgen_runtime::Object;
|
||||
use crate::bindgen_runtime::This;
|
||||
|
||||
let (raw_args, raw_this, closure_data_ptr) = {
|
||||
let mut argc = 1;
|
||||
@ -1589,7 +1589,7 @@ pub(crate) unsafe extern "C" fn trampoline_setter<
|
||||
.and_then(|value| {
|
||||
closure(
|
||||
env,
|
||||
unsafe { Object::from_raw_unchecked(raw_env, raw_this) },
|
||||
unsafe { This::from_raw_unchecked(raw_env, raw_this) },
|
||||
value,
|
||||
)
|
||||
})
|
||||
@ -1634,7 +1634,7 @@ pub(crate) unsafe extern "C" fn trampoline_getter<
|
||||
let closure: &F = Box::leak(unsafe { Box::from_raw(closure_data_ptr.cast()) });
|
||||
let env = Env::from_raw(raw_env);
|
||||
closure(env, unsafe {
|
||||
crate::bindgen_runtime::Object::from_raw_unchecked(raw_env, raw_this)
|
||||
crate::bindgen_runtime::This::from_raw_unchecked(raw_env, raw_this)
|
||||
})
|
||||
.and_then(|ret: R| unsafe { <R as ToNapiValue>::to_napi_value(env.0, ret) })
|
||||
.unwrap_or_else(|e| {
|
||||
|
||||
@ -7,11 +7,8 @@ use std::ptr;
|
||||
use bitflags::bitflags;
|
||||
|
||||
#[cfg(feature = "napi5")]
|
||||
use crate::{
|
||||
bindgen_runtime::{FromNapiValue, This, ToNapiValue},
|
||||
Env,
|
||||
};
|
||||
use crate::{sys, Callback, NapiRaw, Result};
|
||||
use crate::bindgen_runtime::{FromNapiValue, This};
|
||||
use crate::{bindgen_runtime::ToNapiValue, sys, Callback, Env, NapiRaw, Result};
|
||||
|
||||
#[cfg(feature = "napi5")]
|
||||
#[derive(Copy, Clone)]
|
||||
@ -150,6 +147,11 @@ impl Property {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn with_napi_value<T: ToNapiValue>(mut self, env: &Env, value: T) -> Result<Self> {
|
||||
self.value = unsafe { T::to_napi_value(env.0, value)? };
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
pub(crate) fn raw(&self) -> sys::napi_property_descriptor {
|
||||
#[cfg(feature = "napi5")]
|
||||
let closures = Box::into_raw(Box::new(self.closures));
|
||||
|
||||
@ -4,7 +4,7 @@ use napi::{
|
||||
};
|
||||
|
||||
#[contextless_function]
|
||||
fn add_cleanup_hook(mut env: Env) -> ContextlessResult<External<CleanupEnvHook<()>>> {
|
||||
fn add_cleanup_hook(env: Env) -> ContextlessResult<External<CleanupEnvHook<()>>> {
|
||||
let hook = env.add_env_cleanup_hook((), |_| {
|
||||
println!("cleanup hook executed");
|
||||
})?;
|
||||
|
||||
@ -117,6 +117,11 @@ Generated by [AVA](https://avajs.dev).
|
||||
setName(name: string): this␊
|
||||
}␊
|
||||
␊
|
||||
export declare class ClassWithLifetime {␊
|
||||
constructor()␊
|
||||
getName(): string␊
|
||||
}␊
|
||||
␊
|
||||
export declare class Context {␊
|
||||
maybeNeed?: boolean␊
|
||||
buffer: Uint8Array␊
|
||||
@ -204,7 +209,7 @@ Generated by [AVA](https://avajs.dev).
|
||||
static newRaph(): NinjaTurtle␊
|
||||
getMaskColor(): string␊
|
||||
getName(): string␊
|
||||
returnThis(this: this): this␊
|
||||
returnThis(): this␊
|
||||
}␊
|
||||
␊
|
||||
export declare class NotUseNullableClass {␊
|
||||
|
||||
Binary file not shown.
@ -183,6 +183,7 @@ import {
|
||||
mutateOptionalExternal,
|
||||
panicInAsync,
|
||||
CustomStruct,
|
||||
ClassWithLifetime,
|
||||
uInit8ArrayFromString,
|
||||
callThenOnPromise,
|
||||
callCatchOnPromise,
|
||||
@ -381,6 +382,10 @@ test('class', (t) => {
|
||||
new CatchOnConstructor()
|
||||
})
|
||||
|
||||
const classWithLifetime = new ClassWithLifetime()
|
||||
t.deepEqual(classWithLifetime.getName(), 'alie')
|
||||
t.deepEqual(Object.keys(classWithLifetime), ['inner'])
|
||||
|
||||
if (!process.env.TEST_ZIG_CROSS) {
|
||||
t.throws(
|
||||
() => {
|
||||
|
||||
@ -121,259 +121,261 @@ function __napi_rs_initialize_modules(__napiInstance) {
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor_impl_98']?.()
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor2_struct_99']?.()
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor2_impl_101']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_struct_102']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_impl_107']?.()
|
||||
__napiInstance.exports['__napi_register__Selector_struct_108']?.()
|
||||
__napiInstance.exports['__napi_register__date_to_number_109']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_to_millis_110']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_to_millis_111']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_to_millis_112']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_add_1_minute_113']?.()
|
||||
__napiInstance.exports['__napi_register__UtcDates_struct_114']?.()
|
||||
__napiInstance.exports['__napi_register__LocalDates_struct_115']?.()
|
||||
__napiInstance.exports['__napi_register__DatesWithTimeZone_struct_116']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_117']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_return_118']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_return_119']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_return_120']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_return_121']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return1_122']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return2_123']?.()
|
||||
__napiInstance.exports['__napi_register__either_string_or_number_124']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_125']?.()
|
||||
__napiInstance.exports['__napi_register__either3_126']?.()
|
||||
__napiInstance.exports['__napi_register__Obj_struct_127']?.()
|
||||
__napiInstance.exports['__napi_register__either4_128']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_struct_129']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_impl_131']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_struct_132']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_impl_134']?.()
|
||||
__napiInstance.exports['__napi_register__receive_class_or_number_135']?.()
|
||||
__napiInstance.exports['__napi_register__receive_mut_class_or_number_136']?.()
|
||||
__napiInstance.exports['__napi_register__receive_different_class_137']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_class_138']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_option_139']?.()
|
||||
__napiInstance.exports['__napi_register__A_struct_140']?.()
|
||||
__napiInstance.exports['__napi_register__B_struct_141']?.()
|
||||
__napiInstance.exports['__napi_register__C_struct_142']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_objects_143']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_function_144']?.()
|
||||
__napiInstance.exports['__napi_register__promise_in_either_145']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_tuple_146']?.()
|
||||
__napiInstance.exports['__napi_register__Kind_147']?.()
|
||||
__napiInstance.exports['__napi_register__Empty_148']?.()
|
||||
__napiInstance.exports['__napi_register__Status_149']?.()
|
||||
__napiInstance.exports['__napi_register__StringEnum_150']?.()
|
||||
__napiInstance.exports['__napi_register__CustomNumEnum_151']?.()
|
||||
__napiInstance.exports['__napi_register__enum_to_i32_152']?.()
|
||||
__napiInstance.exports['__napi_register__SkippedEnums_153']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStringEnum_154']?.()
|
||||
__napiInstance.exports['__napi_register__StructuredKind_struct_155']?.()
|
||||
__napiInstance.exports['__napi_register__validate_structured_enum_156']?.()
|
||||
__napiInstance.exports['__napi_register__run_script_157']?.()
|
||||
__napiInstance.exports['__napi_register__get_module_file_name_158']?.()
|
||||
__napiInstance.exports['__napi_register__throw_syntax_error_159']?.()
|
||||
__napiInstance.exports['__napi_register__throw_error_160']?.()
|
||||
__napiInstance.exports['__napi_register__panic_161']?.()
|
||||
__napiInstance.exports['__napi_register__receive_string_162']?.()
|
||||
__napiInstance.exports['__napi_register__custom_status_code_163']?.()
|
||||
__napiInstance.exports['__napi_register__throw_async_error_164']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_struct_165']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_impl_168']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_169']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_string_170']?.()
|
||||
__napiInstance.exports['__napi_register__get_external_171']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_external_172']?.()
|
||||
__napiInstance.exports['__napi_register__create_optional_external_173']?.()
|
||||
__napiInstance.exports['__napi_register__get_optional_external_174']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_optional_external_175']?.()
|
||||
__napiInstance.exports['__napi_register__validate_array_176']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_177']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_178']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_slice_179']?.()
|
||||
__napiInstance.exports['__napi_register__validate_uint8_clamped_slice_180']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_slice_181']?.()
|
||||
__napiInstance.exports['__napi_register__validate_bigint_182']?.()
|
||||
__napiInstance.exports['__napi_register__validate_boolean_183']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_184']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_time_185']?.()
|
||||
__napiInstance.exports['__napi_register__validate_external_186']?.()
|
||||
__napiInstance.exports['__napi_register__validate_function_187']?.()
|
||||
__napiInstance.exports['__napi_register__validate_hash_map_188']?.()
|
||||
__napiInstance.exports['__napi_register__validate_null_189']?.()
|
||||
__napiInstance.exports['__napi_register__validate_undefined_190']?.()
|
||||
__napiInstance.exports['__napi_register__validate_number_191']?.()
|
||||
__napiInstance.exports['__napi_register__validate_promise_192']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_193']?.()
|
||||
__napiInstance.exports['__napi_register__validate_symbol_194']?.()
|
||||
__napiInstance.exports['__napi_register__validate_optional_195']?.()
|
||||
__napiInstance.exports['__napi_register__KindInValidate_196']?.()
|
||||
__napiInstance.exports['__napi_register__validate_enum_197']?.()
|
||||
__napiInstance.exports['__napi_register__StatusInValidate_198']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_enum_199']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_200']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_promise_201']?.()
|
||||
__napiInstance.exports['__napi_register__ts_rename_202']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_203']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_with_cb_arg_204']?.()
|
||||
__napiInstance.exports['__napi_register__call0_205']?.()
|
||||
__napiInstance.exports['__napi_register__call1_206']?.()
|
||||
__napiInstance.exports['__napi_register__call2_207']?.()
|
||||
__napiInstance.exports['__napi_register__apply0_208']?.()
|
||||
__napiInstance.exports['__napi_register__apply1_209']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_210']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_211']?.()
|
||||
__napiInstance.exports['__napi_register__create_reference_on_function_212']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_and_ctx_213']?.()
|
||||
__napiInstance.exports['__napi_register__reference_as_callback_214']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_215']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_callee_handle_216']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_struct_217']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_218']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_220']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_struct_221']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_222']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_224']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_struct_225']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_impl_226']?.()
|
||||
__napiInstance.exports['__napi_register__ALIGNMENT_227']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_228']?.()
|
||||
__napiInstance.exports['__napi_register__xxh128_229']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_struct_230']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_impl_234']?.()
|
||||
__napiInstance.exports['__napi_register__xxh2_plus_235']?.()
|
||||
__napiInstance.exports['__napi_register__xxh3_xxh64_alias_236']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_alias_237']?.()
|
||||
__napiInstance.exports['__napi_register__get_mapping_238']?.()
|
||||
__napiInstance.exports['__napi_register__sum_mapping_239']?.()
|
||||
__napiInstance.exports['__napi_register__get_btree_mapping_240']?.()
|
||||
__napiInstance.exports['__napi_register__sum_btree_mapping_241']?.()
|
||||
__napiInstance.exports['__napi_register__get_index_mapping_242']?.()
|
||||
__napiInstance.exports['__napi_register__sum_index_mapping_243']?.()
|
||||
__napiInstance.exports['__napi_register__indexmap_passthrough_244']?.()
|
||||
__napiInstance.exports['__napi_register__map_option_245']?.()
|
||||
__napiInstance.exports['__napi_register__return_null_246']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_247']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableStruct_struct_248']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableStruct_struct_249']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableStruct_struct_250']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableClass_struct_251']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableClass_struct_252']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableClass_struct_253']?.()
|
||||
__napiInstance.exports['__napi_register__add_254']?.()
|
||||
__napiInstance.exports['__napi_register__fibonacci_255']?.()
|
||||
__napiInstance.exports['__napi_register__list_obj_keys_256']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_257']?.()
|
||||
__napiInstance.exports['__napi_register__get_global_258']?.()
|
||||
__napiInstance.exports['__napi_register__get_undefined_259']?.()
|
||||
__napiInstance.exports['__napi_register__get_null_260']?.()
|
||||
__napiInstance.exports['__napi_register__AllOptionalObject_struct_261']?.()
|
||||
__napiInstance.exports['__napi_register__receive_all_optional_object_262']?.()
|
||||
__napiInstance.exports['__napi_register__AliasedEnum_263']?.()
|
||||
__napiInstance.exports['__napi_register__StructContainsAliasedEnum_struct_264']?.()
|
||||
__napiInstance.exports['__napi_register__fn_received_aliased_265']?.()
|
||||
__napiInstance.exports['__napi_register__StrictObject_struct_266']?.()
|
||||
__napiInstance.exports['__napi_register__receive_strict_object_267']?.()
|
||||
__napiInstance.exports['__napi_register__get_str_from_object_268']?.()
|
||||
__napiInstance.exports['__napi_register__TsTypeChanged_struct_269']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_with_property_270']?.()
|
||||
__napiInstance.exports['__napi_register__getter_from_obj_271']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyFromJs_struct_272']?.()
|
||||
__napiInstance.exports['__napi_register__receive_object_only_from_js_273']?.()
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_274']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_275']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_276']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_277']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_280']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_281']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_282']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_286']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_289']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_290']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_294']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_295']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_296']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_298']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_302']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_303']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_304']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_306']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_307']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_308']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_309']?.()
|
||||
__napiInstance.exports['__napi_register__contains_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_311']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_312']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_313']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_314']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_315']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_316']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_317']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_318']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_319']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_320']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_321']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_322']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_323']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_324']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_325']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_326']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_327']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_330']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_331']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_332']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_333']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_335']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_336']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_338']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_339']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_340']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_341']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_342']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_343']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_slice_345']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_346']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_347']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_buffer_slice_348']?.()
|
||||
__napiInstance.exports['__napi_register__create_buffer_slice_from_copied_data_349']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_typed_array_350']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_351']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_352']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_353']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_355']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_356']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_357']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_358']?.()
|
||||
__napiInstance.exports['__napi_register__create_arraybuffer_359']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_363']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_364']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_365']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_366']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_369']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_370']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_371']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_372']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_373']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_374']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_375']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncReader_impl_376']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_struct_377']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_impl_379']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithLifetime_struct_102']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithLifetime_impl_105']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_struct_106']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_impl_111']?.()
|
||||
__napiInstance.exports['__napi_register__Selector_struct_112']?.()
|
||||
__napiInstance.exports['__napi_register__date_to_number_113']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_to_millis_114']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_to_millis_115']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_to_millis_116']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_add_1_minute_117']?.()
|
||||
__napiInstance.exports['__napi_register__UtcDates_struct_118']?.()
|
||||
__napiInstance.exports['__napi_register__LocalDates_struct_119']?.()
|
||||
__napiInstance.exports['__napi_register__DatesWithTimeZone_struct_120']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_121']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_return_122']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_return_123']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_return_124']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_return_125']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return1_126']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return2_127']?.()
|
||||
__napiInstance.exports['__napi_register__either_string_or_number_128']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_129']?.()
|
||||
__napiInstance.exports['__napi_register__either3_130']?.()
|
||||
__napiInstance.exports['__napi_register__Obj_struct_131']?.()
|
||||
__napiInstance.exports['__napi_register__either4_132']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_struct_133']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_impl_135']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_struct_136']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_impl_138']?.()
|
||||
__napiInstance.exports['__napi_register__receive_class_or_number_139']?.()
|
||||
__napiInstance.exports['__napi_register__receive_mut_class_or_number_140']?.()
|
||||
__napiInstance.exports['__napi_register__receive_different_class_141']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_class_142']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_option_143']?.()
|
||||
__napiInstance.exports['__napi_register__A_struct_144']?.()
|
||||
__napiInstance.exports['__napi_register__B_struct_145']?.()
|
||||
__napiInstance.exports['__napi_register__C_struct_146']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_objects_147']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_function_148']?.()
|
||||
__napiInstance.exports['__napi_register__promise_in_either_149']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_tuple_150']?.()
|
||||
__napiInstance.exports['__napi_register__Kind_151']?.()
|
||||
__napiInstance.exports['__napi_register__Empty_152']?.()
|
||||
__napiInstance.exports['__napi_register__Status_153']?.()
|
||||
__napiInstance.exports['__napi_register__StringEnum_154']?.()
|
||||
__napiInstance.exports['__napi_register__CustomNumEnum_155']?.()
|
||||
__napiInstance.exports['__napi_register__enum_to_i32_156']?.()
|
||||
__napiInstance.exports['__napi_register__SkippedEnums_157']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStringEnum_158']?.()
|
||||
__napiInstance.exports['__napi_register__StructuredKind_struct_159']?.()
|
||||
__napiInstance.exports['__napi_register__validate_structured_enum_160']?.()
|
||||
__napiInstance.exports['__napi_register__run_script_161']?.()
|
||||
__napiInstance.exports['__napi_register__get_module_file_name_162']?.()
|
||||
__napiInstance.exports['__napi_register__throw_syntax_error_163']?.()
|
||||
__napiInstance.exports['__napi_register__throw_error_164']?.()
|
||||
__napiInstance.exports['__napi_register__panic_165']?.()
|
||||
__napiInstance.exports['__napi_register__receive_string_166']?.()
|
||||
__napiInstance.exports['__napi_register__custom_status_code_167']?.()
|
||||
__napiInstance.exports['__napi_register__throw_async_error_168']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_struct_169']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_impl_172']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_173']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_string_174']?.()
|
||||
__napiInstance.exports['__napi_register__get_external_175']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_external_176']?.()
|
||||
__napiInstance.exports['__napi_register__create_optional_external_177']?.()
|
||||
__napiInstance.exports['__napi_register__get_optional_external_178']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_optional_external_179']?.()
|
||||
__napiInstance.exports['__napi_register__validate_array_180']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_181']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_182']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_slice_183']?.()
|
||||
__napiInstance.exports['__napi_register__validate_uint8_clamped_slice_184']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_slice_185']?.()
|
||||
__napiInstance.exports['__napi_register__validate_bigint_186']?.()
|
||||
__napiInstance.exports['__napi_register__validate_boolean_187']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_188']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_time_189']?.()
|
||||
__napiInstance.exports['__napi_register__validate_external_190']?.()
|
||||
__napiInstance.exports['__napi_register__validate_function_191']?.()
|
||||
__napiInstance.exports['__napi_register__validate_hash_map_192']?.()
|
||||
__napiInstance.exports['__napi_register__validate_null_193']?.()
|
||||
__napiInstance.exports['__napi_register__validate_undefined_194']?.()
|
||||
__napiInstance.exports['__napi_register__validate_number_195']?.()
|
||||
__napiInstance.exports['__napi_register__validate_promise_196']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_197']?.()
|
||||
__napiInstance.exports['__napi_register__validate_symbol_198']?.()
|
||||
__napiInstance.exports['__napi_register__validate_optional_199']?.()
|
||||
__napiInstance.exports['__napi_register__KindInValidate_200']?.()
|
||||
__napiInstance.exports['__napi_register__validate_enum_201']?.()
|
||||
__napiInstance.exports['__napi_register__StatusInValidate_202']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_enum_203']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_204']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_promise_205']?.()
|
||||
__napiInstance.exports['__napi_register__ts_rename_206']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_207']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_with_cb_arg_208']?.()
|
||||
__napiInstance.exports['__napi_register__call0_209']?.()
|
||||
__napiInstance.exports['__napi_register__call1_210']?.()
|
||||
__napiInstance.exports['__napi_register__call2_211']?.()
|
||||
__napiInstance.exports['__napi_register__apply0_212']?.()
|
||||
__napiInstance.exports['__napi_register__apply1_213']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_214']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_215']?.()
|
||||
__napiInstance.exports['__napi_register__create_reference_on_function_216']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_and_ctx_217']?.()
|
||||
__napiInstance.exports['__napi_register__reference_as_callback_218']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_219']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_callee_handle_220']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_struct_221']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_222']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_224']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_struct_225']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_226']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_228']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_struct_229']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_impl_230']?.()
|
||||
__napiInstance.exports['__napi_register__ALIGNMENT_231']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_232']?.()
|
||||
__napiInstance.exports['__napi_register__xxh128_233']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_struct_234']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_impl_238']?.()
|
||||
__napiInstance.exports['__napi_register__xxh2_plus_239']?.()
|
||||
__napiInstance.exports['__napi_register__xxh3_xxh64_alias_240']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_alias_241']?.()
|
||||
__napiInstance.exports['__napi_register__get_mapping_242']?.()
|
||||
__napiInstance.exports['__napi_register__sum_mapping_243']?.()
|
||||
__napiInstance.exports['__napi_register__get_btree_mapping_244']?.()
|
||||
__napiInstance.exports['__napi_register__sum_btree_mapping_245']?.()
|
||||
__napiInstance.exports['__napi_register__get_index_mapping_246']?.()
|
||||
__napiInstance.exports['__napi_register__sum_index_mapping_247']?.()
|
||||
__napiInstance.exports['__napi_register__indexmap_passthrough_248']?.()
|
||||
__napiInstance.exports['__napi_register__map_option_249']?.()
|
||||
__napiInstance.exports['__napi_register__return_null_250']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_251']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableStruct_struct_252']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableStruct_struct_253']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableStruct_struct_254']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableClass_struct_255']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableClass_struct_256']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableClass_struct_257']?.()
|
||||
__napiInstance.exports['__napi_register__add_258']?.()
|
||||
__napiInstance.exports['__napi_register__fibonacci_259']?.()
|
||||
__napiInstance.exports['__napi_register__list_obj_keys_260']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_261']?.()
|
||||
__napiInstance.exports['__napi_register__get_global_262']?.()
|
||||
__napiInstance.exports['__napi_register__get_undefined_263']?.()
|
||||
__napiInstance.exports['__napi_register__get_null_264']?.()
|
||||
__napiInstance.exports['__napi_register__AllOptionalObject_struct_265']?.()
|
||||
__napiInstance.exports['__napi_register__receive_all_optional_object_266']?.()
|
||||
__napiInstance.exports['__napi_register__AliasedEnum_267']?.()
|
||||
__napiInstance.exports['__napi_register__StructContainsAliasedEnum_struct_268']?.()
|
||||
__napiInstance.exports['__napi_register__fn_received_aliased_269']?.()
|
||||
__napiInstance.exports['__napi_register__StrictObject_struct_270']?.()
|
||||
__napiInstance.exports['__napi_register__receive_strict_object_271']?.()
|
||||
__napiInstance.exports['__napi_register__get_str_from_object_272']?.()
|
||||
__napiInstance.exports['__napi_register__TsTypeChanged_struct_273']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_with_property_274']?.()
|
||||
__napiInstance.exports['__napi_register__getter_from_obj_275']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyFromJs_struct_276']?.()
|
||||
__napiInstance.exports['__napi_register__receive_object_only_from_js_277']?.()
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_278']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_279']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_280']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_281']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_282']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_283']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_284']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_286']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_289']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_290']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_293']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_298']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_299']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_300']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_302']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_306']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_307']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_308']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_309']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_310']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_311']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_312']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_313']?.()
|
||||
__napiInstance.exports['__napi_register__contains_314']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_315']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_316']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_317']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_318']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_319']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_320']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_321']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_322']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_323']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_324']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_325']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_326']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_327']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_328']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_329']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_330']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_331']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_332']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_333']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_334']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_335']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_338']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_339']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_340']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_341']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_342']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_343']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_344']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_345']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_346']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_347']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_348']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_slice_349']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_350']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_351']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_buffer_slice_352']?.()
|
||||
__napiInstance.exports['__napi_register__create_buffer_slice_from_copied_data_353']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_typed_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_359']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_360']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_361']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_362']?.()
|
||||
__napiInstance.exports['__napi_register__create_arraybuffer_363']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_364']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_365']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_366']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_369']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_370']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_371']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_372']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_373']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_374']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_375']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_376']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_377']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_378']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_379']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncReader_impl_380']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_struct_381']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_impl_383']?.()
|
||||
}
|
||||
export const Animal = __napiModule.exports.Animal
|
||||
export const AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
|
||||
@ -392,6 +394,7 @@ export const Blake2bKey = __napiModule.exports.Blake2bKey
|
||||
export const CatchOnConstructor = __napiModule.exports.CatchOnConstructor
|
||||
export const CatchOnConstructor2 = __napiModule.exports.CatchOnConstructor2
|
||||
export const ClassWithFactory = __napiModule.exports.ClassWithFactory
|
||||
export const ClassWithLifetime = __napiModule.exports.ClassWithLifetime
|
||||
export const Context = __napiModule.exports.Context
|
||||
export const CssRuleList = __napiModule.exports.CssRuleList
|
||||
export const CSSRuleList = __napiModule.exports.CSSRuleList
|
||||
|
||||
@ -145,259 +145,261 @@ function __napi_rs_initialize_modules(__napiInstance) {
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor_impl_98']?.()
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor2_struct_99']?.()
|
||||
__napiInstance.exports['__napi_register__CatchOnConstructor2_impl_101']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_struct_102']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_impl_107']?.()
|
||||
__napiInstance.exports['__napi_register__Selector_struct_108']?.()
|
||||
__napiInstance.exports['__napi_register__date_to_number_109']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_to_millis_110']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_to_millis_111']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_to_millis_112']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_add_1_minute_113']?.()
|
||||
__napiInstance.exports['__napi_register__UtcDates_struct_114']?.()
|
||||
__napiInstance.exports['__napi_register__LocalDates_struct_115']?.()
|
||||
__napiInstance.exports['__napi_register__DatesWithTimeZone_struct_116']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_117']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_return_118']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_return_119']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_return_120']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_return_121']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return1_122']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return2_123']?.()
|
||||
__napiInstance.exports['__napi_register__either_string_or_number_124']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_125']?.()
|
||||
__napiInstance.exports['__napi_register__either3_126']?.()
|
||||
__napiInstance.exports['__napi_register__Obj_struct_127']?.()
|
||||
__napiInstance.exports['__napi_register__either4_128']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_struct_129']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_impl_131']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_struct_132']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_impl_134']?.()
|
||||
__napiInstance.exports['__napi_register__receive_class_or_number_135']?.()
|
||||
__napiInstance.exports['__napi_register__receive_mut_class_or_number_136']?.()
|
||||
__napiInstance.exports['__napi_register__receive_different_class_137']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_class_138']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_option_139']?.()
|
||||
__napiInstance.exports['__napi_register__A_struct_140']?.()
|
||||
__napiInstance.exports['__napi_register__B_struct_141']?.()
|
||||
__napiInstance.exports['__napi_register__C_struct_142']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_objects_143']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_function_144']?.()
|
||||
__napiInstance.exports['__napi_register__promise_in_either_145']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_tuple_146']?.()
|
||||
__napiInstance.exports['__napi_register__Kind_147']?.()
|
||||
__napiInstance.exports['__napi_register__Empty_148']?.()
|
||||
__napiInstance.exports['__napi_register__Status_149']?.()
|
||||
__napiInstance.exports['__napi_register__StringEnum_150']?.()
|
||||
__napiInstance.exports['__napi_register__CustomNumEnum_151']?.()
|
||||
__napiInstance.exports['__napi_register__enum_to_i32_152']?.()
|
||||
__napiInstance.exports['__napi_register__SkippedEnums_153']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStringEnum_154']?.()
|
||||
__napiInstance.exports['__napi_register__StructuredKind_struct_155']?.()
|
||||
__napiInstance.exports['__napi_register__validate_structured_enum_156']?.()
|
||||
__napiInstance.exports['__napi_register__run_script_157']?.()
|
||||
__napiInstance.exports['__napi_register__get_module_file_name_158']?.()
|
||||
__napiInstance.exports['__napi_register__throw_syntax_error_159']?.()
|
||||
__napiInstance.exports['__napi_register__throw_error_160']?.()
|
||||
__napiInstance.exports['__napi_register__panic_161']?.()
|
||||
__napiInstance.exports['__napi_register__receive_string_162']?.()
|
||||
__napiInstance.exports['__napi_register__custom_status_code_163']?.()
|
||||
__napiInstance.exports['__napi_register__throw_async_error_164']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_struct_165']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_impl_168']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_169']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_string_170']?.()
|
||||
__napiInstance.exports['__napi_register__get_external_171']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_external_172']?.()
|
||||
__napiInstance.exports['__napi_register__create_optional_external_173']?.()
|
||||
__napiInstance.exports['__napi_register__get_optional_external_174']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_optional_external_175']?.()
|
||||
__napiInstance.exports['__napi_register__validate_array_176']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_177']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_178']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_slice_179']?.()
|
||||
__napiInstance.exports['__napi_register__validate_uint8_clamped_slice_180']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_slice_181']?.()
|
||||
__napiInstance.exports['__napi_register__validate_bigint_182']?.()
|
||||
__napiInstance.exports['__napi_register__validate_boolean_183']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_184']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_time_185']?.()
|
||||
__napiInstance.exports['__napi_register__validate_external_186']?.()
|
||||
__napiInstance.exports['__napi_register__validate_function_187']?.()
|
||||
__napiInstance.exports['__napi_register__validate_hash_map_188']?.()
|
||||
__napiInstance.exports['__napi_register__validate_null_189']?.()
|
||||
__napiInstance.exports['__napi_register__validate_undefined_190']?.()
|
||||
__napiInstance.exports['__napi_register__validate_number_191']?.()
|
||||
__napiInstance.exports['__napi_register__validate_promise_192']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_193']?.()
|
||||
__napiInstance.exports['__napi_register__validate_symbol_194']?.()
|
||||
__napiInstance.exports['__napi_register__validate_optional_195']?.()
|
||||
__napiInstance.exports['__napi_register__KindInValidate_196']?.()
|
||||
__napiInstance.exports['__napi_register__validate_enum_197']?.()
|
||||
__napiInstance.exports['__napi_register__StatusInValidate_198']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_enum_199']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_200']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_promise_201']?.()
|
||||
__napiInstance.exports['__napi_register__ts_rename_202']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_203']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_with_cb_arg_204']?.()
|
||||
__napiInstance.exports['__napi_register__call0_205']?.()
|
||||
__napiInstance.exports['__napi_register__call1_206']?.()
|
||||
__napiInstance.exports['__napi_register__call2_207']?.()
|
||||
__napiInstance.exports['__napi_register__apply0_208']?.()
|
||||
__napiInstance.exports['__napi_register__apply1_209']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_210']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_211']?.()
|
||||
__napiInstance.exports['__napi_register__create_reference_on_function_212']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_and_ctx_213']?.()
|
||||
__napiInstance.exports['__napi_register__reference_as_callback_214']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_215']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_callee_handle_216']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_struct_217']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_218']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_220']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_struct_221']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_222']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_224']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_struct_225']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_impl_226']?.()
|
||||
__napiInstance.exports['__napi_register__ALIGNMENT_227']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_228']?.()
|
||||
__napiInstance.exports['__napi_register__xxh128_229']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_struct_230']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_impl_234']?.()
|
||||
__napiInstance.exports['__napi_register__xxh2_plus_235']?.()
|
||||
__napiInstance.exports['__napi_register__xxh3_xxh64_alias_236']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_alias_237']?.()
|
||||
__napiInstance.exports['__napi_register__get_mapping_238']?.()
|
||||
__napiInstance.exports['__napi_register__sum_mapping_239']?.()
|
||||
__napiInstance.exports['__napi_register__get_btree_mapping_240']?.()
|
||||
__napiInstance.exports['__napi_register__sum_btree_mapping_241']?.()
|
||||
__napiInstance.exports['__napi_register__get_index_mapping_242']?.()
|
||||
__napiInstance.exports['__napi_register__sum_index_mapping_243']?.()
|
||||
__napiInstance.exports['__napi_register__indexmap_passthrough_244']?.()
|
||||
__napiInstance.exports['__napi_register__map_option_245']?.()
|
||||
__napiInstance.exports['__napi_register__return_null_246']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_247']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableStruct_struct_248']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableStruct_struct_249']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableStruct_struct_250']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableClass_struct_251']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableClass_struct_252']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableClass_struct_253']?.()
|
||||
__napiInstance.exports['__napi_register__add_254']?.()
|
||||
__napiInstance.exports['__napi_register__fibonacci_255']?.()
|
||||
__napiInstance.exports['__napi_register__list_obj_keys_256']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_257']?.()
|
||||
__napiInstance.exports['__napi_register__get_global_258']?.()
|
||||
__napiInstance.exports['__napi_register__get_undefined_259']?.()
|
||||
__napiInstance.exports['__napi_register__get_null_260']?.()
|
||||
__napiInstance.exports['__napi_register__AllOptionalObject_struct_261']?.()
|
||||
__napiInstance.exports['__napi_register__receive_all_optional_object_262']?.()
|
||||
__napiInstance.exports['__napi_register__AliasedEnum_263']?.()
|
||||
__napiInstance.exports['__napi_register__StructContainsAliasedEnum_struct_264']?.()
|
||||
__napiInstance.exports['__napi_register__fn_received_aliased_265']?.()
|
||||
__napiInstance.exports['__napi_register__StrictObject_struct_266']?.()
|
||||
__napiInstance.exports['__napi_register__receive_strict_object_267']?.()
|
||||
__napiInstance.exports['__napi_register__get_str_from_object_268']?.()
|
||||
__napiInstance.exports['__napi_register__TsTypeChanged_struct_269']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_with_property_270']?.()
|
||||
__napiInstance.exports['__napi_register__getter_from_obj_271']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyFromJs_struct_272']?.()
|
||||
__napiInstance.exports['__napi_register__receive_object_only_from_js_273']?.()
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_274']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_275']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_276']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_277']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_280']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_281']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_282']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_286']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_289']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_290']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_294']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_295']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_296']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_298']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_302']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_303']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_304']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_306']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_307']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_308']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_309']?.()
|
||||
__napiInstance.exports['__napi_register__contains_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_311']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_312']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_313']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_314']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_315']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_316']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_317']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_318']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_319']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_320']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_321']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_322']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_323']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_324']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_325']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_326']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_327']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_330']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_331']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_332']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_333']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_335']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_336']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_338']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_339']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_340']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_341']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_342']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_343']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_slice_345']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_346']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_347']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_buffer_slice_348']?.()
|
||||
__napiInstance.exports['__napi_register__create_buffer_slice_from_copied_data_349']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_typed_array_350']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_351']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_352']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_353']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_355']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_356']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_357']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_358']?.()
|
||||
__napiInstance.exports['__napi_register__create_arraybuffer_359']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_363']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_364']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_365']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_366']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_369']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_370']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_371']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_372']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_373']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_374']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_375']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncReader_impl_376']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_struct_377']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_impl_379']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithLifetime_struct_102']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithLifetime_impl_105']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_struct_106']?.()
|
||||
__napiInstance.exports['__napi_register__ClassWithFactory_impl_111']?.()
|
||||
__napiInstance.exports['__napi_register__Selector_struct_112']?.()
|
||||
__napiInstance.exports['__napi_register__date_to_number_113']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_to_millis_114']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_to_millis_115']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_to_millis_116']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_add_1_minute_117']?.()
|
||||
__napiInstance.exports['__napi_register__UtcDates_struct_118']?.()
|
||||
__napiInstance.exports['__napi_register__LocalDates_struct_119']?.()
|
||||
__napiInstance.exports['__napi_register__DatesWithTimeZone_struct_120']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_121']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_native_date_time_return_122']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_utc_date_return_123']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_local_date_return_124']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_with_timezone_return_125']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return1_126']?.()
|
||||
__napiInstance.exports['__napi_register__chrono_date_fixture_return2_127']?.()
|
||||
__napiInstance.exports['__napi_register__either_string_or_number_128']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_129']?.()
|
||||
__napiInstance.exports['__napi_register__either3_130']?.()
|
||||
__napiInstance.exports['__napi_register__Obj_struct_131']?.()
|
||||
__napiInstance.exports['__napi_register__either4_132']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_struct_133']?.()
|
||||
__napiInstance.exports['__napi_register__JsClassForEither_impl_135']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_struct_136']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherClassForEither_impl_138']?.()
|
||||
__napiInstance.exports['__napi_register__receive_class_or_number_139']?.()
|
||||
__napiInstance.exports['__napi_register__receive_mut_class_or_number_140']?.()
|
||||
__napiInstance.exports['__napi_register__receive_different_class_141']?.()
|
||||
__napiInstance.exports['__napi_register__return_either_class_142']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_option_143']?.()
|
||||
__napiInstance.exports['__napi_register__A_struct_144']?.()
|
||||
__napiInstance.exports['__napi_register__B_struct_145']?.()
|
||||
__napiInstance.exports['__napi_register__C_struct_146']?.()
|
||||
__napiInstance.exports['__napi_register__either_from_objects_147']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_function_148']?.()
|
||||
__napiInstance.exports['__napi_register__promise_in_either_149']?.()
|
||||
__napiInstance.exports['__napi_register__either_bool_or_tuple_150']?.()
|
||||
__napiInstance.exports['__napi_register__Kind_151']?.()
|
||||
__napiInstance.exports['__napi_register__Empty_152']?.()
|
||||
__napiInstance.exports['__napi_register__Status_153']?.()
|
||||
__napiInstance.exports['__napi_register__StringEnum_154']?.()
|
||||
__napiInstance.exports['__napi_register__CustomNumEnum_155']?.()
|
||||
__napiInstance.exports['__napi_register__enum_to_i32_156']?.()
|
||||
__napiInstance.exports['__napi_register__SkippedEnums_157']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStringEnum_158']?.()
|
||||
__napiInstance.exports['__napi_register__StructuredKind_struct_159']?.()
|
||||
__napiInstance.exports['__napi_register__validate_structured_enum_160']?.()
|
||||
__napiInstance.exports['__napi_register__run_script_161']?.()
|
||||
__napiInstance.exports['__napi_register__get_module_file_name_162']?.()
|
||||
__napiInstance.exports['__napi_register__throw_syntax_error_163']?.()
|
||||
__napiInstance.exports['__napi_register__throw_error_164']?.()
|
||||
__napiInstance.exports['__napi_register__panic_165']?.()
|
||||
__napiInstance.exports['__napi_register__receive_string_166']?.()
|
||||
__napiInstance.exports['__napi_register__custom_status_code_167']?.()
|
||||
__napiInstance.exports['__napi_register__throw_async_error_168']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_struct_169']?.()
|
||||
__napiInstance.exports['__napi_register__CustomStruct_impl_172']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_173']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_string_174']?.()
|
||||
__napiInstance.exports['__napi_register__get_external_175']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_external_176']?.()
|
||||
__napiInstance.exports['__napi_register__create_optional_external_177']?.()
|
||||
__napiInstance.exports['__napi_register__get_optional_external_178']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_optional_external_179']?.()
|
||||
__napiInstance.exports['__napi_register__validate_array_180']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_181']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_182']?.()
|
||||
__napiInstance.exports['__napi_register__validate_typed_array_slice_183']?.()
|
||||
__napiInstance.exports['__napi_register__validate_uint8_clamped_slice_184']?.()
|
||||
__napiInstance.exports['__napi_register__validate_buffer_slice_185']?.()
|
||||
__napiInstance.exports['__napi_register__validate_bigint_186']?.()
|
||||
__napiInstance.exports['__napi_register__validate_boolean_187']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_188']?.()
|
||||
__napiInstance.exports['__napi_register__validate_date_time_189']?.()
|
||||
__napiInstance.exports['__napi_register__validate_external_190']?.()
|
||||
__napiInstance.exports['__napi_register__validate_function_191']?.()
|
||||
__napiInstance.exports['__napi_register__validate_hash_map_192']?.()
|
||||
__napiInstance.exports['__napi_register__validate_null_193']?.()
|
||||
__napiInstance.exports['__napi_register__validate_undefined_194']?.()
|
||||
__napiInstance.exports['__napi_register__validate_number_195']?.()
|
||||
__napiInstance.exports['__napi_register__validate_promise_196']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_197']?.()
|
||||
__napiInstance.exports['__napi_register__validate_symbol_198']?.()
|
||||
__napiInstance.exports['__napi_register__validate_optional_199']?.()
|
||||
__napiInstance.exports['__napi_register__KindInValidate_200']?.()
|
||||
__napiInstance.exports['__napi_register__validate_enum_201']?.()
|
||||
__napiInstance.exports['__napi_register__StatusInValidate_202']?.()
|
||||
__napiInstance.exports['__napi_register__validate_string_enum_203']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_204']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_if_invalid_promise_205']?.()
|
||||
__napiInstance.exports['__napi_register__ts_rename_206']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_207']?.()
|
||||
__napiInstance.exports['__napi_register__override_individual_arg_on_function_with_cb_arg_208']?.()
|
||||
__napiInstance.exports['__napi_register__call0_209']?.()
|
||||
__napiInstance.exports['__napi_register__call1_210']?.()
|
||||
__napiInstance.exports['__napi_register__call2_211']?.()
|
||||
__napiInstance.exports['__napi_register__apply0_212']?.()
|
||||
__napiInstance.exports['__napi_register__apply1_213']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_214']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_215']?.()
|
||||
__napiInstance.exports['__napi_register__create_reference_on_function_216']?.()
|
||||
__napiInstance.exports['__napi_register__call_function_with_arg_and_ctx_217']?.()
|
||||
__napiInstance.exports['__napi_register__reference_as_callback_218']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_219']?.()
|
||||
__napiInstance.exports['__napi_register__build_threadsafe_function_from_function_callee_handle_220']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_struct_221']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_222']?.()
|
||||
__napiInstance.exports['__napi_register__Fib_impl_224']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_struct_225']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_226']?.()
|
||||
__napiInstance.exports['__napi_register__Fib2_impl_228']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_struct_229']?.()
|
||||
__napiInstance.exports['__napi_register__Fib3_impl_230']?.()
|
||||
__napiInstance.exports['__napi_register__ALIGNMENT_231']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_232']?.()
|
||||
__napiInstance.exports['__napi_register__xxh128_233']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_struct_234']?.()
|
||||
__napiInstance.exports['__napi_register__Xxh3_impl_238']?.()
|
||||
__napiInstance.exports['__napi_register__xxh2_plus_239']?.()
|
||||
__napiInstance.exports['__napi_register__xxh3_xxh64_alias_240']?.()
|
||||
__napiInstance.exports['__napi_register__xxh64_alias_241']?.()
|
||||
__napiInstance.exports['__napi_register__get_mapping_242']?.()
|
||||
__napiInstance.exports['__napi_register__sum_mapping_243']?.()
|
||||
__napiInstance.exports['__napi_register__get_btree_mapping_244']?.()
|
||||
__napiInstance.exports['__napi_register__sum_btree_mapping_245']?.()
|
||||
__napiInstance.exports['__napi_register__get_index_mapping_246']?.()
|
||||
__napiInstance.exports['__napi_register__sum_index_mapping_247']?.()
|
||||
__napiInstance.exports['__napi_register__indexmap_passthrough_248']?.()
|
||||
__napiInstance.exports['__napi_register__map_option_249']?.()
|
||||
__napiInstance.exports['__napi_register__return_null_250']?.()
|
||||
__napiInstance.exports['__napi_register__return_undefined_251']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableStruct_struct_252']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableStruct_struct_253']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableStruct_struct_254']?.()
|
||||
__napiInstance.exports['__napi_register__UseNullableClass_struct_255']?.()
|
||||
__napiInstance.exports['__napi_register__NotUseNullableClass_struct_256']?.()
|
||||
__napiInstance.exports['__napi_register__DefaultUseNullableClass_struct_257']?.()
|
||||
__napiInstance.exports['__napi_register__add_258']?.()
|
||||
__napiInstance.exports['__napi_register__fibonacci_259']?.()
|
||||
__napiInstance.exports['__napi_register__list_obj_keys_260']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_261']?.()
|
||||
__napiInstance.exports['__napi_register__get_global_262']?.()
|
||||
__napiInstance.exports['__napi_register__get_undefined_263']?.()
|
||||
__napiInstance.exports['__napi_register__get_null_264']?.()
|
||||
__napiInstance.exports['__napi_register__AllOptionalObject_struct_265']?.()
|
||||
__napiInstance.exports['__napi_register__receive_all_optional_object_266']?.()
|
||||
__napiInstance.exports['__napi_register__AliasedEnum_267']?.()
|
||||
__napiInstance.exports['__napi_register__StructContainsAliasedEnum_struct_268']?.()
|
||||
__napiInstance.exports['__napi_register__fn_received_aliased_269']?.()
|
||||
__napiInstance.exports['__napi_register__StrictObject_struct_270']?.()
|
||||
__napiInstance.exports['__napi_register__receive_strict_object_271']?.()
|
||||
__napiInstance.exports['__napi_register__get_str_from_object_272']?.()
|
||||
__napiInstance.exports['__napi_register__TsTypeChanged_struct_273']?.()
|
||||
__napiInstance.exports['__napi_register__create_obj_with_property_274']?.()
|
||||
__napiInstance.exports['__napi_register__getter_from_obj_275']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyFromJs_struct_276']?.()
|
||||
__napiInstance.exports['__napi_register__receive_object_only_from_js_277']?.()
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_278']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_279']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_280']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_281']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_282']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_283']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_284']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_286']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_289']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_290']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_293']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_298']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_299']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_300']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_302']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_306']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_307']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_308']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_309']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_310']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_311']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_312']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_313']?.()
|
||||
__napiInstance.exports['__napi_register__contains_314']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_315']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_316']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_317']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_318']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_319']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_320']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_321']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_322']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_323']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_324']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_325']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_326']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_327']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_328']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_329']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_330']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_331']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_332']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_333']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_334']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_335']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_338']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_339']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_340']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_341']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_342']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_343']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_344']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_345']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_346']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_347']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_348']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_slice_349']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_350']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_351']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_buffer_slice_352']?.()
|
||||
__napiInstance.exports['__napi_register__create_buffer_slice_from_copied_data_353']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_typed_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_359']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_360']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_361']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_362']?.()
|
||||
__napiInstance.exports['__napi_register__create_arraybuffer_363']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_364']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_365']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_366']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_369']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_370']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_371']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_372']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_373']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_374']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_375']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_376']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_377']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_378']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_379']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncReader_impl_380']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_struct_381']?.()
|
||||
__napiInstance.exports['__napi_register__Reader_impl_383']?.()
|
||||
}
|
||||
module.exports.Animal = __napiModule.exports.Animal
|
||||
module.exports.AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
|
||||
@ -416,6 +418,7 @@ module.exports.Blake2bKey = __napiModule.exports.Blake2bKey
|
||||
module.exports.CatchOnConstructor = __napiModule.exports.CatchOnConstructor
|
||||
module.exports.CatchOnConstructor2 = __napiModule.exports.CatchOnConstructor2
|
||||
module.exports.ClassWithFactory = __napiModule.exports.ClassWithFactory
|
||||
module.exports.ClassWithLifetime = __napiModule.exports.ClassWithLifetime
|
||||
module.exports.Context = __napiModule.exports.Context
|
||||
module.exports.CssRuleList = __napiModule.exports.CssRuleList
|
||||
module.exports.CSSRuleList = __napiModule.exports.CSSRuleList
|
||||
|
||||
@ -378,6 +378,7 @@ module.exports.Blake2bKey = nativeBinding.Blake2bKey
|
||||
module.exports.CatchOnConstructor = nativeBinding.CatchOnConstructor
|
||||
module.exports.CatchOnConstructor2 = nativeBinding.CatchOnConstructor2
|
||||
module.exports.ClassWithFactory = nativeBinding.ClassWithFactory
|
||||
module.exports.ClassWithLifetime = nativeBinding.ClassWithLifetime
|
||||
module.exports.Context = nativeBinding.Context
|
||||
module.exports.CssRuleList = nativeBinding.CssRuleList
|
||||
module.exports.CSSRuleList = nativeBinding.CSSRuleList
|
||||
|
||||
@ -107,6 +107,11 @@ export declare class ClassWithFactory {
|
||||
setName(name: string): this
|
||||
}
|
||||
|
||||
export declare class ClassWithLifetime {
|
||||
constructor()
|
||||
getName(): string
|
||||
}
|
||||
|
||||
export declare class Context {
|
||||
maybeNeed?: boolean
|
||||
buffer: Uint8Array
|
||||
@ -194,7 +199,7 @@ export declare class NinjaTurtle {
|
||||
static newRaph(): NinjaTurtle
|
||||
getMaskColor(): string
|
||||
getName(): string
|
||||
returnThis(this: this): this
|
||||
returnThis(): this
|
||||
}
|
||||
|
||||
export declare class NotUseNullableClass {
|
||||
|
||||
@ -2,7 +2,7 @@ use napi::{
|
||||
bindgen_prelude::{
|
||||
Buffer, ClassInstance, JavaScriptClassExt, ObjectFinalize, This, Uint8Array, Unknown,
|
||||
},
|
||||
Env, Property, Result,
|
||||
Env, Property, PropertyAttributes, Result,
|
||||
};
|
||||
|
||||
use crate::r#enum::Kind;
|
||||
@ -262,7 +262,7 @@ impl NinjaTurtle {
|
||||
}
|
||||
|
||||
#[napi]
|
||||
pub fn return_this(&self, this: This) -> This {
|
||||
pub fn return_this<'scope>(&'scope self, this: This<'scope>) -> This<'scope> {
|
||||
this
|
||||
}
|
||||
}
|
||||
@ -391,7 +391,7 @@ pub struct CustomFinalize {
|
||||
#[napi]
|
||||
impl CustomFinalize {
|
||||
#[napi(constructor)]
|
||||
pub fn new(mut env: Env, width: u32, height: u32) -> Result<Self> {
|
||||
pub fn new(env: Env, width: u32, height: u32) -> Result<Self> {
|
||||
let inner = vec![0; (width * height * 4) as usize];
|
||||
let inner_size = inner.len();
|
||||
env.adjust_external_memory(inner_size as i64)?;
|
||||
@ -404,7 +404,7 @@ impl CustomFinalize {
|
||||
}
|
||||
|
||||
impl ObjectFinalize for CustomFinalize {
|
||||
fn finalize(self, mut env: Env) -> Result<()> {
|
||||
fn finalize(self, env: Env) -> Result<()> {
|
||||
env.adjust_external_memory(-(self.inner.len() as i64))?;
|
||||
Ok(())
|
||||
}
|
||||
@ -417,7 +417,7 @@ pub struct Width {
|
||||
|
||||
#[napi]
|
||||
pub fn plus_one(this: This<&Width>) -> i32 {
|
||||
this.value + 1
|
||||
this.object.value + 1
|
||||
}
|
||||
|
||||
#[napi]
|
||||
@ -461,3 +461,30 @@ impl CatchOnConstructor2 {
|
||||
panic!("CatchOnConstructor2 panic");
|
||||
}
|
||||
}
|
||||
|
||||
#[napi]
|
||||
pub struct ClassWithLifetime<'a> {
|
||||
inner: ClassInstance<'a, Animal>,
|
||||
inner2: ClassInstance<'a, Animal>,
|
||||
}
|
||||
|
||||
#[napi]
|
||||
impl<'scope> ClassWithLifetime<'scope> {
|
||||
#[napi(constructor)]
|
||||
pub fn new(env: &Env, mut this: This<'scope>) -> Result<Self> {
|
||||
let instance = Animal {
|
||||
kind: Kind::Cat,
|
||||
name: "alie".to_owned(),
|
||||
}
|
||||
.into_instance(env)?;
|
||||
let inner = instance.assign_to_this("inner", &mut this)?;
|
||||
let inner2 =
|
||||
instance.assign_to_this_with_attributes("inner2", PropertyAttributes::Default, &mut this)?;
|
||||
Ok(Self { inner, inner2 })
|
||||
}
|
||||
|
||||
#[napi]
|
||||
pub fn get_name(&self) -> &str {
|
||||
self.inner.get_name()
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ pub struct MemoryHolder(Vec<u8>);
|
||||
#[napi]
|
||||
impl MemoryHolder {
|
||||
#[napi(constructor)]
|
||||
pub fn new(mut env: Env, len: u32) -> Result<Self> {
|
||||
pub fn new(env: Env, len: u32) -> Result<Self> {
|
||||
env.adjust_external_memory(len as i64)?;
|
||||
Ok(Self(vec![42; len as usize]))
|
||||
}
|
||||
@ -128,7 +128,7 @@ pub fn leaking_func(func: Function<String, String>) -> napi::Result<()> {
|
||||
let tsfn = func
|
||||
.build_threadsafe_function()
|
||||
.weak::<true>()
|
||||
.build_callback(|mut ctx: ThreadsafeCallContext<String>| {
|
||||
.build_callback(|ctx: ThreadsafeCallContext<String>| {
|
||||
ctx.env.adjust_external_memory(ctx.value.len() as i64)?;
|
||||
Ok(ctx.value)
|
||||
})?;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user