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