From a252a48b07d0d1b355fb62ed347cab67208f5cd0 Mon Sep 17 00:00:00 2001 From: dingbihan Date: Fri, 6 Jun 2025 15:54:13 +0800 Subject: [PATCH] Add napi_get_hole Issue: https://gitee.com/openharmony/arkui_napi/issues/ICD6EW Signed-off-by: dingbihan Change-Id: Ie71a09f4df253798c689209f04fbd4dd2e111c4b --- interfaces/inner_api/napi/native_node_api.h | 2 ++ native_engine/native_api.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/interfaces/inner_api/napi/native_node_api.h b/interfaces/inner_api/napi/native_node_api.h index 713571120..50aad0fc4 100644 --- a/interfaces/inner_api/napi/native_node_api.h +++ b/interfaces/inner_api/napi/native_node_api.h @@ -123,6 +123,7 @@ NAPI_EXTERN napi_status napi_is_big_int64_array(napi_env env, napi_value value, NAPI_EXTERN napi_status napi_is_big_uint64_array(napi_env env, napi_value value, bool* result); NAPI_EXTERN napi_status napi_is_shared_array_buffer(napi_env env, napi_value value, bool* result); NAPI_EXTERN napi_status napi_get_stack_trace(napi_env env, std::string& stack); +NAPI_EXTERN napi_status napi_get_hole(napi_env env, napi_value* result); NAPI_EXTERN napi_status napi_get_hybrid_stack_trace(napi_env env, std::string& stack); NAPI_EXTERN napi_status napi_get_own_property_descriptor(napi_env env, napi_value object, @@ -220,4 +221,5 @@ NAPI_EXTERN napi_status napi_get_ets_implements(napi_env env, napi_value value, #endif // PANDA_JS_ETS_HYBRID_MODE NAPI_EXTERN napi_status napi_register_appstate_callback(napi_env env, NapiAppStateCallback callback); + #endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H */ diff --git a/native_engine/native_api.cpp b/native_engine/native_api.cpp index 0228afa07..184db6abf 100644 --- a/native_engine/native_api.cpp +++ b/native_engine/native_api.cpp @@ -148,6 +148,18 @@ NAPI_EXTERN napi_status napi_get_null(napi_env env, napi_value* result) return napi_clear_last_error(env); } +NAPI_EXTERN napi_status napi_get_hole(napi_env env, napi_value* result) +{ + CHECK_ENV(env); + CHECK_ARG(env, result); + + auto vm = reinterpret_cast(env)->GetEcmaVm(); + Local value = panda::JSValueRef::Hole(vm); + *result = JsValueFromLocalValue(value); + + return napi_clear_last_error(env); +} + NAPI_EXTERN napi_status napi_get_global(napi_env env, napi_value* result) { CHECK_ENV(env); -- Gitee