feat: Experiments with csv parsing / printing, currently implemented in RoomTests only.

This commit is contained in:
2026-02-05 11:43:48 -05:00
parent 881737978d
commit b2b5e32535

View File

@@ -161,19 +161,29 @@ struct RoomTests {
Bed-2,1223,,1123,1 Bed-2,1223,,1123,1
"""[...].utf8 """[...].utf8
let commaSeparator = ParsePrint {
OneOf {
",".utf8
", ".utf8
}
}
let rowParser = ParsePrint { let rowParser = ParsePrint {
Prefix { $0 != UInt8(ascii: ",") }.map(.string) Prefix { $0 != UInt8(ascii: ",") }.map(.string)
",".utf8 ",".utf8
Double.parser() Double.parser()
",".utf8 Skip { commaSeparator }
// ",".utf8
Optionally { Optionally {
Double.parser() Double.parser()
} }
",".utf8 Skip { commaSeparator }
// ",".utf8
Optionally { Optionally {
Double.parser() Double.parser()
} }
",".utf8 Skip { commaSeparator }
// ",".utf8
Int.parser() Int.parser()
} }
.map(.memberwise(Row.init)) .map(.memberwise(Row.init))