diff options
author | Tyler Rockwood <rockwotj@gmail.com> | 2024-02-20 09:29:08 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-03-02 18:12:24 +0100 |
commit | 951fa118f79460c1aaa284d0a9e605a8d5780406 (patch) | |
tree | d15d777828ca7bfd829f66983b37127f49a9cabd /lib/quickjs/quickjs.c | |
parent | d4885cdedbe2d2bb366a178e54622893898a4793 (diff) | |
download | chawan-951fa118f79460c1aaa284d0a9e605a8d5780406.tar.gz |
Add C API function JS_GetClassID()
If you want to extend a built-in class you need it's class ID and there is no robust way to get that without this accessor. * add JS_INVALID_CLASS_ID constant for invalid class ID. Signed-off-by: Tyler Rockwood <rockwood@redpanda.com>
Diffstat (limited to 'lib/quickjs/quickjs.c')
-rw-r--r-- | lib/quickjs/quickjs.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/quickjs/quickjs.c b/lib/quickjs/quickjs.c index 4e5f9fb7..ae882138 100644 --- a/lib/quickjs/quickjs.c +++ b/lib/quickjs/quickjs.c @@ -3395,6 +3395,15 @@ JSClassID JS_NewClassID(JSClassID *pclass_id) return class_id; } +JSClassID JS_GetClassID(JSValue v) +{ + JSObject *p; + if (JS_VALUE_GET_TAG(v) != JS_TAG_OBJECT) + return JS_INVALID_CLASS_ID; + p = JS_VALUE_GET_OBJ(v); + return p->class_id; +} + BOOL JS_IsRegisteredClass(JSRuntime *rt, JSClassID class_id) { return (class_id < rt->class_count && |