nl_tokens: Take and yield items in an iterable until the passed predicate fails then abort the sequence
pl_tokens: function takeWhile ( predicate ) { return function ( iterable ) { return __asyncGenerator ( this , arguments , function * ( ) { var e_15 , _a ; let i = 0 ; <mask> { for ( var iterable_13 = __asyncValues ( iterable ) , iterable_13_1 ; iterable_13_1 = yield __await ( iterable_13 . next ( ) ) , ! iterable_13_1 . done ; ) { const item = iterable_13_1 . value ; if ( ! ( yield __await ( Promise . resolve ( predicate ( item , i ) ) ) ) ) { break ; } yield yield __await ( item ) ; i = i + 1 ; } } catch ( e_15_1 ) { e_15 = { error : e_15_1 } ; } finally { try { if ( iterable_13_1 && ! iterable_13_1 . done && ( _a = iterable_13 . return ) ) yield __await ( _a . call ( iterable_13 ) ) ; } finally { if ( e_15 ) throw e_15 . error ; } } } ) ; } ; }