vsn 0.1.23 → 0.1.27

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 (172) hide show
  1. package/demo/demo.html +16 -7
  2. package/demo/vsn.js +1 -0
  3. package/dist/AST.d.ts +2 -1
  4. package/dist/AST.js +94 -4
  5. package/dist/AST.js.map +1 -1
  6. package/dist/Attribute.d.ts +1 -1
  7. package/dist/Attribute.js +3 -3
  8. package/dist/Attribute.js.map +1 -1
  9. package/dist/Configuration.d.ts +1 -1
  10. package/dist/Configuration.js +4 -4
  11. package/dist/Configuration.js.map +1 -1
  12. package/dist/Controller.d.ts +10 -5
  13. package/dist/Controller.js +21 -6
  14. package/dist/Controller.js.map +1 -1
  15. package/dist/DOM/DOMObject.d.ts +1 -1
  16. package/dist/DOM/DOMObject.js +2 -2
  17. package/dist/DOM/DOMObject.js.map +1 -1
  18. package/dist/DOM.d.ts +1 -1
  19. package/dist/DOM.js +4 -4
  20. package/dist/DOM.js.map +1 -1
  21. package/dist/EventDispatcher.d.ts +26 -0
  22. package/dist/EventDispatcher.js +117 -0
  23. package/dist/EventDispatcher.js.map +1 -0
  24. package/dist/Formats.js +2 -2
  25. package/dist/Formats.js.map +1 -1
  26. package/dist/MessageList.d.ts +14 -0
  27. package/dist/MessageList.js +88 -0
  28. package/dist/MessageList.js.map +1 -0
  29. package/dist/Model/Collection.d.ts +5 -0
  30. package/dist/Model/Collection.js +37 -0
  31. package/dist/Model/Collection.js.map +1 -0
  32. package/dist/Model/DataModel.d.ts +6 -0
  33. package/dist/Model/DataModel.js +54 -0
  34. package/dist/Model/DataModel.js.map +1 -0
  35. package/dist/Model/ModelAbstract.d.ts +20 -0
  36. package/dist/Model/ModelAbstract.js +122 -0
  37. package/dist/Model/ModelAbstract.js.map +1 -0
  38. package/dist/Model/fields/BooleanField.d.ts +5 -0
  39. package/dist/Model/fields/BooleanField.js +43 -0
  40. package/dist/Model/fields/BooleanField.js.map +1 -0
  41. package/dist/Model/fields/EmailField.d.ts +5 -0
  42. package/dist/Model/fields/EmailField.js +36 -0
  43. package/dist/Model/fields/EmailField.js.map +1 -0
  44. package/dist/Model/fields/Field.d.ts +13 -0
  45. package/dist/Model/fields/Field.js +79 -0
  46. package/dist/Model/fields/Field.js.map +1 -0
  47. package/dist/Model/fields/FloatField.d.ts +5 -0
  48. package/dist/Model/fields/FloatField.js +47 -0
  49. package/dist/Model/fields/FloatField.js.map +1 -0
  50. package/dist/Model/fields/PositiveNumberField.d.ts +5 -0
  51. package/dist/Model/fields/PositiveNumberField.js +51 -0
  52. package/dist/Model/fields/PositiveNumberField.js.map +1 -0
  53. package/dist/Model/fields/StringField.d.ts +5 -0
  54. package/dist/Model/fields/StringField.js +43 -0
  55. package/dist/Model/fields/StringField.js.map +1 -0
  56. package/dist/Model.d.ts +11 -0
  57. package/dist/Model.js +72 -0
  58. package/dist/Model.js.map +1 -0
  59. package/dist/Registry.d.ts +2 -2
  60. package/dist/Registry.js +6 -16
  61. package/dist/Registry.js.map +1 -1
  62. package/dist/Scope.d.ts +7 -10
  63. package/dist/Scope.js +40 -90
  64. package/dist/Scope.js.map +1 -1
  65. package/dist/SimplePromise.d.ts +42 -0
  66. package/dist/SimplePromise.js +217 -0
  67. package/dist/SimplePromise.js.map +1 -0
  68. package/dist/Tag.js +12 -6
  69. package/dist/Tag.js.map +1 -1
  70. package/dist/attributes/Bind.js +1 -1
  71. package/dist/attributes/Bind.js.map +1 -1
  72. package/dist/attributes/ClickRemoveClass.js +17 -5
  73. package/dist/attributes/ClickRemoveClass.js.map +1 -1
  74. package/dist/attributes/ClickToggleClass.js +17 -5
  75. package/dist/attributes/ClickToggleClass.js.map +1 -1
  76. package/dist/attributes/Exec.js +6 -0
  77. package/dist/attributes/Exec.js.map +1 -1
  78. package/dist/attributes/Format.js +3 -0
  79. package/dist/attributes/Format.js.map +1 -1
  80. package/dist/attributes/If.js +12 -0
  81. package/dist/attributes/If.js.map +1 -1
  82. package/dist/attributes/JSONAttribute.js +3 -0
  83. package/dist/attributes/JSONAttribute.js.map +1 -1
  84. package/dist/attributes/KeyAbstract.js +11 -4
  85. package/dist/attributes/KeyAbstract.js.map +1 -1
  86. package/dist/attributes/KeyDown.js +8 -2
  87. package/dist/attributes/KeyDown.js.map +1 -1
  88. package/dist/attributes/KeyUp.js +8 -2
  89. package/dist/attributes/KeyUp.js.map +1 -1
  90. package/dist/attributes/List.js +14 -5
  91. package/dist/attributes/List.js.map +1 -1
  92. package/dist/attributes/ListItem.js +3 -0
  93. package/dist/attributes/ListItem.js.map +1 -1
  94. package/dist/attributes/On.js +15 -3
  95. package/dist/attributes/On.js.map +1 -1
  96. package/dist/attributes/Radio.d.ts +2 -0
  97. package/dist/attributes/Radio.js +52 -5
  98. package/dist/attributes/Radio.js.map +1 -1
  99. package/dist/attributes/RootAttribute.js +8 -2
  100. package/dist/attributes/RootAttribute.js.map +1 -1
  101. package/dist/attributes/ScopeChange.js +7 -1
  102. package/dist/attributes/ScopeChange.js.map +1 -1
  103. package/dist/attributes/SetAttribute.js +3 -0
  104. package/dist/attributes/SetAttribute.js.map +1 -1
  105. package/dist/attributes/StandardAttribute.js +25 -7
  106. package/dist/attributes/StandardAttribute.js.map +1 -1
  107. package/dist/attributes/StyleAttribute.js +1 -1
  108. package/dist/attributes/StyleAttribute.js.map +1 -1
  109. package/dist/attributes/TypeAttribute.js +3 -0
  110. package/dist/attributes/TypeAttribute.js.map +1 -1
  111. package/dist/{Vision.d.ts → vsn.d.ts} +3 -1
  112. package/dist/{Vision.js → vsn.js} +10 -6
  113. package/dist/vsn.js.map +1 -0
  114. package/package.json +9 -13
  115. package/src/AST.ts +96 -5
  116. package/src/Attribute.ts +2 -2
  117. package/src/Configuration.ts +3 -3
  118. package/src/Controller.ts +16 -7
  119. package/src/DOM/DOMObject.ts +1 -1
  120. package/src/DOM.ts +4 -4
  121. package/src/EventDispatcher.ts +117 -0
  122. package/src/Formats.ts +2 -2
  123. package/src/MessageList.ts +81 -0
  124. package/src/Model/Collection.ts +13 -0
  125. package/src/Model/DataModel.ts +29 -0
  126. package/src/Model/ModelAbstract.ts +114 -0
  127. package/src/Model/fields/BooleanField.ts +16 -0
  128. package/src/Model/fields/EmailField.ts +12 -0
  129. package/src/Model/fields/Field.ts +65 -0
  130. package/src/Model/fields/FloatField.ts +22 -0
  131. package/src/Model/fields/PositiveNumberField.ts +24 -0
  132. package/src/Model/fields/StringField.ts +16 -0
  133. package/src/Model.ts +57 -0
  134. package/src/Registry.ts +3 -5
  135. package/src/Scope.ts +39 -90
  136. package/src/SimplePromise.ts +219 -0
  137. package/src/Tag.ts +12 -9
  138. package/src/attributes/Bind.ts +1 -1
  139. package/src/attributes/ClickRemoveClass.ts +2 -0
  140. package/src/attributes/ClickToggleClass.ts +2 -0
  141. package/src/attributes/Exec.ts +2 -0
  142. package/src/attributes/Format.ts +1 -0
  143. package/src/attributes/If.ts +4 -0
  144. package/src/attributes/JSONAttribute.ts +1 -0
  145. package/src/attributes/KeyAbstract.ts +2 -1
  146. package/src/attributes/KeyDown.ts +1 -0
  147. package/src/attributes/KeyUp.ts +1 -0
  148. package/src/attributes/List.ts +6 -3
  149. package/src/attributes/ListItem.ts +1 -0
  150. package/src/attributes/On.ts +4 -0
  151. package/src/attributes/Radio.ts +18 -3
  152. package/src/attributes/RootAttribute.ts +1 -0
  153. package/src/attributes/ScopeChange.ts +3 -1
  154. package/src/attributes/SetAttribute.ts +1 -0
  155. package/src/attributes/StandardAttribute.ts +4 -1
  156. package/src/attributes/StyleAttribute.ts +1 -1
  157. package/src/attributes/TypeAttribute.ts +1 -0
  158. package/src/{Vision.ts → vsn.ts} +4 -2
  159. package/test/AST.spec.ts +2 -1
  160. package/test/DOM.spec.ts +1 -1
  161. package/test/MessageList.spec.ts +101 -0
  162. package/test/Model/DataModel.spec.ts +141 -0
  163. package/test/Model.spec.ts +306 -0
  164. package/test/Scope.spec.ts +2 -2
  165. package/test/SimplePromise.spec.ts +271 -0
  166. package/test/attributes/Bind.spec.ts +5 -5
  167. package/test/attributes/JSONAttribute.spec.ts +1 -1
  168. package/test/attributes/ListItem.spec.ts +1 -1
  169. package/webpack.config.js +2 -2
  170. package/demo/vision.js +0 -1
  171. package/dist/Vision.js.map +0 -1
  172. package/main.py +0 -16
