]> git.kaiwu.me - quickjs.git/commitdiff
exported iterator helpers
authorFabrice Bellard <fabrice@bellard.org>
Sat, 10 Oct 2026 14:46:08 +0000 (16:46 +0200)
committerFabrice Bellard <fabrice@bellard.org>
Sat, 10 Oct 2026 14:46:08 +0000 (16:46 +0200)
quickjs.c
quickjs.h

index 8fec2f2812b2ecf12c3bf38416f7a12d613724fe..a1787b2ebb6be54e2ed54a8ed1ba47d59a87dcfc 100644 (file)
--- a/quickjs.c
+++ b/quickjs.c
@@ -16679,7 +16679,7 @@ static JSValue JS_GetIterator2(JSContext *ctx, JSValueConst obj,
     return enum_obj;
 }
 
-static JSValue JS_GetIterator(JSContext *ctx, JSValueConst obj, BOOL is_async)
+JSValue JS_GetIterator(JSContext *ctx, JSValueConst obj, BOOL is_async)
 {
     JSValue method, ret, sync_iter;
 
@@ -16755,8 +16755,8 @@ static JSValue JS_IteratorNext2(JSContext *ctx, JSValueConst enum_obj,
 }
 
 /* Note: always return JS_UNDEFINED when *pdone = TRUE. */
-static JSValue JS_IteratorNext(JSContext *ctx, JSValueConst enum_obj,
-                               JSValueConst method, BOOL *pdone)
+JSValue JS_IteratorNext(JSContext *ctx, JSValueConst enum_obj,
+                        JSValueConst method, BOOL *pdone)
 {
     JSValue obj, value, done_val;
     int done;
@@ -16790,8 +16790,8 @@ static JSValue JS_IteratorNext(JSContext *ctx, JSValueConst enum_obj,
 }
 
 /* return < 0 in case of exception */
-static int JS_IteratorClose(JSContext *ctx, JSValueConst enum_obj,
-                            BOOL is_exception_pending)
+int JS_IteratorClose(JSContext *ctx, JSValueConst enum_obj,
+                     BOOL is_exception_pending)
 {
     JSValue method, ret, ex_obj;
     int res;
index 069097a462706bc721a02402da1258b839f57ae7..e3c366ab5a4326e8c9ef61beb088c69fa07f44db 100644 (file)
--- a/quickjs.h
+++ b/quickjs.h
@@ -1151,6 +1151,14 @@ int JS_SetPropertyFunctionList(JSContext *ctx, JSValueConst obj,
                                const JSCFunctionListEntry *tab,
                                int len);
 
+/* iterator helpers */
+
+JSValue JS_GetIterator(JSContext *ctx, JSValueConst obj, JS_BOOL is_async);
+JSValue JS_IteratorNext(JSContext *ctx, JSValueConst enum_obj,
+                        JSValueConst method, JS_BOOL *pdone);
+int JS_IteratorClose(JSContext *ctx, JSValueConst enum_obj,
+                     JS_BOOL is_exception_pending);
+
 /* C module definition */
 
 typedef int JSModuleInitFunc(JSContext *ctx, JSModuleDef *m);