lib/codestats_api/stats/dates.ex
defmodule CodestatsApi.Stats.Dates do
@moduledoc """
This map describes the amount of XP earned on each date.
Date in format `YYYY-MM-DD` is used as a key, and the amount of XP earned on that date is used as a value.
"""
@type t() :: %{String.t() => CodestatsApi.Stats.Xp.t()}
@doc """
Parses the dates from the user's data from the Code::Stats API.
"""
@spec parse(map()) :: t()
def parse(input) do
input
|> Enum.map(fn {date, xp} -> {date, CodestatsApi.Stats.Xp.parse(xp)} end)
|> Enum.into(%{})
end
end