blob: b7a9ff21162a2331c974cb103a4d5b4bbb407403 [file] [log] [blame]
import 'package:mustache/mustache.dart';
main() {
var t = new Template('{{ foo }}');
Function lambda = (_) => 'bar';
var output = t.renderString({'foo': lambda}); // bar
print(output);
t = new Template('{{# foo }}hidden{{/ foo }}');
lambda = (_) => 'shown';
output = t.renderString({'foo': lambda}); // shown
print(output);
t = new Template('{{# foo }}oi{{/ foo }}');
lambda = (LambdaContext ctx) => '<b>${ctx.renderString().toUpperCase()}</b>';
output = t.renderString({'foo': lambda}); // <b>OI</b>
print(output);
t = new Template('{{# foo }}{{bar}}{{/ foo }}');
lambda = (LambdaContext ctx) => '<b>${ctx.renderString().toUpperCase()}</b>';
output = t.renderString({'foo': lambda, 'bar': 'pub'}); // <b>PUB</b>
print(output);
t = new Template('{{# foo }}{{bar}}{{/ foo }}');
lambda = (LambdaContext ctx) => '<b>${ctx.renderString().toUpperCase()}</b>';
output = t.renderString({'foo': lambda, 'bar': 'pub'}); // <b>PUB</b>
print(output);
t = new Template('{{# foo }}{{bar}}{{/ foo }}');
lambda = (LambdaContext ctx) => ctx.renderSource(ctx.source + '{{cmd}}');
output = t.renderString({'foo': lambda, 'bar': 'pub', 'cmd': 'build'}); // pub build
print(output);
}