diff --git a/quickjs.c b/quickjs.c index b85eff9da..3b8f40106 100644 --- a/quickjs.c +++ b/quickjs.c @@ -10275,6 +10275,13 @@ bool JS_IsSet(JSValueConst val) return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_SET; } +bool JS_IsWeakRef(JSValueConst val) +{ + if (JS_VALUE_GET_TAG(val) != JS_TAG_OBJECT) + return false; + return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_WEAK_REF; +} + bool JS_IsError(JSContext *ctx, JSValueConst val) { JSObject *p; diff --git a/quickjs.h b/quickjs.h index fe7f55968..fa1f22e4f 100644 --- a/quickjs.h +++ b/quickjs.h @@ -832,6 +832,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 bool JS_IsWeakRef(JSValueConst val); JS_EXTERN JSValue JS_NewArray(JSContext *ctx); // takes ownership of the values