Remove useless iterator library

This commit is contained in:
Alex
2023-08-24 07:43:35 -04:00
parent 743dce09ae
commit 8a73947697
5 changed files with 93 additions and 13 deletions

59
src/polyfill.ts Normal file
View File

@ -0,0 +1,59 @@
// es-iterator-helpers/Iterator.prototype.filter
export function* filter<T>(
iterable: Iterable<T>,
predicate: (value: T) => boolean,
): Iterable<T> {
for (const value of iterable) {
if (predicate(value)) {
yield value;
}
}
}
// es-iterator-helpers/Iterator.prototype.forEach
export function forEach<T>(iterable: Iterable<T>, callback: (value: T) => void) {
for (const value of iterable) {
callback(value);
}
}
// es-iterator-helpers/Iterator.prototype.some
export function some<T>(
iterable: Iterable<T>,
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<T>(
iterable: Iterable<T>,
predicate: (value: T) => boolean,
): T | undefined {
for (const value of iterable) {
if (predicate(value)) {
return value;
}
}
}
// es-iterator-helpers/Iterator.from
export function from<T>(iterable: Iterable<T>) {
return iterable;
}
// es-iterator-helpers/Iterator.prototype.map
export function* map<T, U>(
iterable: Iterable<T>,
callback: (value: T) => U,
): Iterable<U> {
for (const value of iterable) {
yield callback(value);
}
}