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