Packages

A delightful ORM (?) for Gleam! 🍳

Current section

Files

Jump to
ormlette src ormlette@query@run.erl
Raw

src/ormlette@query@run.erl

-module(ormlette@query@run).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([param_to_value/1, run/3]).
-file("/Users/ashercohen/Desktop/gleam/ormlette/src/ormlette/query/run.gleam", 7).
-spec param_to_value(cake@param:param()) -> gleam@pgo:value().
param_to_value(V) ->
case V of
{int_param, Value} ->
gleam_pgo_ffi:coerce(Value);
{bool_param, Value@1} ->
gleam_pgo_ffi:coerce(Value@1);
{float_param, Value@2} ->
gleam_pgo_ffi:coerce(Value@2);
null_param ->
gleam_pgo_ffi:null();
{string_param, Value@3} ->
gleam_pgo_ffi:coerce(Value@3)
end.
-file("/Users/ashercohen/Desktop/gleam/ormlette/src/ormlette/query/run.gleam", 17).
-spec run(
{binary(), list(cake@param:param())},
gleam@pgo:connection(),
fun((gleam@dynamic:dynamic_()) -> {ok, KZS} |
{error, list(gleam@dynamic:decode_error())})
) -> {ok, gleam@pgo:returned(KZS)} | {error, gleam@pgo:query_error()}.
run(Sql, Db, Decoder) ->
{Sql@1, Params} = Sql,
_pipe = Sql@1,
gleam@pgo:execute(
_pipe,
Db,
gleam@list:map(Params, fun param_to_value/1),
Decoder
).