Current section
Files
Jump to
Current section
Files
lib/alpa/models/clock.ex
defmodule Alpa.Models.Clock do
@moduledoc """
Market clock information.
"""
use TypedStruct
import Alpa.Helpers, only: [parse_datetime: 1]
typedstruct do
field(:timestamp, DateTime.t())
field(:is_open, boolean())
field(:next_open, DateTime.t())
field(:next_close, DateTime.t())
end
@doc """
Parse clock data from API response.
"""
@spec from_map(map()) :: t()
def from_map(data) when is_map(data) do
%__MODULE__{
timestamp: parse_datetime(data["timestamp"]),
is_open: data["is_open"],
next_open: parse_datetime(data["next_open"]),
next_close: parse_datetime(data["next_close"])
}
end
end