-module(gladvent@internal@parse). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gladvent/internal/parse.gleam"). -export([int/1, day/1, days/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/gladvent/internal/parse.gleam", 9). ?DOC(false). -spec int(binary()) -> {ok, integer()} | {error, snag:snag()}. int(S) -> _pipe = S, _pipe@1 = gleam_stdlib:parse_int(_pipe), gleam@result:replace_error( _pipe@1, snag:new( <<<<"failed to parse \""/utf8, S/binary>>/binary, "\" as int"/utf8>> ) ). -file("src/gladvent/internal/parse.gleam", 15). ?DOC(false). -spec day(binary()) -> {ok, integer()} | {error, snag:snag()}. day(S) -> gleam@result:'try'(int(S), fun(I) -> case (I > 0) andalso (I < 26) of true -> {ok, I}; false -> _pipe = (<<<<<<"invalid day value "/utf8, "'"/utf8>>/binary, S/binary>>/binary, "'"/utf8>>), _pipe@1 = snag:error(_pipe), snag:context( _pipe@1, <<"day must be an integer from 1 to 25"/utf8>> ) end end). -file("src/gladvent/internal/parse.gleam", 27). ?DOC(false). -spec days(list(binary())) -> {ok, list(integer())} | {error, snag:snag()}. days(L) -> _pipe = gleam@list:try_map(L, fun day/1), snag:context(_pipe, <<"could not map day values to integers"/utf8>>).