diff options
author | snek <the@snek.dev> | 2024-06-10 09:20:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-10 16:20:44 +0000 |
commit | e3b2ee183bc7497ec0432bc764678f5eda6495a7 (patch) | |
tree | 7a5fa0208ef56cb83fa6bae9bad0bc89334ed533 /cli/napi/sym | |
parent | 7c5dbd5d54770dba5e56442b633e9597403ef5da (diff) |
fix: Rewrite Node-API (#24101)
Phase 1 node-api rewrite
Diffstat (limited to 'cli/napi/sym')
-rw-r--r-- | cli/napi/sym/lib.rs | 13 | ||||
-rw-r--r-- | cli/napi/sym/symbol_exports.json | 11 |
2 files changed, 14 insertions, 10 deletions
diff --git a/cli/napi/sym/lib.rs b/cli/napi/sym/lib.rs index 33f039b5f..e2826306b 100644 --- a/cli/napi/sym/lib.rs +++ b/cli/napi/sym/lib.rs @@ -20,17 +20,12 @@ pub fn napi_sym(_attr: TokenStream, item: TokenStream) -> TokenStream { let name = &func.sig.ident; assert!( exports.symbols.contains(&name.to_string()), - "tools/napi/sym/symbol_exports.json is out of sync!" + "cli/napi/sym/symbol_exports.json is out of sync!" ); - let block = &func.block; - let inputs = &func.sig.inputs; - let generics = &func.sig.generics; TokenStream::from(quote! { - // SAFETY: it's an NAPI function. - #[no_mangle] - pub unsafe extern "C" fn #name #generics (#inputs) -> napi_status { - #block - } + crate::napi_wrap! { + #func + } }) } diff --git a/cli/napi/sym/symbol_exports.json b/cli/napi/sym/symbol_exports.json index ba1bba67a..64b548d49 100644 --- a/cli/napi/sym/symbol_exports.json +++ b/cli/napi/sym/symbol_exports.json @@ -36,6 +36,7 @@ "napi_get_threadsafe_function_context", "napi_get_null", "napi_create_string_utf16", + "node_api_create_external_string_utf16", "napi_get_value_bigint_uint64", "napi_module_register", "napi_is_typedarray", @@ -76,6 +77,7 @@ "napi_release_threadsafe_function", "napi_delete_async_work", "napi_create_string_latin1", + "node_api_create_external_string_latin1", "napi_is_array", "napi_unref_threadsafe_function", "napi_throw_error", @@ -139,10 +141,17 @@ "napi_has_element", "napi_create_external_arraybuffer", "napi_create_symbol", + "node_api_symbol_for", "napi_coerce_to_string", "napi_create_type_error", "napi_fatal_exception", "napi_create_async_work", - "napi_async_init" + "napi_async_init", + "node_api_create_property_key_utf16", + "napi_type_tag_object", + "napi_check_object_type_tag", + "node_api_post_finalizer", + "napi_add_async_cleanup_hook", + "napi_remove_async_cleanup_hook" ] } |