From 6d6493332866e06cb4b9ead29a416f809025be0c Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Wed, 8 Jan 2025 23:29:41 +0300 Subject: [PATCH] Add JS_IsRegExp function (#804) --- quickjs.c | 7 +++++++ quickjs.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/quickjs.c b/quickjs.c index 87b3884..0219a3f 100644 --- a/quickjs.c +++ b/quickjs.c @@ -10100,6 +10100,13 @@ BOOL JS_SetConstructorBit(JSContext *ctx, JSValue func_obj, BOOL val) return TRUE; } +JS_BOOL JS_IsRegExp(JSValue val) +{ + if (JS_VALUE_GET_TAG(val) != JS_TAG_OBJECT) + return FALSE; + return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_REGEXP; +} + BOOL JS_IsError(JSContext *ctx, JSValue val) { JSObject *p; diff --git a/quickjs.h b/quickjs.h index 4d884ee..9709f8f 100644 --- a/quickjs.h +++ b/quickjs.h @@ -672,6 +672,8 @@ JS_EXTERN JS_BOOL JS_IsFunction(JSContext* ctx, JSValue val); JS_EXTERN JS_BOOL JS_IsConstructor(JSContext* ctx, JSValue val); JS_EXTERN JS_BOOL JS_SetConstructorBit(JSContext *ctx, JSValue func_obj, JS_BOOL val); +JS_EXTERN JS_BOOL JS_IsRegExp(JSValue val); + JS_EXTERN JSValue JS_NewArray(JSContext *ctx); JS_EXTERN int JS_IsArray(JSContext *ctx, JSValue val);