Dart에서의 Iterable 패턴을 통한 map, filter, take, skip과 같은 함수를 제공한다.
아래 형태로 활용 가능하다.
const wordGroups = filteredLine.split('|');
const words = genSequence(wordGroups)
.concatMap(a => [a, ...a.split(regExpSpaceOrDash)])
.concatMap(a => splitCamelCase(a))
.map(a => a.trim())
.filter(s => s.length > 2)
.filter(s => !regExpRepeatChars.test(s))
.map(a => a.toLowerCase())
.reduceToSequence((s, w) => s.add(w), new Set());