diff --git a/interfaces/kits/napi/native_common.h b/interfaces/kits/napi/native_common.h index efba395e0f3f82787f749f98414ec089d3cea0a7..6f8abe6c673babbd1014302f9137943bf7225b40 100644 --- a/interfaces/kits/napi/native_common.h +++ b/interfaces/kits/napi/native_common.h @@ -16,82 +16,12 @@ #ifndef FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H #define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H +#include "js_native_api_common.h" + #define DEPRECATED __attribute__((__deprecated__)) #define NAPI_VERSION 2 #define NAPI_RETVAL_NOTHING -#define GET_AND_THROW_LAST_ERROR(env) \ - do { \ - const napi_extended_error_info* errorInfo = nullptr; \ - napi_get_last_error_info((env), &errorInfo); \ - bool isPending = false; \ - napi_is_exception_pending((env), &isPending); \ - if (!isPending && errorInfo != nullptr) { \ - const char* errorMessage = \ - errorInfo->error_message != nullptr ? errorInfo->error_message : "empty error message"; \ - napi_throw_error((env), nullptr, errorMessage); \ - } \ - } while (0) - -#define NAPI_ASSERT_BASE(env, assertion, message, retVal) \ - do { \ - if (!(assertion)) { \ - napi_throw_error((env), nullptr, "assertion (" #assertion ") failed: " message); \ - return retVal; \ - } \ - } while (0) - -#define NAPI_ASSERT(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, nullptr) - -#define NAPI_ASSERT_RETURN_VOID(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, NAPI_RETVAL_NOTHING) - -#define NAPI_CALL_BASE(env, theCall, retVal) \ - do { \ - if ((theCall) != napi_ok) { \ - GET_AND_THROW_LAST_ERROR((env)); \ - return retVal; \ - } \ - } while (0) - -#define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) - -#define NAPI_CALL_RETURN_VOID(env, theCall) NAPI_CALL_BASE(env, theCall, NAPI_RETVAL_NOTHING) - -#define DECLARE_NAPI_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_default, nullptr \ - } - -#define DECLARE_NAPI_STATIC_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_static, nullptr \ - } - -#define DECLARE_NAPI_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_STATIC_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_static, nullptr \ - } - -#define DECLARE_NAPI_GETTER(name, getter) \ - { \ - (name), nullptr, nullptr, (getter), nullptr, nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_SETTER(name, setter) \ - { \ - (name), nullptr, nullptr, nullptr, (setter), nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_GETTER_SETTER(name, getter, setter) \ - { \ - (name), nullptr, nullptr, (getter), (setter), nullptr, napi_default, nullptr \ - } - #endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H */ diff --git a/native_engine/native_api_internal.h b/native_engine/native_api_internal.h index 1af631736006077a8d564989863ed395c7d10437..f9a168bf028b7ea78d058761575761b67eb9160a 100644 --- a/native_engine/native_api_internal.h +++ b/native_engine/native_api_internal.h @@ -20,6 +20,8 @@ #include "napi/native_api.h" +#include "js_native_api_common.h" + static inline napi_status napi_clear_last_error(napi_env env) { ((NativeEngine*)env)->ClearLastError(); @@ -35,16 +37,4 @@ static inline napi_status napi_set_last_error(napi_env env, return error_code; } -#define RETURN_STATUS_IF_FALSE(env, condition, status) \ - if (!(condition)) { \ - return napi_set_last_error((env), (status)); \ - } - -#define CHECK_ENV(env) \ - if ((env) == nullptr) { \ - return napi_invalid_arg; \ - } - -#define CHECK_ARG(env, arg) RETURN_STATUS_IF_FALSE((env), ((arg) != nullptr), napi_invalid_arg) - #endif /* FOUNDATION_ACE_NAPI_NATIVE_ENGINE_NATIVE_API_INTERNAL_H */ \ No newline at end of file