A small MoonBit library for parsing query strings and reading typed values.
///|
test "read query string values" {
let query = @querystring.Querystring::Querystring(
"name=MoonBit&count=42&enabled=true",
)
assert_eq(query.string("name"), "MoonBit")
assert_eq(query.int("count"), 42)
assert_eq(query.flag("enabled"), true)
}///|
test "optional values" {
let query = @querystring.Querystring::Querystring("name=MoonBit")
assert_true(query.string_opt("name") is Some("MoonBit"))
assert_true(query.string_opt("missing") is None)
assert_true(query.int_opt("missing") is None)
}///|
test "empty values" {
let query = @querystring.Querystring::Querystring("empty=&present&&=ignored")
assert_eq(query.string("empty"), "")
assert_eq(query.string("present"), "")
assert_true(query.string_opt("") is None)
}pub struct Querystring {
// private fields
}
fn Querystring::Querystring(str : StringView) -> Querystringfn Querystring::flag(self : Querystring, key : StringView, truthy_values? : SortedSet[StringView]) -> BoolInstall
Download zipA small MoonBit library for parsing query strings and reading typed values.