// es-iterator-helpers/Iterator.prototype.filter export function* filter( iterable: Iterable, predicate: (value: T) => boolean, ): Iterable { for (const value of iterable) { if (predicate(value)) { yield value; } } } // es-iterator-helpers/Iterator.prototype.forEach export function forEach(iterable: Iterable, callback: (value: T) => void) { for (const value of iterable) { callback(value); } } // es-iterator-helpers/Iterator.prototype.some export function some( iterable: Iterable, predicate: (value: T) => boolean, ): boolean { for (const value of iterable) { if (predicate(value)) { return true; } } return false; } // es-iterator-helpers/Iterator.prototype.find export function find( iterable: Iterable, predicate: (value: T) => boolean, ): T | undefined { for (const value of iterable) { if (predicate(value)) { return value; } } } // es-iterator-helpers/Iterator.from export function from(iterable: Iterable) { return iterable; } // es-iterator-helpers/Iterator.prototype.map export function* map( iterable: Iterable, callback: (value: T) => U, ): Iterable { for (const value of iterable) { yield callback(value); } }