Current section

Files

Jump to
formz src formz@definition.erl
Raw

src/formz@definition.erl

-module(formz@definition).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([make_simple_optional_parse/0, set_widget/2, validate/2]).
-export_type([definition/3]).
-type definition(FYC, FYD, FYE) :: {definition,
FYC,
fun((binary()) -> {ok, FYD} | {error, binary()}),
FYD,
fun((fun((binary()) -> {ok, FYD} | {error, binary()}), binary()) -> {ok,
FYE} |
{error, binary()}),
FYE}.
-file("/Users/benjamin/Projects/formz/formz/src/formz/definition.gleam", 107).
-spec make_simple_optional_parse() -> fun((fun((binary()) -> {ok, FYF} |
{error, binary()}), binary()) -> {ok, gleam@option:option(FYF)} |
{error, binary()}).
make_simple_optional_parse() ->
fun(Fun, Str) -> case Str of
<<""/utf8>> ->
{ok, none};
_ ->
_pipe = Fun(Str),
gleam@result:map(_pipe, fun(Field@0) -> {some, Field@0} end)
end end.
-file("/Users/benjamin/Projects/formz/formz/src/formz/definition.gleam", 125).
-spec set_widget(definition(FYL, FYM, FYN), FYL) -> definition(FYL, FYM, FYN).
set_widget(Definition, Widget) ->
erlang:setelement(2, Definition, Widget).
-file("/Users/benjamin/Projects/formz/formz/src/formz/definition.gleam", 147).
-spec validate(
definition(FYU, FYV, FYW),
fun((FYV) -> {ok, FYV} | {error, binary()})
) -> definition(FYU, FYV, FYW).
validate(Def, Fun) ->
erlang:setelement(3, Def, fun(Val) -> _pipe = Val,
_pipe@1 = (erlang:element(3, Def))(_pipe),
gleam@result:'try'(_pipe@1, Fun) end).