-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.