|
// retoor <retoor@molodetz.nl>
|
|
|
|
import "jinja" for Environment, DictLoader
|
|
|
|
var env = Environment.new(DictLoader.new({
|
|
"basic": "{\% for item in items \%}{{ item }}{\% endfor \%}",
|
|
"with_sep": "{\% for item in items \%}{{ item }}{\% if not loop.last \%}, {\% endif \%}{\% endfor \%}",
|
|
"index": "{\% for item in items \%}{{ loop.index }}:{{ item }}{\% if not loop.last \%} {\% endif \%}{\% endfor \%}",
|
|
"index0": "{\% for item in items \%}{{ loop.index0 }}:{{ item }}{\% if not loop.last \%} {\% endif \%}{\% endfor \%}",
|
|
"first_last": "{\% for item in items \%}{\% if loop.first \%}[{\% endif \%}{{ item }}{\% if loop.last \%}]{\% endif \%}{\% endfor \%}",
|
|
"length": "{\% for item in items \%}{{ loop.length }}{\% endfor \%}",
|
|
"else_empty": "{\% for item in items \%}{{ item }}{\% else \%}empty{\% endfor \%}",
|
|
"nested": "{\% for row in matrix \%}{\% for col in row \%}{{ col }}{\% endfor \%};{\% endfor \%}",
|
|
"dict": "{\% for key, value in data \%}{{ key }}={{ value }}{\% if not loop.last \%} {\% endif \%}{\% endfor \%}",
|
|
"range": "{\% for i in range(3) \%}{{ i }}{\% endfor \%}",
|
|
"range_start": "{\% for i in range(1, 4) \%}{{ i }}{\% endfor \%}",
|
|
"string": "{\% for c in text \%}{{ c }}-{\% endfor \%}"
|
|
}))
|
|
|
|
System.print(env.getTemplate("basic").render({"items": ["a", "b", "c"]})) // expect: abc
|
|
System.print(env.getTemplate("with_sep").render({"items": ["a", "b", "c"]})) // expect: a, b, c
|
|
System.print(env.getTemplate("index").render({"items": ["a", "b"]})) // expect: 1:a 2:b
|
|
System.print(env.getTemplate("index0").render({"items": ["a", "b"]})) // expect: 0:a 1:b
|
|
System.print(env.getTemplate("first_last").render({"items": ["a", "b", "c"]})) // expect: [abc]
|
|
System.print(env.getTemplate("length").render({"items": ["a", "b", "c"]})) // expect: 333
|
|
System.print(env.getTemplate("else_empty").render({"items": []})) // expect: empty
|
|
System.print(env.getTemplate("nested").render({"matrix": [[1, 2], [3, 4]]})) // expect: 12;34;
|
|
System.print(env.getTemplate("dict").render({"data": {"b": 2}})) // expect: b=2
|
|
System.print(env.getTemplate("range").render({})) // expect: 012
|
|
System.print(env.getTemplate("range_start").render({})) // expect: 123
|
|
System.print(env.getTemplate("string").render({"text": "hi"})) // expect: h-i-
|