defmodule Plaid.Account.Balances do
@moduledoc """
[Plaid Balances schema.](https://plaid.com/docs/api/accounts)
"""
@behaviour Plaid.Castable
@type t :: %__MODULE__{
available: number() | nil,
current: number(),
limit: number() | nil,
iso_currency_code: String.t() | nil,
unofficial_currency_code: String.t() | nil
}
defstruct [
:available,
:current,
:limit,
:iso_currency_code,
:unofficial_currency_code
]
@impl true
def cast(generic_map) do
%__MODULE__{
available: generic_map["available"],
current: generic_map["current"],
limit: generic_map["limit"],
iso_currency_code: generic_map["iso_currency_code"],
unofficial_currency_code: generic_map["unofficial_currency_code"]
}
end
end