Packages

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

Current section

Files

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

src/dagger@dsl@file.erl

-module(dagger@dsl@file).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/dagger/dsl/file.gleam").
-export([none/1, opt_permissions/2, opt_offset_lines/2, opt_limit_lines/2, opt_exclude_metadata/2, opt_allow_parent_dir_path/2, opt_literal/2, opt_multiline/2, opt_dotall/2, opt_insensitive/2, opt_skip_ignored/2, opt_skip_hidden/2, opt_files_only/2, opt_limit/2, opt_paths/2, opt_globs/2, opt_all/2, opt_first_from/2, file/3, as_env_file/1, as_j_s_o_n/1, chown/2, contents/4, digest/4, export/5, id/1, name/3, search/6, size/3, stat/1, sync/1, with_name/2, with_replaced/4, with_timestamps/2]).
-export_type([for_with_replaced/0, for_search/0, for_export/0, for_digest/0, for_contents/0, for_file/0, opts/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-type for_with_replaced() :: any().
-type for_search() :: any().
-type for_export() :: any().
-type for_digest() :: any().
-type for_contents() :: any().
-type for_file() :: any().
-opaque opts(VQO) :: {opts,
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(integer()),
gleam@option:option(list(binary())),
gleam@option:option(list(binary())),
gleam@option:option(boolean()),
gleam@option:option(integer())} |
{gleam_phantom, VQO}.
-file("src/dagger/dsl/file.gleam", 39).
-spec defaults() -> opts(any()).
defaults() ->
{opts,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none}.
-file("src/dagger/dsl/file.gleam", 61).
-spec none(opts(VQR)) -> opts(VQR).
none(Opts) ->
Opts.
-file("src/dagger/dsl/file.gleam", 65).
-spec opt_permissions(opts(for_file()), integer()) -> opts(for_file()).
opt_permissions(Opts, Val) ->
{opts,
{some, Val},
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 69).
-spec opt_offset_lines(opts(for_contents()), integer()) -> opts(for_contents()).
opt_offset_lines(Opts, Val) ->
{opts,
erlang:element(2, Opts),
{some, Val},
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 73).
-spec opt_limit_lines(opts(for_contents()), integer()) -> opts(for_contents()).
opt_limit_lines(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
{some, Val},
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 77).
-spec opt_exclude_metadata(opts(for_digest()), boolean()) -> opts(for_digest()).
opt_exclude_metadata(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
{some, Val},
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 81).
-spec opt_allow_parent_dir_path(opts(for_export()), boolean()) -> opts(for_export()).
opt_allow_parent_dir_path(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
{some, Val},
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 85).
-spec opt_literal(opts(for_search()), boolean()) -> opts(for_search()).
opt_literal(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
{some, Val},
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 89).
-spec opt_multiline(opts(for_search()), boolean()) -> opts(for_search()).
opt_multiline(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
{some, Val},
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 93).
-spec opt_dotall(opts(for_search()), boolean()) -> opts(for_search()).
opt_dotall(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
{some, Val},
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 97).
-spec opt_insensitive(opts(for_search()), boolean()) -> opts(for_search()).
opt_insensitive(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
{some, Val},
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 101).
-spec opt_skip_ignored(opts(for_search()), boolean()) -> opts(for_search()).
opt_skip_ignored(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
{some, Val},
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 105).
-spec opt_skip_hidden(opts(for_search()), boolean()) -> opts(for_search()).
opt_skip_hidden(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
{some, Val},
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 109).
-spec opt_files_only(opts(for_search()), boolean()) -> opts(for_search()).
opt_files_only(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
{some, Val},
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 113).
-spec opt_limit(opts(for_search()), integer()) -> opts(for_search()).
opt_limit(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
{some, Val},
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 117).
-spec opt_paths(opts(for_search()), list(binary())) -> opts(for_search()).
opt_paths(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
{some, Val},
erlang:element(16, Opts),
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 121).
-spec opt_globs(opts(for_search()), list(binary())) -> opts(for_search()).
opt_globs(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
{some, Val},
erlang:element(17, Opts),
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 125).
-spec opt_all(opts(for_with_replaced()), boolean()) -> opts(for_with_replaced()).
opt_all(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
{some, Val},
erlang:element(18, Opts)}.
-file("src/dagger/dsl/file.gleam", 129).
-spec opt_first_from(opts(for_with_replaced()), integer()) -> opts(for_with_replaced()).
opt_first_from(Opts, Val) ->
{opts,
erlang:element(2, Opts),
erlang:element(3, Opts),
erlang:element(4, Opts),
erlang:element(5, Opts),
erlang:element(6, Opts),
erlang:element(7, Opts),
erlang:element(8, Opts),
erlang:element(9, Opts),
erlang:element(10, Opts),
erlang:element(11, Opts),
erlang:element(12, Opts),
erlang:element(13, Opts),
erlang:element(14, Opts),
erlang:element(15, Opts),
erlang:element(16, Opts),
erlang:element(17, Opts),
{some, Val}}.
-file("src/dagger/dsl/file.gleam", 133).
-spec encode_file(opts(any())) -> list({binary(), dagger@types:value()}).
encode_file(Opts) ->
gleam@list:filter_map([case erlang:element(2, Opts) of
{some, Val} ->
{ok, {<<"permissions"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/file.gleam", 142).
-spec file(binary(), binary(), fun((opts(for_file())) -> opts(for_file()))) -> dagger@dsl@types:file().
file(Name, Contents, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"file"/utf8>>,
lists:append(
[{<<"name"/utf8>>, {g_string, Name}},
{<<"contents"/utf8>>, {g_string, Contents}}],
encode_file(Opts)
),
[]},
{file, {pure, [Field]}}.
-file("src/dagger/dsl/file.gleam", 149).
?DOC(" Parse as an env file\n").
-spec as_env_file(dagger@dsl@types:file()) -> dagger@dsl@types:env_file().
as_env_file(Parent) ->
Field = {field, <<"asEnvFile"/utf8>>, [], []},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{env_file, New_op}.
-file("src/dagger/dsl/file.gleam", 159).
?DOC(" Parse the file contents as JSON.\n").
-spec as_j_s_o_n(dagger@dsl@types:file()) -> dagger@dsl@types:j_s_o_n_value().
as_j_s_o_n(Parent) ->
Field = {field, <<"asJSON"/utf8>>, [], []},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{j_s_o_n_value, New_op}.
-file("src/dagger/dsl/file.gleam", 169).
?DOC(" Change the owner of the file recursively.\n").
-spec chown(dagger@dsl@types:file(), binary()) -> dagger@dsl@types:file().
chown(Parent, Owner) ->
Field = {field,
<<"chown"/utf8>>,
[{<<"owner"/utf8>>, {g_string, Owner}}],
[]},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{file, New_op}.
-file("src/dagger/dsl/file.gleam", 178).
-spec encode_contents(opts(any())) -> list({binary(), dagger@types:value()}).
encode_contents(Opts) ->
gleam@list:filter_map([case erlang:element(3, Opts) of
{some, Val} ->
{ok, {<<"offsetLines"/utf8>>, {g_int, Val}}};
none ->
{error, nil}
end, case erlang:element(4, Opts) of
{some, Val@1} ->
{ok, {<<"limitLines"/utf8>>, {g_int, Val@1}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/file.gleam", 192).
?DOC(" Retrieves the contents of the file.\n").
-spec contents(
dagger@dsl@types:file(),
fun((opts(for_contents())) -> opts(for_contents())),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> VSP)
) -> VSP.
contents(Parent, With_fn, Client, Handler) ->
Opts = With_fn(defaults()),
Field = {field, <<"contents"/utf8>>, encode_contents(Opts), []},
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, <<"contents"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/file.gleam", 213).
-spec encode_digest(opts(any())) -> list({binary(), dagger@types:value()}).
encode_digest(Opts) ->
gleam@list:filter_map([case erlang:element(5, Opts) of
{some, Val} ->
{ok, {<<"excludeMetadata"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/file.gleam", 223).
?DOC(" Return the file's digest. The format of the digest is not guaranteed to be stable between releases of Dagger. It is guaranteed to be stable between invocations of the same Dagger engine.\n").
-spec digest(
dagger@dsl@types:file(),
fun((opts(for_digest())) -> opts(for_digest())),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> VSW)
) -> VSW.
digest(Parent, With_fn, Client, Handler) ->
Opts = With_fn(defaults()),
Field = {field, <<"digest"/utf8>>, encode_digest(Opts), []},
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, <<"digest"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/file.gleam", 244).
-spec encode_export(opts(any())) -> list({binary(), dagger@types:value()}).
encode_export(Opts) ->
gleam@list:filter_map([case erlang:element(6, Opts) of
{some, Val} ->
{ok, {<<"allowParentDirPath"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/file.gleam", 254).
?DOC(" Writes the file to a file path on the host.\n").
-spec export(
dagger@dsl@types:file(),
binary(),
fun((opts(for_export())) -> opts(for_export())),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> VTD)
) -> VTD.
export(Parent, Path, With_fn, Client, Handler) ->
Opts = With_fn(defaults()),
Field = {field,
<<"export"/utf8>>,
lists:append([{<<"path"/utf8>>, {g_string, Path}}], encode_export(Opts)),
[]},
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@1 = dagger@types:make_path(Full_query),
case gleam@dynamic@decode:run(
Dyn,
gleam@dynamic@decode:at(
Path@1,
{decoder,
fun gleam@dynamic@decode:decode_string/1}
)
) of
{ok, Val} ->
{pure, {ok, Val}};
{error, _} ->
{pure,
{error, {decoding_error, <<"export"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/file.gleam", 276).
?DOC(" A unique identifier for this File.\n").
-spec id(dagger@dsl@types:file()) -> dagger@dsl@types:file().
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,
{file, New_op}.
-file("src/dagger/dsl/file.gleam", 286).
?DOC(" Retrieves the name of the file.\n").
-spec name(
dagger@dsl@types:file(),
dagger@types:client(),
fun(({ok, binary()} | {error, dagger@types:query_error()}) -> VTF)
) -> VTF.
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/file.gleam", 306).
-spec encode_search(opts(any())) -> list({binary(), dagger@types:value()}).
encode_search(Opts) ->
gleam@list:filter_map([case erlang:element(7, Opts) of
{some, Val} ->
{ok, {<<"literal"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end, case erlang:element(8, Opts) of
{some, Val@1} ->
{ok, {<<"multiline"/utf8>>, {g_bool, Val@1}}};
none ->
{error, nil}
end, case erlang:element(9, Opts) of
{some, Val@2} ->
{ok, {<<"dotall"/utf8>>, {g_bool, Val@2}}};
none ->
{error, nil}
end, case erlang:element(10, Opts) of
{some, Val@3} ->
{ok, {<<"insensitive"/utf8>>, {g_bool, Val@3}}};
none ->
{error, nil}
end, case erlang:element(11, Opts) of
{some, Val@4} ->
{ok, {<<"skipIgnored"/utf8>>, {g_bool, Val@4}}};
none ->
{error, nil}
end, case erlang:element(12, Opts) of
{some, Val@5} ->
{ok, {<<"skipHidden"/utf8>>, {g_bool, Val@5}}};
none ->
{error, nil}
end, case erlang:element(13, Opts) of
{some, Val@6} ->
{ok, {<<"filesOnly"/utf8>>, {g_bool, Val@6}}};
none ->
{error, nil}
end, case erlang:element(14, Opts) of
{some, Val@7} ->
{ok, {<<"limit"/utf8>>, {g_int, Val@7}}};
none ->
{error, nil}
end, case erlang:element(15, Opts) of
{some, Val@8} ->
{ok,
{<<"paths"/utf8>>,
{g_list,
gleam@list:map(
Val@8,
fun(X) -> {g_string, X} end
)}}};
none ->
{error, nil}
end, case erlang:element(16, Opts) of
{some, Val@9} ->
{ok,
{<<"globs"/utf8>>,
{g_list,
gleam@list:map(
Val@9,
fun(X@1) -> {g_string, X@1} end
)}}};
none ->
{error, nil}
end], fun(X@2) -> X@2 end).
-file("src/dagger/dsl/file.gleam", 353).
?DOC(
" Searches for content matching the given regular expression or literal string.\n"
" Uses Rust regex syntax; escape literal ., [, ], {, }, | with backslashes.\n"
).
-spec search(
dagger@dsl@types:file(),
binary(),
fun((opts(for_search())) -> opts(for_search())),
fun((dagger@dsl@types:search_result()) -> list(dagger@types:field())),
dagger@types:client(),
fun(({ok, list(dagger@dsl@types:search_result())} |
{error, dagger@types:query_error()}) -> VTO)
) -> VTO.
search(Parent, Pattern, With_fn, Select, Client, Handler) ->
Opts = With_fn(defaults()),
Subfields = Select({search_result, {pure, []}}),
Field = {field,
<<"search"/utf8>>,
lists:append(
[{<<"pattern"/utf8>>, {g_string, Pattern}}],
encode_search(Opts)
),
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(_) ->
{search_result,
{pure, Full_query}}
end
)}};
{error, _} ->
{pure,
{error, {decoding_error, <<"search"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/file.gleam", 376).
?DOC(" Retrieves the size of the file, in bytes.\n").
-spec size(
dagger@dsl@types:file(),
dagger@types:client(),
fun(({ok, integer()} | {error, dagger@types:query_error()}) -> VTQ)
) -> VTQ.
size(Parent, Client, Handler) ->
Field = {field, <<"size"/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_int/1}
)
) of
{ok, Val} ->
{pure, {ok, Val}};
{error, _} ->
{pure,
{error, {decoding_error, <<"size"/utf8>>}}}
end
end}
end
)
end,
Handler(dagger@interpreter:run(Op, Client)).
-file("src/dagger/dsl/file.gleam", 397).
?DOC(" Return file status\n").
-spec stat(dagger@dsl@types:file()) -> dagger@dsl@types:stat().
stat(Parent) ->
Field = {field, <<"stat"/utf8>>, [], []},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{stat, New_op}.
-file("src/dagger/dsl/file.gleam", 407).
?DOC(" Force evaluation in the engine.\n").
-spec sync(dagger@dsl@types:file()) -> dagger@dsl@types:file().
sync(Parent) ->
Field = {field, <<"sync"/utf8>>, [], []},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{file, New_op}.
-file("src/dagger/dsl/file.gleam", 417).
?DOC(" Retrieves this file with its name set to the given name.\n").
-spec with_name(dagger@dsl@types:file(), binary()) -> dagger@dsl@types:file().
with_name(Parent, Name) ->
Field = {field,
<<"withName"/utf8>>,
[{<<"name"/utf8>>, {g_string, Name}}],
[]},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{file, New_op}.
-file("src/dagger/dsl/file.gleam", 426).
-spec encode_with_replaced(opts(any())) -> list({binary(), dagger@types:value()}).
encode_with_replaced(Opts) ->
gleam@list:filter_map([case erlang:element(17, Opts) of
{some, Val} ->
{ok, {<<"all"/utf8>>, {g_bool, Val}}};
none ->
{error, nil}
end, case erlang:element(18, Opts) of
{some, Val@1} ->
{ok, {<<"firstFrom"/utf8>>, {g_int, Val@1}}};
none ->
{error, nil}
end], fun(X) -> X end).
-file("src/dagger/dsl/file.gleam", 444).
?DOC(
" Retrieves the file with content replaced with the given text.\n"
" If 'all' is true, all occurrences of the pattern will be replaced.\n"
" If 'firstAfter' is specified, only the first match starting at the specified line will be replaced.\n"
" If neither are specified, and there are multiple matches for the pattern, this will error.\n"
" If there are no matches for the pattern, this will error.\n"
).
-spec with_replaced(
dagger@dsl@types:file(),
binary(),
binary(),
fun((opts(for_with_replaced())) -> opts(for_with_replaced()))
) -> dagger@dsl@types:file().
with_replaced(Parent, Search, Replacement, With_fn) ->
Opts = With_fn(defaults()),
Field = {field,
<<"withReplaced"/utf8>>,
lists:append(
[{<<"search"/utf8>>, {g_string, Search}},
{<<"replacement"/utf8>>, {g_string, Replacement}}],
encode_with_replaced(Opts)
),
[]},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{file, New_op}.
-file("src/dagger/dsl/file.gleam", 455).
?DOC(" Retrieves this file with its created/modified timestamps set to the given time.\n").
-spec with_timestamps(dagger@dsl@types:file(), integer()) -> dagger@dsl@types:file().
with_timestamps(Parent, Timestamp) ->
Field = {field,
<<"withTimestamps"/utf8>>,
[{<<"timestamp"/utf8>>, {g_int, Timestamp}}],
[]},
New_op = begin
dagger@types:bind(
erlang:element(2, Parent),
fun(Q) -> {pure, lists:append(Q, [Field])} end
)
end,
{file, New_op}.