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