summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2025-06-14 11:42:54 +0200
committerFabrice Bellard <fabrice@bellard.org>2025-06-14 11:42:54 +0200
commit098f221cf3124a4a423d089bae83b81ccf108d20 (patch)
tree31f098277a3cad02fa8c4f9f340131ce39f6069a
parent9b935dba42c2c108759c50c0c55ef0003b53e725 (diff)
downloadquickjs-098f221cf3124a4a423d089bae83b81ccf108d20.tar.gz
quickjs-098f221cf3124a4a423d089bae83b81ccf108d20.zip
added Error.isError() (bnoordhuis)
-rw-r--r--TODO2
-rw-r--r--quickjs.c11
-rw-r--r--test262.conf2
3 files changed, 13 insertions, 2 deletions
diff --git a/TODO b/TODO
index acbe84a..8d0ff43 100644
--- a/TODO
+++ b/TODO
@@ -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
diff --git a/quickjs.c b/quickjs.c
index f271927..de2d41b 100644
--- a/quickjs.c
+++ b/quickjs.c
@@ -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