@@ -65,7 +65,7 @@ var Radio = /** @class */ (function (_super) {
65
65
  function Radio() {
66
66
  return _super !== null && _super.apply(this, arguments) || this;
67
67
  }
68
- Radio.prototype.extract = function () {
68
+ Radio.prototype.setup = function () {
69
69
  return __awaiter(this, void 0, void 0, function () {
70
70
  var scopeKey, ref, _a, _b;
71
71
  return __generator(this, function (_c) {
@@ -87,6 +87,27 @@ var Radio = /** @class */ (function (_super) {
87
87
  return [4 /*yield*/, ref.getScope()];
88
88
  case 2:
89
89
  _b.boundScope = _c.sent();
90
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
91
+ case 3:
92
+ _c.sent();
93
+ return [2 /*return*/];
94
+ }
95
+ });
96
+ });
97
+ };
98
+ Radio.prototype.extract = function () {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0:
103
+ if (!this.tag.checked) return [3 /*break*/, 2];
104
+ return [4 /*yield*/, this.handleEvent(null)];
105
+ case 1:
106
+ _a.sent();
107
+ _a.label = 2;
108
+ case 2: return [4 /*yield*/, _super.prototype.extract.call(this)];
109
+ case 3:
110
+ _a.sent();
90
111
  return [2 /*return*/];
91
112
  }
92
113
  });
@@ -95,9 +116,33 @@ var Radio = /** @class */ (function (_super) {
95
116
  Radio.prototype.connect = function () {
96
117
  return __awaiter(this, void 0, void 0, function () {
97
118
  return __generator(this, function (_a) {
98
- this.boundScope.bind("change:" + this.key, this.checkSelected, this);
99
- this.tag.addEventHandler('change', this.getAttributeModifiers(), this.handleEvent.bind(this));
100
- return [2 /*return*/];
119
+ switch (_a.label) {
120
+ case 0:
121
+ this.boundScope.on("change:" + this.key, this.checkSelected, this);
122
+ this.tag.addEventHandler('change', this.getAttributeModifiers(), this.handleEvent.bind(this));
123
+ return [4 /*yield*/, this.checkSelected()];
124
+ case 1:
125
+ _a.sent();
126
+ return [4 /*yield*/, _super.prototype.connect.call(this)];
127
+ case 2:
128
+ _a.sent();
129
+ return [2 /*return*/];
130
+ }
131
+ });
132
+ });
133
+ };
134
+ Radio.prototype.evaluate = function () {
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ return __generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.checkSelected()];
139
+ case 1:
140
+ _a.sent();
141
+ return [4 /*yield*/, _super.prototype.evaluate.call(this)];
142
+ case 2:
143
+ _a.sent();
144
+ return [2 /*return*/];
145
+ }
101
146
  });
102
147
  });
