aboutsummaryrefslogtreecommitdiff
path: root/aoc-2020-gleam/src/ext/mapx.gleam
blob: 244c1acb94803bbcf4b599fa403658b9632503e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
}