-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}.