diff --git a/quickjs.c b/quickjs.c index 6b097a302..b807c51e4 100644 --- a/quickjs.c +++ b/quickjs.c @@ -10254,6 +10254,13 @@ bool JS_IsMap(JSValueConst val) return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_MAP; } +bool JS_IsSet(JSValueConst val) +{ + if (JS_VALUE_GET_TAG(val) != JS_TAG_OBJECT) + return false; + return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_SET; +} + bool JS_IsError(JSContext *ctx, JSValueConst val) { JSObject *p; diff --git a/quickjs.h b/quickjs.h index ba0718eb3..1f476a7fb 100644 --- a/quickjs.h +++ b/quickjs.h @@ -831,6 +831,7 @@ JS_EXTERN bool JS_SetConstructorBit(JSContext *ctx, JSValueConst func_obj, bool JS_EXTERN bool JS_IsRegExp(JSValueConst val); JS_EXTERN bool JS_IsMap(JSValueConst val); +JS_EXTERN bool JS_IsSet(JSValueConst val); JS_EXTERN JSValue JS_NewArray(JSContext *ctx); // takes ownership of the values