vsn 0.1.26 → 0.1.29

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 (303) hide show
  1. package/demo/vsn.js +1 -1
  2. package/dist/AST/ArithmeticAssignmentNode.d.ts +23 -0
  3. package/dist/AST/ArithmeticAssignmentNode.js +313 -0
  4. package/dist/AST/ArithmeticAssignmentNode.js.map +1 -0
  5. package/dist/AST/ArithmeticNode.d.ts +15 -0
  6. package/dist/AST/ArithmeticNode.js +114 -0
  7. package/dist/AST/ArithmeticNode.js.map +1 -0
  8. package/dist/AST/ArrayNode.d.ts +14 -0
  9. package/dist/AST/ArrayNode.js +114 -0
  10. package/dist/AST/ArrayNode.js.map +1 -0
  11. package/dist/AST/BlockNode.d.ts +11 -0
  12. package/dist/AST/BlockNode.js +98 -0
  13. package/dist/AST/BlockNode.js.map +1 -0
  14. package/dist/AST/BooleanLiteralNode.d.ts +5 -0
  15. package/dist/AST/BooleanLiteralNode.js +31 -0
  16. package/dist/AST/BooleanLiteralNode.js.map +1 -0
  17. package/dist/AST/ComparisonNode.d.ts +15 -0
  18. package/dist/AST/ComparisonNode.js +120 -0
  19. package/dist/AST/ComparisonNode.js.map +1 -0
  20. package/dist/AST/ConditionalNode.d.ts +13 -0
  21. package/dist/AST/ConditionalNode.js +95 -0
  22. package/dist/AST/ConditionalNode.js.map +1 -0
  23. package/dist/AST/ElementAttributeNode.d.ts +18 -0
  24. package/dist/AST/ElementAttributeNode.js +159 -0
  25. package/dist/AST/ElementAttributeNode.js.map +1 -0
  26. package/dist/AST/ElementQueryNode.d.ts +12 -0
  27. package/dist/AST/ElementQueryNode.js +111 -0
  28. package/dist/AST/ElementQueryNode.js.map +1 -0
  29. package/dist/AST/ElementStyleNode.d.ts +18 -0
  30. package/dist/AST/ElementStyleNode.js +159 -0
  31. package/dist/AST/ElementStyleNode.js.map +1 -0
  32. package/dist/AST/ForStatementNode.d.ts +17 -0
  33. package/dist/AST/ForStatementNode.js +121 -0
  34. package/dist/AST/ForStatementNode.js.map +1 -0
  35. package/dist/AST/FunctionArgumentNode.d.ts +11 -0
  36. package/dist/AST/FunctionArgumentNode.js +100 -0
  37. package/dist/AST/FunctionArgumentNode.js.map +1 -0
  38. package/dist/AST/FunctionCallNode.d.ts +13 -0
  39. package/dist/AST/FunctionCallNode.js +102 -0
  40. package/dist/AST/FunctionCallNode.js.map +1 -0
  41. package/dist/AST/IfStatementNode.d.ts +14 -0
  42. package/dist/AST/IfStatementNode.js +128 -0
  43. package/dist/AST/IfStatementNode.js.map +1 -0
  44. package/dist/AST/InNode.d.ts +15 -0
  45. package/dist/AST/InNode.js +107 -0
  46. package/dist/AST/InNode.js.map +1 -0
  47. package/dist/AST/IndexNode.d.ts +16 -0
  48. package/dist/AST/IndexNode.js +126 -0
  49. package/dist/AST/IndexNode.js.map +1 -0
  50. package/dist/AST/LiteralNode.d.ts +10 -0
  51. package/dist/AST/LiteralNode.js +74 -0
  52. package/dist/AST/LiteralNode.js.map +1 -0
  53. package/dist/AST/Node.d.ts +19 -0
  54. package/dist/AST/Node.js +117 -0
  55. package/dist/AST/Node.js.map +1 -0
  56. package/dist/AST/NotNode.d.ts +12 -0
  57. package/dist/AST/NotNode.js +103 -0
  58. package/dist/AST/NotNode.js.map +1 -0
  59. package/dist/AST/NumberLiteralNode.d.ts +5 -0
  60. package/dist/AST/NumberLiteralNode.js +36 -0
  61. package/dist/AST/NumberLiteralNode.js.map +1 -0
  62. package/dist/AST/ObjectNode.d.ts +14 -0
  63. package/dist/AST/ObjectNode.js +131 -0
  64. package/dist/AST/ObjectNode.js.map +1 -0
  65. package/dist/AST/RootScopeMemberNode.d.ts +11 -0
  66. package/dist/AST/RootScopeMemberNode.js +87 -0
  67. package/dist/AST/RootScopeMemberNode.js.map +1 -0
  68. package/dist/AST/ScopeMemberNode.d.ts +12 -0
  69. package/dist/AST/ScopeMemberNode.js +128 -0
  70. package/dist/AST/ScopeMemberNode.js.map +1 -0
  71. package/dist/AST/UnitLiteralNode.d.ts +15 -0
  72. package/dist/AST/UnitLiteralNode.js +72 -0
  73. package/dist/AST/UnitLiteralNode.js.map +1 -0
  74. package/dist/AST.d.ts +7 -60
  75. package/dist/AST.js +778 -0
  76. package/dist/AST.js.map +1 -0
  77. package/dist/Attribute.d.ts +1 -1
  78. package/dist/Attribute.js +187 -0
  79. package/dist/Attribute.js.map +1 -0
  80. package/dist/Bencmark.js +179 -0
  81. package/dist/Bencmark.js.map +1 -0
  82. package/dist/Configuration.d.ts +1 -1
  83. package/dist/Configuration.js +64 -0
  84. package/dist/Configuration.js.map +1 -0
  85. package/dist/Controller.d.ts +4 -2
  86. package/dist/Controller.js +62 -0
  87. package/dist/Controller.js.map +1 -0
  88. package/dist/DOM/DOMObject.d.ts +1 -1
  89. package/dist/DOM/DOMObject.js +47 -0
  90. package/dist/DOM/DOMObject.js.map +1 -0
  91. package/dist/DOM/WrappedDocument.js +34 -0
  92. package/dist/DOM/WrappedDocument.js.map +1 -0
  93. package/dist/DOM/WrappedWindow.js +45 -0
  94. package/dist/DOM/WrappedWindow.js.map +1 -0
  95. package/dist/DOM.d.ts +1 -1
  96. package/dist/DOM.js +547 -0
  97. package/dist/DOM.js.map +1 -0
  98. package/dist/EventDispatcher.d.ts +29 -0
  99. package/dist/EventDispatcher.js +132 -0
  100. package/dist/EventDispatcher.js.map +1 -0
  101. package/dist/Formats.js +44 -0
  102. package/dist/Formats.js.map +1 -0
  103. package/dist/MessageList.d.ts +15 -0
  104. package/dist/MessageList.js +96 -0
  105. package/dist/MessageList.js.map +1 -0
  106. package/dist/Model/Field.d.ts +8 -0
  107. package/dist/Model/Field.js +38 -0
  108. package/dist/Model/Field.js.map +1 -0
  109. package/dist/Model.d.ts +12 -0
  110. package/dist/Model.js +61 -0
  111. package/dist/Model.js.map +1 -0
  112. package/dist/Query.js +66 -0
  113. package/dist/Query.js.map +1 -0
  114. package/dist/Registry.d.ts +5 -2
  115. package/dist/Registry.js +139 -0
  116. package/dist/Registry.js.map +1 -0
  117. package/dist/Scope/DynamicScopeData.d.ts +6 -0
  118. package/dist/Scope/DynamicScopeData.js +54 -0
  119. package/dist/Scope/DynamicScopeData.js.map +1 -0
  120. package/dist/Scope/QueryReference.d.ts +10 -0
  121. package/dist/Scope/QueryReference.js +103 -0
  122. package/dist/Scope/QueryReference.js.map +1 -0
  123. package/dist/Scope/ScopeData.d.ts +4 -0
  124. package/dist/Scope/ScopeData.js +40 -0
  125. package/dist/Scope/ScopeData.js.map +1 -0
  126. package/dist/Scope/ScopeDataAbstract.d.ts +22 -0
  127. package/dist/Scope/ScopeDataAbstract.js +137 -0
  128. package/dist/Scope/ScopeDataAbstract.js.map +1 -0
  129. package/dist/Scope/ScopeReference.d.ts +10 -0
  130. package/dist/Scope/ScopeReference.js +73 -0
  131. package/dist/Scope/ScopeReference.js.map +1 -0
  132. package/dist/Scope/ScopedVariableType.d.ts +6 -0
  133. package/dist/Scope/ScopedVariableType.js +14 -0
  134. package/dist/Scope/ScopedVariableType.js.map +1 -0
  135. package/dist/Scope/WrappedArray.d.ts +16 -0
  136. package/dist/Scope/WrappedArray.js +121 -0
  137. package/dist/Scope/WrappedArray.js.map +1 -0
  138. package/dist/Scope/properties/Property.d.ts +18 -0
  139. package/dist/Scope/properties/Property.js +93 -0
  140. package/dist/Scope/properties/Property.js.map +1 -0
  141. package/dist/Scope.d.ts +4 -48
  142. package/dist/Scope.js +227 -0
  143. package/dist/Scope.js.map +1 -0
  144. package/dist/SimplePromise.d.ts +42 -0
  145. package/dist/SimplePromise.js +217 -0
  146. package/dist/SimplePromise.js.map +1 -0
  147. package/dist/Tag/List.js +85 -0
  148. package/dist/Tag/List.js.map +1 -0
  149. package/dist/Tag.js +770 -0
  150. package/dist/Tag.js.map +1 -0
  151. package/dist/Types.d.ts +1 -0
  152. package/dist/Types.js +54 -0
  153. package/dist/Types.js.map +1 -0
  154. package/dist/Validators.d.ts +7 -0
  155. package/dist/Validators.js +54 -0
  156. package/dist/Validators.js.map +1 -0
  157. package/dist/attributes/AddClassIf.js +93 -0
  158. package/dist/attributes/AddClassIf.js.map +1 -0
  159. package/dist/attributes/Bind.js +272 -0
  160. package/dist/attributes/Bind.js.map +1 -0
  161. package/dist/attributes/ClassConstructor.d.ts +1 -0
  162. package/dist/attributes/ClassConstructor.js +104 -0
  163. package/dist/attributes/ClassConstructor.js.map +1 -0
  164. package/dist/attributes/ClickRemoveClass.js +114 -0
  165. package/dist/attributes/ClickRemoveClass.js.map +1 -0
  166. package/dist/attributes/ClickToggleClass.js +114 -0
  167. package/dist/attributes/ClickToggleClass.js.map +1 -0
  168. package/dist/attributes/ControllerAttribute.js +28 -0
  169. package/dist/attributes/ControllerAttribute.js.map +1 -0
  170. package/dist/attributes/DisableIf.js +94 -0
  171. package/dist/attributes/DisableIf.js.map +1 -0
  172. package/dist/attributes/Exec.js +108 -0
  173. package/dist/attributes/Exec.js.map +1 -0
  174. package/dist/attributes/Format.js +99 -0
  175. package/dist/attributes/Format.js.map +1 -0
  176. package/dist/attributes/If.js +159 -0
  177. package/dist/attributes/If.js.map +1 -0
  178. package/dist/attributes/JSONAttribute.js +118 -0
  179. package/dist/attributes/JSONAttribute.js.map +1 -0
  180. package/dist/attributes/KeyAbstract.js +117 -0
  181. package/dist/attributes/KeyAbstract.js.map +1 -0
  182. package/dist/attributes/KeyDown.js +88 -0
  183. package/dist/attributes/KeyDown.js.map +1 -0
  184. package/dist/attributes/KeyUp.js +88 -0
  185. package/dist/attributes/KeyUp.js.map +1 -0
  186. package/dist/attributes/List.js +282 -0
  187. package/dist/attributes/List.js.map +1 -0
  188. package/dist/attributes/ListItem.js +138 -0
  189. package/dist/attributes/ListItem.js.map +1 -0
  190. package/dist/attributes/ListItemModel.js +39 -0
  191. package/dist/attributes/ListItemModel.js.map +1 -0
  192. package/dist/attributes/ModelAttribute.js +29 -0
  193. package/dist/attributes/ModelAttribute.js.map +1 -0
  194. package/dist/attributes/Name.js +88 -0
  195. package/dist/attributes/Name.js.map +1 -0
  196. package/dist/attributes/On.js +135 -0
  197. package/dist/attributes/On.js.map +1 -0
  198. package/dist/attributes/Radio.js +174 -0
  199. package/dist/attributes/Radio.js.map +1 -0
  200. package/dist/attributes/Referenced.js +38 -0
  201. package/dist/attributes/Referenced.js.map +1 -0
  202. package/dist/attributes/RootAttribute.js +91 -0
  203. package/dist/attributes/RootAttribute.js.map +1 -0
  204. package/dist/attributes/ScopeAttribute.js +40 -0
  205. package/dist/attributes/ScopeAttribute.js.map +1 -0
  206. package/dist/attributes/ScopeChange.js +130 -0
  207. package/dist/attributes/ScopeChange.js.map +1 -0
  208. package/dist/attributes/SetAttribute.js +133 -0
  209. package/dist/attributes/SetAttribute.js.map +1 -0
  210. package/dist/attributes/StandardAttribute.js +186 -0
  211. package/dist/attributes/StandardAttribute.js.map +1 -0
  212. package/dist/attributes/StyleAttribute.js +183 -0
  213. package/dist/attributes/StyleAttribute.js.map +1 -0
  214. package/dist/attributes/Template.js +39 -0
  215. package/dist/attributes/Template.js.map +1 -0
  216. package/dist/attributes/TypeAttribute.js +104 -0
  217. package/dist/attributes/TypeAttribute.js.map +1 -0
  218. package/dist/attributes/_imports.js +60 -0
  219. package/dist/attributes/_imports.js.map +1 -0
  220. package/dist/helpers/DOMHelper.js +81 -0
  221. package/dist/helpers/DOMHelper.js.map +1 -0
  222. package/dist/helpers/ElementHelper.js +25 -0
  223. package/dist/helpers/ElementHelper.js.map +1 -0
  224. package/dist/helpers/VisionHelper.js +71 -0
  225. package/dist/helpers/VisionHelper.js.map +1 -0
  226. package/dist/helpers/decorators.js +38 -0
  227. package/dist/helpers/decorators.js.map +1 -0
  228. package/dist/vsn.d.ts +11 -2
  229. package/dist/vsn.js +181 -0
  230. package/dist/vsn.js.map +1 -0
  231. package/package.json +2 -6
  232. package/src/AST/ArithmeticAssignmentNode.ts +236 -0
  233. package/src/AST/ArithmeticNode.ts +52 -0
  234. package/src/AST/ArrayNode.ts +39 -0
  235. package/src/AST/BlockNode.ts +25 -0
  236. package/src/AST/BooleanLiteralNode.ts +10 -0
  237. package/src/AST/ComparisonNode.ts +57 -0
  238. package/src/AST/ConditionalNode.ts +36 -0
  239. package/src/AST/ElementAttributeNode.ts +63 -0
  240. package/src/AST/ElementQueryNode.ts +25 -0
  241. package/src/AST/ElementStyleNode.ts +63 -0
  242. package/src/AST/ForStatementNode.ts +59 -0
  243. package/src/AST/FunctionArgumentNode.ts +27 -0
  244. package/src/AST/FunctionCallNode.ts +32 -0
  245. package/src/AST/IfStatementNode.ts +67 -0
  246. package/src/AST/InNode.ts +46 -0
  247. package/src/AST/IndexNode.ts +61 -0
  248. package/src/AST/LiteralNode.ts +17 -0
  249. package/src/AST/Node.ts +71 -0
  250. package/src/AST/NotNode.ts +41 -0
  251. package/src/AST/NumberLiteralNode.ts +14 -0
  252. package/src/AST/ObjectNode.ts +55 -0
  253. package/src/AST/RootScopeMemberNode.ts +25 -0
  254. package/src/AST/ScopeMemberNode.ts +53 -0
  255. package/src/AST/UnitLiteralNode.ts +51 -0
  256. package/src/AST.ts +34 -1094
  257. package/src/Attribute.ts +2 -2
  258. package/src/Configuration.ts +3 -3
  259. package/src/Controller.ts +10 -2
  260. package/src/DOM/DOMObject.ts +1 -1
  261. package/src/DOM.ts +3 -3
  262. package/src/EventDispatcher.ts +134 -0
  263. package/src/Formats.ts +2 -2
  264. package/src/MessageList.ts +85 -0
  265. package/src/Model/Field.ts +20 -0
  266. package/src/Model.ts +43 -0
  267. package/src/Registry.ts +13 -3
  268. package/src/Scope/DynamicScopeData.ts +29 -0
  269. package/src/Scope/QueryReference.ts +29 -0
  270. package/src/Scope/ScopeData.ts +21 -0
  271. package/src/Scope/ScopeDataAbstract.ts +126 -0
  272. package/src/Scope/ScopeReference.ts +30 -0
  273. package/src/Scope/ScopedVariableType.ts +7 -0
  274. package/src/Scope/WrappedArray.ts +88 -0
  275. package/src/Scope/properties/Property.ts +79 -0
  276. package/src/Scope.ts +31 -252
  277. package/src/SimplePromise.ts +219 -0
  278. package/src/Tag.ts +3 -3
  279. package/src/Types.ts +6 -1
  280. package/src/Validators.ts +45 -0
  281. package/src/attributes/Bind.ts +4 -4
  282. package/src/attributes/ClassConstructor.ts +2 -1
  283. package/src/attributes/JSONAttribute.ts +2 -1
  284. package/src/attributes/List.ts +4 -4
  285. package/src/attributes/Radio.ts +3 -2
  286. package/src/attributes/ScopeChange.ts +2 -2
  287. package/src/attributes/SetAttribute.ts +2 -1
  288. package/src/attributes/StandardAttribute.ts +1 -1
  289. package/src/attributes/StyleAttribute.ts +3 -2
  290. package/src/attributes/TypeAttribute.ts +1 -1
  291. package/src/vsn.ts +16 -5
  292. package/test/AST/ArithmeticAssignmentNode.spec.ts +47 -0
  293. package/test/AST.spec.ts +3 -2
  294. package/test/Controller.spec.ts +44 -0
  295. package/test/MessageList.spec.ts +101 -0
  296. package/test/Model/DataModel.spec.ts +0 -0
  297. package/test/Scope/DynamicScopeData.spec.ts +141 -0
  298. package/test/Scope.spec.ts +15 -3
  299. package/test/SimplePromise.spec.ts +271 -0
  300. package/test/Tag/TagList.spec.ts +1 -1
  301. package/test/attributes/Bind.spec.ts +5 -5
  302. package/test/attributes/ListItem.spec.ts +1 -1
  303. package/dist/vsn.min.js +0 -1
