Code coverage report for src/slice.js

Statements: 100% (24 / 24)      Branches: 100% (16 / 16)      Functions: 100% (2 / 2)      Lines: 100% (9 / 9)      Ignored: none     

All files » src/ » slice.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  24 24 24   24 36 36           60 60          
function *slice(xs, start=0, stop=null) {
    let iter = xs[Symbol.iterator]();
    let i = 0;
    let x = iter.next();
 
    while (i < start && !x.done) {
        x = iter.next();
        i += 1;
    }
 
    while (!x.done && (i < stop || stop === null)) {
        yield x.value;
 
        x = iter.next();
        i += 1;
    }
}
 
export default slice;