///|
fn main {
  let catalog = @tokens.production_catalog()
  let tokens = @tokens.sample_tokens()
  let problems = @tokens.validate_all(tokens)
  if problems.length() == 0 {
    println("moonbit-design-tokens demo")
    println("catalog tokens: \{catalog.length()}")
    println(
      "catalog validation problems: \{@tokens.validate_all(catalog).length()}",
    )
    println("")
    println("CSS")
    println(@tokens.to_css(tokens))
    println("JSON")
    println(@tokens.to_json(tokens))
    println("MoonBit")
    println(@tokens.to_moonbit_constants(tokens))
    println("Docs")
    println(@tokens.to_markdown_table(tokens))
  } else {
    for problem in problems {
      println(problem.message())
    }
  }
}