function takeUntil(predicate) {
    return function* (iterable) {
        let i = 0;
        for (const item of iterable) {
            if (predicate(item, i)) {
                return;
            }
            yield item;
            i = i + 1;
        }
    };
}
function takeUntil(predicate) {
    return function* (iterable) {
        let i = 0;
        for (const item of iterable) {
            if (predicate(item, i)) {
                return;
            }
            yield item;
            i = i + 1;
        }
    };
}
function takeUntil ( predicate ) { return function * ( iterable ) { let i = 0 ; for ( const item of iterable ) { if ( predicate ( item , i ) ) { return ; } yield item ; i = i + 1 ; } } ; }
Take and yield items in an iterable until the passed predicate passes, then abort the sequence
Take and yield items in an iterable until the passed predicate passes then abort the sequence