ion
Version:
ion language ========================
845 lines (844 loc) • 177 kB
JavaScript
void (function(){var _ion_test_immediateTemplates_ = function(module,exports,require){'use strict';
var ion = require('../');
var templates = [
[
ion.template(function () {
return ion.createRuntime({
type: 'Template',
id: null,
body: [
{
type: 'VariableDeclaration',
declarations: [
{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 7,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 7,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: {
type: 'Literal',
value: 1
}
},
{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 8,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 8,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: {
type: 'Literal',
value: 2
}
},
{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'c',
loc: {
start: {
line: 9,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 9,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: {
type: 'BinaryExpression',
operator: '+',
left: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 9,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 9,
column: 21,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
right: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 9,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 9,
column: 25,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
}
}
}
],
kind: 'const',
order: '0'
},
{
type: 'ReturnStatement',
argument: {
type: 'Identifier',
name: 'c',
loc: {
start: {
line: 10,
column: 19,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 10,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
order: '1'
}
],
bound: false
}, {
this: this,
ion: ion,
templates: templates,
test: test
}, null);
}),
[],
3
],
[
ion.template(function (rows) {
return ion.createRuntime({
type: 'Template',
id: null,
body: [{
type: 'ReturnStatement',
argument: {
type: 'ObjectExpression',
objectType: {
type: 'ArrayExpression',
elements: []
},
properties: [{
type: 'ForOfStatement',
left: {
type: 'VariableDeclaration',
declarations: [{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'item',
loc: {
start: {
line: 16,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 16,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: null
}],
kind: 'let'
},
right: {
type: 'Identifier',
name: 'rows',
loc: {
start: {
line: 16,
column: 28,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 16,
column: 32,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
body: {
type: 'BlockStatement',
body: [{
type: 'IfStatement',
test: {
type: 'UnaryExpression',
operator: '?',
argument: {
type: 'Identifier',
name: 'item',
loc: {
start: {
line: 17,
column: 23,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 17,
column: 27,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
}
},
consequent: {
type: 'BlockStatement',
body: [{
type: 'ExpressionStatement',
expression: {
type: 'CallExpression',
callee: {
type: 'MemberExpression',
computed: false,
object: {
type: 'Identifier',
name: 'item',
loc: {
start: {
line: 18,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 18,
column: 28,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
property: {
type: 'Identifier',
name: 'toString',
loc: {
start: {
line: 18,
column: 29,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 18,
column: 37,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
loc: {
start: {
line: 18,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 18,
column: 37,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
arguments: [],
loc: {
start: {
line: 18,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 18,
column: 39,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
loc: {
start: {
line: 18,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 18,
column: 39,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '0'
}]
},
alternate: {
type: 'BlockStatement',
body: [{
type: 'ExpressionStatement',
expression: {
type: 'Literal',
value: '<null>'
},
loc: {
start: {
line: 20,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 20,
column: 32,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '0'
}]
},
order: '0'
}]
},
remove: {
type: 'BlockStatement',
body: [{
type: 'ExpressionStatement',
expression: {
type: 'UnaryExpression',
operator: 'void',
argument: {
type: 'MemberExpression',
computed: false,
object: {
type: 'Identifier',
name: 'rows',
loc: {
start: {
line: 23,
column: 25,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 23,
column: 29,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
property: {
type: 'Identifier',
name: 'length',
loc: {
start: {
line: 23,
column: 30,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 23,
column: 36,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
loc: {
start: {
line: 23,
column: 25,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 23,
column: 36,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
}
},
loc: {
start: {
line: 23,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 23,
column: 36,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '0'
}]
},
order: '0'
}]
},
order: '0'
}],
bound: false
}, {
this: this,
rows: rows,
ion: ion,
templates: templates,
test: test
}, null);
}),
[[
1,
null,
2,
3,
null,
4
]],
[
'1',
'<null>',
'2',
'3',
'<null>',
'4'
]
],
[
ion.template(function () {
return ion.createRuntime({
type: 'Template',
id: null,
body: [{
type: 'ReturnStatement',
argument: {
type: 'ObjectExpression',
properties: [
{
type: 'Property',
key: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 34,
column: 21,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 34,
column: 22,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
value: {
type: 'Literal',
value: 1
},
kind: 'init',
order: '0'
},
{
type: 'Property',
key: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 34,
column: 25,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 34,
column: 26,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
value: {
type: 'Literal',
value: 2
},
kind: 'init',
order: '1'
}
]
},
order: '0'
}],
bound: false
}, {
this: this,
ion: ion,
templates: templates,
test: test
}, null);
}),
[],
{
a: 1,
b: 2
}
],
[
ion.template(function () {
return ion.createRuntime({
type: 'Template',
id: null,
body: [{
type: 'ReturnStatement',
argument: {
type: 'ObjectExpression',
objectType: {
type: 'ArrayExpression',
elements: []
},
properties: [
{
type: 'ExpressionStatement',
expression: {
type: 'Literal',
value: 1
},
loc: {
start: {
line: 40,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 40,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '0'
},
{
type: 'ExpressionStatement',
expression: {
type: 'Literal',
value: 2
},
loc: {
start: {
line: 41,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 41,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '1'
}
]
},
order: '0'
}],
bound: false
}, {
this: this,
ion: ion,
templates: templates,
test: test
}, null);
}),
[],
[
1,
2
]
],
[
ion.template(function () {
return ion.createRuntime({
type: 'Template',
id: null,
body: [
{
type: 'VariableDeclaration',
declarations: [{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 46,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 46,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: {
type: 'Literal',
value: 1
}
}],
kind: 'let',
order: '0'
},
{
type: 'VariableDeclaration',
declarations: [{
type: 'VariableDeclarator',
id: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 47,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 47,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
init: {
type: 'Literal',
value: 2
}
}],
kind: 'let',
order: '1'
},
{
type: 'ReturnStatement',
argument: {
type: 'ObjectExpression',
objectType: {
type: 'ArrayExpression',
elements: []
},
properties: [
{
type: 'ExpressionStatement',
expression: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 49,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 49,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
loc: {
start: {
line: 49,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 49,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '0'
},
{
type: 'ExpressionStatement',
expression: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 50,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 50,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
loc: {
start: {
line: 50,
column: 16,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 50,
column: 17,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
},
order: '1'
},
{
type: 'IfStatement',
test: {
type: 'BinaryExpression',
operator: '>',
left: {
type: 'Identifier',
name: 'a',
loc: {
start: {
line: 51,
column: 19,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 51,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
},
right: {
type: 'Identifier',
name: 'b',
loc: {
start: {
line: 51,
column: 23,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 51,
column: 24,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
}
}
}
},
consequent: {
type: 'BlockStatement',
body: [{
type: 'ExpressionStatement',
expression: {
type: 'Literal',
value: 10
},
loc: {
start: {
line: 52,
column: 20,
fixed: true,
source: 'ion/test/immediateTemplates.ion'
},
end: {
line: 52,
column: 22,
fixed: true,
source: 'ion/test/immediateTemplates.ion'