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
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
3
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
4
+ to[j] = from[i];
5
+ return to;
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.EventDispatcher = exports.EventCallback = void 0;
9
+ var EventCallback = /** @class */ (function () {
10
+ function EventCallback(fnc, key, once, context) {
11
+ this.fnc = fnc;
12
+ this.key = key;
13
+ this.once = once;
14
+ this.context = context;
15
+ this.calls = 0;
16
+ }
17
+ EventCallback.prototype.call = function () {
18
+ var _a;
19
+ var args = [];
20
+ for (var _i = 0; _i < arguments.length; _i++) {
21
+ args[_i] = arguments[_i];
22
+ }
23
+ if (this.once && this.calls > 0)
24
+ return false;
25
+ (_a = this.fnc).apply.apply(_a, __spreadArray([this.context], args));
26
+ this.calls += 1;
27
+ return true;
28
+ };
29
+ return EventCallback;
30
+ }());
31
+ exports.EventCallback = EventCallback;
32
+ var EventDispatcher = /** @class */ (function () {
33
+ function EventDispatcher() {
34
+ this._relays = [];
35
+ this._lastKey = 0;
36
+ this._listeners = {};
37
+ EventDispatcher.sources.push(this);
38
+ }
39
+ EventDispatcher.prototype.deconstruct = function () {
40
+ this.dispatch('deconstruct', this);
41
+ EventDispatcher.sources.splice(EventDispatcher.sources.indexOf(this), 1);
42
+ for (var k in this._listeners) {
43
+ delete this._listeners[k];
44
+ }
45
+ };
46
+ EventDispatcher.prototype.addRelay = function (relay) {
47
+ this._relays.push(relay);
48
+ };
49
+ EventDispatcher.prototype.removeRelay = function (relay) {
50
+ if (this._relays.indexOf(relay) > -1)
51
+ this._relays.splice(this._relays.indexOf(relay), 1);
52
+ };
53
+ EventDispatcher.prototype.on = function (event, fct, context, once) {
54
+ once = once || false;
55
+ this._lastKey++;
56
+ this._listeners[event] = this._listeners[event] || [];
57
+ this._listeners[event].push(new EventCallback(fct, this._lastKey, once, context));
58
+ return this._lastKey;
59
+ };
60
+ EventDispatcher.prototype.once = function (event, fct, context) {
61
+ return this.on(event, fct, context, true);
62
+ };
63
+ EventDispatcher.prototype.off = function (event, key) {
64
+ if (event in this._listeners === false)
65
+ return false;
66
+ if (key) {
67
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
68
+ var cb = _a[_i];
69
+ if (key == cb.key) {
70
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
71
+ return true;
72
+ }
73
+ }
74
+ }
75
+ else {
76
+ this._listeners[event] = [];
77
+ return true;
78
+ }
79
+ return false;
80
+ };
81
+ EventDispatcher.prototype.offWithContext = function (event, context) {
82
+ if (!(event in this._listeners))
83
+ return 0;
84
+ var toRemove = [], cnt = 0;
85
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
86
+ var cb = _a[_i];
87
+ if (context == cb.context) {
88
+ toRemove.push(cb);
89
+ }
90
+ }
91
+ for (var _b = 0, toRemove_1 = toRemove; _b < toRemove_1.length; _b++) {
92
+ var cb = toRemove_1[_b];
93
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
94
+ cnt++;
95
+ }
96
+ return cnt;
97
+ };
98
+ EventDispatcher.prototype.getListener = function (event, key) {
99
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
100
+ var cb = _a[_i];
101
+ if (key == cb.key)
102
+ return cb;
103
+ }
104
+ };
105
+ EventDispatcher.prototype.dispatch = function (event) {
106
+ var args = [];
107
+ for (var _i = 1; _i < arguments.length; _i++) {
108
+ args[_i - 1] = arguments[_i];
109
+ }
110
+ if (event in this._listeners) {
111
+ for (var i = 0; i < this._listeners[event].length; i++) {
112
+ var cb = this._listeners[event][i];
113
+ // We need to unbind callbacks before they're called to prevent
114
+ // infinite loops if the event is somehow triggered within the
115
+ // callback
116
+ if (cb.once) {
117
+ this.off(event, cb.key);
118
+ i--;
119
+ }
120
+ cb.call(args);
121
+ }
122
+ }
123
+ for (var _a = 0, _b = this._relays; _a < _b.length; _a++) {
124
+ var relay = _b[_a];
125
+ relay.dispatch.apply(relay, __spreadArray([event], args));
126
+ }
127
+ };
128
+ EventDispatcher.sources = [];
129
+ return EventDispatcher;
130
+ }());
131
+ exports.EventDispatcher = EventDispatcher;
132
+ //# sourceMappingURL=EventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../src/EventDispatcher.ts"],"names":[],"mappings":"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"}
package/dist/Formats.js CHANGED
@@ -22,8 +22,8 @@ var Formats = /** @class */ (function () {
22
22
  currency: currency
23
23
  });
