Skip to content

Commit 57fb97c

Browse files
support generator return values in QuickJSIterator (justjake#221)
1 parent aa48b61 commit 57fb97c

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

packages/quickjs-emscripten-core/src/QuickJSIterator.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,17 @@ export class QuickJSIterator
128128
}
129129

130130
const done = this.context.getProp(callResult.value, "done").consume((v) => this.context.dump(v))
131+
const value = this.context.getProp(callResult.value, "value")
132+
133+
callResult.value.dispose()
134+
131135
if (done) {
132-
callResult.value.dispose()
133136
this.dispose()
134-
return {
135-
done,
136-
value: undefined,
137-
}
138137
}
139138

140-
const value = this.context.getProp(callResult.value, "value")
141-
callResult.value.dispose()
142139
return {
143140
value: DisposableResult.success(value),
144-
done: done as false,
141+
done: done as boolean,
145142
}
146143
}
147144
}

0 commit comments

Comments
 (0)