Packages

A library for type-safe environment variable access.

Current section

Files

Jump to
glenv src internal parse.gleam
Raw

src/internal/parse.gleam

import gleam/dynamic
import gleam/float
import gleam/int
import gleam/list
import gleam/string
pub fn bool(
key: String,
value: String,
) -> Result(#(String, dynamic.Dynamic), Nil) {
let resolution =
["true", "yes", "1"] |> list.contains(string.lowercase(value))
Ok(#(key, dynamic.from(resolution)))
}
pub fn float(
key: String,
value: String,
) -> Result(#(String, dynamic.Dynamic), Nil) {
case float.parse(value) {
Ok(resolution) -> Ok(#(key, dynamic.from(resolution)))
Error(_) -> Error(Nil)
}
}
pub fn int(
key: String,
value: String,
) -> Result(#(String, dynamic.Dynamic), Nil) {
case int.parse(value) {
Ok(resolution) -> Ok(#(key, dynamic.from(resolution)))
Error(_) -> Error(Nil)
}
}
pub fn string(
key: String,
value: String,
) -> Result(#(String, dynamic.Dynamic), Nil) {
Ok(#(key, dynamic.from(value)))
}