vsn 0.1.24 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/demo/demo.html +18 -7
  2. package/demo/vsn.js +1 -0
  3. package/dist/AST/ArithmeticAssignmentNode.d.ts +23 -0
  4. package/dist/AST/ArithmeticAssignmentNode.js +313 -0
  5. package/dist/AST/ArithmeticAssignmentNode.js.map +1 -0
  6. package/dist/AST/ArithmeticNode.d.ts +15 -0
  7. package/dist/AST/ArithmeticNode.js +114 -0
  8. package/dist/AST/ArithmeticNode.js.map +1 -0
  9. package/dist/AST/ArrayNode.d.ts +14 -0
  10. package/dist/AST/ArrayNode.js +114 -0
  11. package/dist/AST/ArrayNode.js.map +1 -0
  12. package/dist/AST/BlockNode.d.ts +11 -0
  13. package/dist/AST/BlockNode.js +98 -0
  14. package/dist/AST/BlockNode.js.map +1 -0
  15. package/dist/AST/BooleanLiteralNode.d.ts +5 -0
  16. package/dist/AST/BooleanLiteralNode.js +31 -0
  17. package/dist/AST/BooleanLiteralNode.js.map +1 -0
  18. package/dist/AST/ComparisonNode.d.ts +15 -0
  19. package/dist/AST/ComparisonNode.js +120 -0
  20. package/dist/AST/ComparisonNode.js.map +1 -0
  21. package/dist/AST/ConditionalNode.d.ts +13 -0
  22. package/dist/AST/ConditionalNode.js +95 -0
  23. package/dist/AST/ConditionalNode.js.map +1 -0
  24. package/dist/AST/ElementAttributeNode.d.ts +18 -0
  25. package/dist/AST/ElementAttributeNode.js +159 -0
  26. package/dist/AST/ElementAttributeNode.js.map +1 -0
  27. package/dist/AST/ElementQueryNode.d.ts +12 -0
  28. package/dist/AST/ElementQueryNode.js +111 -0
  29. package/dist/AST/ElementQueryNode.js.map +1 -0
  30. package/dist/AST/ElementStyleNode.d.ts +18 -0
  31. package/dist/AST/ElementStyleNode.js +159 -0
  32. package/dist/AST/ElementStyleNode.js.map +1 -0
  33. package/dist/AST/ForStatementNode.d.ts +17 -0
  34. package/dist/AST/ForStatementNode.js +121 -0
  35. package/dist/AST/ForStatementNode.js.map +1 -0
  36. package/dist/AST/FunctionArgumentNode.d.ts +11 -0
  37. package/dist/AST/FunctionArgumentNode.js +100 -0
  38. package/dist/AST/FunctionArgumentNode.js.map +1 -0
  39. package/dist/AST/FunctionCallNode.d.ts +13 -0
  40. package/dist/AST/FunctionCallNode.js +102 -0
  41. package/dist/AST/FunctionCallNode.js.map +1 -0
  42. package/dist/AST/IfStatementNode.d.ts +14 -0
  43. package/dist/AST/IfStatementNode.js +128 -0
  44. package/dist/AST/IfStatementNode.js.map +1 -0
  45. package/dist/AST/InNode.d.ts +15 -0
  46. package/dist/AST/InNode.js +107 -0
  47. package/dist/AST/InNode.js.map +1 -0
  48. package/dist/AST/IndexNode.d.ts +16 -0
  49. package/dist/AST/IndexNode.js +126 -0
  50. package/dist/AST/IndexNode.js.map +1 -0
  51. package/dist/AST/LiteralNode.d.ts +10 -0
  52. package/dist/AST/LiteralNode.js +74 -0
  53. package/dist/AST/LiteralNode.js.map +1 -0
  54. package/dist/AST/Node.d.ts +19 -0
  55. package/dist/AST/Node.js +117 -0
  56. package/dist/AST/Node.js.map +1 -0
  57. package/dist/AST/NotNode.d.ts +12 -0
  58. package/dist/AST/NotNode.js +103 -0
  59. package/dist/AST/NotNode.js.map +1 -0
  60. package/dist/AST/NumberLiteralNode.d.ts +5 -0
  61. package/dist/AST/NumberLiteralNode.js +36 -0
  62. package/dist/AST/NumberLiteralNode.js.map +1 -0
  63. package/dist/AST/ObjectNode.d.ts +14 -0
  64. package/dist/AST/ObjectNode.js +131 -0
  65. package/dist/AST/ObjectNode.js.map +1 -0
  66. package/dist/AST/RootScopeMemberNode.d.ts +11 -0
  67. package/dist/AST/RootScopeMemberNode.js +87 -0
  68. package/dist/AST/RootScopeMemberNode.js.map +1 -0
  69. package/dist/AST/ScopeMemberNode.d.ts +12 -0
  70. package/dist/AST/ScopeMemberNode.js +128 -0
  71. package/dist/AST/ScopeMemberNode.js.map +1 -0
  72. package/dist/AST/UnitLiteralNode.d.ts +15 -0
  73. package/dist/AST/UnitLiteralNode.js +72 -0
  74. package/dist/AST/UnitLiteralNode.js.map +1 -0
  75. package/dist/AST.d.ts +9 -61
  76. package/dist/AST.js +84 -1413
  77. package/dist/AST.js.map +1 -1
  78. package/dist/Attribute.d.ts +1 -1
  79. package/dist/Attribute.js +3 -3
  80. package/dist/Attribute.js.map +1 -1
  81. package/dist/Configuration.d.ts +1 -1
  82. package/dist/Configuration.js +4 -4
  83. package/dist/Configuration.js.map +1 -1
  84. package/dist/Controller.d.ts +12 -4
  85. package/dist/Controller.js +38 -6
  86. package/dist/Controller.js.map +1 -1
  87. package/dist/DOM/DOMObject.d.ts +1 -1
  88. package/dist/DOM/DOMObject.js +2 -2
  89. package/dist/DOM/DOMObject.js.map +1 -1
  90. package/dist/DOM.d.ts +1 -1
  91. package/dist/DOM.js +4 -4
  92. package/dist/DOM.js.map +1 -1
  93. package/dist/EventDispatcher.d.ts +29 -0
  94. package/dist/EventDispatcher.js +132 -0
  95. package/dist/EventDispatcher.js.map +1 -0
  96. package/dist/Formats.js +2 -2
  97. package/dist/Formats.js.map +1 -1
  98. package/dist/MessageList.d.ts +14 -0
  99. package/dist/MessageList.js +88 -0
  100. package/dist/MessageList.js.map +1 -0
  101. package/dist/Model/Field.d.ts +8 -0
  102. package/dist/Model/Field.js +38 -0
  103. package/dist/Model/Field.js.map +1 -0
  104. package/dist/Model.d.ts +12 -0
  105. package/dist/Model.js +61 -0
  106. package/dist/Model.js.map +1 -0
  107. package/dist/Registry.d.ts +5 -2
  108. package/dist/Registry.js +17 -16
  109. package/dist/Registry.js.map +1 -1
  110. package/dist/Scope/DynamicScopeData.d.ts +6 -0
  111. package/dist/Scope/DynamicScopeData.js +54 -0
  112. package/dist/Scope/DynamicScopeData.js.map +1 -0
  113. package/dist/Scope/QueryReference.d.ts +10 -0
  114. package/dist/Scope/QueryReference.js +103 -0
  115. package/dist/Scope/QueryReference.js.map +1 -0
  116. package/dist/Scope/ScopeData.d.ts +4 -0
  117. package/dist/Scope/ScopeData.js +40 -0
  118. package/dist/Scope/ScopeData.js.map +1 -0
  119. package/dist/Scope/ScopeDataAbstract.d.ts +22 -0
  120. package/dist/Scope/ScopeDataAbstract.js +137 -0
  121. package/dist/Scope/ScopeDataAbstract.js.map +1 -0
  122. package/dist/Scope/ScopeReference.d.ts +10 -0
  123. package/dist/Scope/ScopeReference.js +73 -0
  124. package/dist/Scope/ScopeReference.js.map +1 -0
  125. package/dist/Scope/ScopedVariableType.d.ts +6 -0
  126. package/dist/Scope/ScopedVariableType.js +14 -0
  127. package/dist/Scope/ScopedVariableType.js.map +1 -0
  128. package/dist/Scope/WrappedArray.d.ts +16 -0
  129. package/dist/Scope/WrappedArray.js +121 -0
  130. package/dist/Scope/WrappedArray.js.map +1 -0
  131. package/dist/Scope/properties/Property.d.ts +18 -0
  132. package/dist/Scope/properties/Property.js +93 -0
  133. package/dist/Scope/properties/Property.js.map +1 -0
  134. package/dist/Scope.d.ts +4 -48
  135. package/dist/Scope.js +39 -324
  136. package/dist/Scope.js.map +1 -1
  137. package/dist/SimplePromise.d.ts +42 -0
  138. package/dist/SimplePromise.js +217 -0
  139. package/dist/SimplePromise.js.map +1 -0
  140. package/dist/Tag.js +11 -5
  141. package/dist/Tag.js.map +1 -1
  142. package/dist/Types.d.ts +1 -0
  143. package/dist/Types.js +8 -1
  144. package/dist/Types.js.map +1 -1
  145. package/dist/Validators.d.ts +7 -0
  146. package/dist/Validators.js +54 -0
  147. package/dist/Validators.js.map +1 -0
  148. package/dist/attributes/Bind.js +1 -1
  149. package/dist/attributes/Bind.js.map +1 -1
  150. package/dist/attributes/JSONAttribute.js.map +1 -1
  151. package/dist/attributes/List.js +7 -7
  152. package/dist/attributes/List.js.map +1 -1
  153. package/dist/attributes/On.js +4 -1
  154. package/dist/attributes/On.js.map +1 -1
  155. package/dist/attributes/Radio.js +4 -2
  156. package/dist/attributes/Radio.js.map +1 -1
  157. package/dist/attributes/ScopeChange.js +1 -1
  158. package/dist/attributes/ScopeChange.js.map +1 -1
  159. package/dist/attributes/SetAttribute.js.map +1 -1
  160. package/dist/attributes/StandardAttribute.js +1 -1
  161. package/dist/attributes/StandardAttribute.js.map +1 -1
  162. package/dist/attributes/StyleAttribute.js +1 -1
  163. package/dist/attributes/StyleAttribute.js.map +1 -1
  164. package/dist/{Vision.d.ts → vsn.d.ts} +7 -2
  165. package/dist/{Vision.js → vsn.js} +21 -12
  166. package/dist/vsn.js.map +1 -0
  167. package/package.json +9 -13
  168. package/src/AST/ArithmeticAssignmentNode.ts +236 -0
  169. package/src/AST/ArithmeticNode.ts +52 -0
  170. package/src/AST/ArrayNode.ts +39 -0
  171. package/src/AST/BlockNode.ts +25 -0
  172. package/src/AST/BooleanLiteralNode.ts +10 -0
  173. package/src/AST/ComparisonNode.ts +57 -0
  174. package/src/AST/ConditionalNode.ts +36 -0
  175. package/src/AST/ElementAttributeNode.ts +63 -0
  176. package/src/AST/ElementQueryNode.ts +25 -0
  177. package/src/AST/ElementStyleNode.ts +63 -0
  178. package/src/AST/ForStatementNode.ts +59 -0
  179. package/src/AST/FunctionArgumentNode.ts +27 -0
  180. package/src/AST/FunctionCallNode.ts +32 -0
  181. package/src/AST/IfStatementNode.ts +67 -0
  182. package/src/AST/InNode.ts +46 -0
  183. package/src/AST/IndexNode.ts +61 -0
  184. package/src/AST/LiteralNode.ts +17 -0
  185. package/src/AST/Node.ts +71 -0
  186. package/src/AST/NotNode.ts +41 -0
  187. package/src/AST/NumberLiteralNode.ts +14 -0
  188. package/src/AST/ObjectNode.ts +55 -0
  189. package/src/AST/RootScopeMemberNode.ts +25 -0
  190. package/src/AST/ScopeMemberNode.ts +53 -0
  191. package/src/AST/UnitLiteralNode.ts +51 -0
  192. package/src/AST.ts +45 -1014
  193. package/src/Attribute.ts +2 -2
  194. package/src/Configuration.ts +3 -3
  195. package/src/Controller.ts +31 -6
  196. package/src/DOM/DOMObject.ts +1 -1
  197. package/src/DOM.ts +4 -4
  198. package/src/EventDispatcher.ts +134 -0
  199. package/src/Formats.ts +2 -2
  200. package/src/MessageList.ts +81 -0
  201. package/src/Model/Field.ts +20 -0
  202. package/src/Model.ts +43 -0
  203. package/src/Registry.ts +13 -5
  204. package/src/Scope/DynamicScopeData.ts +29 -0
  205. package/src/Scope/QueryReference.ts +29 -0
  206. package/src/Scope/ScopeData.ts +21 -0
  207. package/src/Scope/ScopeDataAbstract.ts +126 -0
  208. package/src/Scope/ScopeReference.ts +30 -0
  209. package/src/Scope/ScopedVariableType.ts +7 -0
  210. package/src/Scope/WrappedArray.ts +88 -0
  211. package/src/Scope/properties/Property.ts +79 -0
  212. package/src/Scope.ts +35 -251
  213. package/src/SimplePromise.ts +219 -0
  214. package/src/Tag.ts +9 -5
  215. package/src/Types.ts +6 -1
  216. package/src/Validators.ts +45 -0
  217. package/src/attributes/Bind.ts +3 -2
  218. package/src/attributes/JSONAttribute.ts +2 -1
  219. package/src/attributes/List.ts +4 -4
  220. package/src/attributes/On.ts +2 -0
  221. package/src/attributes/Radio.ts +5 -3
  222. package/src/attributes/ScopeChange.ts +2 -2
  223. package/src/attributes/SetAttribute.ts +2 -1
  224. package/src/attributes/StandardAttribute.ts +1 -1
  225. package/src/attributes/StyleAttribute.ts +3 -2
  226. package/src/attributes/TypeAttribute.ts +1 -1
  227. package/src/{Vision.ts → vsn.ts} +12 -5
  228. package/test/AST/ArithmeticAssignmentNode.spec.ts +47 -0
  229. package/test/AST.spec.ts +3 -2
  230. package/test/Controller.spec.ts +44 -0
  231. package/test/DOM.spec.ts +1 -1
  232. package/test/MessageList.spec.ts +101 -0
  233. package/test/Model/DataModel.spec.ts +0 -0
  234. package/test/Scope/DynamicScopeData.spec.ts +141 -0
  235. package/test/Scope.spec.ts +15 -3
  236. package/test/SimplePromise.spec.ts +271 -0
  237. package/test/Tag/TagList.spec.ts +1 -1
  238. package/test/attributes/Bind.spec.ts +5 -5
  239. package/test/attributes/JSONAttribute.spec.ts +1 -1
  240. package/test/attributes/ListItem.spec.ts +1 -1
  241. package/webpack.config.js +2 -2
  242. package/demo/vision.js +0 -1
  243. package/dist/Vision.js.map +0 -1
  244. package/main.py +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"On.js","sourceRoot":"","sources":["../../src/attributes/On.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAC5B,wCAAqC;AAGrC;IAAiC,sBAAS;IAA1C;;IA8BA,CAAC;IAfgB,oBAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEK,wBAAW,GAAjB,UAAkB,CAAC;;;;4BACf,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IAEY,oBAAO,GAApB;;;;;wBACI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChH,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IA3BsB,eAAY,GAAa;QAC5C,OAAO;QACP,YAAY;QACZ,aAAa;QACb,OAAO;QACP,YAAY;QACZ,MAAM;QACN,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;KACX,CAAC;IAbgB,EAAE;QADvB,mBAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;OACP,EAAE,CA8BvB;IAAD,SAAC;CAAA,AA9BD,CAAiC,qBAAS,GA8BzC;AA9BqB,gBAAE"}
