///|
fn main {
let sample = "name|age|active\nAda|36|true\nAlan|not-int|false\n|41|yes\n"
let guess = @mbitsv.sniff(sample)
println("mbitsv")
println(guess.summary())
match @mbitsv.parse_auto(sample) {
Ok(table) => {
println(table.summary())
let profile = @mbitsv.profile(table)
println(profile.summary())
match
@mbitsv.parse_schema_spec(
"name:non_empty!,age:int!,active:bool!", false,
) {
Ok(schema) => {
println(@mbitsv.schema_to_spec(schema))
let report = @mbitsv.validate(table, schema)
println(report.summary())
for fix in @mbitsv.suggest_fixes(report) {
let line =
$|fix row=\{fix.row} column=\{fix.column}: \{fix.suggestion}
println(line)
}
println(report.to_markdown())
}
Err(err) => {
println("schema error")
println(err.message)
}
}
println(@mbitsv.to_markdown(table, 2))
}
Err(err) => {
println("parse error")
println(err.message)
}
}
}