1 $group
2 $
3 var sect = {
4 title: 'Wizzi Technical Glossary'
5 };
6 section( §)
7 table-doc( glo )
8 glo-item( JsWizziContext )
9 glo-item( JWizziRunner )
10 glo-item( ittfMacro )
11 ittf-panel
12 title The '$params' command
13 ittf
14 # Macro expressions are enclosed by ${'$'}{ and } delimiters.
15 # example: ${'$'}{name}.
16 # A macro expression can be escaped and used as a literal,
17 # example: \${'$'}\{name}.
18 # A macro expression may contain paired graphs { },
19 # example: ${'$'}{ for { var i=0; i<10; i++} ; return i; }.
20 # An empty macro ${} is treated as a literal, it is not replaced.
21 # An unclosed delimiter
22 glo-item( ittf template command )
23 glo-item( mTree )
24 span An in-memory tree data structure of name-valued nodes that is built loading and
25 \b processing an ittf document
26 glo-item( mTreeBrick )
27 span A nodified ittf document.
28 + mTreeBricks are the items that compose an mTree.
29 + They can mix (or include) other bricks and be mixed (or included).
30 + The same brick can be reused in many branches of the mTree,
31 + so a brick is loaded once and then cloned.
32 glo-item( included mTreeBrick )
33 span An mTree brick included in an including mTree brick
34 + using the command <bold>$include [path]</bold>.
35 p Both the tree structure and the value context are included.
36 + Context values declared in the included nodes are created in
37 + the scope of the includer.
38 glo-item( mixed mTreeBrick )
39 span An mTree brick mixed in a mixing mTree brick
40 + using the command <bold>[path]([params])</bold>.
41 p The tree structure is mixed but the value context remain distinct.
42 + Context values declared in the mixed nodes are created in
43 + the scope of the mixed mTreeBrick and do not interfere with the mixer.
44 glo-item( mTreeBuildUpScript )
45 span The jsWizzi script that, once executed by the
46 + jsWizziRunner, will give as result the final mTree
47 + of the source ittf document.
48 md/glo-item( mTreeBuildUpScriptCoder)
49 span A module of the wizzi.mtree package that generates the
50 + mTreeBuildUpScript.
51 glo-item( mTree loading )
52 span The creation of an `mTree` from a primary Ittf document.
53 ul Loading steps
54 li line parsing (of a source ittf document)
55 li nodification (produces one mTreeBrick from every source Ittf document/fragment)
56 li mix-composition (mix of Ittf fragments, recursive on mixed and included mTreeBricks)
57 li include-composition (inclusion of Ittf fragments, recursive on mixed and included mTreeBricks)
58 li append-resolution (resolution of `$append/$hook`, `$virtual/$override` and `$group` ittf template commands)
59 li evaluation (on the mixed and appended mTreePartial(s))
60 glo-item( mTree loading - source line parsing )
61 span The source text of the primary ittf document is parsed into name-valued lines,
62 + eliminating comments, resolving line continuations, detecting indentation
63 + and managing chars that interfere with variable interpolation.
64 glo-item( mTree loading - nodification )
65 span The lines parsed in the previous step are transformed in a tree
66 + structure, an mTreeBrick, respecting the indentation of the source.
67 + One root node only is allowed.
68 glo-item( mTree loading - mix composition )
69 span The mTreeBrick, produced by the previous step, is traversed and
70 + all the 'mix commands' encountered are recursively resolved.
71 + The result is an mTreePartial composed by one or many bricks.
72 glo-item( mTree loading - include composition )
73 span The mTreePartial, produced by the previous step, is traversed and
74 + all the '$include [path]' commands encountered are recursively resolved.
75 + The recursion manages the mix-composition of included bricks too.
76 glo-item( mTree loading - append resolution )
77 span The mTreePartial resulting from composition is traversed again and
78 + child branches (of mix commands), declared with the '$append [hook-name]'
79 + command node, are appended to the mixed mTreeBrick replacing the related '$hook [hook-name]'
80 + command node. Idem whith child branches of the `$override` command node that replaces
81 + the `$virtual` command node of the mixed mTreeBrick.
82 glo-item( mTree loading - evaluation )
83 span The last step of an mTree loading. From the mTreePartial produced
84 + by the previous steps is created a mTreeBuildUpScript that, interacting
85 + with the JsWizziContext of the JsWizziRunner, evaluates
86 + the ittf template commands and the JsWizzi scripts of its nodes, and builds the final mTree.
87 glo-item( mTreeNode )
88 glo-item( multi ittf documents context management )
89 glo-item( `$params` command )
90 ittf-panel
91 title The '$params' command
92 ittf
93 #
94 # Rules
95 # `$params` node command format
96 # > $params param1 [,param2 [,param-n]]
97 # param : [&]name[:type][|[&]default]
98 # &name : the paramater is an object passed by reference, the name can be used in IttfMacro expressions
99 # name : the paramater is a value, the name can be used in IttfMacro expressions
100 # type : the parameter type
101 # one-of : string(default), integer, float, boolean, date, object (implicit
102 # when '&' declared), macro (implicit, detected from IttfMacro delimiters
103 # contained in the default value)
104 # &default : the default is an object in the global context, default is its name
105 # default : typed-value | @@null | @@empty | @@undefined
106 # // warning! `title|null` becomes title = "null" (the quoted string null)
107 # // if you want title to be null then : `title|@@null`
108 # string : quotes are optional, example: `title|"my way"` and `title|my way` are the same
109 # boolean : true | false
110 # date : yyyy/mm/dd
111 # macro : an IttfMacro can be passed as a parameter to a mixin, when the parameter
112 # is referenced we have a double macro substitution
113 # TODO verify, explain how this works, macro or macros can be partial
114 # insides of the default value?
115 glo-item( Wizzi Errors )
116 ittf-panel
117 title The '$params' command
118 ittf
119 errors
120 FragmentParamsError packages/wizzi-mtree/.wizzi/lib/loader/t/mTreeBrick/parseFragmentParamsValues.js.ittf
121 IttfIncludeError packages/wizzi-mtree/.wizzi/lib/loader/includer.js.ittf
122 IttfMixError packages/wizzi-mtree/.wizzi/lib/loader/mixer.js.ittf
123 IttfEvaluationError packages/wizzi-mtree/.wizzi/lib/loader/evaluator.js.ittf
124 InvalidIttfError packages/wizzi-mtree/.wizzi/lib/loader/appender.js.ittf
125 idem packages/wizzi-mtree/.wizzi/lib/loader/nodifier.js.ittf
126 +
127 InterpolationError packages/wizzi-mtree/.wizzi/lib/jswizzi/t/jsWizziEvalHelper/getMTreeBrickEvalContext.js.ittf
128 NodeError packages/wizzi-utils/lib/errors.js
129 NodeError packages/wizzi-mtree/lib/errors.js
130 IttfNotFoundError packages/wizzi-mtree/lib/errors.js
131 IttfLoadError packages/wizzi-mtree/lib/errors.js
132 RepoIOError packages/wizzi-mtree/lib/errors.js
133 WizziError packages/wizzi-mtree/lib/errors.js
134 InternalError packages/wizzi-mtree/lib/errors.js
135 NotImplementedError packages/wizzi-repo/lib/errors.js
136 InvalidRequestError packages/wizzi-repo/lib/errors.js
137 FsItemNotFoundError packages/wizzi-repo/lib/errors.js
138 IttfNotFoundError packages/wizzi-repo/lib/errors.js
139 WizziPluginError
140 WizziMetaError
141 NotImplementedError packages/wizzi/lib/errors.js
142 InvalidRequestError packages/wizzi/lib/errors.js
143 NotFoundError packages/wizzi/lib/errors.js
144 IttfNotFoundError packages/wizzi/lib/errors.js
145 IttfLoadError packages/wizzi/lib/errors.js
146 WizziModelLoadError packages/wizzi/lib/errors.js
147 ModelTransformationError packages/wizzi/lib/errors.js
148 ArtifactGenerationError packages/wizzi/lib/errors.js
149 WizziInvalidRequestError packages/wizzi/lib/errors.js
150 RunnerServerError packages/wizzi/lib/errors.js
151 FileError packages/wizzi/lib/errors.js