Packages

Gleam SDK for Dagger — type-safe pipelines via GraphQL codegen

Current section

Files

Jump to
dagger_gleam src dagger@dsl@function_call.erl
Raw

src/dagger@dsl@function_call.erl

-module(dagger@dsl@function_call).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/dagger/dsl/function_call.gleam").
-export([function_call/0, function_call_id/1, input_args/4, function_call_name/3, parent/3, parent_name/3, return_error/4, return_value/4, function_call_arg_value/1, function_call_arg_value_id/1, function_call_arg_value_name/3, 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/function_call.gleam", 9).
-spec function_call() -> dagger@dsl@types:function_call().
function_call() ->
Field = {field, <<"currentFunctionCall"/utf8>>, [], []},
{function_call, {pure, [Field]}}.
-file("src/dagger/dsl/function_call.gleam", 15).
?DOC(" A unique identifier for this FunctionCall.\n").
-spec function_call_id(dagger@dsl@types:function_call()) -> dagger@dsl@types:function_call().
function_call_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,
{function_call, New_op}.
-file("src/dagger/dsl/function_call.gleam", 25).
?DOC(" The argument values the function is being invoked with.\n").
-spec input_args(
dagger@dsl@types:function_call(),
fun((dagger@dsl@types:function_call_arg_value()) -> list(dagger@types:field())),
dagger@types:client(),
fun(({ok, list(dagger@dsl@types:function_call_arg_value())} |
{error, dagger@types:query_error()}) -> XXI)
) -> XXI.
input_args(Parent, Select, Client, Handler) ->
Subfields = Select({function_call_arg_value, {pure, []}}),
Field = {field, <<"inputArgs"/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(_) ->
{function_call_arg_value,
{pure, Full_query}}
end
)}};
{error, _} ->
{pure,
{error,
{decoding_error, <<"inputArgs"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 47).
?DOC(" The name of the function being called.\n").
-spec function_call_name(
dagger@dsl@types:function_call(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> XXK)
) -> XXK.
function_call_name(Parent, Client, Handler) ->
Field = {field, <<"name"/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, <<"name"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 68).
?DOC(" The value of the parent object of the function being called. If the function is top-level to the module, this is always an empty object.\n").
-spec parent(
dagger@dsl@types:function_call(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> XXM)
) -> XXM.
parent(Parent, Client, Handler) ->
Field = {field, <<"parent"/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, <<"parent"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 89).
?DOC(" The name of the parent object of the function being called. If the function is top-level to the module, this is the name of the module.\n").
-spec parent_name(
dagger@dsl@types:function_call(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> XXO)
) -> XXO.
parent_name(Parent, Client, Handler) ->
Field = {field, <<"parentName"/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, <<"parentName"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 110).
?DOC(" Return an error from the function.\n").
-spec return_error(
dagger@dsl@types:function_call(),
dagger@dsl@types:error(),
dagger@types:client(),
fun(({ok, nil} | {error, dagger@types:query_error()}) -> XXQ)
) -> XXQ.
return_error(Parent, Error, Client, Handler) ->
Field = {field,
<<"returnError"/utf8>>,
[{<<"error"/utf8>>, {g_deferred, erlang:element(2, Error)}}],
[]},
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_dynamic/1}
)
) of
{ok, _} ->
{pure, {ok, nil}};
{error, _} ->
{pure,
{error,
{decoding_error, <<"returnError"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 131).
?DOC(" Set the return value of the function call to the provided value.\n").
-spec return_value(
dagger@dsl@types:function_call(),
binary(),
dagger@types:client(),
fun(({ok, nil} | {error, dagger@types:query_error()}) -> XXS)
) -> XXS.
return_value(Parent, Value, Client, Handler) ->
Field = {field,
<<"returnValue"/utf8>>,
[{<<"value"/utf8>>, {g_string, Value}}],
[]},
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_dynamic/1}
)
) of
{ok, _} ->
{pure, {ok, nil}};
{error, _} ->
{pure,
{error,
{decoding_error, <<"returnValue"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 151).
-spec function_call_arg_value(dagger@dsl@types:function_call_arg_value()) -> dagger@dsl@types:function_call_arg_value().
function_call_arg_value(Id) ->
Field = {field,
<<"loadFunctionCallArgValueFromID"/utf8>>,
[{<<"id"/utf8>>, {g_deferred, erlang:element(2, Id)}}],
[]},
{function_call_arg_value, {pure, [Field]}}.
-file("src/dagger/dsl/function_call.gleam", 157).
?DOC(" A unique identifier for this FunctionCallArgValue.\n").
-spec function_call_arg_value_id(dagger@dsl@types:function_call_arg_value()) -> dagger@dsl@types:function_call_arg_value().
function_call_arg_value_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,
{function_call_arg_value, New_op}.
-file("src/dagger/dsl/function_call.gleam", 167).
?DOC(" The name of the argument.\n").
-spec function_call_arg_value_name(
dagger@dsl@types:function_call_arg_value(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> XXU)
) -> XXU.
function_call_arg_value_name(Parent, Client, Handler) ->
Field = {field, <<"name"/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, <<"name"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/function_call.gleam", 188).
?DOC(" The value of the argument represented as a JSON serialized string.\n").
-spec value(
dagger@dsl@types:function_call_arg_value(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> XXW)
) -> XXW.
value(Parent, Client, Handler) ->
Field = {field, <<"value"/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, <<"value"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).