diff options
Diffstat (limited to 'aoc-2020-gleam/src/ext/mapx.gleam')
-rw-r--r-- | aoc-2020-gleam/src/ext/mapx.gleam | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/aoc-2020-gleam/src/ext/mapx.gleam b/aoc-2020-gleam/src/ext/mapx.gleam new file mode 100644 index 0000000..244c1ac --- /dev/null +++ b/aoc-2020-gleam/src/ext/mapx.gleam @@ -0,0 +1,16 @@ +import gleam/map.{Map} +import gleam/iterator.{Iterator} as iter + +pub fn from_iter(iterator: Iterator(#(k, v))) -> Map(k, v) { + iter.fold( + over: iterator, + from: map.new(), + with: fn(acc, cur) { map.insert(acc, cur.0, cur.1) }, + ) +} + +pub fn to_iter(map: Map(k, v)) -> Iterator(#(k, v)) { + map + |> map.to_list + |> iter.from_list +} |