diff options
Diffstat (limited to 'aoc-2020-gleam/src/ext')
-rw-r--r-- | aoc-2020-gleam/src/ext/iteratorx.gleam | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/aoc-2020-gleam/src/ext/iteratorx.gleam b/aoc-2020-gleam/src/ext/iteratorx.gleam new file mode 100644 index 0000000..456c1d1 --- /dev/null +++ b/aoc-2020-gleam/src/ext/iteratorx.gleam @@ -0,0 +1,14 @@ +import gleam/iterator.{Iterator} as iter +import gleam/list + +pub fn length(iterator: Iterator(a)) -> Int { + iterator + |> iter.to_list + |> list.length +} + +pub fn count(iterator: Iterator(a), satisfying predicate: fn(a) -> Bool) -> Int { + iterator + |> iter.filter(for: predicate) + |> length +} |