export const toArray = (iterator: IterableIterator) => {
const results: A[] = []
for (const result of iterator) {
results.push(result)
}
return results
}
export const map = (mapper: (a: A) => B) => (iterator: IterableIterator) => {
const results: B[] = []
for (const resultRaw of iterator) {
results.push(mapper(resultRaw))
}
return results
}
export const lastOfIterator = (max: number = 1024) => (iterator: IterableIterator) => {
let result: T | undefined = undefined
let i = 0
for (const item of iterator) {
result = item
i++
if (i >= max) { return undefined }
}
return result
}