aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc')
-rw-r--r--src/javascript/jsc/base.zig13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/javascript/jsc/base.zig b/src/javascript/jsc/base.zig
index acdb43bda..63e07b635 100644
--- a/src/javascript/jsc/base.zig
+++ b/src/javascript/jsc/base.zig
@@ -1569,3 +1569,16 @@ pub const JSPrivateDataPtr = TaggedPointerUnion(.{
pub inline fn GetJSPrivateData(comptime Type: type, ref: js.JSObjectRef) ?*Type {
return JSPrivateDataPtr.from(js.JSObjectGetPrivate(ref)).get(Type);
}
+
+pub const JSPropertyNameIterator = struct {
+ array: js.JSPropertyNameArrayRef,
+ count: u32,
+ i: u32 = 0,
+
+ pub fn next(this: *JSPropertyNameIterator) ?js.JSStringRef {
+ if (this.i >= this.count) return null;
+ const i = this.i;
+ this.i += 1;
+ return js.JSPropertyNameArrayGetNameAtIndex(this.array, i);
+ }
+};