vsn 0.1.18 → 0.1.19

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 (105) hide show
  1. package/dist/AST.js +1998 -0
  2. package/dist/AST.js.map +1 -0
  3. package/dist/Attribute.js +187 -0
  4. package/dist/Attribute.js.map +1 -0
  5. package/dist/Bencmark.js +179 -0
  6. package/dist/Bencmark.js.map +1 -0
  7. package/dist/Configuration.js +64 -0
  8. package/dist/Configuration.js.map +1 -0
  9. package/dist/Controller.js +39 -0
  10. package/dist/Controller.js.map +1 -0
  11. package/dist/DOM/DOMObject.js +45 -0
  12. package/dist/DOM/DOMObject.js.map +1 -0
  13. package/dist/DOM/WrappedDocument.js +34 -0
  14. package/dist/DOM/WrappedDocument.js.map +1 -0
  15. package/dist/DOM/WrappedWindow.js +45 -0
  16. package/dist/DOM/WrappedWindow.js.map +1 -0
  17. package/dist/DOM.js +547 -0
  18. package/dist/DOM.js.map +1 -0
  19. package/dist/Formats.js +44 -0
  20. package/dist/Formats.js.map +1 -0
  21. package/dist/Query.js +66 -0
  22. package/dist/Query.js.map +1 -0
  23. package/dist/Registry.js +138 -0
  24. package/dist/Registry.js.map +1 -0
  25. package/dist/Scope.js +505 -0
  26. package/dist/Scope.js.map +1 -0
  27. package/dist/Tag/List.js +85 -0
  28. package/dist/Tag/List.js.map +1 -0
  29. package/dist/Tag.js +715 -0
  30. package/dist/Tag.js.map +1 -0
  31. package/dist/Types.js +48 -0
  32. package/dist/Types.js.map +1 -0
  33. package/dist/Vision.js +161 -0
  34. package/dist/Vision.js.map +1 -0
  35. package/dist/attributes/AddClassIf.js +93 -0
  36. package/dist/attributes/AddClassIf.js.map +1 -0
  37. package/dist/attributes/Bind.js +272 -0
  38. package/dist/attributes/Bind.js.map +1 -0
  39. package/dist/attributes/ClassConstructor.js +104 -0
  40. package/dist/attributes/ClassConstructor.js.map +1 -0
  41. package/dist/attributes/ClickRemoveClass.js +102 -0
  42. package/dist/attributes/ClickRemoveClass.js.map +1 -0
  43. package/dist/attributes/ClickToggleClass.js +102 -0
  44. package/dist/attributes/ClickToggleClass.js.map +1 -0
  45. package/dist/attributes/ControllerAttribute.js +28 -0
  46. package/dist/attributes/ControllerAttribute.js.map +1 -0
  47. package/dist/attributes/DisableIf.js +94 -0
  48. package/dist/attributes/DisableIf.js.map +1 -0
  49. package/dist/attributes/Exec.js +102 -0
  50. package/dist/attributes/Exec.js.map +1 -0
  51. package/dist/attributes/Format.js +96 -0
  52. package/dist/attributes/Format.js.map +1 -0
  53. package/dist/attributes/If.js +147 -0
  54. package/dist/attributes/If.js.map +1 -0
  55. package/dist/attributes/JSONAttribute.js +115 -0
  56. package/dist/attributes/JSONAttribute.js.map +1 -0
  57. package/dist/attributes/KeyAbstract.js +110 -0
  58. package/dist/attributes/KeyAbstract.js.map +1 -0
  59. package/dist/attributes/KeyDown.js +82 -0
  60. package/dist/attributes/KeyDown.js.map +1 -0
  61. package/dist/attributes/KeyUp.js +82 -0
  62. package/dist/attributes/KeyUp.js.map +1 -0
  63. package/dist/attributes/List.js +273 -0
  64. package/dist/attributes/List.js.map +1 -0
  65. package/dist/attributes/ListItem.js +135 -0
  66. package/dist/attributes/ListItem.js.map +1 -0
  67. package/dist/attributes/ListItemModel.js +39 -0
  68. package/dist/attributes/ListItemModel.js.map +1 -0
  69. package/dist/attributes/ModelAttribute.js +29 -0
  70. package/dist/attributes/ModelAttribute.js.map +1 -0
  71. package/dist/attributes/Name.js +88 -0
  72. package/dist/attributes/Name.js.map +1 -0
  73. package/dist/attributes/On.js +123 -0
  74. package/dist/attributes/On.js.map +1 -0
  75. package/dist/attributes/Radio.js +127 -0
  76. package/dist/attributes/Radio.js.map +1 -0
  77. package/dist/attributes/Referenced.js +38 -0
  78. package/dist/attributes/Referenced.js.map +1 -0
  79. package/dist/attributes/RootAttribute.js +85 -0
  80. package/dist/attributes/RootAttribute.js.map +1 -0
  81. package/dist/attributes/ScopeAttribute.js +40 -0
  82. package/dist/attributes/ScopeAttribute.js.map +1 -0
  83. package/dist/attributes/ScopeChange.js +124 -0
  84. package/dist/attributes/ScopeChange.js.map +1 -0
  85. package/dist/attributes/SetAttribute.js +130 -0
  86. package/dist/attributes/SetAttribute.js.map +1 -0
  87. package/dist/attributes/StandardAttribute.js +168 -0
  88. package/dist/attributes/StandardAttribute.js.map +1 -0
  89. package/dist/attributes/Template.js +39 -0
  90. package/dist/attributes/Template.js.map +1 -0
  91. package/dist/attributes/TypeAttribute.js +101 -0
  92. package/dist/attributes/TypeAttribute.js.map +1 -0
  93. package/dist/attributes/_imports.js +58 -0
  94. package/dist/attributes/_imports.js.map +1 -0
  95. package/dist/helpers/DOMHelper.js +81 -0
  96. package/dist/helpers/DOMHelper.js.map +1 -0
  97. package/dist/helpers/ElementHelper.js +25 -0
  98. package/dist/helpers/ElementHelper.js.map +1 -0
  99. package/dist/helpers/VisionHelper.js +71 -0
  100. package/dist/helpers/VisionHelper.js.map +1 -0
  101. package/dist/helpers/decorators.js +38 -0
  102. package/dist/helpers/decorators.js.map +1 -0
  103. package/main.py +16 -0
  104. package/package.json +2 -2
  105. package/dist/vision.min.js +0 -1
