Remove useless iterator library
This commit is contained in:
59
src/polyfill.ts
Normal file
59
src/polyfill.ts
Normal 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user