Current section
Files
Jump to
Current section
Files
src/glenv@internal@parse.erl
-module(glenv@internal@parse).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([float/2, int/2, string/2, bool/2]).
-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/glenv/internal/parse.gleam", 17).
?DOC(false).
-spec float(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
float(Key, Value) ->
case gleam_stdlib:parse_float(Value) of
{ok, Resolution} ->
{ok, {Key, gleam_stdlib:identity(Resolution)}};
{error, _} ->
{error, nil}
end.
-file("src/glenv/internal/parse.gleam", 27).
?DOC(false).
-spec int(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
int(Key, Value) ->
case gleam_stdlib:parse_int(Value) of
{ok, Resolution} ->
{ok, {Key, gleam_stdlib:identity(Resolution)}};
{error, _} ->
{error, nil}
end.
-file("src/glenv/internal/parse.gleam", 37).
?DOC(false).
-spec string(binary(), binary()) -> {ok, {binary(), gleam@dynamic:dynamic_()}} |
{error, nil}.
string(Key, Value) ->
{ok, {Key, gleam_stdlib:identity(Value)}}.
-file("src/glenv/internal/parse.gleam", 7).
?DOC(false).
-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, string:lowercase(Value))
end,
{ok, {Key, gleam_stdlib:identity(Resolution)}}.