Current section
Files
Jump to
Current section
Files
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(FYF, FYG, FYH) :: {definition,
FYF,
fun((binary()) -> {ok, FYG} | {error, binary()}),
FYG,
fun((fun((binary()) -> {ok, FYG} | {error, binary()}), binary()) -> {ok,
FYH} |
{error, binary()}),
FYH}.
-file("/Users/benjamin/Projects/formz/formz/src/formz/definition.gleam", 107).
-spec make_simple_optional_parse() -> fun((fun((binary()) -> {ok, FYI} |
{error, binary()}), binary()) -> {ok, gleam@option:option(FYI)} |
{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(FYO, FYP, FYQ), FYO) -> definition(FYO, FYP, FYQ).
set_widget(Definition, Widget) ->
erlang:setelement(2, Definition, Widget).
-file("/Users/benjamin/Projects/formz/formz/src/formz/definition.gleam", 147).
-spec validate(
definition(FYX, FYY, FYZ),
fun((FYY) -> {ok, FYY} | {error, binary()})
) -> definition(FYX, FYY, FYZ).
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).