1
+ {"version":3,"file":"On.js","sourceRoot":"","sources":["../../src/attributes/On.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAC5B,wCAAqC;AAGrC;IAAiC,sBAAS;IAA1C;;IAgCA,CAAC;IAjBgB,oBAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEK,wBAAW,GAAjB,UAAkB,CAAC;;;;;wBACf,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;4BAClC,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvB,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IAEY,oBAAO,GAApB;;;;;wBACI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChH,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IA7BsB,eAAY,GAAa;QAC5C,OAAO;QACP,YAAY;QACZ,aAAa;QACb,OAAO;QACP,YAAY;QACZ,MAAM;QACN,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;KACX,CAAC;IAbgB,EAAE;QADvB,mBAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;OACP,EAAE,CAgCvB;IAAD,SAAC;CAAA,AAhCD,CAAiC,qBAAS,GAgCzC;AAhCqB,gBAAE"}
@@ -118,7 +118,7 @@ var Radio = /** @class */ (function (_super) {
118
118
  return __generator(this, function (_a) {
119
119
  switch (_a.label) {
120
120
  case 0:
121
- this.boundScope.bind("change:" + this.key, this.checkSelected, this);
121
+ this.boundScope.on("change:" + this.key, this.checkSelected, this);
122
122
  this.tag.addEventHandler('change', this.getAttributeModifiers(), this.handleEvent.bind(this));
123
123
  return [4 /*yield*/, this.checkSelected()];
124
124
  case 1:
@@ -156,8 +156,10 @@ var Radio = /** @class */ (function (_super) {
156
156
  };
157
157
  Radio.prototype.checkSelected = function () {
158
158
  return __awaiter(this, void 0, void 0, function () {
159
+ var scopeValue;
159
160
  return __generator(this, function (_a) {
160
- this.tag.checked = this.boundScope.get(this.key) === this.tag.value;
161
+ scopeValue = this.boundScope.get(this.key);
162
+ this.tag.checked = "" + scopeValue === this.tag.value;
161
163
  return [2 /*return*/];
162
164
  });
163
165
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/attributes/Radio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAKvC;IAA2B,yBAAS;IAApC;;IA6CA,CAAC;IAxCgB,qBAAK,GAAlB;;;;;;wBACQ,QAAQ,GAAW,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBAEzF,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;yBAC/C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAED,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,uBAAO,GAApB;;;;;6BACQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAhB,wBAAgB;wBAChB,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;;4BACjC,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,uBAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBACrE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9F,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,wBAAQ,GAArB;;;;4BACI,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,QAAQ,WAAE,EAAA;;wBAAtB,SAAsB,CAAC;;;;;KAC1B;IAEK,2BAAW,GAAjB,UAAkB,CAAC;;;gBACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;;;KACjD;IAEK,6BAAa,GAAnB;;;gBACI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;;;KACvE;IA3CsB,cAAQ,GAAY,KAAK,CAAC;IADxC,KAAK;QADjB,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,KAAK,CA6CjB;IAAD,YAAC;CAAA,AA7CD,CAA2B,qBAAS,GA6CnC;AA7CY,sBAAK"}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/attributes/Radio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAMvC;IAA2B,yBAAS;IAApC;;IA8CA,CAAC;IAzCgB,qBAAK,GAAlB;;;;;;wBACQ,QAAQ,GAAW,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBAEzF,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;yBAC/C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAED,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,uBAAO,GAApB;;;;;6BACQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAhB,wBAAgB;wBAChB,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;;4BACjC,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,uBAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBACnE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9F,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,wBAAQ,GAArB;;;;4BACI,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,QAAQ,WAAE,EAAA;;wBAAtB,SAAsB,CAAC;;;;;KAC1B;IAEK,2BAAW,GAAjB,UAAkB,CAAC;;;gBACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;;;KACjD;IAEK,6BAAa,GAAnB;;;;gBACU,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAG,UAAY,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;;;KACzD;IA5CsB,cAAQ,GAAY,KAAK,CAAC;IADxC,KAAK;QADjB,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,KAAK,CA8CjB;IAAD,YAAC;CAAA,AA9CD,CAA2B,qBAAS,GA8CnC;AA9CY,sBAAK"}
@@ -95,7 +95,7 @@ var ScopeChange = /** @class */ (function (_super) {
95
95
  ref = this.tag.scope.getReference(binding, false);
96
96
  return [4 /*yield*/, ref.getScope()];
97
97
  case 1:
98
- _b = (_a = (_d.sent())).bind;
98
+ _b = (_a = (_d.sent())).on;
99
99
  _c = "change:";
100
100
  return [4 /*yield*/, ref.getKey()];
101
101
  case 2:
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeChange.js","sourceRoot":"","sources":["../../src/attributes/ScopeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAE5B,wCAAqC;AAGrC;IAA0C,+BAAS;IAAnD;;IAqBA,CAAC;IAjBgB,6BAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,6BAAO,GAApB;;;;;;wBACU,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACrC,GAAG,GAAmB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvE,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,IAAI,CAAA;;wBAAW,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAxD,cAA4B,MAAU,SAAkB,CAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;wBACzF,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEK,iCAAW,GAAjB,UAAkB,CAAC;;;;4BACf,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IAnBsB,oBAAQ,GAAY,KAAK,CAAC;IAD/B,WAAW;QADhC,mBAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;OACjB,WAAW,CAqBhC;IAAD,kBAAC;CAAA,AArBD,CAA0C,qBAAS,GAqBlD;AArBqB,kCAAW"}
1
+ {"version":3,"file":"ScopeChange.js","sourceRoot":"","sources":["../../src/attributes/ScopeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAE5B,wCAAqC;AAGrC;IAA0C,+BAAS;IAAnD;;IAqBA,CAAC;IAjBgB,6BAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,6BAAO,GAApB;;;;;;wBACU,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACrC,GAAG,GAAmB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvE,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,EAAE,CAAA;;wBAAW,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAtD,cAA0B,MAAU,SAAkB,CAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;wBACvF,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEK,iCAAW,GAAjB,UAAkB,CAAC;;;;4BACf,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IAnBsB,oBAAQ,GAAY,KAAK,CAAC;IAD/B,WAAW;QADhC,mBAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;OACjB,WAAW,CAqBhC;IAAD,kBAAC;CAAA,AArBD,CAA0C,qBAAS,GAqBlD;AArBqB,kCAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAGrC;IAAkC,gCAAS;IAA3C;;IAuCA,CAAC;IAjCG,sBAAW,+BAAK;aAMhB;YACI,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;aATD,UAAiB,CAAM;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACpC;QACL,CAAC;;;OAAA;IAOY,4BAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAE3C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACpD;wBAAC,OAAO,CAAC,EAAE;4BACR,sBAAO;yBACV;wBACD,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,8BAAO,GAApB;;;;gBACQ,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAW,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;;;KACxC;IArCsB,qBAAQ,GAAY,KAAK,CAAC;IADxC,YAAY;QADxB,mBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;OACjB,YAAY,CAuCxB;IAAD,mBAAC;CAAA,AAvCD,CAAkC,qBAAS,GAuC1C;AAvCY,oCAAY"}
1
+ {"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAIrC;IAAkC,gCAAS;IAA3C;;IAuCA,CAAC;IAjCG,sBAAW,+BAAK;aAMhB;YACI,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;aATD,UAAiB,CAAM;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACpC;QACL,CAAC;;;OAAA;IAOY,4BAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAE3C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACpD;wBAAC,OAAO,CAAC,EAAE;4BACR,sBAAO;yBACV;wBACD,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,8BAAO,GAApB;;;;gBACQ,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAW,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;;;KACxC;IArCsB,qBAAQ,GAAY,KAAK,CAAC;IADxC,YAAY;QADxB,mBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;OACjB,YAAY,CAuCxB;IAAD,mBAAC;CAAA,AAvCD,CAAkC,qBAAS,GAuC1C;AAvCY,oCAAY"}
@@ -93,7 +93,7 @@ var StandardAttribute = /** @class */ (function (_super) {
93
93
  return __generator(this, function (_a) {
94
94
  switch (_a.label) {
95
95
  case 0:
96
- this.tag.scope.bind("change:" + this.key, this.updateTo.bind(this));
96
+ this.tag.scope.on("change:" + this.key, this.updateTo.bind(this));
97
97
  return [4 /*yield*/, _super.prototype.connect.call(this)];
98
98
  case 1:
99
99
  _a.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":"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"}
@@ -103,7 +103,7 @@ var StyleAttribute = /** @class */ (function (_super) {
103
103
  return __generator(this, function (_a) {
104
104
  switch (_a.label) {
105
105
  case 0:
106
- this.styleScope.bind("change", this.handleEvent.bind(this));
106
+ this.styleScope.on("change", this.handleEvent.bind(this));
107
107
  return [4 /*yield*/, _super.prototype.connect.call(this)];
108
108
  case 1:
109
109
  _a.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AACvC,kCAA+B;AAK/B;IAAoC,kCAAS;IAA7C;;IA6EA,CAAC;IAxEgB,8BAAK,GAAlB;;;;;;wBACU,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC;6BACzC,GAAG,EAAH,wBAAG;wBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACnC,qBAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAA;;wBAA5C,WAAW,GAAG,SAA8B;wBACjC,qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAA;;wBAAvC,QAAQ,GAAG,SAA4B;wBAC7C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;4BAClB,IAAI,CAAC,UAAU,GAAG,IAAI,aAAK,CAAC,WAAW,CAAC,CAAC;4BACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;yBAC9C;;;wBAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;4BAGrC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,gCAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1D,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,gCAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAED,mCAAU,GAAV;QACI,IAAM,MAAM,GAAG;YACX,SAAS;YACT,qBAAqB;YACrB,kBAAkB;YAClB,gBAAgB;YAChB,aAAa;YACb,QAAQ;SACX,CAAC;QACF,KAAK,IAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YAC5B,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAQ,CAAC;gBAC5C,SAAS;YACb,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAM,GAAG,GAAG,MAAI,CAAG,CAAC;YACpB,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACvC;IACL,CAAC;IAEM,iCAAQ,GAAf;QACI,KAAgB,UAAoB,EAApB,KAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAjC,IAAM,CAAC,SAAA;YACR,IAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACnB,IAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;aACzC;SACJ;IACL,CAAC;IAEM,+BAAM,GAAb,UAAc,QAAwB;QAClC,iBAAM,MAAM,YAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEY,oCAAW,GAAxB,UAAyB,CAAC,EAAE,CAAC;;;;gBACzB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACb,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAExB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,aAAa,EAAE;wBAC7B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;qBACzC;iBACJ;;;;KACJ;IA3EsB,uBAAQ,GAAY,KAAK,CAAC;IADxC,cAAc;QAD1B,mBAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;OACpB,cAAc,CA6E1B;IAAD,qBAAC;CAAA,AA7ED,CAAoC,qBAAS,GA6E5C;AA7EY,wCAAc"}
@@ -1,9 +1,9 @@
1
1
  import { DOM } from "./DOM";
2
- import { EventDispatcher } from "simple-ts-event-dispatcher";
3
2
  import { Registry } from "./Registry";
4
3
  import "./Types";
5
4
  import "./Formats";
6
5
  import { Configuration } from "./Configuration";
6
+ import { EventDispatcher } from "./EventDispatcher";
7
7
  export declare class Vision extends EventDispatcher {
8
8
  protected static _instance: Vision;
9
9
  protected _dom?: DOM;
@@ -20,5 +20,10 @@ export * from './Registry';
20
20
  export * from './Attribute';
21
21
  export * from './AST';
22
22
  export { DOM } from './DOM';
23
- export { WrappedArray, Scope, ScopeReference } from './Scope';
23
+ export { Scope } from './Scope';
24
+ export { ScopeReference } from './Scope/ScopeReference';
25
+ export { WrappedArray } from './Scope/WrappedArray';
26
+ export { Controller } from './Controller';
27
+ export { Property, property } from './Scope/properties/Property';
28
+ export { Tag } from './Tag';
24
29
  export declare const vision: Vision;
@@ -61,11 +61,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
61
61
  }
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.vision = exports.ScopeReference = exports.Scope = exports.WrappedArray = exports.DOM = exports.Vision = void 0;
64
+ exports.vision = exports.Tag = exports.property = exports.Property = exports.Controller = exports.WrappedArray = exports.ScopeReference = exports.Scope = exports.DOM = exports.Vision = void 0;
65
65
  var DOM_1 = require("./DOM");
66
- var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
67
- var Scope_1 = require("./Scope");
68
- var simple_ts_models_1 = require("simple-ts-models");
66
+ var WrappedArray_1 = require("./Scope/WrappedArray");
69
67
  var Registry_1 = require("./Registry");
70
68
  require("./Types");
71
69
  require("./Formats");
@@ -73,6 +71,8 @@ var Configuration_1 = require("./Configuration");
73
71
  var VisionHelper_1 = require("./helpers/VisionHelper");
74
72
  var AST_1 = require("./AST");
75
73
  var Query_1 = require("./Query");
74
+ var EventDispatcher_1 = require("./EventDispatcher");
75
+ var DynamicScopeData_1 = require("./Scope/DynamicScopeData");
76
76
  var Vision = /** @class */ (function (_super) {
77
77
  __extends(Vision, _super);
78
78
  function Vision() {
@@ -86,8 +86,8 @@ var Vision = /** @class */ (function (_super) {
86
86
  console.warn('No dom, running in CLI mode.');
87
87
  }
88
88
  _this.registry.classes.register('Object', Object);
89
- _this.registry.classes.register('WrappedArray', Scope_1.WrappedArray);
90
- _this.registry.classes.register('DataModel', simple_ts_models_1.DataModel);
89
+ _this.registry.classes.register('WrappedArray', WrappedArray_1.WrappedArray);
90
+ _this.registry.classes.register('Data', DynamicScopeData_1.DynamicScopeData);
91
91
  if (VisionHelper_1.VisionHelper.window) {
92
92
  window['Vision'] = Vision;
93
93
  window['Registry'] = Registry_1.Registry;
@@ -146,7 +146,7 @@ var Vision = /** @class */ (function (_super) {
146
146
  configurable: true
147
147
  });
148
148
  return Vision;
149
- }(simple_ts_event_dispatcher_1.EventDispatcher));
149
+ }(EventDispatcher_1.EventDispatcher));
150
150
  exports.Vision = Vision;
151
151
  __exportStar(require("./attributes/_imports"), exports);
152
152
  __exportStar(require("./Registry"), exports);
@@ -154,9 +154,18 @@ __exportStar(require("./Attribute"), exports);
154
154
  __exportStar(require("./AST"), exports);
155
155
  var DOM_2 = require("./DOM");
156
156
  Object.defineProperty(exports, "DOM", { enumerable: true, get: function () { return DOM_2.DOM; } });
157
- var Scope_2 = require("./Scope");
158
- Object.defineProperty(exports, "WrappedArray", { enumerable: true, get: function () { return Scope_2.WrappedArray; } });
159
- Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return Scope_2.Scope; } });
160
- Object.defineProperty(exports, "ScopeReference", { enumerable: true, get: function () { return Scope_2.ScopeReference; } });
157
+ var Scope_1 = require("./Scope");
158
+ Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return Scope_1.Scope; } });
159
+ var ScopeReference_1 = require("./Scope/ScopeReference");
160
+ Object.defineProperty(exports, "ScopeReference", { enumerable: true, get: function () { return ScopeReference_1.ScopeReference; } });
161
+ var WrappedArray_2 = require("./Scope/WrappedArray");
162
+ Object.defineProperty(exports, "WrappedArray", { enumerable: true, get: function () { return WrappedArray_2.WrappedArray; } });
163
+ var Controller_1 = require("./Controller");
164
+ Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return Controller_1.Controller; } });
165
+ var Property_1 = require("./Scope/properties/Property");
166
+ Object.defineProperty(exports, "Property", { enumerable: true, get: function () { return Property_1.Property; } });
167
+ Object.defineProperty(exports, "property", { enumerable: true, get: function () { return Property_1.property; } });
168
+ var Tag_1 = require("./Tag");
169
+ Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return Tag_1.Tag; } });
161
170
  exports.vision = Vision.instance;
162
- //# sourceMappingURL=Vision.js.map
171
+ //# sourceMappingURL=vsn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,27 +1,23 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.24",
3
+ "version": "0.1.28",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
7
7
  "typescript"
8
8
  ],
9
- "main": "./dist/Vision.js",
9
+ "main": "./dist/vsn.js",
10
10
  "scripts": {
11
11
  "build": "rm -rf ./dist/ && tsc",
12
12
  "build_dev": "rm -rf ./dist/ && webpack --env BUILD=development BENCHMARK=1",
13
- "demo": "rm -rf ./dist/ && webpack --env BUILD=production BENCHMARK=1 && cp ./dist/vision.min.js ./demo/vision.js",
13
+ "demo": "rm -rf ./dist/ && webpack --env BUILD=production BENCHMARK=1 && cp ./dist/vsn.min.js ./demo/vsn.js",
14
14
  "clean": "rm -rf ./dist/",
15
15
  "test": "karma start --single-run",
16
16
  "posttest": "codecov",
17
17
  "sample": "rm -rf sample/dist/ && tsc -p sample/ && node sample/dist/sample/index.js"
18
18
  },
19
19
  "license": "MIT",
20
- "dependencies": {
21
- "simple-ts-event-dispatcher": "^0.1.6",
22
- "simple-ts-models": "^0.1.3",
23
- "simple-ts-promise": "^0.1.6"
24
- },
20
+ "dependencies": {},
25
21
  "devDependencies": {
26
22
  "@types/jasmine": "^3.6.10",
27
23
  "codecov": "^3.8.1",
@@ -37,16 +33,16 @@
37
33
  "webpack-cli": "^4.6.0"
38
34
  },
39
35
  "homepage": "https://www.vsnjs.com",
40
- "git": "https://github.com/malero/visionjs",
41
- "typings": "./dist/Vision.d.ts",
42
- "types": "./dist/Vision.d.ts",
36
+ "git": "https://github.com/malero/vsn.git",
37
+ "typings": "./dist/vsn.d.ts",
38
+ "types": "./dist/vsn.d.ts",
43
39
  "author": "Malero <contact@vsnjs.com> (https://www.vsnjs.com/)",
44
40
  "bugs": {
45
- "url": "https://github.com/malero/visionjs/issues",
41
+ "url": "https://github.com/malero/vsn/issues",
46
42
  "email": "contact@vsnjs.com"
47
43
  },
48
44
  "repository": {
49
45
  "type": "git",
50
- "url": "https://github.com/malero/visionjs.git"
46
+ "url": "https://github.com/malero/vsn.git"
51
47
  }
52
48
  }
@@ -0,0 +1,236 @@
1
+ import {Scope} from "../Scope";
2
+ import {DOM} from "../DOM";
3
+ import {Tag} from "../Tag";
4
+ import {DOMObject} from "../DOM/DOMObject";
5
+ import {Token, TokenType, Tree, TreeNode} from "../AST";
6
+ import {Node} from "./Node";
7
+ import {RootScopeMemberNode} from "./RootScopeMemberNode";
8
+ import {ScopeMemberNode} from "./ScopeMemberNode";
9
+ import {ElementQueryNode} from "./ElementQueryNode";
10
+ import {ElementAttributeNode} from "./ElementAttributeNode";
11
+ import {ElementStyleNode} from "./ElementStyleNode";
12
+ import {UnitLiteral} from "./UnitLiteralNode";
13
+ import {Controller} from "../vsn";
14
+
15
+ export class ArithmeticAssignmentNode extends Node implements TreeNode {
16
+ constructor(
17
+ public readonly left: RootScopeMemberNode | ScopeMemberNode,
18
+ public readonly right: TreeNode,
19
+ public readonly type: TokenType
20
+ ) {
21
+ super();
22
+ }
23
+
24
+ protected _getChildNodes(): Node[] {
25
+ return [
26
+ this.left as Node,
27
+ this.right as Node
28
+ ]
29
+ }
30
+
31
+ async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
32
+ let scopes = [];
33
+ const name: string = await this.left.name.evaluate(scope, dom, tag);
34
+
35
+ if (this.left instanceof ScopeMemberNode) {
36
+ const inner = await this.left.scope.evaluate(scope, dom, tag);
37
+ if (this.left.scope instanceof ElementQueryNode) {
38
+ scopes.push(...inner);
39
+ } else if (inner instanceof Scope) {
40
+ scopes.push(inner);
41
+ } else if (inner instanceof Controller) {
42
+ scopes.push(inner.scope);
43
+ } else {
44
+ scopes.push(scope)
45
+ }
46
+ } else if ((this.left instanceof ElementAttributeNode || this.left instanceof ElementStyleNode) && this.left.elementRef) {
47
+ scopes = await this.left.elementRef.evaluate(scope, dom, tag);
48
+ } else
49
+ scopes.push(scope);
50
+
51
+ const values = [];
52
+ for (let localScope of scopes) {
53
+ if (localScope instanceof DOMObject) {
54
+ await this.handleDOMObject(name, dom, localScope, tag);
55
+ } else {
56
+ if (localScope['$wrapped'] && localScope['$scope']) {
57
+ localScope = localScope['$scope'];
58
+ }
59
+
60
+ // We get the values from the passed scope, but set the value on the local scope
61
+ let left: number | Array<any> | string = await this.left.evaluate(scope, dom, tag);
62
+ let right: number | Array<any> | string = await this.right.evaluate(scope, dom, tag);
63
+
64
+ if (left instanceof Array) {
65
+ left = this.handleArray(name, left, right, localScope);
66
+ } else if ((left as any) instanceof UnitLiteral || right instanceof UnitLiteral) {
67
+ left = this.handleUnit(name, left, right, localScope);
68
+ } else if (Number.isFinite(left)) {
69
+ left = this.handleNumber(name, left, right, localScope);
70
+ } else {
71
+ left = this.handleString(name, left, right, localScope);
72
+ }
73
+
74
+ values.push(left);
75
+ }
76
+ }
77
+ return values.length > 1 ? values : values[0];
78
+ }
79
+
80
+ public handleNumber(key, left, right, scope) {
81
+ if (right !== null && !Number.isFinite(right))
82
+ right = parseFloat(`${right}`);
83
+
84
+ left = left as number;
85
+ right = right as number;
86
+
87
+ switch (this.type) {
88
+ case TokenType.ASSIGN:
89
+ left = right;
90
+ break;
91
+ case TokenType.ADD_ASSIGN:
92
+ left += right;
93
+ break;
94
+ case TokenType.SUBTRACT_ASSIGN:
95
+ left -= right;
96
+ break;
97
+ case TokenType.MULTIPLY_ASSIGN:
98
+ left *= right;
99
+ break;
100
+ case TokenType.DIVIDE_ASSIGN:
101
+ left /= right;
102
+ break;
103
+ }
104
+ scope.set(key, left);
105
+ return left;
106
+ }
107
+
108
+ public handleString(key, left, right, scope) {
109
+ switch (this.type) {
110
+ case TokenType.ASSIGN:
111
+ left = right;
112
+ break;
113
+ case TokenType.ADD_ASSIGN:
114
+ left = `${left}${right}`;
115
+ break;
116
+ case TokenType.SUBTRACT_ASSIGN:
117
+ left.replace(right, '');
118
+ break;
119
+ case TokenType.MULTIPLY_ASSIGN:
120
+ left *= right;
121
+ break;
122
+ case TokenType.DIVIDE_ASSIGN:
123
+ left /= right;
124
+ break;
125
+ }
126
+
127
+ scope.set(key, left);
128
+ return left;
129
+ }
130
+
131
+ public handleUnit(key, left, right, scope) {
132
+ if (!(left instanceof UnitLiteral)) {
133
+ left = new UnitLiteral(left);
134
+ }
135
+
136
+ if (!(right instanceof UnitLiteral)) {
137
+ right = new UnitLiteral(right);
138
+ }
139
+ const unit = left.unit || right.unit || 'px';
140
+
141
+ switch (this.type) {
142
+ case TokenType.ASSIGN:
143
+ left = right;
144
+ break;
145
+ case TokenType.ADD_ASSIGN:
146
+ left = new UnitLiteral(`${left.amount+right.amount}${unit}`);
147
+ break;
148
+ case TokenType.SUBTRACT_ASSIGN:
149
+ left = new UnitLiteral(`${left.amount-right.amount}${unit}`);
150
+ break;
151
+ case TokenType.MULTIPLY_ASSIGN:
152
+ left = new UnitLiteral(`${left.amount*right.amount}${unit}`);
153
+ break;
154
+ case TokenType.DIVIDE_ASSIGN:
155
+ left = new UnitLiteral(`${left.amount/right.amount}${unit}`);
156
+ break;
157
+ }
158
+
159
+ scope.set(key, left);
160
+ return left;
161
+ }
162
+
163
+ public async handleDOMObject(key: string, dom: DOM, domObject: DOMObject, tag: Tag) {
164
+ let left = domObject.scope.get(key);
165
+ let right: number | Array<any> | string = await this.right.evaluate(domObject.scope, dom, tag);
166
+ if (left instanceof Array)
167
+ return this.handleArray(key, left, right, domObject.scope);
168
+
169
+ return this.handleString(key, left, right, domObject.scope);
170
+ }
171
+
172
+ public handleArray(key, left, right, scope) {
173
+ if (!(right instanceof Array))
174
+ right = [right];
175
+ switch (this.type) {
176
+ case TokenType.ASSIGN:
177
+ left.splice(0, left.length);
178
+ left.push(...right);
179
+ break;
180
+ case TokenType.ADD_ASSIGN:
181
+ left.push(...right);
182
+ break;
183
+ case TokenType.SUBTRACT_ASSIGN:
184
+ for (let i = left.length - 1; i >= 0; i--) {
185
+ if (right.indexOf(left[i]) > -1) {
186
+ left.splice(i, 1);
187
+ i++;
188
+ }
189
+ }
190
+ break;
191
+ case TokenType.TILDE:
192
+ for (const toggle of right) {
193
+ const index = left.indexOf(toggle);
194
+ if (index > -1) {
195
+ left.splice(index, 1);
196
+ } else {
197
+ left.push(toggle);
198
+ }
199
+ }
200
+ break;
201
+ }
202
+
203
+ /*
204
+ We have to trigger a change manually here. Setting the variable on the scope with an array won't trigger
205
+ it since we are modifying values inside of the array instance.
206
+ */
207
+ scope.dispatch(`change:${key}`);
208
+
209
+ return left;
210
+ }
211
+
212
+ public static match(tokens: Token[]): boolean {
213
+ return [
214
+ TokenType.ASSIGN,
215
+ TokenType.ADD_ASSIGN,
216
+ TokenType.SUBTRACT_ASSIGN,
217
+ TokenType.MULTIPLY_ASSIGN,
218
+ TokenType.DIVIDE_ASSIGN,
219
+ TokenType.TILDE,
220
+ ].indexOf(tokens[0].type) > -1;
221
+ }
222
+
223
+ public static parse(lastNode: any, token, tokens: Token[]): ArithmeticAssignmentNode {
224
+ if (!(lastNode instanceof RootScopeMemberNode) && !(lastNode instanceof ScopeMemberNode) && !(lastNode instanceof ElementAttributeNode) && !(lastNode instanceof ElementStyleNode)) {
225
+ throw SyntaxError(`Invalid assignment syntax near ${Tree.toCode(tokens.splice(0, 10))}`);
226
+ }
227
+ tokens.splice(0, 1); // consume =
228
+ const assignmentTokens: Token[] = Tree.getNextStatementTokens(tokens, false, false, true);
229
+
230
+ return new ArithmeticAssignmentNode(
231
+ lastNode as RootScopeMemberNode,
232
+ Tree.processTokens(assignmentTokens),
233
+ token.type
234
+ );
235
+ }
236
+ }
@@ -0,0 +1,52 @@
1
+ import {Scope} from "../Scope";
2
+ import {DOM} from "../DOM";
3
+ import {Tag} from "../Tag";
4
+ import {Token, TokenType, Tree, TreeNode} from "../AST";
5
+ import {Node} from "./Node";
6
+
7
+ export class ArithmeticNode extends Node implements TreeNode {
8
+ constructor(
9
+ public readonly left: TreeNode,
10
+ public readonly right: TreeNode,
11
+ public readonly type: TokenType
12
+ ) {
13
+ super();
14
+ }
15
+
16
+ protected _getChildNodes(): Node[] {
17
+ return [
18
+ this.left as Node,
19
+ this.right as Node
20
+ ]
21
+ }
22
+
23
+ public async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
24
+ const left: any = await this.left.evaluate(scope, dom, tag);
25
+ const right: any = await this.right.evaluate(scope, dom, tag);
26
+
27
+ switch (this.type) {
28
+ case TokenType.ADD:
29
+ return left + right;
30
+ case TokenType.SUBTRACT:
31
+ return left - right;
32
+ case TokenType.MULTIPLY:
33
+ return left * right;
34
+ case TokenType.DIVIDE:
35
+ return left / right;
36
+ }
37
+ }
38
+
39
+ public static match(tokens: Token[]): boolean {
40
+ return [
41
+ TokenType.ADD,
42
+ TokenType.SUBTRACT,
43
+ TokenType.MULTIPLY,
44
+ TokenType.DIVIDE
45
+ ].indexOf(tokens[0].type) > -1
46
+ }
47
+
48
+ public static parse(lastNode, token, tokens: Token[]) {
49
+ tokens.splice(0, 1); // Remove arithmetic operator
50
+ return new ArithmeticNode(lastNode, Tree.processTokens(Tree.getNextStatementTokens(tokens)), token.type)
51
+ }
52
+ }
@@ -0,0 +1,39 @@
1
+ import {Scope} from "../Scope";
2
+ import {DOM} from "../DOM";
3
+ import {Tag} from "../Tag";
4
+ import {WrappedArray} from "../Scope/WrappedArray";
5
+ import {Token, TokenType, Tree, TreeNode} from "../AST";
6
+ import {Node} from "./Node";
7
+
8
+ export class ArrayNode extends Node implements TreeNode {
9
+ constructor(
10
+ public readonly values: Node[]
11
+ ) {
12
+ super();
13
+ }
14
+
15
+ protected _getChildNodes(): Node[] {
16
+ return new Array(...this.values);
17
+ }
18
+
19
+ async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
20
+ const arr: WrappedArray<any> = new WrappedArray();
21
+ for (const val of this.values) {
22
+ arr.push(await val.evaluate(scope, dom, tag));
23
+ }
24
+ return arr;
25
+ }
26
+
27
+ public static match(tokens: Token[]): boolean {
28
+ return tokens[0].type === TokenType.L_BRACKET;
29
+ }
30
+
31
+ public static parse(lastNode, token, tokens: Token[]): ArrayNode {
32
+ const valueTokens: Token[][] = Tree.getBlockTokens(tokens);
33
+ const values: Node[] = [];
34
+ for (const arg of valueTokens) {
35
+ values.push(Tree.processTokens(arg));
36
+ }
37
+ return new ArrayNode(values);
38
+ }
39
+ }
@@ -0,0 +1,25 @@
1
+ import {Scope} from "../Scope";
2
+ import {DOM} from "../DOM";
3
+ import {Tag} from "../Tag";
4
+ import {TreeNode} from "../AST";
5
+ import {Node} from "./Node";
6
+
7
+ export class BlockNode extends Node implements TreeNode {
8
+ constructor(
9
+ public readonly statements: Node[]
10
+ ) {
11
+ super();
12
+ }
13
+
14
+ protected _getChildNodes(): Node[] {
15
+ return [...(this.statements as Node[])];
16
+ }
17
+
18
+ public async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
19
+ let returnValue: any = null;
20
+ for (let i = 0; i < this.statements.length; i++) {
21
+ returnValue = await this.statements[i].evaluate(scope, dom, tag);
22
+ }
23
+ return returnValue;
24
+ }
25
+ }
@@ -0,0 +1,10 @@
1
+ import {LiteralNode} from "./LiteralNode";
2
+
3
+ export class BooleanLiteralNode extends LiteralNode<number> {
4
+ constructor(
5
+ public readonly value: any
6
+ ) {
7
+ super(value);
8
+ this.value = value === 'true';
9
+ }
10
+ }