summaryrefslogtreecommitdiff
path: root/cli/napi/sym
diff options
context:
space:
mode:
authorsnek <the@snek.dev>2024-06-10 09:20:44 -0700
committerGitHub <noreply@github.com>2024-06-10 16:20:44 +0000
commite3b2ee183bc7497ec0432bc764678f5eda6495a7 (patch)
tree7a5fa0208ef56cb83fa6bae9bad0bc89334ed533 /cli/napi/sym
parent7c5dbd5d54770dba5e56442b633e9597403ef5da (diff)
fix: Rewrite Node-API (#24101)
Phase 1 node-api rewrite
Diffstat (limited to 'cli/napi/sym')
-rw-r--r--cli/napi/sym/lib.rs13
-rw-r--r--cli/napi/sym/symbol_exports.json11
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"
]
}