diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 4525b8f3c9df26be9e4eb25aa9b5eeaa588188ab..dc2202c1ab361efc25ca85f574498f20701e6e33 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -410,55 +410,54 @@ 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; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[0], algoName)) { - return NapiGetNull(env); - } - HcfMac *macObj = nullptr; - int32_t res = HcfMacCreate(algoName.c_str(), &macObj); - if (res != HCF_SUCCESS) { - LOGE("create c macObj failed."); - return NapiGetNull(env); - } - NapiMac *macNapiObj = new NapiMac(macObj); - napi_wrap( - env, thisVar, macNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMac *mac = (NapiMac *)(data); - delete mac; - return; - }, - 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_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + 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); + return nullptr; } - napi_value instance; + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm."); + return nullptr; + } + HcfMac *macObj = nullptr; + 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 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); - printf("out CreateMac..."); + 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; + } + napi_wrap( + env, instance, macNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMac *mac = (NapiMac *)(data); + delete mac; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 25463f4e20bfa777f427e5ae27fae29a1bf05535..562627f8c9735fa8fe8130540d61bd45d41ea599 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -317,55 +317,54 @@ 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; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - return NapiGetNull(env); - } - HcfMd *mdObj = nullptr; - int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); - if (res != HCF_SUCCESS) { - LOGE("create c mdObj failed."); - return NapiGetNull(env); - } - NapiMd *mdNapiObj = new NapiMd(mdObj); - napi_wrap( - env, thisVar, mdNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMd *md = (NapiMd *)(data); - delete md; - return; - }, - 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_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + 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); + return nullptr; } - napi_value instance; + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm."); + return nullptr; + } + HcfMd *mdObj = nullptr; + 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 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); - printf("out CreateMd..."); + 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; + } + napi_wrap( + env, instance, mdNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMd *md = (NapiMd *)(data); + delete md; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index e45fdf4415195e6683dc5a7c0d2e8a4b2ba7b087..1dcd84226dbb19efa9e30e7f18134c6577ea5dfd 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_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + 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 (macNapiObj == 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; }