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 ) { let i = 0 ; for ( const item of iterable ) { if ( ! predicate ( item , i ) ) { break ; } yield <mask> ; i = i + 1 ; } } ; }