Portable JSON-e structured template interpreter and bounded JSON generation
moon add red6667/moonjsone@0.1.1import { "red6667/moonjsone" }///|
fn main raise {
let template : Json = {
"$map": { "$eval": "regions" },
"each(region)": { "name": "${service}-${region}", "replicas": { "$eval": "n" } },
}
let context : Json = { "service": "catalog", "regions": ["east", "west"], "n": 3 }
let result = @moonjsone.render(template, context)
println(result.stringify())
}moon run examples/deployment
moon run examples/matrix
moon run examples/payloadsmoon run cmd/main -- '{"expression":"range(0,3)","context":{}}'
moon run cmd/main -- '{"template":{"name":"${name}"},"context":{"name":"catalog"}}'moon info
moon fmt
moon check --deny-warn
moon test --deny-warn
moon build --deny-warn
python scripts/check_reference.py
python scripts/smoke.py --target wasm-gc
python scripts/audit.pyfn evaluate_expression(source : String, context : Json, now? : String, max_steps? : Int, max_depth? : Int, max_items? : Int) -> Json raise TemplateErrorfn execute(input : String) -> Stringfn render(template : Json, context : Json, now? : String, max_steps? : Int, max_depth? : Int, max_items? : Int) -> Json raise TemplateErrorInstall
Download zipPortable JSON-e structured template interpreter and bounded JSON generation