Packages
cake
2.1.2
4.1.0
4.0.0
3.0.0
2.2.2
2.2.1
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.0
retired
0.15.0
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.1
retired
0.10.0
retired
0.9.2
retired
0.9.1
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
0.4.0
retired
0.3.0
retired
0.2.0
retired
0.1.0
retired
0.0.1
retired
🎂 An SQL query builder for Gleam for SQL dialects 🐘PostgreSQL, 🪶SQLite, 🦭MariaDB, and 🐬MySQL
Current section
Files
Jump to
Current section
Files
src/cake.erl
-module(cake).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-define(FILEPATH, "src/cake.gleam").
-export([to_read_query/1, to_write_query/1, read_query_to_prepared_statement/2, write_query_to_prepared_statement/2, to_prepared_statement/2, get_sql/1, get_params/1, main/0]).
-export_type([cake_query/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(
" *Cake* is an SQL query building library for RDBMS:\n"
"\n"
" - 🐘PostgreSQL\n"
" - 🪶SQLite\n"
" - 🦭MariaDB\n"
" - 🐬MySQL\n"
"\n"
" For examples see the tests.\n"
"\n"
).
-type cake_query(OKO) :: {cake_read_query,
cake@internal@read_query:read_query()} |
{cake_write_query, cake@internal@write_query:write_query(OKO)}.
-file("src/cake.gleam", 42).
?DOC(
" Create a Cake read query from a read query.\n"
"\n"
" Also see `cake/dialect/*` for dialect specific implementations of this.\n"
).
-spec to_read_query(cake@internal@read_query:read_query()) -> cake_query(any()).
to_read_query(Qry) ->
_pipe = Qry,
{cake_read_query, _pipe}.
-file("src/cake.gleam", 50).
?DOC(
" Create a Cake write query from a write query.\n"
"\n"
" Also see `cake/dialect/*` for dialect specific implementations of this.\n"
).
-spec to_write_query(cake@internal@write_query:write_query(OKT)) -> cake_query(OKT).
to_write_query(Qry) ->
_pipe = Qry,
{cake_write_query, _pipe}.
-file("src/cake.gleam", 74).
?DOC(" Create a prepared statement from a read query.\n").
-spec read_query_to_prepared_statement(
cake@internal@read_query:read_query(),
cake@internal@dialect:dialect()
) -> cake@internal@prepared_statement:prepared_statement().
read_query_to_prepared_statement(Qry, Dlct) ->
_pipe = Dlct,
_pipe@1 = cake@internal@dialect:placeholder_base(_pipe),
cake@internal@read_query:to_prepared_statement(Qry, _pipe@1, Dlct).
-file("src/cake.gleam", 85).
?DOC(" Create a prepared statement from a write query.\n").
-spec write_query_to_prepared_statement(
cake@internal@write_query:write_query(any()),
cake@internal@dialect:dialect()
) -> cake@internal@prepared_statement:prepared_statement().
write_query_to_prepared_statement(Qry, Dlct) ->
_pipe = Dlct,
_pipe@1 = cake@internal@dialect:placeholder_base(_pipe),
cake@internal@write_query:to_prepared_statement(Qry, _pipe@1, Dlct).
-file("src/cake.gleam", 58).
?DOC(
" Create a prepared statement from a Cake query.\n"
"\n"
" Also see `cake/dialect/*` for dialect specific implementations of this.\n"
).
-spec to_prepared_statement(cake_query(any()), cake@internal@dialect:dialect()) -> cake@internal@prepared_statement:prepared_statement().
to_prepared_statement(Qry, Dlct) ->
case Qry of
{cake_read_query, Rd_qry} ->
_pipe = Rd_qry,
read_query_to_prepared_statement(_pipe, Dlct);
{cake_write_query, Wt_qry} ->
_pipe@1 = Wt_qry,
write_query_to_prepared_statement(_pipe@1, Dlct)
end.
-file("src/cake.gleam", 96).
?DOC(" Get the SQL of the prepared statement.\n").
-spec get_sql(cake@internal@prepared_statement:prepared_statement()) -> binary().
get_sql(Prp_stm) ->
_pipe = Prp_stm,
cake@internal@prepared_statement:get_sql(_pipe).
-file("src/cake.gleam", 102).
?DOC(" Get the parameters of the prepared statement.\n").
-spec get_params(cake@internal@prepared_statement:prepared_statement()) -> list(cake@param:param()).
get_params(Prp_stm) ->
_pipe = Prp_stm,
cake@internal@prepared_statement:get_params(_pipe).
-file("src/cake.gleam", 108).
?DOC(" As a library *Cake* cannot be invoked directly in a meaningful way.\n").
-spec main() -> nil.
main() ->
_pipe = (<<<<<<"\n"/utf8,
"cake is a query building library and cannot be invoked directly."/utf8>>/binary,
"\n"/utf8>>/binary,
"For demos see the tests."/utf8>>),
gleam_stdlib:println(_pipe).