@@ -0,0 +1,217 @@
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.SimplePromise = exports.noop = exports.EPromiseStates = void 0;
19
+ var EventDispatcher_1 = require("./EventDispatcher");
20
+ var EPromiseStates;
21
+ (function (EPromiseStates) {
22
+ EPromiseStates[EPromiseStates["PENDING"] = 0] = "PENDING";
23
+ EPromiseStates[EPromiseStates["FULFILLED"] = 1] = "FULFILLED";
24
+ EPromiseStates[EPromiseStates["REJECTED"] = 2] = "REJECTED";
25
+ })(EPromiseStates = exports.EPromiseStates || (exports.EPromiseStates = {}));
26
+ function noop(result) { return result; }
27
+ exports.noop = noop;
28
+ var SimplePromise = /** @class */ (function (_super) {
29
+ __extends(SimplePromise, _super);
30
+ function SimplePromise(executor) {
31
+ var _this = _super.call(this) || this;
32
+ _this._result = null;
33
+ _this._state = EPromiseStates.PENDING;
34
+ _this.promiseClass = (Object.getPrototypeOf(_this).constructor);
35
+ try {
36
+ executor(_this._resolve.bind(_this), _this._reject.bind(_this));
37
+ }
38
+ catch (e) {
39
+ _this._reject(e);
40
+ }
41
+ return _this;
42
+ }
43
+ Object.defineProperty(SimplePromise.prototype, "state", {
44
+ get: function () {
45
+ return this._state;
46
+ },
47
+ enumerable: false,
48
+ configurable: true
49
+ });
50
+ Object.defineProperty(SimplePromise.prototype, "result", {
51
+ get: function () {
52
+ return this._result;
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ SimplePromise.defer = function () {
58
+ var promise = new SimplePromise(function (res, rej) { });
59
+ return {
60
+ promise: promise,
61
+ resolve: promise._resolve.bind(promise),
62
+ reject: promise._reject.bind(promise)
63
+ };
64
+ };
65
+ /*
66
+ * Returns a Promise object that is resolved with the given value. If the value is a thenable (i.e. has a then
67
+ * method), the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned
68
+ * promise will be fulfilled with the value. Generally, if you don't know if a value is a promise or not,
69
+ * Promise.resolve(value) it instead and work with the return value as a promise.
70
+ */
71
+ SimplePromise.resolve = function (result) {
72
+ return new SimplePromise(function (resolve) {
73
+ if (result instanceof SimplePromise) {
74
+ result.then(function (innerResult) {
75
+ resolve(innerResult);
76
+ });
77
+ }
78
+ else {
79
+ resolve(result);
80
+ }
81
+ });
82
+ };
83
+ /*
84
+ * Returns a Promise object that is rejected with the given reason.
85
+ */
86
+ SimplePromise.reject = function (reason) {
87
+ return new SimplePromise(function (resolve, reject) {
88
+ reject(reason);
89
+ });
90
+ };
91
+ /*
92
+ * Returns a promise that either fulfills when all of the promises in the iterable argument have fulfilled or
93
+ * rejects as soon as one of the promises in the iterable argument rejects. If the returned promise fulfills, it is
94
+ * fulfilled with an array of the values from the fulfilled promises in the same order as defined in the iterable.
95
+ * If the returned promise rejects, it is rejected with the reason from the first promise in the iterable that
96
+ * rejected. This method can be useful for aggregating results of multiple promises.
97
+ */
98
+ SimplePromise.all = function (iter) {
99
+ var deferred = SimplePromise.defer();
100
+ var done = true;
101
+ for (var _i = 0, iter_1 = iter; _i < iter_1.length; _i++) {
102
+ var promise = iter_1[_i];
103
+ if (promise.state == EPromiseStates.PENDING) {
104
+ done = false;
105
+ promise.once('fulfilled', function (result) {
106
+ SimplePromise.poolResults(iter, deferred);
107
+ });
108
+ promise.once('rejected', function (reason) {
109
+ deferred.reject(reason);
110
+ });
111
+ }
112
+ else if (promise.state == EPromiseStates.REJECTED) {
113
+ deferred.reject(promise.result);
114
+ done = false;
115
+ break;
116
+ }
117
+ }
118
+ if (done)
119
+ SimplePromise.poolResults(iter, deferred);
120
+ return deferred.promise;
121
+ };
122
+ SimplePromise.poolResults = function (iter, deferred) {
123
+ var done = true;
124
+ var results = [];
125
+ for (var _i = 0, iter_2 = iter; _i < iter_2.length; _i++) {
126
+ var p = iter_2[_i];
127
+ if (p.state === EPromiseStates.REJECTED) {
128
+ deferred.reject(p.result);
129
+ break;
130
+ }
131
+ else if (p.state === EPromiseStates.PENDING) {
132
+ done = false;
133
+ }
134
+ results.push(p.result);
135
+ }
136
+ if (done)
137
+ deferred.resolve(results);
138
+ };
139
+ /*
140
+ * Returns a promise that fulfills or rejects as soon as one of the promises in the iterable fulfills or rejects,
141
+ * with the value or reason from that promise.
142
+ */
143
+ SimplePromise.race = function (iter) {
144
+ var deferred = SimplePromise.defer();
145
+ for (var _i = 0, iter_3 = iter; _i < iter_3.length; _i++) {
146
+ var promise = iter_3[_i];
147
+ promise.once('fulfilled', function (result) {
148
+ deferred.resolve(result);
149
+ });
150
+ promise.once('rejected', function (reason) {
151
+ deferred.reject(reason);
152
+ });
153
+ }
154
+ return deferred.promise;
155
+ };
156
+ /*
157
+ * Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return
158
+ * value of the called handler, or to its original settled value if the promise was not handled (i.e. if the
159
+ * relevant handler onFulfilled or onRejected is not a function).
160
+ */
161
+ SimplePromise.prototype.then = function (success, error) {
162
+ var _this = this;
163
+ return new this.promiseClass(function (resolve, reject) {
164
+ if (_this.state === EPromiseStates.FULFILLED) {
165
+ if (success)
166
+ resolve(success(_this.result));
167
+ }
168
+ else if (_this.state === EPromiseStates.REJECTED) {
169
+ if (error)
170
+ reject(error(_this.result));
171
+ }
172
+ else {
173
+ _this.once('fulfilled', function (result) {
174
+ if (success)
175
+ resolve(success(result));
176
+ });
177
+ _this.once('rejected', function (reason) {
178
+ if (error)
179
+ reject(error(reason));
180
+ });
181
+ }
182
+ });
183
+ };
184
+ /*
185
+ * Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of
186
+ * the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
187
+ */
188
+ SimplePromise.prototype.catch = function (onRejected) {
189
+ return this.then(undefined, onRejected);
190
+ };
191
+ /*
192
+ * Appends a handler to the promise, and returns a new promise which is resolved when the original promise is
193
+ * resolved. The handler is called when the promise is settled, whether fulfilled or rejected.
194
+ */
195
+ SimplePromise.prototype.finally = function (finallyCallback) {
196
+ var success = function (result) { return finallyCallback(result); };
197
+ var error = function (reason) { return finallyCallback(reason); };
198
+ return this.then(success, error);
199
+ };
200
+ SimplePromise.prototype._resolve = function (result) {
201
+ if (this.state !== EPromiseStates.PENDING)
202
+ return;
203
+ this._state = EPromiseStates.FULFILLED;
204
+ this._result = result;
205
+ this.dispatch('fulfilled', result);
206
+ };
207
+ SimplePromise.prototype._reject = function (reason) {
208
+ if (this.state !== EPromiseStates.PENDING)
209
+ return;
210
+ this._state = EPromiseStates.REJECTED;
211
+ this._result = reason;
212
+ this.dispatch('rejected', reason);
213
+ };
214
+ return SimplePromise;
215
+ }(EventDispatcher_1.EventDispatcher));
216
+ exports.SimplePromise = SimplePromise;
217
+ //# sourceMappingURL=SimplePromise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimplePromise.js","sourceRoot":"","sources":["../src/SimplePromise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
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.TagList = void 0;
19
+ var VisionHelper_1 = require("../helpers/VisionHelper");
20
+ var TagList = /** @class */ (function (_super) {
21
+ __extends(TagList, _super);
22
+ function TagList() {
23
+ var items = [];
24
+ for (var _i = 0; _i < arguments.length; _i++) {
25
+ items[_i] = arguments[_i];
26
+ }
27
+ var _this = _super.apply(this, items) || this;
28
+ Object.setPrototypeOf(_this, TagList.prototype);
29
+ return _this;
30
+ }
31
+ Object.defineProperty(TagList.prototype, "scope", {
32
+ get: function () {
33
+ return this[0].scope;
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ TagList.prototype.on = function (event, cbOrSelector, cb) {
39
+ if (typeof cbOrSelector === "function") {
40
+ this.forEach(function (e) { return e.element.addEventListener(event, cbOrSelector); });
41
+ }
42
+ else {
43
+ this.forEach(function (elem) {
44
+ elem.element.addEventListener(event, function (e) {
45
+ if (e.target.matches(cbOrSelector))
46
+ cb(e);
47
+ });
48
+ });
49
+ }
50
+ return this;
51
+ };
52
+ Object.defineProperty(TagList.prototype, "elements", {
53
+ get: function () {
54
+ return this.map(function (e) { return e.element; });
55
+ },
56
+ enumerable: false,
57
+ configurable: true
58
+ });
59
+ TagList.prototype.next = function () {
60
+ return this.map(function (e) { return e.element.nextElementSibling; }).filter(function (e) { return e != null; });
61
+ };
62
+ TagList.prototype.prev = function () {
63
+ return this.map(function (e) { return e.element.previousElementSibling; }).filter(function (e) { return e != null; });
64
+ };
65
+ TagList.prototype.removeClass = function (className) {
66
+ this.forEach(function (e) { return e.element.classList.remove(className); });
67
+ return this;
68
+ };
69
+ TagList.prototype.addClass = function (className) {
70
+ this.forEach(function (e) { return e.element.classList.add(className); });
71
+ return this;
72
+ };
73
+ TagList.prototype.css = function (property, value) {
74
+ var camelProp = property.replace(/(-[a-z])/, function (g) {
75
+ return g.replace("-", "").toUpperCase();
76
+ });
77
+ this.forEach(function (e) { return (e.element.style[camelProp] = value); });
78
+ return this;
79
+ };
80
+ return TagList;
81
+ }(Array));
82
+ exports.TagList = TagList;
83
+ if (VisionHelper_1.VisionHelper.inDevelopment && VisionHelper_1.VisionHelper.window)
84
+ window['TagList'] = TagList;
85
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/Tag/List.ts"],"names":[],"mappings":"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"}