@@ -140,14 +140,12 @@ export function func<T extends TensorContainer>(
140
140
141
141
/**
142
142
* Create a `Dataset` that produces each element from provided JavaScript
143
- * generator, which is a function*
144
- * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generator_functions),
145
- * or a function that returns an
146
- * iterator
147
- * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generator_functions).
143
+ * generator, which is a function that returns a (potentially async) iterator.
148
144
*
149
- * The returned iterator should have `.next()` function that returns element in
150
- * format of `{value: TensorContainer, done:boolean}`.
145
+ * For more information on iterators and generators, see
146
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators .
147
+ * For the iterator protocol, see
148
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols .
151
149
*
152
150
* Example of creating a dataset from an iterator factory:
153
151
* ```js
@@ -188,8 +186,8 @@ export function func<T extends TensorContainer>(
188
186
* await ds.forEachAsync(e => console.log(e));
189
187
* ```
190
188
*
191
- * @param generator A JavaScript generator function that returns a JavaScript
192
- * iterator.
189
+ * @param generator A JavaScript function that returns
190
+ * a (potentially async) JavaScript iterator.
193
191
*
194
192
* @doc {
195
193
* heading: 'Data',
@@ -199,7 +197,8 @@ export function func<T extends TensorContainer>(
199
197
* }
200
198
*/
201
199
export function generator < T extends TensorContainer > (
202
- generator : ( ) => Iterator < T > | Promise < Iterator < T > > ) : Dataset < T > {
200
+ generator : ( ) => Iterator < T > | Promise < Iterator < T > > | AsyncIterator < T > ,
201
+ ) : Dataset < T > {
203
202
return datasetFromIteratorFn ( async ( ) => {
204
203
const gen = await generator ( ) ;
205
204
return iteratorFromFunction ( ( ) => gen . next ( ) ) ;
0 commit comments