defmodule GitHub.SecretScanning.Location do
@moduledoc """
Provides struct and type for SecretScanningLocation
"""
@type t :: %__MODULE__{
details:
GitHub.SecretScanning.LocationCommit.t()
| GitHub.SecretScanning.LocationIssueBody.t()
| GitHub.SecretScanning.LocationIssueComment.t()
| GitHub.SecretScanning.LocationIssueTitle.t(),
type: String.t()
}
defstruct [:details, :type]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
details:
{:union,
[
{GitHub.SecretScanning.LocationCommit, :t},
{GitHub.SecretScanning.LocationIssueTitle, :t},
{GitHub.SecretScanning.LocationIssueBody, :t},
{GitHub.SecretScanning.LocationIssueComment, :t}
]},
type: :string
]
end
end