diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2025-06-14 11:42:54 +0200 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2025-06-14 11:42:54 +0200 |
commit | 098f221cf3124a4a423d089bae83b81ccf108d20 (patch) | |
tree | 31f098277a3cad02fa8c4f9f340131ce39f6069a | |
parent | 9b935dba42c2c108759c50c0c55ef0003b53e725 (diff) | |
download | quickjs-098f221cf3124a4a423d089bae83b81ccf108d20.tar.gz quickjs-098f221cf3124a4a423d089bae83b81ccf108d20.zip |
added Error.isError() (bnoordhuis)
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | quickjs.c | 11 | ||||
-rw-r--r-- | test262.conf | 2 |
3 files changed, 13 insertions, 2 deletions
@@ -62,5 +62,5 @@ Optimization ideas: Test262o: 0/11262 errors, 463 excluded Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch) -Result: 47/79321 errors, 1617 excluded, 6767 skipped +Result: 46/79346 errors, 1617 excluded, 6754 skipped Test262 commit: 4b5d36ab6ef2f59d0a8902cd383762547a3a74c4 @@ -39976,6 +39976,16 @@ static const JSCFunctionListEntry js_error_proto_funcs[] = { JS_PROP_STRING_DEF("message", "", JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE ), }; +static JSValue js_error_isError(JSContext *ctx, JSValueConst this_val, + int argc, JSValueConst *argv) +{ + return JS_NewBool(ctx, JS_IsError(ctx, argv[0])); +} + +static const JSCFunctionListEntry js_error_funcs[] = { + JS_CFUNC_DEF("isError", 1, js_error_isError), +}; + /* AggregateError */ /* used by C code. */ @@ -52277,6 +52287,7 @@ void JS_AddIntrinsicBaseObjects(JSContext *ctx) "Error", 1, JS_CFUNC_constructor_or_func_magic, -1); JS_NewGlobalCConstructor2(ctx, obj1, "Error", ctx->class_proto[JS_CLASS_ERROR]); + JS_SetPropertyFunctionList(ctx, obj1, js_error_funcs, countof(js_error_funcs)); /* Used to squelch a -Wcast-function-type warning. */ JSCFunctionType ft = { .generic_magic = js_error_constructor }; diff --git a/test262.conf b/test262.conf index 0966a59..3277594 100644 --- a/test262.conf +++ b/test262.conf @@ -103,7 +103,7 @@ destructuring-assignment destructuring-binding dynamic-import error-cause -Error.isError=skip +Error.isError explicit-resource-management=skip exponentiation export-star-as-namespace-from-module |