From 45b76ed602f50633769a75d348f9f78e7848d8a3 Mon Sep 17 00:00:00 2001 From: Haruma <114157573+Haruma-VN@users.noreply.github.com> Date: Tue, 27 May 2025 10:51:07 +0700 Subject: [PATCH] Add JS_IsWeakMap function --- quickjs.c | 7 +++++++ quickjs.h | 1 + 2 files changed, 8 insertions(+) diff --git a/quickjs.c b/quickjs.c index b85eff9da..9988f918f 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_IsWeakMap(JSValueConst val) +{ + if (JS_VALUE_GET_TAG(val) != JS_TAG_OBJECT) + return false; + return JS_VALUE_GET_OBJ(val)->class_id == JS_CLASS_WEAKMAP; +} + bool JS_IsError(JSContext *ctx, JSValueConst val) { JSObject *p; diff --git a/quickjs.h b/quickjs.h index fe7f55968..90e7011ec 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_IsWeakMap(JSValueConst val); JS_EXTERN JSValue JS_NewArray(JSContext *ctx); // takes ownership of the values