24
24
  };
25
- Configuration_1.Configuration.instance.bind('change:locale', setup);
26
- Configuration_1.Configuration.instance.bind('change:currency', setup);
25
+ Configuration_1.Configuration.instance.on('change:locale', setup);
26
+ Configuration_1.Configuration.instance.on('change:currency', setup);
27
27
  setup();
28
28
  }
29
29
  value = ("" + value).replace(/[^0-9.]+/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"Formats.js","sourceRoot":"","sources":["../src/Formats.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AACpC,iDAA8C;AAE9C;IAAA;IA0BA,CAAC;IAtBiB,gBAAQ,GAAtB,UAAuB,KAAsB;QACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5B,IAAM,KAAK,GAAG;gBACV,IAAM,MAAM,GAAW,6BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAW,CAAC;gBACtE,IAAM,QAAQ,GAAW,6BAAa,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC;gBACxE,OAAO,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;oBACxD,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;YACP,CAAC,CAAC;YACF,6BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACpD,6BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACtD,KAAK,EAAE,CAAC;SACX;QACD,KAAK,GAAG,CAAA,KAAG,KAAO,CAAA,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAGa,YAAI,GAAlB,UAAmB,KAA6B;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IArBD;QADC,mBAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;iCAiB3B;IAGD;QADC,mBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;6BAGvB;IACL,cAAC;CAAA,AA1BD,IA0BC;AA1BY,0BAAO"}
1
+ {"version":3,"file":"Formats.js","sourceRoot":"","sources":["../src/Formats.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AACpC,iDAA8C;AAE9C;IAAA;IA0BA,CAAC;IAtBiB,gBAAQ,GAAtB,UAAuB,KAAsB;QACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC5B,IAAM,KAAK,GAAG;gBACV,IAAM,MAAM,GAAW,6BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAW,CAAC;gBACtE,IAAM,QAAQ,GAAW,6BAAa,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC;gBACxE,OAAO,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;oBACxD,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;YACP,CAAC,CAAC;YACF,6BAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAClD,6BAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACpD,KAAK,EAAE,CAAC;SACX;QACD,KAAK,GAAG,CAAA,KAAG,KAAO,CAAA,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAGa,YAAI,GAAlB,UAAmB,KAA6B;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IArBD;QADC,mBAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;iCAiB3B;IAGD;QADC,mBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;6BAGvB;IACL,cAAC;CAAA,AA1BD,IA0BC;AA1BY,0BAAO"}
@@ -0,0 +1,14 @@
1
+ export interface IMessageHash {
2
+ [key: string]: string[] | null | undefined;
3
+ }
4
+ export default class MessageList {
5
+ [key: string]: any;
6
+ private _cachedList;
7
+ constructor(messages?: IMessageHash);
8
+ reset(): void;
9
+ add(field: string, errors: string[] | string, replace?: boolean): void;
10
+ merge(messages: IMessageHash | null | undefined, replace?: boolean): void;
11
+ get list(): IMessageHash;
12
+ get keys(): string[];
13
+ get length(): number;
14
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var MessageList = /** @class */ (function () {
4
+ function MessageList(messages) {
5
+ this.reset();
6
+ if (messages)
7
+ this.merge(messages);
8
+ }
9
+ MessageList.prototype.reset = function () {
10
+ // Reset the object
11
+ var keys = this.keys;
12
+ this._cachedList = undefined;
13
+ if (keys.length > 0) {
14
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
15
+ var field = keys_1[_i];
16
+ delete this[field];
17
+ }
18
+ }
19
+ };
20
+ MessageList.prototype.add = function (field, errors, replace) {
21
+ var _a;
22
+ if (replace === void 0) { replace = false; }
23
+ this.merge((_a = {},
24
+ _a[field] = typeof errors == 'string' ? [errors] : errors,
25
+ _a), replace);
26
+ };
27
+ MessageList.prototype.merge = function (messages, replace) {
28
+ var _this = this;
29
+ if (replace === void 0) { replace = false; }
30
+ if (!messages)
31
+ return;
32
+ this._cachedList = undefined;
33
+ var keys = this.keys;
34
+ var _loop_1 = function (field) {
35
+ if (!messages.hasOwnProperty(field))
36
+ return "continue";
37
+ var message = messages[field];
38
+ if (message instanceof Array) {
39
+ if (!replace && keys.indexOf(field) > -1) {
40
+ message.map(function (x) {
41
+ _this[field].push(x);
42
+ });
43
+ }
44
+ else if (message.length > 0) {
45
+ this_1[field] = message;
46
+ }
47
+ }
48
+ };
49
+ var this_1 = this;
50
+ for (var field in messages) {
51
+ _loop_1(field);
52
+ }
53
+ };
54
+ Object.defineProperty(MessageList.prototype, "list", {
55
+ get: function () {
56
+ if (this._cachedList)
57
+ return this._cachedList;
58
+ var list = {}, keys = this.keys;
59
+ for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
60
+ var field = keys_2[_i];
61
+ list[field] = this[field];
62
+ }
63
+ this._cachedList = list;
64
+ return list;
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
69
+ Object.defineProperty(MessageList.prototype, "keys", {
70
+ get: function () {
71
+ var keys = Object.keys(this);
72
+ keys.splice(keys.indexOf('_cachedList'), 1);
73
+ return keys;
74
+ },
75
+ enumerable: false,
76
+ configurable: true
77
+ });
78
+ Object.defineProperty(MessageList.prototype, "length", {
79
+ get: function () {
80
+ return this.keys.length;
81
+ },
82
+ enumerable: false,
83
+ configurable: true
84
+ });
85
+ return MessageList;
86
+ }());
87
+ exports.default = MessageList;
88
+ //# sourceMappingURL=MessageList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../src/MessageList.ts"],"names":[],"mappings":";;AAIA;IAKI,qBAAY,QAAuB;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,QAAQ;YACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,2BAAK,GAAL;QACI,mBAAmB;QACnB,IAAM,IAAI,GAAa,IAAI,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,KAAoB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;gBAArB,IAAM,KAAK,aAAA;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;aACtB;SACJ;IACL,CAAC;IAED,yBAAG,GAAH,UAAI,KAAa,EAAE,MAAyB,EAAE,OAAwB;;QAAxB,wBAAA,EAAA,eAAwB;QAClE,IAAI,CAAC,KAAK;YACN,GAAC,KAAK,IAAG,OAAO,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;iBACvD,OAAO,CAAC,CAAC;IAChB,CAAC;IAED,2BAAK,GAAL,UAAM,QAAyC,EAAE,OAAwB;QAAzE,iBAqBC;QArBgD,wBAAA,EAAA,eAAwB;QACrE,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,IAAM,IAAI,GAAa,IAAI,CAAC,IAAI,CAAC;gCACtB,KAAK;YACZ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;kCACtB;YACb,IAAM,OAAO,GAAgC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE7D,IAAI,OAAO,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC;wBACV,KAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;qBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAK,KAAK,CAAC,GAAG,OAAO,CAAC;iBACzB;aACJ;;;QAbL,KAAK,IAAM,KAAK,IAAI,QAAQ;oBAAjB,KAAK;SAcf;IACL,CAAC;IAED,sBAAI,6BAAI;aAAR;YACI,IAAI,IAAI,CAAC,WAAW;gBAChB,OAAO,IAAI,CAAC,WAAW,CAAC;YAE5B,IAAM,IAAI,GAAiB,EAAE,EACzB,IAAI,GAAa,IAAI,CAAC,IAAI,CAAC;YAE/B,KAAoB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;gBAArB,IAAM,KAAK,aAAA;gBACZ,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAED,sBAAI,6BAAI;aAAR;YACI,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAED,sBAAI,+BAAM;aAAV;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;;;OAAA;IACL,kBAAC;AAAD,CAAC,AA5ED,IA4EC"}
@@ -0,0 +1,8 @@
1
+ import { IPropertyConfig, Property } from "../Scope/properties/Property";
2
+ export interface IFieldConfig extends IPropertyConfig {
3
+ validators?: string[];
4
+ }
5
+ export declare class Field extends Property {
6
+ config: IFieldConfig;
7
+ validate(): any[];
8
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Field = void 0;
19
+ var Property_1 = require("../Scope/properties/Property");
20
+ var Registry_1 = require("../Registry");
21
+ var Field = /** @class */ (function (_super) {
22
+ __extends(Field, _super);
23
+ function Field() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ Field.prototype.validate = function () {
27
+ var errors = [];
28
+ for (var _i = 0, _a = this.config.validators || []; _i < _a.length; _i++) {
29
+ var validatorName = _a[_i];
30
+ var validator = Registry_1.Registry.instance.validators.getSynchronous(validatorName);
31
+ errors.concat(validator(this.value));
32
+ }
33
+ return errors;
34
+ };
35
+ return Field;
36
+ }(Property_1.Property));
37
+ exports.Field = Field;
38
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/Model/Field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAuE;AACvE,wCAAqC;AAMrC;IAA2B,yBAAQ;IAAnC;;IAYA,CAAC;IATG,wBAAQ,GAAR;QACI,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAA2B,UAA4B,EAA5B,KAAA,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;YAArD,IAAM,aAAa,SAAA;YACnB,IAAM,SAAS,GAAG,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAC7E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IACL,YAAC;AAAD,CAAC,AAZD,CAA2B,mBAAQ,GAYlC;AAZY,sBAAK"}
@@ -0,0 +1,12 @@
1
+ import MessageList from "./MessageList";
2
+ import { ScopeData } from "./Scope/ScopeData";
3
+ import { IScopeData } from "./Scope/ScopeDataAbstract";
4
+ export declare class Model extends ScopeData {
5
+ _errors: MessageList;
6
+ _hasErrors: boolean;
7
+ constructor(data?: IScopeData | null | undefined);
8
+ _constructor(): void;
9
+ validate(): MessageList;
10
+ hasErrors(): boolean;
11
+ get errors(): MessageList;
12
+ }
package/dist/Model.js ADDED
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Model = void 0;
19
+ var MessageList_1 = require("./MessageList");
20
+ var ScopeData_1 = require("./Scope/ScopeData");
21
+ var Model = /** @class */ (function (_super) {
22
+ __extends(Model, _super);
23
+ function Model(data) {
24
+ if (data === void 0) { data = null; }
25
+ var _this = _super.call(this) || this;
26
+ _this._hasErrors = false;
27
+ if (data)
28
+ _this.setData(data);
29
+ _this._lastData = _this.getData();
30
+ _this._constructor();
31
+ return _this;
32
+ }
33
+ Model.prototype._constructor = function () { };
34
+ Model.prototype.validate = function () {
35
+ this._hasErrors = false;
36
+ this._errors = new MessageList_1.default;
37
+ for (var _i = 0, _a = this.getProperties(); _i < _a.length; _i++) {
38
+ var property = _a[_i];
39
+ var errors = this['__' + property].validate();
40
+ if (errors.length > 0) {
41
+ this._errors.add(property, errors, true);
42
+ this._hasErrors = true;
43
+ }
44
+ }
45
+ return this._errors;
46
+ };
47
+ Model.prototype.hasErrors = function () {
48
+ this.validate();
49
+ return this._hasErrors;
50
+ };
51
+ Object.defineProperty(Model.prototype, "errors", {
52
+ get: function () {
53
+ return this._errors;
54
+ },
55
+ enumerable: false,
56
+ configurable: true
57
+ });
58
+ return Model;
59
+ }(ScopeData_1.ScopeData));
60
+ exports.Model = Model;
61
+ //# sourceMappingURL=Model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.js","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,+CAA4C;AAI5C;IAA2B,yBAAS;IAIhC,eAAY,IAA0C;QAA1C,qBAAA,EAAA,WAA0C;QAAtD,YACI,iBAAO,SAOV;QALG,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI;YACJ,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,EAAE,CAAC;QAChC,KAAI,CAAC,YAAY,EAAE,CAAC;;IACxB,CAAC;IAED,4BAAY,GAAZ,cAAgB,CAAC;IAEjB,wBAAQ,GAAR;QACI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAW,CAAC;QAC/B,KAAsB,UAAoB,EAApB,KAAA,IAAI,CAAC,aAAa,EAAE,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAxC,IAAM,QAAQ,SAAA;YACd,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC1B;SACJ;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,yBAAS,GAAT;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,sBAAI,yBAAM;aAAV;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;;;OAAA;IACL,YAAC;AAAD,CAAC,AArCD,CAA2B,qBAAS,GAqCnC;AArCY,sBAAK"}
@@ -1,5 +1,5 @@
1
- import { EventDispatcher } from "simple-ts-event-dispatcher";
2
- import { IPromise } from "simple-ts-promise";
1
+ import { EventDispatcher } from "./EventDispatcher";
2
+ import { IPromise } from "./SimplePromise";
3
3
  export declare function register(store: string, key?: string, setup?: () => void): (target: any, _key?: string) => void;
4
4
  export declare class RegistryStore extends EventDispatcher {
5
5
  private timeouts;
@@ -15,13 +15,16 @@ export declare class Registry extends EventDispatcher {
15
15
  readonly models: RegistryStore;
16
16
  readonly templates: RegistryStore;
17
17
  readonly types: RegistryStore;
18
+ readonly validators: RegistryStore;
18
19
  readonly formats: RegistryStore;
19
20
  readonly attributes: RegistryStore;
20
21
  constructor();
21
22
  static class(key?: string, setup?: any): (target: any, _key?: string) => void;
23
+ static controller(key?: string, setup?: any): (target: any, _key?: string) => void;
22
24
  static model(key?: string, setup?: any): (target: any, _key?: string) => void;
23
25
  static template(key?: string, setup?: any): (target: any, _key?: string) => void;
24
26
  static type(key?: string, setup?: any): (target: any, _key?: string) => void;
27
+ static validator(key?: string, setup?: any): (target: any, _key?: string) => void;
25
28
  static format(key?: string, setup?: any): (target: any, _key?: string) => void;
26
29
  static attribute(attributeName?: string, setup?: any): (target: any, _key?: string) => void;
27
30
  static get instance(): Registry;
package/dist/Registry.js CHANGED
@@ -14,18 +14,11 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
- return c > 3 && r && Object.defineProperty(target, key, r), r;
22
- };
23
17
  Object.defineProperty(exports, "__esModule", { value: true });
24
18
  exports.Registry = exports.RegistryStore = exports.register = void 0;
25
- var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
26
- var simple_ts_promise_1 = require("simple-ts-promise");
27
19
  var VisionHelper_1 = require("./helpers/VisionHelper");
28
- var Bencmark_1 = require("./Bencmark");
20
+ var EventDispatcher_1 = require("./EventDispatcher");
21
+ var SimplePromise_1 = require("./SimplePromise");
29
22
  function register(store, key, setup) {
30
23
  if (key === void 0) { key = null; }
31
24
  if (setup === void 0) { setup = null; }
@@ -51,11 +44,11 @@ var RegistryStore = /** @class */ (function (_super) {
51
44
  }
52
45
  RegistryStore.prototype.register = function (key, item) {
53
46
  this.store[key] = item;
54
- this.trigger("registered:" + key, item);
47
+ this.dispatch("registered:" + key, item);
55
48
  };
56
49
  RegistryStore.prototype.get = function (key) {
57
50
  var _this = this;
58
- var deferred = simple_ts_promise_1.Promise.defer();
51
+ var deferred = SimplePromise_1.SimplePromise.defer();
59
52
  if (!!this.store[key]) {
60
53
  deferred.resolve(this.store[key]);
61
54
  }
@@ -74,11 +67,8 @@ var RegistryStore = /** @class */ (function (_super) {
74
67
  RegistryStore.prototype.getSynchronous = function (key) {
75
68
  return this.store[key];
76
69
  };
77
- __decorate([
78
- Bencmark_1.benchmark('RegistryStore.get')
79
- ], RegistryStore.prototype, "get", null);
80
70
  return RegistryStore;
81
- }(simple_ts_event_dispatcher_1.EventDispatcher));
71
+ }(EventDispatcher_1.EventDispatcher));
82
72
  exports.RegistryStore = RegistryStore;
83
73
  var Registry = /** @class */ (function (_super) {
84
74
  __extends(Registry, _super);
@@ -89,6 +79,7 @@ var Registry = /** @class */ (function (_super) {
89
79
  _this.models = new RegistryStore(w['$models'] || {});
90
80
  _this.templates = new RegistryStore(w['$templates'] || {});
91
81
  _this.types = new RegistryStore(w['$types'] || {});
82
+ _this.validators = new RegistryStore(w['$validators'] || {});
92
83
  _this.formats = new RegistryStore(w['$formats'] || {});
93
84
  _this.attributes = new RegistryStore(w['$attributes'] || {});
94
85
  return _this;
@@ -98,6 +89,11 @@ var Registry = /** @class */ (function (_super) {
98
89
  if (setup === void 0) { setup = null; }
99
90
  return register('classes', key, setup);
100
91
  };
92
+ Registry.controller = function (key, setup) {
93
+ if (key === void 0) { key = null; }
94
+ if (setup === void 0) { setup = null; }
95
+ return register('classes', key, setup);
96
+ };
101
97
  Registry.model = function (key, setup) {
102
98
  if (key === void 0) { key = null; }
103
99
  if (setup === void 0) { setup = null; }
@@ -113,6 +109,11 @@ var Registry = /** @class */ (function (_super) {
113
109
  if (setup === void 0) { setup = null; }
114
110
  return register('types', key, setup);
115
111
  };
112
+ Registry.validator = function (key, setup) {
113
+ if (key === void 0) { key = null; }
114
+ if (setup === void 0) { setup = null; }
115
+ return register('validators', key, setup);
116
+ };
116
117
  Registry.format = function (key, setup) {
117
118
  if (key === void 0) { key = null; }
118
119
  if (setup === void 0) { setup = null; }
@@ -133,6 +134,6 @@ var Registry = /** @class */ (function (_super) {
133
134
  configurable: true
134
135
  });
135
136
  return Registry;
136
- }(simple_ts_event_dispatcher_1.EventDispatcher));
137
+ }(EventDispatcher_1.EventDispatcher));
137
138
  exports.Registry = Registry;
138
139
  //# sourceMappingURL=Registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IScopeData, ScopeDataAbstract } from "./ScopeDataAbstract";
2
+ export declare class DynamicScopeData extends ScopeDataAbstract {
3
+ constructor(data: IScopeData | string[]);
4
+ setData(data: IScopeData): void;
5
+ on(event: string, fct: (...args: any[]) => any, context?: any, once?: boolean): number;
6
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DynamicScopeData = void 0;
19
+ var ScopeDataAbstract_1 = require("./ScopeDataAbstract");
20
+ var DynamicScopeData = /** @class */ (function (_super) {
21
+ __extends(DynamicScopeData, _super);
22
+ function DynamicScopeData(data) {
23
+ var _this = _super.call(this) || this;
24
+ if (data instanceof Array) {
25
+ _this.__properties__ = data;
26
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
27
+ var field = data_1[_i];
28
+ _this.createProperty(field);
29
+ }
30
+ }
31
+ else {
32
+ _this.setData(data);
33
+ }
34
+ return _this;
35
+ }
36
+ DynamicScopeData.prototype.setData = function (data) {
37
+ for (var _i = 0, _a = Object.keys(data); _i < _a.length; _i++) {
38
+ var field = _a[_i];
39
+ if (this.__properties__.indexOf(field) == -1) {
40
+ this.__properties__.push(field);
41
+ this.createProperty(field);
42
+ }
43
+ }
44
+ _super.prototype.setData.call(this, data);
45
+ };
46
+ DynamicScopeData.prototype.on = function (event, fct, context, once) {
47
+ if (event.indexOf('change:') == 0)
48
+ this.createProperty(event.substr(7));
49
+ return _super.prototype.on.call(this, event, fct, context, once);
50
+ };
51
+ return DynamicScopeData;
52
+ }(ScopeDataAbstract_1.ScopeDataAbstract));
53
+ exports.DynamicScopeData = DynamicScopeData;
54
+ //# sourceMappingURL=DynamicScopeData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicScopeData.js","sourceRoot":"","sources":["../../src/Scope/DynamicScopeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAkE;AAElE;IAAsC,oCAAiB;IACnD,0BAAY,IAA2B;QAAvC,YACI,iBAAO,SAQV;QAPG,IAAG,IAAI,YAAY,KAAK,EAAE;YACtB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,KAAoB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAnB,IAAM,KAAK,aAAA;gBACZ,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAAA;SAClC;aAAM;YACH,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB;;IACL,CAAC;IAED,kCAAO,GAAP,UAAQ,IAAgB;QACpB,KAAmB,UAAiB,EAAjB,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAjB,cAAiB,EAAjB,IAAiB;YAAhC,IAAM,KAAK,SAAA;YACX,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC9B;SAAA;QACL,iBAAM,OAAO,YAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,6BAAE,GAAF,UAAG,KAAa,EAAE,GAA4B,EAAE,OAAa,EAAE,IAAc;QACzE,IAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,iBAAM,EAAE,YAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACL,uBAAC;AAAD,CAAC,AA1BD,CAAsC,qCAAiB,GA0BtD;AA1BY,4CAAgB"}
@@ -0,0 +1,10 @@
1
+ import { Scope } from "../Scope";
2
+ import { ScopeReference } from "./ScopeReference";
3
+ export declare class QueryReference extends ScopeReference {
4
+ readonly path: string;
5
+ readonly scope: Scope;
6
+ constructor(path: string, scope: Scope);
7
+ getScope(): Promise<any>;
8
+ getKey(): Promise<string>;
9
+ getValue(): Promise<any>;
10
+ }