103
148
  };
@@ -111,8 +156,10 @@ var Radio = /** @class */ (function (_super) {
111
156
  };
112
157
  Radio.prototype.checkSelected = function () {
113
158
  return __awaiter(this, void 0, void 0, function () {
159
+ var scopeValue;
114
160
  return __generator(this, function (_a) {
115
- 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;
116
163
  return [2 /*return*/];
117
164
  });
118
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;;IA+BA,CAAC;IA1BgB,uBAAO,GAApB;;;;;;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;;;;;KAC1C;IAEY,uBAAO,GAApB;;;gBACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;;;KACjG;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;IA7BsB,cAAQ,GAAY,KAAK,CAAC;IADxC,KAAK;QADjB,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,KAAK,CA+BjB;IAAD,YAAC;CAAA,AA/BD,CAA2B,qBAAS,GA+BnC;AA/BY,sBAAK"}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/attributes/Radio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAKvC;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"}
@@ -69,8 +69,14 @@ var RootAttribute = /** @class */ (function (_super) {
69
69
  RootAttribute.prototype.setup = function () {
70
70
  return __awaiter(this, void 0, void 0, function () {
71
71
  return __generator(this, function (_a) {
72
- this.tag.scope.set('$mobile', VisionHelper_1.VisionHelper.isMobile());
73
- return [2 /*return*/];
72
+ switch (_a.label) {
73
+ case 0:
74
+ this.tag.scope.set('$mobile', VisionHelper_1.VisionHelper.isMobile());
75
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
76
+ case 1:
77
+ _a.sent();
78
+ return [2 /*return*/];
79
+ }
74
80
  });
75
81
  });
76
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RootAttribute.js","sourceRoot":"","sources":["../../src/attributes/RootAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wDAAqD;AACrD,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAOA,CAAC;IAHgB,6BAAK,GAAlB;;;gBACI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,2BAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;;;;KAC1D;IALsB,sBAAQ,GAAY,KAAK,CAAC;IAC1B,oBAAM,GAAY,IAAI,CAAC;IAFrC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAOzB;IAAD,oBAAC;CAAA,AAPD,CAAmC,qBAAS,GAO3C;AAPY,sCAAa"}
1
+ {"version":3,"file":"RootAttribute.js","sourceRoot":"","sources":["../../src/attributes/RootAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wDAAqD;AACrD,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAQA,CAAC;IAJgB,6BAAK,GAAlB;;;;;wBACI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,2BAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACvD,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IANsB,sBAAQ,GAAY,KAAK,CAAC;IAC1B,oBAAM,GAAY,IAAI,CAAC;IAFrC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAQzB;IAAD,oBAAC;CAAA,AARD,CAAmC,qBAAS,GAQ3C;AARY,sCAAa"}
@@ -76,6 +76,9 @@ var ScopeChange = /** @class */ (function (_super) {
76
76
  this.handler = new AST_1.Tree(code);
77
77
  return [4 /*yield*/, this.handler.prepare(this.tag.scope, this.tag.dom, this.tag)];
78
78
  case 1:
79
+ _a.sent();
80
+ return [4 /*yield*/, _super.prototype.compile.call(this)];
81
+ case 2:
79
82
  _a.sent();
80
83
  return [2 /*return*/];
81
84
  }
@@ -92,11 +95,14 @@ var ScopeChange = /** @class */ (function (_super) {
92
95
  ref = this.tag.scope.getReference(binding, false);
93
96
  return [4 /*yield*/, ref.getScope()];
94
97
  case 1:
95
- _b = (_a = (_d.sent())).bind;
98
+ _b = (_a = (_d.sent())).on;
96
99
  _c = "change:";
97
100
  return [4 /*yield*/, ref.getKey()];
98
101
  case 2:
99
102
  _b.apply(_a, [_c + (_d.sent()), this.handleEvent.bind(this)]);
103
+ return [4 /*yield*/, _super.prototype.connect.call(this)];
104
+ case 3:
105
+ _d.sent();
100
106
  return [2 /*return*/];
101
107
  }
102
108
  });
@@ -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;;IAmBA,CAAC;IAfgB,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;;;;;KACtE;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;;;;;KAC5F;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;IAjBsB,oBAAQ,GAAY,KAAK,CAAC;IAD/B,WAAW;QADhC,mBAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;OACjB,WAAW,CAmBhC;IAAD,kBAAC;CAAA,AAnBD,CAA0C,qBAAS,GAmBlD;AAnBqB,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"}
@@ -100,6 +100,9 @@ var SetAttribute = /** @class */ (function (_super) {
100
100
  return [4 /*yield*/, ref.getScope()];
101
101
  case 2:
102
102
  _b.boundScope = _c.sent();
103
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
104
+ case 3:
105
+ _c.sent();
103
106
  return [2 /*return*/];
104
107
  }
105
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAGrC;IAAkC,gCAAS;IAA3C;;IAsCA,CAAC;IAhCG,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;;;;;KAC1C;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;IApCsB,qBAAQ,GAAY,KAAK,CAAC;IADxC,YAAY;QADxB,mBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;OACjB,YAAY,CAsCxB;IAAD,mBAAC;CAAA,AAtCD,CAAkC,qBAAS,GAsC1C;AAtCY,oCAAY"}
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"}
@@ -61,26 +61,44 @@ var StandardAttribute = /** @class */ (function (_super) {
61
61
  StandardAttribute.prototype.setup = function () {
62
62
  return __awaiter(this, void 0, void 0, function () {
63
63
  return __generator(this, function (_a) {
64
- if (StandardAttribute.magicAttributes.indexOf(this.key) === -1 && !this.tag.element.hasAttribute(this.attributeName)) {
65
- this.tag.element.setAttribute(this.attributeName, '');
64
+ switch (_a.label) {
65
+ case 0:
66
+ if (StandardAttribute.magicAttributes.indexOf(this.key) === -1 && !this.tag.element.hasAttribute(this.attributeName)) {
67
+ this.tag.element.setAttribute(this.attributeName, '');
68
+ }
69
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
70
+ case 1:
71
+ _a.sent();
72
+ return [2 /*return*/];
66
73
  }
67
- return [2 /*return*/];
68
74
  });
69
75
  });
70
76
  };
71
77
  StandardAttribute.prototype.extract = function () {
72
78
  return __awaiter(this, void 0, void 0, function () {
73
79
  return __generator(this, function (_a) {
74
- this.updateFrom();
75
- return [2 /*return*/];
80
+ switch (_a.label) {
81
+ case 0:
82
+ this.updateFrom();
83
+ return [4 /*yield*/, _super.prototype.extract.call(this)];
84
+ case 1:
85
+ _a.sent();
86
+ return [2 /*return*/];
87
+ }
76
88
  });
77
89
  });
78
90
  };
79
91
  StandardAttribute.prototype.connect = function () {
80
92
  return __awaiter(this, void 0, void 0, function () {
81
93
  return __generator(this, function (_a) {
82
- this.tag.scope.bind("change:" + this.key, this.updateTo.bind(this));
83
- return [2 /*return*/];
94
+ switch (_a.label) {
95
+ case 0:
96
+ this.tag.scope.on("change:" + this.key, this.updateTo.bind(this));
97
+ return [4 /*yield*/, _super.prototype.connect.call(this)];
98
+ case 1:
99
+ _a.sent();
100
+ return [2 /*return*/];
101
+ }
84
102
  });
85
103
  });
86
104
  };
@@ -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":"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"}
@@ -86,6 +86,9 @@ var TypeAttribute = /** @class */ (function (_super) {
86
86
  return [4 /*yield*/, ref.getKey()];
87
87
  case 2:
88
88
  _b.apply(_a, [_c.sent(), type]);
89
+ return [4 /*yield*/, _super.prototype.extract.call(this)];
90
+ case 3:
91
+ _c.sent();
89
92
  return [2 /*return*/];
90
93
  }
91
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TypeAttribute.js","sourceRoot":"","sources":["../../src/attributes/TypeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAEvC,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAgBA,CAAC;IAdgB,+BAAO,GAApB;;;;;;wBACU,GAAG,GAAW,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3C,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAG5C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;yBAC1C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAEA,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,OAAO,CAAA;wBAAC,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAjD,cAA+B,SAAkB,EAAE,IAAI,EAAC,CAAC;;;;;KAC5D;IAdsB,sBAAQ,GAAY,KAAK,CAAC;IADxC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAgBzB;IAAD,oBAAC;CAAA,AAhBD,CAAmC,qBAAS,GAgB3C;AAhBY,sCAAa"}
1
+ {"version":3,"file":"TypeAttribute.js","sourceRoot":"","sources":["../../src/attributes/TypeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAEvC,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAiBA,CAAC;IAfgB,+BAAO,GAApB;;;;;;wBACU,GAAG,GAAW,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3C,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAG5C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;yBAC1C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAEA,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,OAAO,CAAA;wBAAC,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAjD,cAA+B,SAAkB,EAAE,IAAI,EAAC,CAAC;wBACzD,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAfsB,sBAAQ,GAAY,KAAK,CAAC;IADxC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAiBzB;IAAD,oBAAC;CAAA,AAjBD,CAAmC,qBAAS,GAiB3C;AAjBY,sCAAa"}
@@ -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;
@@ -21,4 +21,6 @@ export * from './Attribute';
21
21
  export * from './AST';
22
22
  export { DOM } from './DOM';
23
23
  export { WrappedArray, Scope, ScopeReference } from './Scope';
24
+ export { Controller } from './Controller';
25
+ export { Tag } from './Tag';
24
26
  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.Controller = exports.ScopeReference = exports.Scope = exports.WrappedArray = 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
66
  var Scope_1 = require("./Scope");
68
- var simple_ts_models_1 = require("simple-ts-models");
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 DataModel_1 = require("./Model/DataModel");
76
76
  var Vision = /** @class */ (function (_super) {
77
77
  __extends(Vision, _super);
78
78
  function Vision() {
@@ -87,7 +87,7 @@ var Vision = /** @class */ (function (_super) {
87
87
  }
88
88
  _this.registry.classes.register('Object', Object);
89
89
  _this.registry.classes.register('WrappedArray', Scope_1.WrappedArray);
90
- _this.registry.classes.register('DataModel', simple_ts_models_1.DataModel);
90
+ _this.registry.classes.register('DataModel', DataModel_1.DataModel);
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);
@@ -158,5 +158,9 @@ var Scope_2 = require("./Scope");
158
158
  Object.defineProperty(exports, "WrappedArray", { enumerable: true, get: function () { return Scope_2.WrappedArray; } });
159
159
  Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return Scope_2.Scope; } });
160
160
  Object.defineProperty(exports, "ScopeReference", { enumerable: true, get: function () { return Scope_2.ScopeReference; } });
161
+ var Controller_1 = require("./Controller");
162
+ Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return Controller_1.Controller; } });
163
+ var Tag_1 = require("./Tag");
164
+ Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return Tag_1.Tag; } });
161
165
  exports.vision = Vision.instance;
162
- //# sourceMappingURL=Vision.js.map
166
+ //# 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.23",
3
+ "version": "0.1.27",
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
  }
package/src/AST.ts CHANGED
@@ -78,7 +78,8 @@ export enum TokenType {
78
78
  ELEMENT_REFERENCE,
79
79
  ELEMENT_ATTRIBUTE,
80
80
  ELEMENT_STYLE,
81
- ELEMENT_QUERY
81
+ ELEMENT_QUERY,
82
+ UNIT,
82
83
  }
83
84
 
84
85
  const TOKEN_PATTERNS: TokenPattern[] = [
@@ -98,6 +99,10 @@ const TOKEN_PATTERNS: TokenPattern[] = [
98
99
  type: TokenType.TYPE_FLOAT,
99
100
  pattern: /^float+/
100
101
  },
102
+ {
103
+ type: TokenType.UNIT,
104
+ pattern: /^\d+\.?\d?(?:cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)/
105
+ },
101
106
  {
102
107
  type: TokenType.TYPE_STRING,
103
108
  pattern: /^string+/
@@ -144,11 +149,11 @@ const TOKEN_PATTERNS: TokenPattern[] = [
144
149
  },
145
150
  {
146
151
  type: TokenType.ELEMENT_ATTRIBUTE,
147
- pattern: /^\.?@[_a-zA-Z0-9]*/
152
+ pattern: /^\.?@[-_a-zA-Z0-9]*/
148
153
  },
149
154
  {
150
155
  type: TokenType.ELEMENT_STYLE,
151
- pattern: /^\.?\$[a-zA-Z0-9]*/
156
+ pattern: /^\.?\$[-a-zA-Z0-9]*/
152
157
  },
153
158
  {
154
159
  type: TokenType.ELEMENT_REFERENCE,
@@ -687,6 +692,55 @@ class NumberLiteralNode extends LiteralNode<number> {
687
692
  }
688
693
  }
689
694
 
695
+ class UnitLiteral {
696
+ protected _amount: number;
697
+ protected _unit: string;
698
+
699
+ constructor(
700
+ protected _value: any
701
+ ) {
702
+ this.value = this._value;
703
+ }
704
+
705
+ get amount(): number {
706
+ return this._amount;
707
+ }
708
+
709
+ get unit(): string {
710
+ return this._unit;
711
+ }
712
+
713
+ get value(): string {
714
+ return `${this._amount}${this._unit}`;
715
+ }
716
+
717
+ set value(value: string) {
718
+ if (value.indexOf('.') > -1) {
719
+ this._amount = parseFloat(value)
720
+ } else {
721
+ this._amount = parseInt(value);
722
+ }
723
+
724
+ if (isNaN(this._amount))
725
+ this._amount = 0;
726
+
727
+ const unit = /[^\d.]+$/.exec(value);
728
+ this._unit = unit && unit[0] || '';
729
+ }
730
+
731
+ public toString() {
732
+ return this.value;
733
+ }
734
+ }
735
+
736
+ class UnitLiteralNode extends LiteralNode<UnitLiteral> {
737
+ constructor(
738
+ _value: any
739
+ ) {
740
+ super(new UnitLiteral(_value));
741
+ }
742
+ }
743
+
690
744
 
691
745
  class FunctionCallNode<T = any> extends Node implements TreeNode {
692
746
  constructor(
@@ -895,6 +949,8 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
895
949
 
896
950
  if (left instanceof Array) {
897
951
  left = this.handleArray(name, left, right, localScope);
952
+ } else if ((left as any) instanceof UnitLiteral || right instanceof UnitLiteral) {
953
+ left = this.handleUnit(name, left, right, localScope);
898
954
  } else if (Number.isFinite(left)) {
899
955
  left = this.handleNumber(name, left, right, localScope);
900
956
  } else {
@@ -958,6 +1014,38 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
958
1014
  return left;
959
1015
  }
960
1016
 
1017
+ public handleUnit(key, left, right, scope) {
1018
+ if (!(left instanceof UnitLiteral)) {
1019
+ left = new UnitLiteral(left);
1020
+ }
1021
+
1022
+ if (!(right instanceof UnitLiteral)) {
1023
+ right = new UnitLiteral(right);
1024
+ }
1025
+ const unit = left.unit || right.unit || 'px';
1026
+
1027
+ switch (this.type) {
1028
+ case TokenType.ASSIGN:
1029
+ left = right;
1030
+ break;
1031
+ case TokenType.ADD_ASSIGN:
1032
+ left = new UnitLiteral(`${left.amount+right.amount}${unit}`);
1033
+ break;
1034
+ case TokenType.SUBTRACT_ASSIGN:
1035
+ left = new UnitLiteral(`${left.amount-right.amount}${unit}`);
1036
+ break;
1037
+ case TokenType.MULTIPLY_ASSIGN:
1038
+ left = new UnitLiteral(`${left.amount*right.amount}${unit}`);
1039
+ break;
1040
+ case TokenType.DIVIDE_ASSIGN:
1041
+ left = new UnitLiteral(`${left.amount/right.amount}${unit}`);
1042
+ break;
1043
+ }
1044
+
1045
+ scope.set(key, left);
1046
+ return left;
1047
+ }
1048
+
961
1049
  public async handleDOMObject(key: string, dom: DOM, domObject: DOMObject, tag: Tag) {
962
1050
  let left = domObject.scope.get(key);
963
1051
  let right: number | Array<any> | string = await this.right.evaluate(domObject.scope, dom, tag);
@@ -1002,7 +1090,7 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
1002
1090
  We have to trigger a change manually here. Setting the variable on the scope with an array won't trigger
1003
1091
  it since we are modifying values inside of the array instance.
1004
1092
  */
1005
- scope.trigger(`change:${key}`);
1093
+ scope.dispatch(`change:${key}`);
1006
1094
 
1007
1095
  return left;
1008
1096
  }
@@ -1356,7 +1444,7 @@ export class Tree {
1356
1444
  }
1357
1445
 
1358
1446
  const name = await node.name.evaluate(scope, dom, tag);
1359
- _scope.bind(`change:${name}`, fnc);
1447
+ _scope.on(`change:${name}`, fnc);
1360
1448
  }
1361
1449
  }
1362
1450
 
@@ -1486,6 +1574,9 @@ export class Tree {
1486
1574
  node = ArithmeticAssignmentNode.parse(node, token, tokens);
1487
1575
  } else if (tokens[0].type === TokenType.WHITESPACE) {
1488
1576
  tokens.splice(0, 1);
1577
+ } else if (tokens[0].type === TokenType.UNIT) {
1578
+ node = new UnitLiteralNode(tokens[0].value);
1579
+ tokens.splice(0, 1);
1489
1580
  } else if (tokens[0].type === TokenType.BOOLEAN_LITERAL) {
1490
1581
  node = new BooleanLiteralNode(tokens[0].value);
1491
1582
  tokens.splice(0, 1);
package/src/Attribute.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import {Tag} from "./Tag";
2
2
  import {VisionHelper} from "./helpers/VisionHelper";
3
- import {EventDispatcher} from "simple-ts-event-dispatcher";
3
+ import {EventDispatcher} from "./EventDispatcher";
4
4
 
5
5
  export enum AttributeState {
6
6
  Instantiated,
@@ -83,7 +83,7 @@ export abstract class Attribute extends EventDispatcher {
83
83
  private setState(state: AttributeState) {
84
84
  const previousState = this._state;
85
85
  this._state = state;
86
- this.trigger('state', {
86
+ this.dispatch('state', {
87
87
  state: state,
88
88
  previousState: previousState,
89
89
  attribute: this
@@ -1,5 +1,5 @@
1
- import {EventDispatcher} from "simple-ts-event-dispatcher";
2
1
  import {VisionHelper} from "./helpers/VisionHelper";
2
+ import {EventDispatcher} from "./EventDispatcher";
3
3
 
4
4
  export type ConfigurationValue = string | number | boolean | null | undefined;
5
5
 
@@ -19,11 +19,11 @@ export class Configuration extends EventDispatcher {
19
19
  public set(key: string, value: ConfigurationValue) {
20
20
  const prev: ConfigurationValue = this.data[key];
21
21
  this.data[key] = value;
22
- this.trigger(`change:${key}`, {
22
+ this.dispatch(`change:${key}`, {
23
23
  value: value,
24
24
  previous: prev
25
25
  });
26
- this.trigger('change', {
26
+ this.dispatch('change', {
27
27
  key: key,
28
28
  value: value,
29
29
  previous: prev