diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 2f38b4ac90fdad1c5577e30333d88e69f890f0b3..f3e505e673f44498a9a63794c7428bb03f5ab249 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 e290f2815c9dc6dd3958b2c2be17c80201ce6b49..df185f0abe8fdcba65f005040e2b9e6b1ce2c8ba 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" } ]