defmodule Kameleoon.Data.Cookie do @moduledoc false alias Kameleoon.Data.Validation @enforce_keys [:cookies] defstruct [:cookies] @type cookie_map :: %{optional(String.t()) => String.t()} @type t :: %__MODULE__{ cookies: cookie_map() } @spec new!(cookie_map()) :: t() def new!(cookies) do %__MODULE__{cookies: Validation.cookie_map!(cookies, :cookies)} end end