Current section

Files

Jump to
dagger lib dagger gen diff_stat.ex
Raw

lib/dagger/gen/diff_stat.ex

# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.DiffStat do
@moduledoc """
Dagger.DiffStat
"""
use Dagger.Core.Base, kind: :object, name: "DiffStat"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
Number of added lines for this path.
"""
@spec added_lines(t()) :: {:ok, integer()} | {:error, term()}
def added_lines(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("addedLines")
Client.execute(diff_stat.client, query_builder)
end
@doc """
A unique identifier for this DiffStat.
"""
@spec id(t()) :: {:ok, Dagger.DiffStatID.t()} | {:error, term()}
def id(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("id")
Client.execute(diff_stat.client, query_builder)
end
@doc """
Type of change.
"""
@spec kind(t()) :: {:ok, Dagger.DiffStatKind.t()} | {:error, term()}
def kind(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("kind")
case Client.execute(diff_stat.client, query_builder) do
{:ok, enum} -> {:ok, Dagger.DiffStatKind.from_string(enum)}
error -> error
end
end
@doc """
Previous path of the file, set only for renames.
"""
@spec old_path(t()) :: {:ok, String.t() | nil} | {:error, term()}
def old_path(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("oldPath")
Client.execute(diff_stat.client, query_builder)
end
@doc """
Path of the changed file or directory.
"""
@spec path(t()) :: {:ok, String.t()} | {:error, term()}
def path(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("path")
Client.execute(diff_stat.client, query_builder)
end
@doc """
Number of removed lines for this path.
"""
@spec removed_lines(t()) :: {:ok, integer()} | {:error, term()}
def removed_lines(%__MODULE__{} = diff_stat) do
query_builder =
diff_stat.query_builder |> QB.select("removedLines")
Client.execute(diff_stat.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.DiffStat do
def encode(diff_stat, opts) do
{:ok, id} = Dagger.DiffStat.id(diff_stat)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.DiffStat do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_diff_stat_from_id(Dagger.Global.dag(), id)}
end
end