defmodule GitHub.EventPayload do
@moduledoc """
Provides struct and type for a EventPayload
"""
use GitHub.Encoder
@type t :: %__MODULE__{
__info__: map,
action: String.t() | nil,
comment: GitHub.Issue.Comment.t() | nil,
issue: GitHub.Issue.t() | nil,
pages: [GitHub.EventPayloadPages.t()] | nil
}
defstruct [:__info__, :action, :comment, :issue, :pages]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
action: {:string, :generic},
comment: {GitHub.Issue.Comment, :t},
issue: {GitHub.Issue, :t},
pages: [{GitHub.EventPayloadPages, :t}]
]
end
end