Packages

SQL query builder core for Gleam

Current section

Files

Jump to
galchemy src galchemy@orm@hook.erl
Raw

src/galchemy@orm@hook.erl

-module(galchemy@orm@hook).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\orm\\hook.gleam").
-export([none/0, after_load/2, after_attach/2, after_refresh/2, after_relation_loaded/3, before_stage/2]).
-export_type([entity_hooks/1]).
-type entity_hooks(JQG) :: {entity_hooks,
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity()) -> {ok, galchemy@orm@entity:entity()} |
{error, JQG}),
fun((galchemy@orm@entity:entity(), binary()) -> {ok,
galchemy@orm@entity:entity()} |
{error, JQG})}.
-file("src\\galchemy\\orm\\hook.gleam", 75).
-spec ok_entity(galchemy@orm@entity:entity()) -> {ok,
galchemy@orm@entity:entity()} |
{error, any()}.
ok_entity(Next_entity) ->
{ok, Next_entity}.
-file("src\\galchemy\\orm\\hook.gleam", 79).
-spec ok_relation_entity(galchemy@orm@entity:entity(), binary()) -> {ok,
galchemy@orm@entity:entity()} |
{error, any()}.
ok_relation_entity(Next_entity, _) ->
{ok, Next_entity}.
-file("src\\galchemy\\orm\\hook.gleam", 16).
-spec none() -> entity_hooks(any()).
none() ->
{entity_hooks,
fun ok_entity/1,
fun ok_entity/1,
fun ok_entity/1,
fun ok_entity/1,
fun ok_entity/1,
fun ok_entity/1,
fun ok_relation_entity/2}.
-file("src\\galchemy\\orm\\hook.gleam", 86).
-spec map_clean({ok, galchemy@orm@entity:entity()} | {error, JRJ}) -> {ok,
galchemy@orm@entity:entity()} |
{error, JRJ}.
map_clean(Value) ->
case Value of
{ok, Next_entity} ->
{ok, galchemy@orm@entity:mark_clean(Next_entity)};
{error, Error} ->
{error, Error}
end.
-file("src\\galchemy\\orm\\hook.gleam", 28).
-spec after_load(entity_hooks(JQJ), galchemy@orm@entity:entity()) -> {ok,
galchemy@orm@entity:entity()} |
{error, JQJ}.
after_load(Hooks, Next_entity) ->
_pipe = (erlang:element(2, Hooks))(Next_entity),
map_clean(_pipe).
-file("src\\galchemy\\orm\\hook.gleam", 50).
-spec after_attach(entity_hooks(JQR), galchemy@orm@entity:entity()) -> {ok,
galchemy@orm@entity:entity()} |
{error, JQR}.
after_attach(Hooks, Next_entity) ->
_pipe = (erlang:element(6, Hooks))(Next_entity),
map_clean(_pipe).
-file("src\\galchemy\\orm\\hook.gleam", 58).
-spec after_refresh(entity_hooks(JQV), galchemy@orm@entity:entity()) -> {ok,
galchemy@orm@entity:entity()} |
{error, JQV}.
after_refresh(Hooks, Next_entity) ->
_pipe = (erlang:element(7, Hooks))(Next_entity),
map_clean(_pipe).
-file("src\\galchemy\\orm\\hook.gleam", 66).
-spec after_relation_loaded(
entity_hooks(JQZ),
galchemy@orm@entity:entity(),
binary()
) -> {ok, galchemy@orm@entity:entity()} | {error, JQZ}.
after_relation_loaded(Hooks, Next_entity, Relation_name) ->
_pipe = (erlang:element(8, Hooks))(Next_entity, Relation_name),
map_clean(_pipe).
-file("src\\galchemy\\orm\\hook.gleam", 95).
-spec map_deleted({ok, galchemy@orm@entity:entity()} | {error, JRO}) -> {ok,
galchemy@orm@entity:entity()} |
{error, JRO}.
map_deleted(Value) ->
case Value of
{ok, Next_entity} ->
{ok, galchemy@orm@entity:mark_deleted(Next_entity)};
{error, Error} ->
{error, Error}
end.
-file("src\\galchemy\\orm\\hook.gleam", 36).
-spec before_stage(entity_hooks(JQN), galchemy@orm@entity:entity()) -> {ok,
galchemy@orm@entity:entity()} |
{error, JQN}.
before_stage(Hooks, Next_entity) ->
case galchemy@orm@entity:status(Next_entity) of
clean ->
{ok, Next_entity};
new ->
(erlang:element(3, Hooks))(Next_entity);
{dirty, _} ->
(erlang:element(4, Hooks))(Next_entity);
deleted ->
_pipe = (erlang:element(5, Hooks))(
galchemy@orm@entity:mark_clean(Next_entity)
),
map_deleted(_pipe)
end.