Current section
Files
Jump to
Current section
Files
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)))
}