lib/schemas/stargazer.ex

defmodule GitHub.Stargazer do
  @moduledoc """
  Provides struct and type for Stargazer
  """

  @type t :: %__MODULE__{starred_at: String.t(), user: GitHub.User.simple() | nil}

  defstruct [:starred_at, :user]

  @doc false
  @spec __fields__(atom) :: keyword
  def __fields__(type \\ :t)

  def __fields__(:t) do
    [starred_at: :string, user: {:nullable, {GitHub.User, :simple}}]
  end
end