diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 4525b8f3c9df26be9e4eb25aa9b5eeaa588188ab..0a252e6dcae124ee2519aa76ecbb4409a8fd2840 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -410,25 +410,47 @@ static napi_value NapiGetMacLength(napi_env env, napi_callback_info info) napi_value NapiMac::MacConstructor(napi_env env, napi_callback_info info) { - printf("enter MacConstructor..."); napi_value thisVar = nullptr; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; +} + +napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) +{ size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; + size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + if (argc != exceptedArgc) { + LOGE("The input args num is invalid."); + return nullptr; + } std::string algoName; - if (!GetStringFromJSParams(env, argv[0], algoName)) { - return NapiGetNull(env); + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm."); + return nullptr; } HcfMac *macObj = nullptr; - int32_t res = HcfMacCreate(algoName.c_str(), &macObj); + HcfResult res = HcfMacCreate(algoName.c_str(), &macObj); if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c macObj failed."); - return NapiGetNull(env); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; + napi_value constructor = nullptr; + napi_get_reference_value(env, classRef_, &constructor); + napi_new_instance(env, constructor, argc, argv, &instance); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMac *macNapiObj = new (std::nothrow) NapiMac(macObj); + if (macNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; } - NapiMac *macNapiObj = new NapiMac(macObj); napi_wrap( - env, thisVar, macNapiObj, + env, instance, macNapiObj, [](napi_env env, void *data, void *hint) { NapiMac *mac = (NapiMac *)(data); delete mac; @@ -436,29 +458,6 @@ napi_value NapiMac::MacConstructor(napi_env env, napi_callback_info info) }, nullptr, nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MacConstructor..."); - return thisVar; -} - -napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) -{ - printf("enter CreateMac..."); - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { - LOGE("The input args num is invalid."); - return NapiGetNull(env); - } - napi_value instance; - napi_value constructor = nullptr; - napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMac..."); return instance; } diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 25463f4e20bfa777f427e5ae27fae29a1bf05535..c2e1946968430ed56e58b7fe0cb219c7547bd869 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -317,25 +317,47 @@ static napi_value NapiGetMdLength(napi_env env, napi_callback_info info) napi_value NapiMd::MdConstructor(napi_env env, napi_callback_info info) { - printf("enter MdConstructor..."); napi_value thisVar = nullptr; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; +} + +napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) +{ size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; + size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + if (argc != exceptedArgc) { + LOGE("The input args num is invalid."); + return nullptr; + } std::string algoName; if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - return NapiGetNull(env); + LOGE("Failed to get algorithm."); + return nullptr; } HcfMd *mdObj = nullptr; - int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); + HcfResult res = HcfMdCreate(algoName.c_str(), &mdObj); if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c mdObj failed."); - return NapiGetNull(env); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; + napi_value constructor = nullptr; + napi_get_reference_value(env, classRef_, &constructor); + napi_new_instance(env, constructor, argc, argv, &instance); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMd *mdNapiObj = new (std::nothrow) NapiMd(mdObj); + if (mdNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; } - NapiMd *mdNapiObj = new NapiMd(mdObj); napi_wrap( - env, thisVar, mdNapiObj, + env, instance, mdNapiObj, [](napi_env env, void *data, void *hint) { NapiMd *md = (NapiMd *)(data); delete md; @@ -343,29 +365,6 @@ napi_value NapiMd::MdConstructor(napi_env env, napi_callback_info info) }, nullptr, nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MdConstructor..."); - return thisVar; -} - -napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) -{ - printf("enter CreateMd..."); - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); - if (argc != exceptedArgc) { - LOGE("The input args num is invalid."); - return NapiGetNull(env); - } - napi_value instance; - napi_value constructor = nullptr; - napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMd..."); return instance; } diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index e45fdf4415195e6683dc5a7c0d2e8a4b2ba7b087..9fd2d732b950473b6df349a49adbd508181dd804 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -304,44 +304,45 @@ static napi_value NapiSetSeed(napi_env env, napi_callback_info info) napi_value NapiRand::RandConstructor(napi_env env, napi_callback_info info) { - printf("enter RandConstructor..."); napi_value thisVar = nullptr; napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); - HcfRand *randObj = nullptr; - HcfResult res = HcfRandCreate(&randObj); - if (res != HCF_SUCCESS) { - LOGE("create c rand fail."); - return NapiGetNull(env); - } - NapiRand *randNapiObj = new NapiRand(randObj); - napi_wrap( - env, thisVar, randNapiObj, - [](napi_env env, void *data, void *hint) { - NapiRand *rand = (NapiRand *)(data); - delete rand; - return; - }, - nullptr, - nullptr); - printf("out RandConstructor..."); return thisVar; } napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) { - printf("enter CreateRand..."); size_t exceptedArgc = ARGS_SIZE_ZERO; size_t argc; napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + HcfRand *randObj = nullptr; + HcfResult res = HcfRandCreate(&randObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c randObj failed."); + return nullptr; + } + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, ARGS_SIZE_ZERO, nullptr, &instance); - printf("out CreateRand..."); + napi_new_instance(env, constructor, argc, nullptr, &instance); + NapiRand *randNapiObj = new (std::nothrow) NapiRand(randObj); + if (randNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; + } + napi_wrap( + env, instance, randNapiObj, + [](napi_env env, void *data, void *hint) { + NapiRand *rand = (NapiRand *)(data); + delete rand; + return; + }, + nullptr, + nullptr); return instance; }