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