-module(dagger@dsl@error). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/dagger/dsl/error.gleam"). -export([error/1, id/1, message/3, values/4, with_value/3]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -file("src/dagger/dsl/error.gleam", 9). -spec error(binary()) -> dagger@dsl@types:error(). error(Message) -> Field = {field, <<"error"/utf8>>, [{<<"message"/utf8>>, {g_string, Message}}], []}, {error, {pure, [Field]}}. -file("src/dagger/dsl/error.gleam", 15). ?DOC(" A unique identifier for this Error.\n"). -spec id(dagger@dsl@types:error()) -> dagger@dsl@types:error(). id(Parent) -> Field = {field, <<"id"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {error, New_op}. -file("src/dagger/dsl/error.gleam", 25). ?DOC(" A description of the error.\n"). -spec message( dagger@dsl@types:error(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> VGW) ) -> VGW. message(Parent, Client, Handler) -> Field = {field, <<"message"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"message"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/error.gleam", 46). ?DOC(" The extensions of the error.\n"). -spec values( dagger@dsl@types:error(), fun((dagger@dsl@types:error_value()) -> list(dagger@types:field())), dagger@types:client(), fun(({ok, list(dagger@dsl@types:error_value())} | {error, dagger@types:query_error()}) -> VHA) ) -> VHA. values(Parent, Select, Client, Handler) -> Subfields = Select({error_value, {pure, []}}), Field = {field, <<"values"/utf8>>, [], Subfields}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) ) of {ok, Items} -> {pure, {ok, gleam@list:map( Items, fun(_) -> {error_value, {pure, Full_query}} end )}}; {error, _} -> {pure, {error, {decoding_error, <<"values"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/error.gleam", 68). ?DOC(" Add a value to the error.\n"). -spec with_value(dagger@dsl@types:error(), binary(), binary()) -> dagger@dsl@types:error(). with_value(Parent, Name, Value) -> Field = {field, <<"withValue"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}, {<<"value"/utf8>>, {g_string, Value}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {error, New_op}.