/** * @packageDocumentation * * Calls a function for each value in an (async)iterable. * * The function can be sync or async. * * Async functions can be awaited on so may slow down processing of the (async)iterable. * * @example * * ```javascript * import each from 'it-foreach' * import drain from 'it-drain' * * // This can also be an iterator, generator, etc * const values = [0, 1, 2, 3, 4] * * // prints [0, 0], [1, 1], [2, 2], [3, 3], [4, 4] * const arr = drain( * each(values, console.info) * ) * ``` * * Async sources and callbacks must be awaited: * * ```javascript * import each from 'it-foreach' * import drain from 'it-drain' * * const values = async function * () { * yield * [0, 1, 2, 3, 4] * } * * // prints [0, 0], [1, 1], [2, 2], [3, 3], [4, 4] * const arr = await drain( * each(values(), console.info) * ) * ``` */ /** * Invokes the passed function for each item in an iterable */ declare function forEach(source: Iterable, fn: (thing: T, index: number) => Promise): AsyncGenerator; declare function forEach(source: Iterable, fn: (thing: T, index: number) => void): Generator; declare function forEach(source: Iterable | AsyncIterable, fn: (thing: T, index: number) => void | Promise): AsyncGenerator; export default forEach; //# sourceMappingURL=index.d.ts.map