joytpl
Version:
joy - js template engine with short syntax and modern features
366 lines (365 loc) • 19.4 kB
JSON
{
"ASTy": {
"T": "Joy",
"L": {
"L": 1,
"C": 1,
"O": 0
},
"C": [
{
"T": "Text",
"L": {
"L": 1,
"C": 1,
"O": 0
},
"A": {
"value": "<ul>\r\n "
}
},
{
"T": "Loop",
"L": {
"L": 2,
"C": 5,
"O": 10
},
"C": [
{
"T": "KeyValue",
"L": {
"L": 2,
"C": 11,
"O": 16
},
"A": {
"defaultIndex": false
},
"C": [
{
"T": "Name",
"L": {
"L": 2,
"C": 11,
"O": 16
},
"A": {
"value": "key"
}
},
{
"T": "Name",
"L": {
"L": 2,
"C": 15,
"O": 20
},
"A": {
"value": "value"
}
}
]
},
{
"T": "Identifier",
"L": {
"L": 2,
"C": 24,
"O": 29
},
"C": [
{
"T": "Name",
"L": {
"L": 2,
"C": 24,
"O": 29
},
"A": {
"value": "data"
}
},
{
"T": "Name",
"L": {
"L": 2,
"C": 29,
"O": 34
},
"A": {
"value": "items"
}
}
]
},
{
"T": "Block",
"L": {
"L": 2,
"C": 35,
"O": 40
},
"A": {
"isLoop": true
},
"C": [
{
"T": "Joy",
"L": {
"L": 2,
"C": 36,
"O": 41
},
"C": [
{
"T": "Text",
"L": {
"L": 2,
"C": 36,
"O": 41
},
"A": {
"value": "\r\n <li class=\""
}
},
{
"T": "Condition",
"L": {
"L": 3,
"C": 20,
"O": 62
},
"A": {
"withElse": true
},
"C": [
{
"T": "ConditionWithExpression",
"L": {
"L": 3,
"C": 24,
"O": 66
},
"C": [
{
"T": "Binary",
"L": {
"L": 3,
"C": 24,
"O": 66
},
"A": {
"operator": "=="
},
"C": [
{
"T": "Binary",
"L": {
"L": 3,
"C": 24,
"O": 66
},
"A": {
"operator": "%"
},
"C": [
{
"T": "Identifier",
"L": {
"L": 3,
"C": 24,
"O": 66
},
"C": [
{
"T": "Name",
"L": {
"L": 3,
"C": 24,
"O": 66
},
"A": {
"value": "key"
}
}
]
},
{
"T": "Number",
"L": {
"L": 3,
"C": 30,
"O": 72
},
"A": {
"value": "2"
}
}
]
},
{
"T": "Number",
"L": {
"L": 3,
"C": 35,
"O": 77
},
"A": {
"value": "0"
}
}
]
},
{
"T": "Block",
"L": {
"L": 3,
"C": 37,
"O": 79
},
"C": [
{
"T": "Joy",
"L": {
"L": 3,
"C": 38,
"O": 80
},
"C": [
{
"T": "Text",
"L": {
"L": 3,
"C": 38,
"O": 80
},
"A": {
"value": "even"
}
}
]
}
]
}
]
},
{
"T": "ConditionWithoutExpression",
"L": {
"L": 3,
"C": 49,
"O": 91
},
"C": [
{
"T": "Block",
"L": {
"L": 3,
"C": 49,
"O": 91
},
"C": [
{
"T": "Joy",
"L": {
"L": 3,
"C": 50,
"O": 92
},
"C": [
{
"T": "Text",
"L": {
"L": 3,
"C": 50,
"O": 92
},
"A": {
"value": "odd"
}
}
]
}
]
}
]
}
]
},
{
"T": "Text",
"L": {
"L": 3,
"C": 54,
"O": 96
},
"A": {
"value": "\">"
}
},
{
"T": "Variable",
"L": {
"L": 3,
"C": 56,
"O": 98
},
"A": {
"escape": false
},
"C": [
{
"T": "Identifier",
"L": {
"L": 3,
"C": 57,
"O": 99
},
"C": [
{
"T": "Name",
"L": {
"L": 3,
"C": 57,
"O": 99
},
"A": {
"value": "value"
}
}
]
}
]
},
{
"T": "Text",
"L": {
"L": 3,
"C": 62,
"O": 104
},
"A": {
"value": "</li>\r\n "
}
}
]
}
]
}
]
},
{
"T": "Text",
"L": {
"L": 4,
"C": 6,
"O": 116
},
"A": {
"value": "\r\n<ul>\r\n"
}
}
]
}
}