///|
fn suffix_filter(value : @mold.Value, args : Array[@mold.Value]) -> @mold.Value {
let suffix = if args.length() > 0 {
match args[0] {
@mold.String(text) => text
_ => ""
}
} else {
""
}
match value {
@mold.String(text) => @mold.string(text + suffix)
_ => value
}
}
///|
fn main {
let engine = @mold.Engine::new()
let output = try {
engine.register_filter("suffix", suffix_filter)
engine.render(
"Hello, {{ name | suffix(mark) }}",
@mold.object({
"name": @mold.string("MoonBit"),
"mark": @mold.string("!"),
}),
)
} catch {
_ => "render failed"
}
println(output)
}