mirror of
https://github.com/napi-rs/napi-rs.git
synced 2025-12-08 19:56:07 +00:00
fix(napi-derive): tuple object and enum (#2227)
* Fix tuple struct * Add testcase
This commit is contained in:
parent
e22158306a
commit
249c27e06d
@ -414,9 +414,10 @@ impl NapiStruct {
|
||||
);
|
||||
}
|
||||
syn::Member::Unnamed(i) => {
|
||||
field_destructions.push(quote! { arg #i });
|
||||
let arg_name = format_ident!("arg{}", i);
|
||||
field_destructions.push(quote! { #arg_name });
|
||||
field_conversions.push(
|
||||
quote! { <#ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, arg #i)? },
|
||||
quote! { <#ty as napi::bindgen_prelude::ToNapiValue>::to_napi_value(env, #arg_name)? },
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -542,30 +543,31 @@ impl NapiStruct {
|
||||
}
|
||||
}
|
||||
syn::Member::Unnamed(i) => {
|
||||
field_destructions.push(quote! { arg #i });
|
||||
let arg_name = format_ident!("arg{}", i);
|
||||
field_destructions.push(quote! { #arg_name });
|
||||
if is_optional_field {
|
||||
obj_field_setters.push(match self.use_nullable {
|
||||
false => quote! {
|
||||
if arg #1.is_some() {
|
||||
obj.set(#field_js_name, arg #i)?;
|
||||
if #arg_name.is_some() {
|
||||
obj.set(#field_js_name, #arg_name)?;
|
||||
}
|
||||
},
|
||||
true => quote! {
|
||||
if let Some(arg #i) = arg #i {
|
||||
obj.set(#field_js_name, arg #i)?;
|
||||
if let Some(#arg_name) = #arg_name {
|
||||
obj.set(#field_js_name, #arg_name)?;
|
||||
} else {
|
||||
obj.set(#field_js_name, napi::bindgen_prelude::Null)?;
|
||||
}
|
||||
},
|
||||
});
|
||||
} else {
|
||||
obj_field_setters.push(quote! { obj.set(#field_js_name, arg #1)?; });
|
||||
obj_field_setters.push(quote! { obj.set(#field_js_name, #arg_name)?; });
|
||||
}
|
||||
if is_optional_field && !self.use_nullable {
|
||||
obj_field_getters.push(quote! { let arg #i: #ty = obj.get(#field_js_name)?; });
|
||||
obj_field_getters.push(quote! { let #arg_name: #ty = obj.get(#field_js_name)?; });
|
||||
} else {
|
||||
obj_field_getters.push(quote! {
|
||||
let arg #i: #ty = obj.get(#field_js_name)?.ok_or_else(|| napi::bindgen_prelude::Error::new(
|
||||
let #arg_name: #ty = obj.get(#field_js_name)?.ok_or_else(|| napi::bindgen_prelude::Error::new(
|
||||
napi::bindgen_prelude::Status::InvalidArg,
|
||||
format!("Missing field `{}`", #field_js_name),
|
||||
))?;
|
||||
@ -922,30 +924,31 @@ impl NapiStruct {
|
||||
}
|
||||
}
|
||||
syn::Member::Unnamed(i) => {
|
||||
field_destructions.push(quote! { arg #i });
|
||||
let arg_name = format_ident!("arg{}", i);
|
||||
field_destructions.push(quote! { #arg_name });
|
||||
if is_optional_field {
|
||||
obj_field_setters.push(match self.use_nullable {
|
||||
false => quote! {
|
||||
if arg #1.is_some() {
|
||||
obj.set(#field_js_name, arg #i)?;
|
||||
if #arg_name.is_some() {
|
||||
obj.set(#field_js_name, #arg_name)?;
|
||||
}
|
||||
},
|
||||
true => quote! {
|
||||
if let Some(arg #i) = arg #i {
|
||||
obj.set(#field_js_name, arg #i)?;
|
||||
if let Some(#arg_name) = #arg_name {
|
||||
obj.set(#field_js_name, #arg_name)?;
|
||||
} else {
|
||||
obj.set(#field_js_name, napi::bindgen_prelude::Null)?;
|
||||
}
|
||||
},
|
||||
});
|
||||
} else {
|
||||
obj_field_setters.push(quote! { obj.set(#field_js_name, arg #1)?; });
|
||||
obj_field_setters.push(quote! { obj.set(#field_js_name, #arg_name)?; });
|
||||
}
|
||||
if is_optional_field && !self.use_nullable {
|
||||
obj_field_getters.push(quote! { let arg #i: #ty = obj.get(#field_js_name)?; });
|
||||
obj_field_getters.push(quote! { let #arg_name: #ty = obj.get(#field_js_name)?; });
|
||||
} else {
|
||||
obj_field_getters.push(quote! {
|
||||
let arg #i: #ty = obj.get(#field_js_name)?.ok_or_else(|| napi::bindgen_prelude::Error::new(
|
||||
let #arg_name: #ty = obj.get(#field_js_name)?.ok_or_else(|| napi::bindgen_prelude::Error::new(
|
||||
napi::bindgen_prelude::Status::InvalidArg,
|
||||
format!("Missing field `{}`", #field_js_name),
|
||||
))?;
|
||||
|
||||
@ -704,6 +704,7 @@ Generated by [AVA](https://avajs.dev).
|
||||
| { type2: 'Hello' }␊
|
||||
| { type2: 'Greeting', name: string }␊
|
||||
| { type2: 'Birthday', name: string, age: number }␊
|
||||
| { type2: 'Tuple', field0: number, field1: number }␊
|
||||
␊
|
||||
export declare function sumBtreeMapping(nums: Record<string, number>): number␊
|
||||
␊
|
||||
@ -754,6 +755,11 @@ Generated by [AVA](https://avajs.dev).
|
||||
typeOverrideOptional?: object␊
|
||||
}␊
|
||||
␊
|
||||
export interface TupleObject {␊
|
||||
field0: number␊
|
||||
field1: number␊
|
||||
}␊
|
||||
␊
|
||||
export declare function u16ArrayToArray(input: Uint16Array): Array<number>␊
|
||||
␊
|
||||
export declare function u32ArrayToArray(input: Uint32Array): Array<number>␊
|
||||
|
||||
Binary file not shown.
@ -265,9 +265,15 @@ test('structured enum', (t) => {
|
||||
name: 'Napi-rs',
|
||||
age: 10,
|
||||
}
|
||||
const tuple: StructuredKind = {
|
||||
type2: 'Tuple',
|
||||
field0: 1,
|
||||
field1: 2,
|
||||
}
|
||||
t.deepEqual(hello, validateStructuredEnum(hello))
|
||||
t.deepEqual(greeting, validateStructuredEnum(greeting))
|
||||
t.deepEqual(birthday, validateStructuredEnum(birthday))
|
||||
t.deepEqual(tuple, validateStructuredEnum(tuple))
|
||||
t.throws(() => validateStructuredEnum({ type2: 'unknown' } as any))
|
||||
t.throws(() => validateStructuredEnum({ type2: 'Greeting' } as any))
|
||||
})
|
||||
|
||||
@ -282,88 +282,89 @@ function __napi_rs_initialize_modules(__napiInstance) {
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_273']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_274']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_275']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_276']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_277']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_280']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_283']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_284']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_287']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_288']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_292']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_293']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_296']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_300']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_301']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_302']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_303']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_304']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_306']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_307']?.()
|
||||
__napiInstance.exports['__napi_register__contains_308']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_309']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_311']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_312']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_313']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_314']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_315']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_316']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_317']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_318']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_319']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_320']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_321']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_322']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_323']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_324']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_325']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_326']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_327']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_330']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_331']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_332']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_333']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_335']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_338']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_339']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_340']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_341']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_342']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_343']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_345']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_346']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_347']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_348']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_349']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_350']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_351']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_352']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_353']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_359']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_363']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_364']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_365']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_366']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_368']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_276']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_277']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_280']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_281']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_284']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_288']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_289']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_293']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_295']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_297']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_301']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_302']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_303']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_304']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_306']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_307']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_308']?.()
|
||||
__napiInstance.exports['__napi_register__contains_309']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_311']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_312']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_313']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_314']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_315']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_316']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_317']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_318']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_319']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_320']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_321']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_322']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_323']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_324']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_325']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_326']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_327']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_330']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_331']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_332']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_333']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_335']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_338']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_339']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_340']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_341']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_342']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_343']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_345']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_346']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_347']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_348']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_349']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_350']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_351']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_352']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_353']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_359']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_363']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_364']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_365']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_366']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_367']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_369']?.()
|
||||
}
|
||||
export const Animal = __napiModule.exports.Animal
|
||||
export const AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
|
||||
|
||||
@ -306,88 +306,89 @@ function __napi_rs_initialize_modules(__napiInstance) {
|
||||
__napiInstance.exports['__napi_register__object_get_named_property_should_perform_typecheck_273']?.()
|
||||
__napiInstance.exports['__napi_register__ObjectOnlyToJs_struct_274']?.()
|
||||
__napiInstance.exports['__napi_register__return_object_only_to_js_275']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_276']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_277']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_280']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_283']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_284']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_287']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_288']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_292']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_293']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_296']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_300']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_301']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_302']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_303']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_304']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_306']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_307']?.()
|
||||
__napiInstance.exports['__napi_register__contains_308']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_309']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_311']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_312']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_313']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_314']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_315']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_316']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_317']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_318']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_319']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_320']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_321']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_322']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_323']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_324']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_325']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_326']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_327']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_330']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_331']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_332']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_333']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_335']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_338']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_339']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_340']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_341']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_342']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_343']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_345']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_346']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_347']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_348']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_349']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_350']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_351']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_352']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_353']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_359']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_363']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_364']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_365']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_366']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_367']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_368']?.()
|
||||
__napiInstance.exports['__napi_register__TupleObject_struct_276']?.()
|
||||
__napiInstance.exports['__napi_register__async_plus_100_277']?.()
|
||||
__napiInstance.exports['__napi_register__call_then_on_promise_278']?.()
|
||||
__napiInstance.exports['__napi_register__call_catch_on_promise_279']?.()
|
||||
__napiInstance.exports['__napi_register__call_finally_on_promise_280']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_struct_281']?.()
|
||||
__napiInstance.exports['__napi_register__JsRepo_impl_284']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_struct_285']?.()
|
||||
__napiInstance.exports['__napi_register__JsRemote_impl_288']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_struct_289']?.()
|
||||
__napiInstance.exports['__napi_register__CSSRuleList_impl_293']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_struct_294']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_struct_295']?.()
|
||||
__napiInstance.exports['__napi_register__AnotherCSSStyleSheet_impl_297']?.()
|
||||
__napiInstance.exports['__napi_register__CSSStyleSheet_impl_301']?.()
|
||||
__napiInstance.exports['__napi_register__PackageJson_struct_302']?.()
|
||||
__napiInstance.exports['__napi_register__read_package_json_303']?.()
|
||||
__napiInstance.exports['__napi_register__get_package_json_name_304']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_roundtrip_305']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_big_number_precision_306']?.()
|
||||
__napiInstance.exports['__napi_register__test_serde_buffer_bytes_307']?.()
|
||||
__napiInstance.exports['__napi_register__return_from_shared_crate_308']?.()
|
||||
__napiInstance.exports['__napi_register__contains_309']?.()
|
||||
__napiInstance.exports['__napi_register__concat_str_310']?.()
|
||||
__napiInstance.exports['__napi_register__concat_utf16_311']?.()
|
||||
__napiInstance.exports['__napi_register__concat_latin1_312']?.()
|
||||
__napiInstance.exports['__napi_register__roundtrip_str_313']?.()
|
||||
__napiInstance.exports['__napi_register__set_symbol_in_obj_314']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_315']?.()
|
||||
__napiInstance.exports['__napi_register__create_symbol_for_316']?.()
|
||||
__napiInstance.exports['__napi_register__DelaySum_impl_317']?.()
|
||||
__napiInstance.exports['__napi_register__without_abort_controller_318']?.()
|
||||
__napiInstance.exports['__napi_register__with_abort_controller_319']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskVoidReturn_impl_320']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_void_return_321']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskOptionalReturn_impl_322']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_optional_return_323']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncTaskReadFile_impl_324']?.()
|
||||
__napiInstance.exports['__napi_register__async_task_read_file_325']?.()
|
||||
__napiInstance.exports['__napi_register__call_threadsafe_function_326']?.()
|
||||
__napiInstance.exports['__napi_register__call_long_threadsafe_function_327']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_throw_error_328']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_329']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_fatal_mode_error_330']?.()
|
||||
__napiInstance.exports['__napi_register__threadsafe_function_closure_capture_331']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_call_with_callback_332']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_async_call_333']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_334']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_fatal_335']?.()
|
||||
__napiInstance.exports['__napi_register__accept_threadsafe_function_tuple_args_336']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_337']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_return_promise_timeout_338']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_throw_from_js_339']?.()
|
||||
__napiInstance.exports['__napi_register__spawn_thread_in_thread_340']?.()
|
||||
__napiInstance.exports['__napi_register__Pet_struct_341']?.()
|
||||
__napiInstance.exports['__napi_register__tsfn_in_either_342']?.()
|
||||
__napiInstance.exports['__napi_register__get_buffer_343']?.()
|
||||
__napiInstance.exports['__napi_register__append_buffer_344']?.()
|
||||
__napiInstance.exports['__napi_register__get_empty_buffer_345']?.()
|
||||
__napiInstance.exports['__napi_register__convert_u32_array_346']?.()
|
||||
__napiInstance.exports['__napi_register__create_external_typed_array_347']?.()
|
||||
__napiInstance.exports['__napi_register__mutate_typed_array_348']?.()
|
||||
__napiInstance.exports['__napi_register__deref_uint8_array_349']?.()
|
||||
__napiInstance.exports['__napi_register__buffer_pass_through_350']?.()
|
||||
__napiInstance.exports['__napi_register__array_buffer_pass_through_351']?.()
|
||||
__napiInstance.exports['__napi_register__accept_slice_352']?.()
|
||||
__napiInstance.exports['__napi_register__accept_arraybuffer_353']?.()
|
||||
__napiInstance.exports['__napi_register__u8_array_to_array_354']?.()
|
||||
__napiInstance.exports['__napi_register__i8_array_to_array_355']?.()
|
||||
__napiInstance.exports['__napi_register__u16_array_to_array_356']?.()
|
||||
__napiInstance.exports['__napi_register__i16_array_to_array_357']?.()
|
||||
__napiInstance.exports['__napi_register__u32_array_to_array_358']?.()
|
||||
__napiInstance.exports['__napi_register__i32_array_to_array_359']?.()
|
||||
__napiInstance.exports['__napi_register__f32_array_to_array_360']?.()
|
||||
__napiInstance.exports['__napi_register__f64_array_to_array_361']?.()
|
||||
__napiInstance.exports['__napi_register__u64_array_to_array_362']?.()
|
||||
__napiInstance.exports['__napi_register__i64_array_to_array_363']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_364']?.()
|
||||
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_365']?.()
|
||||
__napiInstance.exports['__napi_register__AsyncBuffer_impl_366']?.()
|
||||
__napiInstance.exports['__napi_register__async_reduce_buffer_367']?.()
|
||||
__napiInstance.exports['__napi_register__async_buffer_to_array_368']?.()
|
||||
__napiInstance.exports['__napi_register__u_init8_array_from_string_369']?.()
|
||||
}
|
||||
module.exports.Animal = __napiModule.exports.Animal
|
||||
module.exports.AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
|
||||
|
||||
@ -694,6 +694,7 @@ export type StructuredKind =
|
||||
| { type2: 'Hello' }
|
||||
| { type2: 'Greeting', name: string }
|
||||
| { type2: 'Birthday', name: string, age: number }
|
||||
| { type2: 'Tuple', field0: number, field1: number }
|
||||
|
||||
export declare function sumBtreeMapping(nums: Record<string, number>): number
|
||||
|
||||
@ -744,6 +745,11 @@ export interface TsTypeChanged {
|
||||
typeOverrideOptional?: object
|
||||
}
|
||||
|
||||
export interface TupleObject {
|
||||
field0: number
|
||||
field1: number
|
||||
}
|
||||
|
||||
export declare function u16ArrayToArray(input: Uint16Array): Array<number>
|
||||
|
||||
export declare function u32ArrayToArray(input: Uint32Array): Array<number>
|
||||
|
||||
@ -66,6 +66,7 @@ pub enum StructuredKind {
|
||||
Hello,
|
||||
Greeting { name: String },
|
||||
Birthday { name: String, age: u8 },
|
||||
Tuple(u32, u32),
|
||||
}
|
||||
|
||||
#[napi]
|
||||
|
||||
@ -145,3 +145,6 @@ fn return_object_only_to_js() -> ObjectOnlyToJs {
|
||||
dependencies: serde_json::json!({ "@napi-rs/cli": "^3.0.0", "rollup": "^4.0.0" }),
|
||||
}
|
||||
}
|
||||
|
||||
#[napi(object)]
|
||||
pub struct TupleObject(pub u32, pub u32);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user