From 0fce9d2ee1ac4ebaa84d31f798856b6f92adf66a Mon Sep 17 00:00:00 2001 From: chenraozhong Date: Tue, 2 Jul 2024 15:28:30 +0800 Subject: [PATCH] Add OH_JSVM_IsRegExp and OH_JSVM_CoerceToBigInt Signed-off-by: chenraozhong --- ark_runtime/jsvm/jsvm.h | 31 +++++++++++++++++++++++++++++++ ark_runtime/jsvm/libjsvm.ndk.json | 8 ++++++++ 2 files changed, 39 insertions(+) diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 2f38b4ac9..f3e505e67 100644 --- a/ark_runtime/jsvm/jsvm.h +++ b/ark_runtime/jsvm/jsvm.h @@ -2651,6 +2651,37 @@ JSVM_EXTERN JSVM_Status OH_JSVM_IsObject(JSVM_Env env, JSVM_EXTERN JSVM_Status OH_JSVM_IsBigInt(JSVM_Env env, JSVM_Value value, bool* isBigInt); + +/** + * @brief This API implements the abstract operation ToBigInt(). + * + * @param env: The environment that the API is invoked under. + * @param value: The JavaScript value to coerce. + * @param result: JSVM_Value representing the coerced JavaScript BigInt. + * @return Returns JSVM function's result code. + * {@link JSVM_OK } If the API succeeded. + * {@link JSVM_BIGINT_EXPECTED} If the JavaScript value fails to coerce.\n + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_CoerceToBigInt(JSVM_Env env, + JSVM_Value value, + JSVM_Value* result); + +/** + * @brief This API checks if the value passed in is a regExp. + * This equals to `value instanceof RegExp` in JS. + * + * @param env: The environment that the API is invoked under. + * @param value: The JavaScript value to check. + * @param result: Whether the given value is RegExp. + * @return Returns JSVM function's result code. + * {@link JSVM_OK } If the API succeeded.\n + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_IsRegExp(JSVM_Env env, + JSVM_Value value, + bool* result); + EXTERN_C_END /** @} */ diff --git a/ark_runtime/jsvm/libjsvm.ndk.json b/ark_runtime/jsvm/libjsvm.ndk.json index e290f2815..df185f0ab 100644 --- a/ark_runtime/jsvm/libjsvm.ndk.json +++ b/ark_runtime/jsvm/libjsvm.ndk.json @@ -642,5 +642,13 @@ { "first_introduced": "12", "name": "OH_JSVM_Equals" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_CoerceToBigInt" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_IsRegExp" } ] -- Gitee