mirror of
https://git.stupid.fish/teidesu/scripts.git
synced 2025-07-28 02:32:11 +10:00
25 lines
461 B
TypeScript
25 lines
461 B
TypeScript
export function counterIter(start = 0, end = Infinity) {
|
|
let i = start
|
|
let ended = false
|
|
|
|
const iter: IterableIterator<number> = {
|
|
[Symbol.iterator]: () => iter,
|
|
next() {
|
|
if (ended) {
|
|
return { value: undefined, done: true }
|
|
}
|
|
|
|
if (i > end) {
|
|
return { value: undefined, done: true }
|
|
}
|
|
|
|
return { value: i++, done: false }
|
|
},
|
|
}
|
|
return {
|
|
iter,
|
|
end: () => {
|
|
ended = true
|
|
},
|
|
}
|
|
}
|