implement more parsers

This commit is contained in:
2026-01-01 00:25:56 +01:00
parent 0dc064b8cf
commit 7b9e39f9d0
7 changed files with 140 additions and 6 deletions

View File

@@ -104,6 +104,42 @@ sealed class Option<T : Any>(
fun ints(vararg names: String) =
Variable(IntParser, names.asList())
fun long(vararg names: String) =
Required(LongParser, names.asList())
fun longOrElse(vararg names: String, other: Long) =
OrElse(LongParser, names.asList(), other)
fun longOrNull(vararg names: String) =
OrNull(LongParser, names.asList())
fun longs(vararg names: String) =
Variable(LongParser, names.asList())
fun float(vararg names: String) =
Required(FloatParser, names.asList())
fun floatOrElse(vararg names: String, other: Float) =
OrElse(FloatParser, names.asList(), other)
fun floatOrNull(vararg names: String) =
OrNull(FloatParser, names.asList())
fun floats(vararg names: String) =
Variable(FloatParser, names.asList())
fun double(vararg names: String) =
Required(DoubleParser, names.asList())
fun doubleOrElse(vararg names: String, other: Double) =
OrElse(DoubleParser, names.asList(), other)
fun doubleOrNull(vararg names: String) =
OrNull(DoubleParser, names.asList())
fun doubles(vararg names: String) =
Variable(DoubleParser, names.asList())
fun boolean(vararg names: String) =
Required(BooleanParser, true, names.asList())
@@ -127,5 +163,17 @@ sealed class Option<T : Any>(
inline fun <reified T : Enum<T>> enums(vararg names: String) =
Variable(enumParser<T>(), names.asList())
fun regex(vararg names: String) =
Required(RegexParser, names.asList())
fun regexOrElse(vararg names: String, other: Regex) =
OrElse(RegexParser, names.asList(), other)
fun regexOrNull(vararg names: String) =
OrNull(RegexParser, names.asList())
fun regexs(vararg names: String) =
Variable(RegexParser, names.asList())
}
}