package/dist/Scope.js ADDED
@@ -0,0 +1,505 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
54
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
55
+ to[j] = from[i];
56
+ return to;
57
+ };
58
+ Object.defineProperty(exports, "__esModule", { value: true });
59
+ exports.Scope = exports.WrappedArray = exports.ScopeVariableType = exports.QueryReference = exports.ScopeReference = void 0;
60
+ var simple_ts_models_1 = require("simple-ts-models");
61
+ var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
62
+ var Registry_1 = require("./Registry");
63
+ var DOM_1 = require("./DOM");
64
+ var ScopeReference = /** @class */ (function () {
65
+ function ScopeReference(scope, key, value) {
66
+ if (scope === void 0) { scope = null; }
67
+ if (key === void 0) { key = null; }
68
+ if (value === void 0) { value = null; }
69
+ this._scope = scope;
70
+ this._key = key;
71
+ this._value = value;
72
+ }
73
+ ScopeReference.prototype.getScope = function () {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ return [2 /*return*/, this._scope];
77
+ });
78
+ });
79
+ };
80
+ ScopeReference.prototype.getKey = function () {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ return __generator(this, function (_a) {
83
+ return [2 /*return*/, this._key];
84
+ });
85
+ });
86
+ };
87
+ ScopeReference.prototype.getValue = function () {
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ return __generator(this, function (_a) {
90
+ return [2 /*return*/, this._value];
91
+ });
92
+ });
93
+ };
94
+ return ScopeReference;
95
+ }());
96
+ exports.ScopeReference = ScopeReference;
97
+ var QueryReference = /** @class */ (function (_super) {
98
+ __extends(QueryReference, _super);
99
+ function QueryReference(path, scope) {
100
+ var _this = _super.call(this) || this;
101
+ _this.path = path;
102
+ _this.scope = scope;
103
+ return _this;
104
+ }
105
+ QueryReference.prototype.getScope = function () {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var parts, qResult;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ parts = this.path.split('.');
112
+ parts = parts.splice(0, parts.length - 1);
113
+ return [4 /*yield*/, DOM_1.DOM.instance.eval(parts.join('.'))];
114
+ case 1:
115
+ qResult = _a.sent();
116
+ return [2 /*return*/, qResult.length === 1 ? qResult[0].scope : qResult.map(function (dobj) { return dobj.scope; })];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ QueryReference.prototype.getKey = function () {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var parts;
124
+ return __generator(this, function (_a) {
125
+ parts = this.path.split('.');
126
+ return [2 /*return*/, parts[parts.length - 1]];
127
+ });
128
+ });
129
+ };
130
+ QueryReference.prototype.getValue = function () {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0: return [4 /*yield*/, DOM_1.DOM.instance.eval(this.path)];
135
+ case 1: return [2 /*return*/, _a.sent()];
136
+ }
137
+ });
138
+ });
139
+ };
140
+ return QueryReference;
141
+ }(ScopeReference));
142
+ exports.QueryReference = QueryReference;
143
+ var ScopeVariableType = /** @class */ (function () {
144
+ function ScopeVariableType() {
145
+ }
146
+ ScopeVariableType.Integer = 'integer';
147
+ ScopeVariableType.Float = 'float';
148
+ ScopeVariableType.Boolean = 'boolean';
149
+ ScopeVariableType.String = 'string';
150
+ return ScopeVariableType;
151
+ }());
152
+ exports.ScopeVariableType = ScopeVariableType;
153
+ var WrappedArray = /** @class */ (function (_super) {
154
+ __extends(WrappedArray, _super);
155
+ function WrappedArray() {
156
+ var items = [];
157
+ for (var _i = 0; _i < arguments.length; _i++) {
158
+ items[_i] = arguments[_i];
159
+ }
160
+ var _this = _super.apply(this, items) || this;
161
+ _this.$wrapped = true;
162
+ Object.setPrototypeOf(_this, WrappedArray.prototype);
163
+ _this._lastKey = 0;
164
+ _this._listeners = {};
165
+ return _this;
166
+ }
167
+ WrappedArray.prototype.push = function () {
168
+ var items = [];
169
+ for (var _i = 0; _i < arguments.length; _i++) {
170
+ items[_i] = arguments[_i];
171
+ }
172
+ var num = _super.prototype.push.apply(this, items);
173
+ this.trigger.apply(this, __spreadArray(['push'], items));
174
+ this.trigger('change', {
175
+ 'added': items
176
+ });
177
+ for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
178
+ var item = items_1[_a];
179
+ this.trigger('add', item);
180
+ }
181
+ return num;
182
+ };
183
+ WrappedArray.prototype.splice = function (start, deleteCount) {
184
+ var removed = _super.prototype.splice.call(this, start, deleteCount);
185
+ this.trigger('change', {
186
+ 'removed': removed
187
+ });
188
+ for (var _i = 0, removed_1 = removed; _i < removed_1.length; _i++) {
189
+ var item = removed_1[_i];
190
+ this.trigger('remove', item);
191
+ }
192
+ return removed;
193
+ };
194
+ WrappedArray.prototype.get = function (key) {
195
+ var keys = [
196
+ 'length'
197
+ ];
198
+ return keys.indexOf(key) > -1 ? this[key] : undefined;
199
+ };
200
+ Object.defineProperty(WrappedArray.prototype, "length", {
201
+ get: function () {
202
+ var c = 0;
203
+ for (var _i = 0, _a = this; _i < _a.length; _i++) {
204
+ var item = _a[_i];
205
+ c += 1;
206
+ }
207
+ return c;
208
+ },
209
+ set: function (num) {
210
+ this.setLength(num);
211
+ },
212
+ enumerable: false,
213
+ configurable: true
214
+ });
215
+ WrappedArray.prototype.setLength = function (num) {
216
+ var c = 0;
217
+ var toRemove = [];
218
+ for (var _i = 0, _a = this; _i < _a.length; _i++) {
219
+ var item = _a[_i];
220
+ c += 1;
221
+ if (c >= num) {
222
+ toRemove.push(item);
223
+ }
224
+ }
225
+ for (var _b = 0, toRemove_1 = toRemove; _b < toRemove_1.length; _b++) {
226
+ var item = toRemove_1[_b];
227
+ this.splice(this.indexOf(item), 1);
228
+ }
229
+ };
230
+ WrappedArray.prototype.bind = function (event, fct, context, once) {
231
+ once = once || false;
232
+ this._lastKey++;
233
+ this._listeners[event] = this._listeners[event] || [];
234
+ this._listeners[event].push(new simple_ts_event_dispatcher_1.EventCallback(fct, this._lastKey, once, context));
235
+ return this._lastKey;
236
+ };
237
+ WrappedArray.prototype.once = function (event, fct, context) {
238
+ return this.bind(event, fct, context, true);
239
+ };
240
+ WrappedArray.prototype.unbind = function (event, key) {
241
+ if (!(event in this._listeners))
242
+ return false;
243
+ if (key) {
244
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
245
+ var cb = _a[_i];
246
+ if (key == cb.key) {
247
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
248
+ return true;
249
+ }
250
+ }
251
+ }
252
+ else {
253
+ this._listeners[event] = [];
254
+ return true;
255
+ }
256
+ return false;
257
+ };
258
+ WrappedArray.prototype.unbindWithContext = function (event, context) {
259
+ if (!(event in this._listeners))
260
+ return 0;
261
+ var toRemove = [], cnt = 0;
262
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
263
+ var cb = _a[_i];
264
+ if (context == cb.context) {
265
+ toRemove.push(cb);
266
+ }
267
+ }
268
+ for (var _b = 0, toRemove_2 = toRemove; _b < toRemove_2.length; _b++) {
269
+ var cb = toRemove_2[_b];
270
+ this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
271
+ cnt++;
272
+ }
273
+ return cnt;
274
+ };
275
+ WrappedArray.prototype.getListener = function (event, key) {
276
+ for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
277
+ var cb = _a[_i];
278
+ if (key == cb.key)
279
+ return cb;
280
+ }
281
+ };
282
+ WrappedArray.prototype.trigger = function (event) {
283
+ var args = [];
284
+ for (var _i = 1; _i < arguments.length; _i++) {
285
+ args[_i - 1] = arguments[_i];
286
+ }
287
+ if (!(event in this._listeners))
288
+ return;
289
+ for (var i = 0; i < this._listeners[event].length; i++) {
290
+ var cb = this._listeners[event][i];
291
+ // We need to unbind callbacks before they're called to prevent
292
+ // infinite loops if the event is somehow triggered within the
293
+ // callback
294
+ if (cb.once) {
295
+ this.unbind(event, cb.key);
296
+ i--;
297
+ }
298
+ cb.call(args);
299
+ }
300
+ };
301
+ return WrappedArray;
302
+ }(Array));
303
+ exports.WrappedArray = WrappedArray;
304
+ var Scope = /** @class */ (function (_super) {
305
+ __extends(Scope, _super);
306
+ function Scope(parent) {
307
+ var _this = _super.call(this) || this;
308
+ _this.types = {};
309
+ if (parent)
310
+ _this.parentScope = parent;
311
+ _this.children = [];
312
+ _this.data = new simple_ts_models_1.DataModel({});
313
+ _this.keys = [];
314
+ return _this;
315
+ }
316
+ Object.defineProperty(Scope.prototype, "parentScope", {
317
+ get: function () {
318
+ return this._parentScope;
319
+ },
320
+ set: function (scope) {
321
+ this._parentScope = scope;
322
+ scope.addChild(this);
323
+ },
324
+ enumerable: false,
325
+ configurable: true
326
+ });
327
+ Scope.prototype.addChild = function (scope) {
328
+ this.children.push(scope);
329
+ };
330
+ Scope.prototype.getReference = function (path, createIfNotFound) {
331
+ if (createIfNotFound === void 0) { createIfNotFound = true; }
332
+ var scopePath = path.split('.');
333
+ var key = scopePath[0];
334
+ var scope = this;
335
+ var val = null;
336
+ var len = scopePath.length;
337
+ if (path.startsWith('?')) {
338
+ return new QueryReference(path, scope);
339
+ }
340
+ for (var i = 0; i < len; i++) {
341
+ key = scopePath[i];
342
+ val = scope.get(key, i === 0);
343
+ var isNull = [null, undefined].indexOf(val) > -1;
344
+ if (createIfNotFound && isNull && i + 1 < len) {
345
+ val = new Scope(scope);
346
+ scope.set(key, val);
347
+ }
348
+ else if (!createIfNotFound && isNull) {
349
+ return null;
350
+ }
351
+ if (val && val instanceof Scope) {
352
+ scope = val;
353
+ }
354
+ }
355
+ return new ScopeReference(scope, key, val);
356
+ };
357
+ Scope.prototype.get = function (key, searchParents) {
358
+ if (searchParents === void 0) { searchParents = true; }
359
+ var value = this.data[key];
360
+ if (value === undefined) {
361
+ if (searchParents && this.parentScope)
362
+ return this.parentScope.get(key, searchParents);
363
+ return '';
364
+ }
365
+ return value;
366
+ };
367
+ Scope.prototype.set = function (key, value) {
368
+ if (this.data[key] === undefined)
369
+ this.data.createField(key);
370
+ if (typeof value === 'string') {
371
+ var valueType = this.getType(key);
372
+ var caster = Registry_1.Registry.instance.types.getSynchronous(valueType);
373
+ if (caster) {
374
+ value = caster(value);
375
+ }
376
+ if ([ScopeVariableType.Integer, ScopeVariableType.Float].indexOf(valueType) > -1 && isNaN(value)) {
377
+ value = null;
378
+ }
379
+ }
380
+ if (this.data[key] !== value) {
381
+ var previousValue = this.data[key];
382
+ this.data[key] = value;
383
+ var event_1 = {
384
+ value: value,
385
+ previousValue: previousValue,
386
+ key: key
387
+ };
388
+ this.trigger("change:" + key, event_1);
389
+ this.trigger('change', key, event_1);
390
+ }
391
+ if (this.keys.indexOf(key) === -1)
392
+ this.keys.push(key);
393
+ };
394
+ Scope.prototype.has = function (key) {
395
+ return this.keys.indexOf(key) > -1;
396
+ };
397
+ Scope.prototype.setType = function (key, type) {
398
+ this.types[key] = type;
399
+ if (this.has(key))
400
+ this.set(key, this.get(key));
401
+ };
402
+ Scope.prototype.getType = function (key) {
403
+ return this.types[key] || ScopeVariableType.String;
404
+ };
405
+ Scope.prototype.extend = function (data) {
406
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
407
+ var key = data_1[_i];
408
+ this.set(key, data[key]);
409
+ }
410
+ };
411
+ Scope.prototype.clear = function () {
412
+ for (var _i = 0, _a = this.keys; _i < _a.length; _i++) {
413
+ var key = _a[_i];
414
+ if (['function', 'object'].indexOf(typeof this.get(key)) > -1)
415
+ continue;
416
+ this.set(key, null);
417
+ }
418
+ };
419
+ Scope.prototype.cleanup = function () {
420
+ this.children.length = 0;
421
+ this.parentScope = null;
422
+ };
423
+ Scope.prototype.wrap = function (toWrap, triggerUpdates, updateFromWrapped) {
424
+ var _this = this;
425
+ if (triggerUpdates === void 0) { triggerUpdates = false; }
426
+ if (updateFromWrapped === void 0) { updateFromWrapped = true; }
427
+ if (toWrap instanceof Scope)
428
+ toWrap = toWrap.data;
429
+ if ([null, undefined].indexOf(this.wrapped) === -1)
430
+ throw Error("A scope can only wrap a single object");
431
+ if (!toWrap) {
432
+ throw Error("Can only wrap objects.");
433
+ }
434
+ if (toWrap['$wrapped']) {
435
+ throw Error("An object should only be wrapped once.");
436
+ }
437
+ this.wrapped = toWrap;
438
+ this.wrapped['$wrapped'] = true;
439
+ var _loop_1 = function (field) {
440
+ if (['constructor'].indexOf(field) > -1 || field.startsWith('$'))
441
+ return "continue";
442
+ if (this_1.wrapped[field] instanceof Function) {
443
+ this_1.set(field, this_1.wrapped[field]);
444
+ return "continue";
445
+ }
446
+ if (this_1.wrapped[field] instanceof Array) {
447
+ if (!(this_1.wrapped[field] instanceof WrappedArray)) {
448
+ this_1.wrapped[field] = new (WrappedArray.bind.apply(WrappedArray, __spreadArray([void 0], toWrap[field])))();
449
+ }
450
+ this_1.wrapped[field].bind('change', function () {
451
+ var args = [];
452
+ for (var _i = 0; _i < arguments.length; _i++) {
453
+ args[_i] = arguments[_i];
454
+ }
455
+ _this.trigger.apply(_this, __spreadArray(["change:" + field], args));
456
+ });
457
+ }
458
+ if (typeof this_1.wrapped[field] == 'object' && this_1.wrapped[field] && this_1.wrapped[field].constructor === Object) {
459
+ var innerObject = new Scope(this_1);
460
+ innerObject.wrap(this_1.wrapped[field]);
461
+ this_1.wrapped[field] = innerObject;
462
+ }
463
+ // Populate scope data from wrapped object before we update the getter
464
+ if (updateFromWrapped && [null, undefined].indexOf(this_1.wrapped[field]) === -1) {
465
+ this_1.set(field, this_1.wrapped[field]);
466
+ }
467
+ var getter = function () {
468
+ return _this.get(field);
469
+ };
470
+ var setter = function (value) {
471
+ _this.set(field, value);
472
+ };
473
+ Object.defineProperty(this_1.wrapped, field, {
474
+ get: getter,
475
+ set: setter,
476
+ enumerable: true,
477
+ configurable: true
478
+ });
479
+ if (triggerUpdates)
480
+ this_1.trigger("change:" + field);
481
+ };
482
+ var this_1 = this;
483
+ for (var field in toWrap) {
484
+ _loop_1(field);
485
+ }
486
+ this.wrapped.get = this.get.bind(this);
487
+ this.wrapped.set = this.set.bind(this);
488
+ this.wrapped.bind = this.bind.bind(this);
489
+ this.wrapped.once = this.once.bind(this);
490
+ this.wrapped.unbind = this.unbind.bind(this);
491
+ };
492
+ Scope.prototype.unwrap = function () {
493
+ if (!this.wrapped)
494
+ return;
495
+ var toUnwrap = this.wrapped;
496
+ this.wrapped = null;
497
+ toUnwrap.$wrapped = false;
498
+ for (var field in toUnwrap) {
499
+ delete toUnwrap[field];
500
+ }
501
+ };
502
+ return Scope;
503
+ }(simple_ts_event_dispatcher_1.EventDispatcher));
504
+ exports.Scope = Scope;
505
+ //# sourceMappingURL=Scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.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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"}