1 $group
2 $
3 var sect = {
4 title: 'JsWizzi'
5 };
6 section( §)
7 p JsWizzi is a subset of the ECMA-262 javascript standard used by
8 \b the wizzi factory for processing ITTF Documents and build mTrees.
9 \b JsWizzi uses the quite efficent <a href="https://babeljs.io//">babel</a> parser
10 \b and is run by a custom javascript engine (
11 high-code( JsWizziRunner )
12 + ).
13 p Ittf Documents may contain JsWizzi statements in
14 ul
15 li The value part of nodes (ITTF Node Values are interpolated)
16 ittf-panel
17 ittf
18 caption ${'$'}{ name.capitalize() }
19 li Conditional expression of $if, $elif, $while template commands
20 ittf-panel
21 ittf
22 ${'$'}if name.substring(1,2) === 'is'
23 li Collection name of $foreach template command
24 ittf-panel
25 ittf
26 ${'$'}foreach item in model.getCollection('alfa')
27 li Body of $ and $global template commands
28 ittf-panel
29 ittf
30 ${'$'} var beta = 100
31 ittf-panel
32 schema html
33 title Sample JsWizzi expressions and statements
34 ittf
35 ul
36 ${'$'} var i = 0;
37 ${'$'}while i < 10
38 li counting ${'$'}{i}
39 ${'$'} i++;
40 ul Node types implemented by JsWizzi:
41 li VariableDeclaration
42 li Statements
43 ul
44 li EmptyStatement
45 li ExpressionStatement
46 li IfStatement
47 li WhileStatement
48 li DoWhileStatement
49 li ForStatement
50 li ForInStatement
51 li BreakStatement
52 li ContinueStatement
53 li ReturnStatement
54 li TODO SwitchStatement
55 li Expressions
56 ul
57 li UnaryExpression: !
58 li BinaryExpression: +. -, *, /, ==, ===, !=, !==, >=, >, <=, <
59 li UpdateExpressions: ++, --
60 li LogicalExpression: &&, ||
61 li ConditionalExpression: test ? consequent : alternate
62 li CallExpression
63 li MemberExpression
64 li AssignmentExpression: =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=
65 li ArrayExpression
66 li ObjectExpression
67 li FunctionCall
68 li FunctionDeclaration
69 div Simple function declaration. No prototypes. No function
70 + objects; functions cannot be built by code and used like objects.