///|
fn main raise {
  let context = @json.parse(
    "{\"os\":[\"linux\",\"windows\"],\"versions\":[20,22]}",
  )
  let template = @json.parse(
    "{\"$flatten\":{\"$map\":{\"$eval\":\"os\"},\"each(platform)\":{\"$map\":{\"$eval\":\"versions\"},\"each(version)\":{\"job\":\"test-${platform}-${version}\",\"os\":{\"$eval\":\"platform\"},\"runtime\":{\"$eval\":\"version\"}}}}}",
  )
  let output = @moonjsone.render(template, context)
  println(output.stringify())
}