enumerable-ts/test/unit/common.js

36 lines
682 B
JavaScript

import { Enumerable } from '../../dist/index.esm.min.js'
export const createIterator = (arr = []) => {
let index = 0
return {
next() {
return index < arr.length ? {
value: arr[index++],
done: false
} : { done: true }
}
}
}
export const createIterable = arr => ({
[Symbol.iterator]() {
return createIterator(arr)
}
})
export const createEnumerator = (arr = []) => {
let index = -1
return {
get current() { return arr[index] },
moveNext() {
index += 1
return index < arr.length
},
reset() {
index = -1
}
}
}
export const createEnumerable = arr => new Enumerable(createEnumerator(arr))