-module(cake@update). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/cake/update.gleam"). -export([to_query/1, new/0, table/2, get_table/1, set_bool/2, set_true/1, set_false/1, set_float/2, set_int/2, set_string/2, set_null/1, set_date/2, set_expression/2, set_sub_query/2, set_fragment/2, sets_expression/2, sets_sub_query/2, get_set/1, set/2, set_replace/2, sets/2, sets_replace/2, from_table/2, from_sub_query/3, no_from/1, get_from/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 `UPDATE` queries.\n" "\n" ). -file("src/cake/update.gleam", 67). ?DOC(" Creates a `WriteQuery` from an `Update` query.\n"). -spec to_query(cake@internal@write_query:update(GHS)) -> cake@internal@write_query:write_query(GHS). to_query(Update) -> _pipe = Update, {update_query, _pipe}. -file("src/cake/update.gleam", 75). ?DOC(" Creates an empty `Update` query.\n"). -spec new() -> cake@internal@write_query:update(any()). new() -> {update, no_update_table, no_update_modifier, no_update_sets, no_from, no_joins, no_where, no_returning, no_epilog, no_comment}. -file("src/cake/update.gleam", 93). ?DOC(" Sets the table of the `Update` query.\n"). -spec table(cake@internal@write_query:update(GHX), binary()) -> cake@internal@write_query:update(GHX). table(Update, Name) -> {update, begin _pipe = Name, {update_table, _pipe} end, erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 99). ?DOC(" Get the table of the `Update` query.\n"). -spec get_table(cake@internal@write_query:update(any())) -> cake@internal@write_query:update_table(). get_table(Update) -> erlang:element(2, Update). -file("src/cake/update.gleam", 107). ?DOC(" Sets a column to a `Bool` `UpdateParamSet`.\n"). -spec set_bool(binary(), boolean()) -> cake@internal@write_query:update_set(). set_bool(Column, Value) -> _pipe = Value, _pipe@1 = {bool_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 113). ?DOC(" Sets a column to a `True` `UpdateParamSet`.\n"). -spec set_true(binary()) -> cake@internal@write_query:update_set(). set_true(Column) -> _pipe = true, _pipe@1 = {bool_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 119). ?DOC(" Sets a column to a `False` `UpdateParamSet`.\n"). -spec set_false(binary()) -> cake@internal@write_query:update_set(). set_false(Column) -> _pipe = false, _pipe@1 = {bool_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 125). ?DOC(" Sets a column to a `Float` `UpdateParamSet`.\n"). -spec set_float(binary(), float()) -> cake@internal@write_query:update_set(). set_float(Column, Value) -> _pipe = Value, _pipe@1 = {float_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 131). ?DOC(" Sets a column to a `Int` `UpdateParamSet`.\n"). -spec set_int(binary(), integer()) -> cake@internal@write_query:update_set(). set_int(Column, Value) -> _pipe = Value, _pipe@1 = {int_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 137). ?DOC(" Sets a column to a string `UpdateParamSet`.\n"). -spec set_string(binary(), binary()) -> cake@internal@write_query:update_set(). set_string(Column, Value) -> _pipe = Value, _pipe@1 = {string_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 143). ?DOC(" Sets a column to an SQL `NULL` `UpdateParamSet`.\n"). -spec set_null(binary()) -> cake@internal@write_query:update_set(). set_null(Column) -> _pipe = null_param, {update_param_set, Column, _pipe}. -file("src/cake/update.gleam", 149). ?DOC(" Sets a column to a `calendar.Date` `UpdateParamSet`.\n"). -spec set_date(binary(), gleam@time@calendar:date()) -> cake@internal@write_query:update_set(). set_date(Column, Date) -> _pipe = Date, _pipe@1 = {date_param, _pipe}, {update_param_set, Column, _pipe@1}. -file("src/cake/update.gleam", 155). ?DOC(" Sets a column to an expression value.\n"). -spec set_expression(binary(), binary()) -> cake@internal@write_query:update_set(). set_expression(Column, Expression) -> _pipe = [Column], {update_expression_set, _pipe, Expression}. -file("src/cake/update.gleam", 164). ?DOC(" Sets a column to a sub-query value.\n"). -spec set_sub_query(binary(), cake@internal@read_query:read_query()) -> cake@internal@write_query:update_set(). set_sub_query(Column, Query) -> _pipe = [Column], {update_sub_query_set, _pipe, Query}. -file("src/cake/update.gleam", 182). ?DOC( " Sets a column to a fragment value with parameter binding.\n" "\n" " ## Example\n" "\n" " ```gleam\n" " import cake/fragment as f\n" " import cake/update as u\n" "\n" " \"org_id\" |> u.set_fragment(f.prepared(\"$::uuid\", [f.string(\"0000000000-0000-4000-a000-a00000000000\")]))\n" " ```\n" ). -spec set_fragment(binary(), cake@internal@read_query:fragment()) -> cake@internal@write_query:update_set(). set_fragment(Column, Value) -> {update_fragment_set, Column, Value}. -file("src/cake/update.gleam", 190). ?DOC( " Sets many columns to an expression value.\n" "\n" " NOTICE: the expression must return an equal count of columns.\n" ). -spec sets_expression(list(binary()), binary()) -> cake@internal@write_query:update_set(). sets_expression(Columns, Expression) -> _pipe = Columns, {update_expression_set, _pipe, Expression}. -file("src/cake/update.gleam", 201). ?DOC( " Sets many columns to a sub-query value.\n" "\n" " NOTICE: the sub-query must return an equal count of columns.\n" ). -spec sets_sub_query(list(binary()), cake@internal@read_query:read_query()) -> cake@internal@write_query:update_set(). sets_sub_query(Columns, Query) -> _pipe = Columns, {update_sub_query_set, _pipe, Query}. -file("src/cake/update.gleam", 210). ?DOC(" Get the `SET`s of the `Update` query.\n"). -spec get_set(cake@internal@write_query:update(any())) -> list(cake@internal@write_query:update_set()). get_set(Update) -> case erlang:element(4, Update) of no_update_sets -> []; {update_sets, Items} -> Items end. -file("src/cake/update.gleam", 219). ?DOC(" Sets or appends one column set in an `Update` query.\n"). -spec set( cake@internal@write_query:update(GIH), cake@internal@write_query:update_set() ) -> cake@internal@write_query:update(GIH). set(Update, Set) -> case erlang:element(4, Update) of no_update_sets -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe = [Set], {update_sets, _pipe} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {update_sets, Items} -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe@1 = Items, _pipe@2 = lists:append(_pipe@1, [Set]), {update_sets, _pipe@2} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 229). ?DOC(" Sets or replaces one column set in an `Update` query.\n"). -spec set_replace( cake@internal@write_query:update(GIK), cake@internal@write_query:update_set() ) -> cake@internal@write_query:update(GIK). set_replace(Update, Set) -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe = [Set], {update_sets, _pipe} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 235). ?DOC(" Sets or appends many column sets in an `Update` query.\n"). -spec sets( cake@internal@write_query:update(GIN), list(cake@internal@write_query:update_set()) ) -> cake@internal@write_query:update(GIN). sets(Update, Sets) -> case erlang:element(4, Update) of no_update_sets -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe = Sets, {update_sets, _pipe} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {update_sets, Items} -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe@1 = Items, _pipe@2 = lists:append(_pipe@1, Sets), {update_sets, _pipe@2} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 245). ?DOC(" Sets or replaces many column sets in an `Update` query.\n"). -spec sets_replace( cake@internal@write_query:update(GIR), list(cake@internal@write_query:update_set()) ) -> cake@internal@write_query:update(GIR). sets_replace(Update, Sets) -> {update, erlang:element(2, Update), erlang:element(3, Update), begin _pipe = Sets, {update_sets, _pipe} end, erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 256). ?DOC(" Sets the `FROM` clause of the `Update` query to a table name.\n"). -spec from_table(cake@internal@write_query:update(GIV), binary()) -> cake@internal@write_query:update(GIV). from_table(Update, Table_name) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), begin _pipe = Table_name, {from_table, _pipe} end, erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 265). ?DOC(" Sets the `FROM` clause of the `Update` query to an aliased sub-query.\n"). -spec from_sub_query( cake@internal@write_query:update(GIY), cake@internal@read_query:read_query(), binary() ) -> cake@internal@write_query:update(GIY). from_sub_query(Update, Query, Alias) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), begin _pipe = Query, {from_sub_query, _pipe, Alias} end, erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 275). ?DOC(" Removes the `FROM` clause of the `Update` query.\n"). -spec no_from(cake@internal@write_query:update(GJB)) -> cake@internal@write_query:update(GJB). no_from(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), no_from, erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 281). ?DOC(" Gets the `FROM` clause of the `Update` query.\n"). -spec get_from(cake@internal@write_query:update(any())) -> cake@internal@read_query:from(). get_from(Update) -> erlang:element(5, Update). -file("src/cake/update.gleam", 292). ?DOC( " Adds a `Join` to the `Update` 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:update(GJG), cake@internal@read_query:join() ) -> cake@internal@write_query:update(GJG). join(Update, Join) -> case erlang:element(6, Update) of {joins, Existing_joins} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe = Existing_joins, _pipe@1 = lists:append(_pipe, [Join]), {joins, _pipe@1} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; no_joins -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe@2 = [Join], {joins, _pipe@2} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 305). ?DOC( " Replaces any `Join`s of the `Update` 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:update(GJJ), cake@internal@read_query:join() ) -> cake@internal@write_query:update(GJJ). replace_join(Update, Join) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe = [Join], {joins, _pipe} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 314). ?DOC( " Adds `Join`s to the `Update` 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:update(GJM), list(cake@internal@read_query:join()) ) -> cake@internal@write_query:update(GJM). joins(Update, Joins) -> case {Joins, erlang:element(6, Update)} of {[], _} -> Update; {_, {joins, Existing_joins}} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe = Existing_joins, _pipe@1 = lists:append(_pipe, Joins), {joins, _pipe@1} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {_, no_joins} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe@2 = Joins, {joins, _pipe@2} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 328). ?DOC( " Replaces any `Join`s of the `Update` 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:update(GJQ), list(cake@internal@read_query:join()) ) -> cake@internal@write_query:update(GJQ). replace_joins(Update, Joins) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), begin _pipe = Joins, {joins, _pipe} end, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 337). ?DOC(" Removes any `Joins` from the `Update` query.\n"). -spec no_join(cake@internal@write_query:update(GJU)) -> cake@internal@write_query:update(GJU). no_join(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), no_joins, erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 343). ?DOC(" Gets the `Joins` of the `Update` query.\n"). -spec get_joins(cake@internal@write_query:update(any())) -> cake@internal@read_query:joins(). get_joins(Update) -> erlang:element(6, Update). -file("src/cake/update.gleam", 358). ?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:update(GJZ), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GJZ). where(Update, Where) -> case erlang:element(7, Update) of no_where -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), Where, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {and_where, Conditions} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe = Conditions, _pipe@1 = lists:append(_pipe, [Where]), {and_where, _pipe@1} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe@2 = [erlang:element(7, Update), Where], {and_where, _pipe@2} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 376). ?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:update(GKC), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GKC). or_where(Update, Where) -> case erlang:element(7, Update) of no_where -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), Where, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {or_where, Conditions} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe = Conditions, _pipe@1 = lists:append(_pipe, [Where]), {or_where, _pipe@1} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe@2 = [erlang:element(7, Update), Where], {or_where, _pipe@2} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 399). ?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,\n" " and *Cake* generates equivalent SQL using `OR` and `AND` and `NOT`.\n" "\n" " NOTICE: This operator exists in 🦭MariaDB and 🐬MySQL with native support.\n" ). -spec xor_where( cake@internal@write_query:update(GKF), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GKF). xor_where(Update, Where) -> case erlang:element(7, Update) of no_where -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), Where, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; {xor_where, Conditions} -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe = Conditions, _pipe@1 = lists:append(_pipe, [Where]), {xor_where, _pipe@1} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), begin _pipe@2 = [erlang:element(7, Update), Where], {xor_where, _pipe@2} end, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 410). ?DOC(" Replaces the `Where` in the `Update` query.\n"). -spec replace_where( cake@internal@write_query:update(GKI), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GKI). replace_where(Update, Where) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), Where, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 419). ?DOC(" Removes the `Where` from the `Update` query.\n"). -spec no_where(cake@internal@write_query:update(GKL)) -> cake@internal@write_query:update(GKL). no_where(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), no_where, erlang:element(8, Update), erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 425). ?DOC(" Gets the `Where` of the `Update` query.\n"). -spec get_where(cake@internal@write_query:update(any())) -> cake@internal@read_query:where(). get_where(Update) -> erlang:element(7, Update). -file("src/cake/update.gleam", 434). ?DOC( " NOTICE: 🦭MariaDB and 🐬MySQL do not support `RETURNING` in `UPDATE`\n" " queries; they do support it in `INSERT` (and `REPLACE`) queries, however.\n" ). -spec returning(cake@internal@write_query:update(GKQ), list(binary())) -> cake@internal@write_query:update(GKQ). returning(Update, Returning) -> case Returning of [] -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), no_returning, erlang:element(9, Update), erlang:element(10, Update)}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), begin _pipe = Returning, {returning, _pipe} end, erlang:element(9, Update), erlang:element(10, Update)} end. -file("src/cake/update.gleam", 447). ?DOC( " NOTICE: 🦭MariaDB and 🐬MySQL do not support `RETURNING` in `UPDATE`\n" " queries; they do support it in `INSERT` (and `REPLACE`) queries, however.\n" ). -spec no_returning(cake@internal@write_query:update(GKU)) -> cake@internal@write_query:update(GKU). no_returning(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), no_returning, erlang:element(9, Update), erlang:element(10, Update)}. -file("src/cake/update.gleam", 455). ?DOC(" Sets an `Epilog` or appends into an existing `Epilog`.\n"). -spec epilog(cake@internal@write_query:update(GKX), binary()) -> cake@internal@write_query:update(GKX). epilog(Update, Epilog) -> Epilog@1 = begin _pipe = Epilog, gleam@string:trim(_pipe) end, case Epilog@1 of <<""/utf8>> -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), no_epilog, erlang:element(10, Update)}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), begin _pipe@1 = (<<" "/utf8, Epilog@1/binary>>), {epilog, _pipe@1} end, erlang:element(10, Update)} end. -file("src/cake/update.gleam", 465). ?DOC(" Removes the `Epilog` from the `Update` query.\n"). -spec no_epilog(cake@internal@write_query:update(GLA)) -> cake@internal@write_query:update(GLA). no_epilog(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), no_epilog, erlang:element(10, Update)}. -file("src/cake/update.gleam", 471). ?DOC(" Gets the `Epilog` of the `Update` query.\n"). -spec get_epilog(cake@internal@write_query:update(any())) -> cake@internal@read_query:epilog(). get_epilog(Update) -> erlang:element(9, Update). -file("src/cake/update.gleam", 479). ?DOC(" Sets a `Comment` or appends into an existing `Comment`.\n"). -spec comment(cake@internal@write_query:update(GLF), binary()) -> cake@internal@write_query:update(GLF). comment(Update, Comment) -> Comment@1 = begin _pipe = Comment, gleam@string:trim(_pipe) end, case Comment@1 of <<""/utf8>> -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), no_comment}; _ -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), begin _pipe@1 = (<<" "/utf8, Comment@1/binary>>), {comment, _pipe@1} end} end. -file("src/cake/update.gleam", 489). ?DOC(" Removes the `Comment` from the `Update` query.\n"). -spec no_comment(cake@internal@write_query:update(GLI)) -> cake@internal@write_query:update(GLI). no_comment(Update) -> {update, erlang:element(2, Update), erlang:element(3, Update), erlang:element(4, Update), erlang:element(5, Update), erlang:element(6, Update), erlang:element(7, Update), erlang:element(8, Update), erlang:element(9, Update), no_comment}. -file("src/cake/update.gleam", 495). ?DOC(" Gets the `Comment` of the `Update` query.\n"). -spec get_comment(cake@internal@write_query:update(any())) -> cake@internal@read_query:comment(). get_comment(Update) -> erlang:element(10, Update).