summaryrefslogtreecommitdiff
path: root/js/util.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/util.ts')
-rw-r--r--js/util.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/util.ts b/js/util.ts
index 0c50acebb..0d2049842 100644
--- a/js/util.ts
+++ b/js/util.ts
@@ -125,3 +125,22 @@ export function deferred(): Deferred {
reject: reject!
};
}
+
+/** Create a IterableIterator. */
+// @internal
+export class CreateIterableIterator<T> implements IterableIterator<T> {
+ private readonly _iterators: IterableIterator<T>;
+ readonly [Symbol.toStringTag] = "Iterator";
+
+ constructor(iterators: IterableIterator<T>) {
+ this._iterators = iterators;
+ }
+
+ [Symbol.iterator](): IterableIterator<T> {
+ return this;
+ }
+
+ next(): IteratorResult<T> {
+ return this._iterators.next();
+ }
+}