Current section

Files

Jump to
cake src cake@delete.erl
Raw

src/cake@delete.erl

-module(cake@delete).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/cake/delete.gleam").
-export([to_query/1, new/0, modifier/2, no_modifier/1, get_modifier/1, table/2, no_table/1, get_table/1, using_table/2, using_sub_query/3, replace_using_table/2, replace_using_sub_query/3, no_using/1, get_using/1, join/2, replace_join/2, joins/2, replace_joins/2, no_join/1, get_joins/1, where/2, or_where/2, xor_where/2, replace_where/2, no_where/1, get_where/1, returning/2, no_returning/1, epilog/2, no_epilog/1, get_epilog/1, comment/2, no_comment/1, get_comment/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.
?MODULEDOC(
" A DSL to build `DELETE` queries.\n"
"\n"
).
-file("src/cake/delete.gleam", 58).
?DOC(" Creates a `WriteQuery` from a `Delete` query.\n").
-spec to_query(cake@internal@write_query:delete(ERG)) -> cake@internal@write_query:write_query(ERG).
to_query(Delete) ->
_pipe = Delete,
{delete_query, _pipe}.
-file("src/cake/delete.gleam", 66).
?DOC(" Creates an empty `Delete` query.\n").
-spec new() -> cake@internal@write_query:delete(any()).
new() ->
{delete,
no_delete_modifier,
no_delete_table,
no_delete_using,
no_joins,
no_where,
no_returning,
no_epilog,
no_comment}.
-file("src/cake/delete.gleam", 83).
?DOC(" Sets the `DELETE` modifier.\n").
-spec modifier(cake@internal@write_query:delete(ERL), binary()) -> cake@internal@write_query:delete(ERL).
modifier(Delete, Modifier) ->
Modifier@1 = begin
_pipe = Modifier,
gleam@string:trim(_pipe)
end,
case Modifier@1 of
<<""/utf8>> ->
{delete,
no_delete_modifier,
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
_ ->
{delete,
begin
_pipe@1 = Modifier@1,
{delete_modifier, _pipe@1}
end,
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 96).
?DOC(" Removes the `DELETE` modifier.\n").
-spec no_modifier(cake@internal@write_query:delete(ERO)) -> cake@internal@write_query:delete(ERO).
no_modifier(Delete) ->
{delete,
no_delete_modifier,
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 102).
?DOC(" Gets the `DELETE` modifier.\n").
-spec get_modifier(cake@internal@write_query:delete(any())) -> binary().
get_modifier(Delete) ->
case erlang:element(2, Delete) of
no_delete_modifier ->
<<""/utf8>>;
{delete_modifier, Keyword} ->
Keyword
end.
-file("src/cake/delete.gleam", 114).
?DOC(
" Sets the table name of the `Delete` query, aka the table where\n"
" the rows will be deleted from.\n"
).
-spec table(cake@internal@write_query:delete(ERT), binary()) -> cake@internal@write_query:delete(ERT).
table(Delete, Table_name) ->
{delete,
erlang:element(2, Delete),
begin
_pipe = Table_name,
{delete_table, _pipe}
end,
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 123).
?DOC(" Removes the table name from the `Delete` query.\n").
-spec no_table(cake@internal@write_query:delete(ERW)) -> cake@internal@write_query:delete(ERW).
no_table(Delete) ->
{delete,
erlang:element(2, Delete),
no_delete_table,
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 129).
?DOC(" Gets the table name of the `Delete` query.\n").
-spec get_table(cake@internal@write_query:delete(any())) -> cake@internal@write_query:delete_table().
get_table(Delete) ->
erlang:element(3, Delete).
-file("src/cake/delete.gleam", 149).
?DOC(
" Adds a `USING` clause to the `Delete` query specifying a table.\n"
"\n"
" If the query already has a `USING` clause, the new `USING` clause\n"
" will be appended to the existing one.\n"
"\n"
" The `USING` clause is used to specify additional tables that are used\n"
" to filter the rows to be deleted.\n"
"\n"
" NOTICE: 🪶SQLite does not support `USING`.\n"
"\n"
" NOTICE: For 🦭MariaDB and 🐬MySQL it is mandatory to specify the table set\n"
" within the `FROM` clause in the `USING` clause, again - e.g. in raw SQL:\n"
" `DELETE * FROM a USING a, b, WHERE a.b_id = b.id;`\n"
).
-spec using_table(cake@internal@write_query:delete(ESB), binary()) -> cake@internal@write_query:delete(ESB).
using_table(Delete, Table_name) ->
case erlang:element(4, Delete) of
no_delete_using ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe@1 = [begin
_pipe = Table_name,
{from_table, _pipe}
end],
{delete_using, _pipe@1}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{delete_using, Delete_usings} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe@2 = Delete_usings,
_pipe@4 = lists:append(
_pipe@2,
[begin
_pipe@3 = Table_name,
{from_table, _pipe@3}
end]
),
{delete_using, _pipe@4}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 184).
?DOC(
" Adds a `USING` clause to the `Delete` query specifying a sub-query.\n"
"\n"
" The sub-query must be aliased.\n"
"\n"
" If the query already has a `USING` clause, the new `USING` clause\n"
" will be appended to the existing one.\n"
"\n"
" The `USING` clause is used to specify additional tables that are used\n"
" to filter the rows to be deleted.\n"
"\n"
" NOTICE: 🪶SQLite does not support `USING`.\n"
"\n"
" NOTICE: 🦭MariaDB and 🐬MySQL do not support derived tables (sub-queries)\n"
" in the `USING` clause of a multi-table `DELETE` - only literal table names\n"
" are accepted there. Use a sub-query in a `WHERE` clause or a `JOIN` instead.\n"
"\n"
" NOTICE: 🪶SQLite does not support `USING` at all.\n"
).
-spec using_sub_query(
cake@internal@write_query:delete(ESE),
cake@internal@read_query:read_query(),
binary()
) -> cake@internal@write_query:delete(ESE).
using_sub_query(Delete, Query, Alias) ->
case erlang:element(4, Delete) of
no_delete_using ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe = [{from_sub_query, Query, Alias}],
{delete_using, _pipe}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{delete_using, Delete_usings} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe@1 = Delete_usings,
_pipe@2 = lists:append(
_pipe@1,
[{from_sub_query, Query, Alias}]
),
{delete_using, _pipe@2}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 204).
?DOC(" Replaces the `USING` clause of the `Delete` query with a table.\n").
-spec replace_using_table(cake@internal@write_query:delete(ESH), binary()) -> cake@internal@write_query:delete(ESH).
replace_using_table(Delete, Table_name) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe@1 = [begin
_pipe = Table_name,
{from_table, _pipe}
end],
{delete_using, _pipe@1}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 213).
?DOC(" Replaces the `USING` clause of the `Delete` query with a sub-query.\n").
-spec replace_using_sub_query(
cake@internal@write_query:delete(ESK),
cake@internal@read_query:read_query(),
binary()
) -> cake@internal@write_query:delete(ESK).
replace_using_sub_query(Delete, Query, Alias) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
begin
_pipe = [{from_sub_query, Query, Alias}],
{delete_using, _pipe}
end,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 223).
?DOC(" Removes the `USING` clause from the `Delete` query.\n").
-spec no_using(cake@internal@write_query:delete(ESN)) -> cake@internal@write_query:delete(ESN).
no_using(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
no_delete_using,
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 229).
?DOC(" Gets the `USING` clause of the `Delete` query.\n").
-spec get_using(cake@internal@write_query:delete(any())) -> list(cake@internal@read_query:from()).
get_using(Delete) ->
case erlang:element(4, Delete) of
no_delete_using ->
[];
{delete_using, Using} ->
Using
end.
-file("src/cake/delete.gleam", 243).
?DOC(
" Adds a `Join` to the `Delete` query.\n"
"\n"
" NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n"
" clause is set as well.\n"
).
-spec join(
cake@internal@write_query:delete(EST),
cake@internal@read_query:join()
) -> cake@internal@write_query:delete(EST).
join(Delete, Join) ->
case erlang:element(5, Delete) of
{joins, Existing_joins} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe = Existing_joins,
_pipe@1 = lists:append(_pipe, [Join]),
{joins, _pipe@1}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
no_joins ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe@2 = [Join],
{joins, _pipe@2}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 256).
?DOC(
" Replaces any `Join`s of the `Delete` query with a single `Join`.\n"
"\n"
" NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n"
" clause is set as well.\n"
).
-spec replace_join(
cake@internal@write_query:delete(ESW),
cake@internal@read_query:join()
) -> cake@internal@write_query:delete(ESW).
replace_join(Delete, Join) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe = [Join],
{joins, _pipe}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 265).
?DOC(
" Adds `Join`s to the `Delete` query.\n"
"\n"
" NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n"
" clause is set as well.\n"
).
-spec joins(
cake@internal@write_query:delete(ESZ),
list(cake@internal@read_query:join())
) -> cake@internal@write_query:delete(ESZ).
joins(Delete, Joins) ->
case {Joins, erlang:element(5, Delete)} of
{[], _} ->
Delete;
{_, {joins, Existing_joins}} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe = Existing_joins,
_pipe@1 = lists:append(_pipe, Joins),
{joins, _pipe@1}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{_, no_joins} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe@2 = Joins,
{joins, _pipe@2}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 279).
?DOC(
" Replaces any `Join`s of the `Delete` query with the given `Join`s.\n"
"\n"
" NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n"
" clause is set as well.\n"
).
-spec replace_joins(
cake@internal@write_query:delete(ETD),
list(cake@internal@read_query:join())
) -> cake@internal@write_query:delete(ETD).
replace_joins(Delete, Joins) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
begin
_pipe = Joins,
{joins, _pipe}
end,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 288).
?DOC(" Removes any `Joins` from the `Delete` query.\n").
-spec no_join(cake@internal@write_query:delete(ETH)) -> cake@internal@write_query:delete(ETH).
no_join(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
no_joins,
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 294).
?DOC(" Gets the `Joins` of the `Delete` query.\n").
-spec get_joins(cake@internal@write_query:delete(any())) -> cake@internal@read_query:joins().
get_joins(Delete) ->
erlang:element(5, Delete).
-file("src/cake/delete.gleam", 309).
?DOC(
" Sets an `AndWhere` or appends into an existing `AndWhere`.\n"
"\n"
" - If the outermost `Where` is an `AndWhere`, the new `Where` is appended\n"
" to the list within `AndWhere`.\n"
" - If the query does not have a `Where` clause, the given `Where` is set\n"
" instead.\n"
" - If the outermost `Where` is any other kind of `Where`, this and the\n"
" current outermost `Where` are wrapped in an `AndWhere`.\n"
).
-spec where(
cake@internal@write_query:delete(ETM),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(ETM).
where(Delete, Where) ->
case erlang:element(6, Delete) of
no_where ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
Where,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{and_where, Conditions} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe = Conditions,
_pipe@1 = lists:append(_pipe, [Where]),
{and_where, _pipe@1}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe@2 = [erlang:element(6, Delete), Where],
{and_where, _pipe@2}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 327).
?DOC(
" Sets an `OrWhere` or appends into an existing `OrWhere`.\n"
"\n"
" - If the outermost `Where` is an `OrWhere`, the new `Where` is appended\n"
" to the list within `OrWhere`.\n"
" - If the query does not have a `Where` clause, the given `Where` is set\n"
" instead.\n"
" - If the outermost `Where` is any other kind of `Where`, this and the\n"
" current outermost `Where` are wrapped in an `OrWhere`.\n"
).
-spec or_where(
cake@internal@write_query:delete(ETP),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(ETP).
or_where(Delete, Where) ->
case erlang:element(6, Delete) of
no_where ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
Where,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{or_where, Conditions} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe = Conditions,
_pipe@1 = lists:append(_pipe, [Where]),
{or_where, _pipe@1}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe@2 = [erlang:element(6, Delete), Where],
{or_where, _pipe@2}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 350).
?DOC(
" Sets an `XorWhere` or appends into an existing `XorWhere`.\n"
"\n"
" - If the outermost `Where` is an `XorWhere`, the new `Where` is appended\n"
" to the list within `XorWhere`.\n"
" - If the query does not have a `Where` clause, the given `Where` is set\n"
" instead.\n"
" - If the outermost `Where` is any other kind of `Where`, this and the\n"
" current outermost `Where` are wrapped in an `XorWhere`.\n"
"\n"
" NOTICE: This operator does not exist in 🐘PostgreSQL or 🪶SQLite, and\n"
" *Cake* generates equivalent SQL using `OR` and `AND` and `NOT`.\n"
"\n"
" NOTICE: This operator exists in 🦭MariaDB and 🐬MySQL, natively.\n"
).
-spec xor_where(
cake@internal@write_query:delete(ETS),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(ETS).
xor_where(Delete, Where) ->
case erlang:element(6, Delete) of
no_where ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
Where,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
{xor_where, Conditions} ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe = Conditions,
_pipe@1 = lists:append(_pipe, [Where]),
{xor_where, _pipe@1}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
begin
_pipe@2 = [erlang:element(6, Delete), Where],
{xor_where, _pipe@2}
end,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 361).
?DOC(" Replaces the `Where` in the `Delete` query.\n").
-spec replace_where(
cake@internal@write_query:delete(ETV),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(ETV).
replace_where(Delete, Where) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
Where,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 370).
?DOC(" Removes the `Where` from the `Delete` query.\n").
-spec no_where(cake@internal@write_query:delete(ETY)) -> cake@internal@write_query:delete(ETY).
no_where(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
no_where,
erlang:element(7, Delete),
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 376).
?DOC(" Gets the `Where` of the `Delete` query.\n").
-spec get_where(cake@internal@write_query:delete(any())) -> cake@internal@read_query:where().
get_where(Delete) ->
erlang:element(6, Delete).
-file("src/cake/delete.gleam", 384).
?DOC(" Specify the columns to return after the `Delete` query.\n").
-spec returning(cake@internal@write_query:delete(EUD), list(binary())) -> cake@internal@write_query:delete(EUD).
returning(Delete, Returning) ->
case Returning of
[] ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
no_returning,
erlang:element(8, Delete),
erlang:element(9, Delete)};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
begin
_pipe = Returning,
{returning, _pipe}
end,
erlang:element(8, Delete),
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 396).
?DOC(" Specify that no columns should be returned after the `Delete` query.\n").
-spec no_returning(cake@internal@write_query:delete(EUH)) -> cake@internal@write_query:delete(EUH).
no_returning(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
no_returning,
erlang:element(8, Delete),
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 404).
?DOC(" Specify an epilog for the `Delete` query.\n").
-spec epilog(cake@internal@write_query:delete(EUK), binary()) -> cake@internal@write_query:delete(EUK).
epilog(Delete, Epilog) ->
Epilog@1 = begin
_pipe = Epilog,
gleam@string:trim(_pipe)
end,
case Epilog@1 of
<<""/utf8>> ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
no_epilog,
erlang:element(9, Delete)};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
begin
_pipe@1 = (<<" "/utf8, Epilog@1/binary>>),
{epilog, _pipe@1}
end,
erlang:element(9, Delete)}
end.
-file("src/cake/delete.gleam", 414).
?DOC(" Specify that no epilog should be added to the `Delete` query.\n").
-spec no_epilog(cake@internal@write_query:delete(EUN)) -> cake@internal@write_query:delete(EUN).
no_epilog(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
no_epilog,
erlang:element(9, Delete)}.
-file("src/cake/delete.gleam", 420).
?DOC(" Get the epilog from a `Delete` query.\n").
-spec get_epilog(cake@internal@write_query:delete(any())) -> cake@internal@read_query:epilog().
get_epilog(Delete) ->
erlang:element(8, Delete).
-file("src/cake/delete.gleam", 428).
?DOC(" Specify a comment for the `Delete` query.\n").
-spec comment(cake@internal@write_query:delete(EUS), binary()) -> cake@internal@write_query:delete(EUS).
comment(Delete, Comment) ->
Comment@1 = begin
_pipe = Comment,
gleam@string:trim(_pipe)
end,
case Comment@1 of
<<""/utf8>> ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
no_comment};
_ ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
begin
_pipe@1 = (<<" "/utf8, Comment@1/binary>>),
{comment, _pipe@1}
end}
end.
-file("src/cake/delete.gleam", 438).
?DOC(" Specify that no comment should be added to the `Delete` query.\n").
-spec no_comment(cake@internal@write_query:delete(EUV)) -> cake@internal@write_query:delete(EUV).
no_comment(Delete) ->
{delete,
erlang:element(2, Delete),
erlang:element(3, Delete),
erlang:element(4, Delete),
erlang:element(5, Delete),
erlang:element(6, Delete),
erlang:element(7, Delete),
erlang:element(8, Delete),
no_comment}.
-file("src/cake/delete.gleam", 444).
?DOC(" Get the comment from a `Delete` query.\n").
-spec get_comment(cake@internal@write_query:delete(any())) -> cake@internal@read_query:comment().
get_comment(Delete) ->
erlang:element(9, Delete).