diff --git a/interfaces/inner_api/napi/native_node_api.h b/interfaces/inner_api/napi/native_node_api.h index 8cad6e13b8a76d67e18edb5ad8775a08484ef34e..ca5d95da7ae52c062945d3279e633d492b295de6 100644 --- a/interfaces/inner_api/napi/native_node_api.h +++ b/interfaces/inner_api/napi/native_node_api.h @@ -229,6 +229,7 @@ NAPI_EXTERN napi_status napi_is_alive_object(napi_env env, napi_ref ref, bool* r NAPI_EXTERN napi_status napi_is_contain_object(napi_env env, napi_ref ref, bool* result); NAPI_EXTERN napi_status napi_is_xref_type(napi_env env, napi_value js_object, bool* result); NAPI_EXTERN napi_status napi_get_ets_implements(napi_env env, napi_value value, napi_value* result); +NAPI_EXTERN napi_status napi_setup_hybrid_environment(napi_env env); NAPI_EXTERN napi_status napi_serialize_hybrid(napi_env env, napi_value object, napi_value transfer_list, diff --git a/native_engine/native_node_api.cpp b/native_engine/native_node_api.cpp index 47d987da96ce30b3970180170426316a79db65b9..9e7c58a076167fc2c7a3cd3a753eaf970b31ed50 100644 --- a/native_engine/native_node_api.cpp +++ b/native_engine/native_node_api.cpp @@ -721,4 +721,14 @@ NAPI_EXTERN napi_status napi_mark_attach_with_xref(napi_env env, nativeObject->DefineProperty(vm, key, attr); return GET_RETURN_STATUS(env); } + +NAPI_EXTERN napi_status napi_setup_hybrid_environment(napi_env env) +{ + NAPI_PREAMBLE(env); + + auto engine = reinterpret_cast(env); + auto vm = engine->GetEcmaVm(); + panda::JSNApi::InitHybridVMEnv(vm); + return GET_RETURN_STATUS(env); +} #endif // PANDA_JS_ETS_HYBRID_MODE \ No newline at end of file