Type Parameters
-
Item = unknown
-
Output = unknown
Parameters
-
iterator: Unary<Iterable<Item>, Function<ReadOnlyArray<never>, Generator<Output, void, void>>>
Returns ((asyncIterator) => (<Iterable>(iterable) => Iterable extends {
[asyncIterator]() => AsyncIterator<Item, any, undefined>;
}
? {
[asyncIterator]() => AsyncIterableIterator<Output>;
next(...args) => Promise<IteratorResult<Output, any>>;
return?(value?) => Promise<IteratorResult<Output, any>>;
throw?(e?) => Promise<IteratorResult<Output, any>>;
}
: {
[iterator]() => IterableIterator<Output>;
next(...args) => IteratorResult<Output, any>;
return?(value?) => IteratorResult<Output, any>;
throw?(e?) => IteratorResult<Output, any>;
}))
Curried function with iterator in context.
-
- (asyncIterator): (<Iterable>(iterable) => Iterable extends {
[asyncIterator]() => AsyncIterator<Item, any, undefined>;
}
? {
[asyncIterator]() => AsyncIterableIterator<Output>;
next(...args) => Promise<IteratorResult<Output, any>>;
return?(value?) => Promise<IteratorResult<Output, any>>;
throw?(e?) => Promise<IteratorResult<Output, any>>;
}
: {
[iterator]() => IterableIterator<Output>;
next(...args) => IteratorResult<Output, any>;
return?(value?) => IteratorResult<Output, any>;
throw?(e?) => IteratorResult<Output, any>;
})
-
Parameters
-
asyncIterator: Unary<IsomorphicIterable<Item>, Function<ReadOnlyArray<never>, AsyncGenerator<Output, void, void>>>
Returns (<Iterable>(iterable) => Iterable extends {
[asyncIterator]() => AsyncIterator<Item, any, undefined>;
}
? {
[asyncIterator]() => AsyncIterableIterator<Output>;
next(...args) => Promise<IteratorResult<Output, any>>;
return?(value?) => Promise<IteratorResult<Output, any>>;
throw?(e?) => Promise<IteratorResult<Output, any>>;
}
: {
[iterator]() => IterableIterator<Output>;
next(...args) => IteratorResult<Output, any>;
return?(value?) => IteratorResult<Output, any>;
throw?(e?) => IteratorResult<Output, any>;
})
-
- <Iterable>(iterable): Iterable extends {
[asyncIterator]() => AsyncIterator<Item, any, undefined>;
}
? {
[asyncIterator]() => AsyncIterableIterator<Output>;
next(...args) => Promise<IteratorResult<Output, any>>;
return?(value?) => Promise<IteratorResult<Output, any>>;
throw?(e?) => Promise<IteratorResult<Output, any>>;
}
: {
[iterator]() => IterableIterator<Output>;
next(...args) => IteratorResult<Output, any>;
return?(value?) => IteratorResult<Output, any>;
throw?(e?) => IteratorResult<Output, any>;
}
-
Type Parameters
-
Iterable extends IsomorphicIterable<Item>
Returns Iterable extends {
[asyncIterator]() => AsyncIterator<Item, any, undefined>;
}
? {
[asyncIterator]() => AsyncIterableIterator<Output>;
next(...args) => Promise<IteratorResult<Output, any>>;
return?(value?) => Promise<IteratorResult<Output, any>>;
throw?(e?) => Promise<IteratorResult<Output, any>>;
}
: {
[iterator]() => IterableIterator<Output>;
next(...args) => IteratorResult<Output, any>;
return?(value?) => IteratorResult<Output, any>;
throw?(e?) => IteratorResult<Output, any>;
}
Takes a generator for iterables, then a generator for async iterables and last an iterable, using the proper generator automatically.
Example