Current section
Files
Jump to
Current section
Files
src/internal@parse.erl
-module(internal@parse).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([float/2, int/2, string/2, bool/2]).
-spec float(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
float(Key, Value) ->
case gleam@float:parse(Value) of
{ok, Resolution} ->
{ok, {Key, gleam@dynamic:from(Resolution)}};
{error, _} ->
{error, nil}
end.
-spec int(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
int(Key, Value) ->
case gleam@int:parse(Value) of
{ok, Resolution} ->
{ok, {Key, gleam@dynamic:from(Resolution)}};
{error, _} ->
{error, nil}
end.
-spec string(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
string(Key, Value) ->
{ok, {Key, gleam@dynamic:from(Value)}}.
-spec bool(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
bool(Key, Value) ->
Resolution = begin
_pipe = [<<"true"/utf8>>, <<"yes"/utf8>>, <<"1"/utf8>>],
gleam@list:contains(_pipe, gleam@string:lowercase(Value))
end,
{ok, {Key, gleam@dynamic:from(Resolution)}}.