vsn 0.1.71 → 0.1.72

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 (47) hide show
  1. package/demo/demo.html +5 -1
  2. package/demo/vsn.js +2 -2
  3. package/demo/xhr.html +27 -5
  4. package/dist/AST/ArithmeticAssignmentNode.js +1 -1
  5. package/dist/AST/ArithmeticAssignmentNode.js.map +1 -1
  6. package/dist/AST/ClassNode.d.ts +23 -7
  7. package/dist/AST/ClassNode.js +177 -48
  8. package/dist/AST/ClassNode.js.map +1 -1
  9. package/dist/AST/ElementAttributeNode.js +13 -4
  10. package/dist/AST/ElementAttributeNode.js.map +1 -1
  11. package/dist/AST/FunctionCallNode.js +2 -1
  12. package/dist/AST/FunctionCallNode.js.map +1 -1
  13. package/dist/AST/Node.d.ts +4 -1
  14. package/dist/AST/Node.js.map +1 -1
  15. package/dist/AST/ScopeMemberNode.js.map +1 -1
  16. package/dist/AST.js +3 -1
  17. package/dist/AST.js.map +1 -1
  18. package/dist/DOM.d.ts +2 -0
  19. package/dist/DOM.js +16 -3
  20. package/dist/DOM.js.map +1 -1
  21. package/dist/EventDispatcher.d.ts +1 -0
  22. package/dist/EventDispatcher.js +16 -0
  23. package/dist/EventDispatcher.js.map +1 -1
  24. package/dist/Registry.js +1 -1
  25. package/dist/Registry.js.map +1 -1
  26. package/dist/Tag/List.d.ts +1 -1
  27. package/dist/Tag/List.js +4 -14
  28. package/dist/Tag/List.js.map +1 -1
  29. package/dist/Tag.d.ts +0 -1
  30. package/dist/Tag.js +0 -1
  31. package/dist/Tag.js.map +1 -1
  32. package/dist/vsn.min.js +2 -2
  33. package/package.json +1 -1
  34. package/src/AST/ArithmeticAssignmentNode.ts +1 -1
  35. package/src/AST/ClassNode.ts +125 -33
  36. package/src/AST/ElementAttributeNode.ts +9 -4
  37. package/src/AST/FunctionCallNode.ts +2 -1
  38. package/src/AST/Node.ts +5 -1
  39. package/src/AST/ScopeMemberNode.ts +0 -1
  40. package/src/AST.ts +3 -1
  41. package/src/DOM.ts +15 -3
  42. package/src/EventDispatcher.ts +8 -0
  43. package/src/Registry.ts +1 -1
  44. package/src/Tag/List.ts +5 -13
  45. package/src/Tag.ts +0 -1
  46. package/test/AST/ClassNode.spec.ts +40 -11
  47. package/test/attributes/ListItem.spec.ts +0 -1
package/demo/xhr.html CHANGED
@@ -1,11 +1,33 @@
1
1
  <div id="huh-wut" vsn-scope>
2
2
  <script vsn-script type="text/vsn">
3
- class simple {
4
- func test() {
5
- return "test";
3
+ class .simple {
4
+ func construct() {
5
+ log('.simple construct');
6
+ }
7
+
8
+ func deconstruct() {
9
+ log('.simple deconstruct');
10
+ }
11
+
12
+ class input {
13
+ func construct() {
14
+ log('.simple input construct');
15
+ a|float = 0.0;
16
+ }
17
+
18
+ func deconstruct() {
19
+ log('.simple input deconstruct');
20
+ }
21
+
22
+ on focus() {
23
+ log(@type);
24
+ a += 0.1;
25
+ log(a);
26
+ }
6
27
  }
7
28
  }
8
29
  </script>
9
- <div class="simple">asd</div>
10
- <div class="simple">asd</div>
30
+ <div class="simple"><input type="text" /></div>
31
+ <div class="simple"><input type="button" /></div>
32
+ <button vsn-on:click="?(.simple)[0].@class -= 'simple'">Remove</button>
11
33
  </div>
@@ -116,7 +116,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
116
116
  return [4 /*yield*/, this.left.elementRef.evaluate(scope, dom, tag)];
117
117
  case 4:
118
118
  elements = _a.sent();
119
- if (this.left.elementRef.first) {
119
+ if (this.left.elementRef.first || elements instanceof DOMObject_1.DOMObject) {
120
120
  scopes.push(elements);
121
121
  }
122
122
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ArithmeticAssignmentNode.js","sourceRoot":"","sources":["../../src/AST/ArithmeticAssignmentNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArithmeticAssignmentNode.js","sourceRoot":"","sources":["../../src/AST/ArithmeticAssignmentNode.ts"],"names":[],"mappings":"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"}
@@ -2,24 +2,40 @@ import { Scope } from "../Scope";
2
2
  import { DOM } from "../DOM";
3
3
  import { Tag } from "../Tag";
4
4
  import { Token, TreeNode } from "../AST";
5
- import { Node } from "./Node";
5
+ import { INodeMeta, Node } from "./Node";
6
6
  import { BlockNode } from "./BlockNode";
7
7
  export declare class ClassNode extends Node implements TreeNode {
8
- readonly name: string;
8
+ readonly selector: string;
9
9
  readonly block: BlockNode;
10
+ static readonly ClassesVariable = "_vsn_classes";
10
11
  static readonly classes: {
11
12
  [name: string]: ClassNode;
12
13
  };
14
+ static readonly classParents: {
15
+ [name: string]: string[];
16
+ };
17
+ static readonly classChildren: {
18
+ [name: string]: string[];
19
+ };
20
+ static readonly preppedTags: {
21
+ [name: string]: Tag[];
22
+ };
13
23
  protected requiresPrep: boolean;
14
24
  readonly classScope: Scope;
15
- protected _ready: boolean;
16
- constructor(name: string, block: BlockNode);
25
+ protected _fullSelector: string;
26
+ constructor(selector: string, block: BlockNode);
27
+ get fullSelector(): string;
17
28
  updateMeta(meta?: any): any;
18
- prepare(scope: Scope, dom: DOM, tag?: Tag, meta?: any): Promise<void>;
19
- prepareTag(tag: Tag, dom: DOM, hasConstructor?: boolean | null): Promise<void>;
20
- tearDownTag(tag: Tag, dom: DOM, hasDeconstructor?: boolean | null): Promise<void>;
29
+ prepare(scope: Scope, dom: DOM, tag?: Tag, meta?: INodeMeta): Promise<void>;
30
+ constructTag(tag: Tag, dom: DOM, hasConstructor?: boolean | null): Promise<void>;
31
+ deconstructTag(tag: Tag, dom: DOM, hasDeconstructor?: boolean | null): Promise<void>;
21
32
  evaluate(scope: Scope, dom: DOM, tag?: Tag): Promise<any>;
22
33
  static parse(lastNode: any, token: any, tokens: Token[]): ClassNode;
23
34
  static checkForClassChanges(element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
35
+ static getClassesForElement(element: HTMLElement): string[];
36
+ static addPreparedClassToElement(element: HTMLElement, selector: string): void;
37
+ static removePreparedClassFromElement(element: HTMLElement, selector: string): void;
38
+ static addElementClass(selector: string, element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
39
+ static removeElementClass(selector: string, element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
24
40
  static isClass(cls: string): boolean;
25
41
  }
@@ -50,6 +50,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
51
  }
52
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
+ };
53
58
  Object.defineProperty(exports, "__esModule", { value: true });
54
59
  exports.ClassNode = void 0;
55
60
  var Scope_1 = require("../Scope");
@@ -60,15 +65,21 @@ var Registry_1 = require("../Registry");
60
65
  var OnNode_1 = require("./OnNode");
61
66
  var ClassNode = /** @class */ (function (_super) {
62
67
  __extends(ClassNode, _super);
63
- function ClassNode(name, block) {
68
+ function ClassNode(selector, block) {
64
69
  var _this = _super.call(this) || this;
65
- _this.name = name;
70
+ _this.selector = selector;
66
71
  _this.block = block;
67
72
  _this.requiresPrep = true;
68
73
  _this.classScope = new Scope_1.Scope();
69
- _this._ready = false;
70
74
  return _this;
71
75
  }
76
+ Object.defineProperty(ClassNode.prototype, "fullSelector", {
77
+ get: function () {
78
+ return this._fullSelector;
79
+ },
80
+ enumerable: false,
81
+ configurable: true
82
+ });
72
83
  ClassNode.prototype.updateMeta = function (meta) {
73
84
  meta = meta || {};
74
85
  meta['ClassNode'] = this;
@@ -77,37 +88,57 @@ var ClassNode = /** @class */ (function (_super) {
77
88
  ClassNode.prototype.prepare = function (scope, dom, tag, meta) {
78
89
  if (tag === void 0) { tag = null; }
79
90
  return __awaiter(this, void 0, void 0, function () {
80
- var _i, _a, element;
91
+ var initial, _i, _a, element;
81
92
  return __generator(this, function (_b) {
82
93
  switch (_b.label) {
83
94
  case 0:
84
- meta = meta || {};
85
- meta['ClassNodePrepare'] = true;
86
- if (ClassNode.classes[this.name])
95
+ meta = Object.assign({}, meta) || {};
96
+ initial = !!meta['initial'];
97
+ meta['ClassNodePrepare'] = initial;
98
+ if (!initial) return [3 /*break*/, 6];
99
+ if (meta['ClassNodeSelector']) {
100
+ ClassNode.classChildren[meta['ClassNodeSelector']].push(this.selector);
101
+ meta['ClassNodeSelector'] = meta['ClassNodeSelector'] + " " + this.selector;
102
+ }
103
+ else {
104
+ meta['ClassNodeSelector'] = this.selector;
105
+ }
106
+ this._fullSelector = meta['ClassNodeSelector'];
107
+ if (ClassNode.classes[this._fullSelector])
87
108
  return [2 /*return*/]; // Don't re-prepare same classes
88
- ClassNode.classes[this.name] = this;
109
+ ClassNode.classes[this._fullSelector] = this;
110
+ ClassNode.classChildren[this._fullSelector] = [];
111
+ ClassNode.preppedTags[this._fullSelector] = [];
112
+ if (ClassNode.classParents[this.selector] === undefined)
113
+ ClassNode.classParents[this.selector] = [];
114
+ ClassNode.classParents[this.selector].push(this._fullSelector);
89
115
  return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
90
116
  case 1:
91
117
  _b.sent();
92
118
  Registry_1.Registry.class(this);
93
- _i = 0, _a = Array.from(dom.querySelectorAll("." + this.name));
119
+ _i = 0, _a = Array.from(dom.querySelectorAll(this._fullSelector));
94
120
  _b.label = 2;
95
121
  case 2:
96
122
  if (!(_i < _a.length)) return [3 /*break*/, 5];
97
123
  element = _a[_i];
98
- return [4 /*yield*/, ClassNode.checkForClassChanges(element, dom, element[Tag_1.Tag.TaggedVariable] || null)];
124
+ return [4 /*yield*/, ClassNode.addElementClass(this._fullSelector, element, dom, element[Tag_1.Tag.TaggedVariable] || null)];
99
125
  case 3:
100
126
  _b.sent();
101
127
  _b.label = 4;
102
128
  case 4:
103
129
  _i++;
104
130
  return [3 /*break*/, 2];
105
- case 5: return [2 /*return*/];
131
+ case 5: return [3 /*break*/, 8];
132
+ case 6: return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
133
+ case 7:
134
+ _b.sent();
135
+ _b.label = 8;
136
+ case 8: return [2 /*return*/];
106
137
  }
107
138
  });
108
139
  });
109
140
  };
110
- ClassNode.prototype.prepareTag = function (tag, dom, hasConstructor) {
141
+ ClassNode.prototype.constructTag = function (tag, dom, hasConstructor) {
111
142
  if (hasConstructor === void 0) { hasConstructor = null; }
112
143
  return __awaiter(this, void 0, void 0, function () {
113
144
  var meta, fncCls, fnc;
@@ -131,13 +162,15 @@ var ClassNode = /** @class */ (function (_super) {
131
162
  _a.sent();
132
163
  _a.label = 4;
133
164
  case 4:
134
- tag.preppedClasses.push(this.name);
165
+ tag.dispatch(this.fullSelector + ".construct", tag.element.id);
166
+ ClassNode.preppedTags[this.fullSelector].push(tag);
167
+ ClassNode.addPreparedClassToElement(tag.element, this.fullSelector);
135
168
  return [2 /*return*/];
136
169
  }
137
170
  });
138
171
  });
139
172
  };
140
- ClassNode.prototype.tearDownTag = function (tag, dom, hasDeconstructor) {
173
+ ClassNode.prototype.deconstructTag = function (tag, dom, hasDeconstructor) {
141
174
  if (hasDeconstructor === void 0) { hasDeconstructor = null; }
142
175
  return __awaiter(this, void 0, void 0, function () {
143
176
  var fncCls, fnc, _i, _a, key, on;
@@ -163,7 +196,11 @@ var ClassNode = /** @class */ (function (_super) {
163
196
  tag.removeContextEventHandlers(on);
164
197
  }
165
198
  }
166
- tag.preppedClasses.splice(tag.preppedClasses.indexOf(this.name), 1);
199
+ tag.dispatch(this.fullSelector + ".deconstruct");
200
+ ClassNode.preppedTags[this.fullSelector].splice(ClassNode.preppedTags[this.fullSelector].indexOf(tag), 1);
201
+ return [4 /*yield*/, ClassNode.removePreparedClassFromElement(tag.element, this.fullSelector)];
202
+ case 4:
203
+ _b.sent();
167
204
  return [2 /*return*/];
168
205
  }
169
206
  });
@@ -186,58 +223,146 @@ var ClassNode = /** @class */ (function (_super) {
186
223
  break;
187
224
  nameParts.push(t.value);
188
225
  }
189
- var name = nameParts.join('').trim();
226
+ var selector = nameParts.join('').trim();
190
227
  tokens.splice(0, nameParts.length);
191
228
  var block = AST_1.Tree.processTokens(AST_1.Tree.getNextStatementTokens(tokens, true, true));
192
- return new ClassNode(name, block);
229
+ return new ClassNode(selector, block);
193
230
  };
194
231
  ClassNode.checkForClassChanges = function (element, dom, tag) {
195
232
  if (tag === void 0) { tag = null; }
196
233
  return __awaiter(this, void 0, void 0, function () {
197
- var classes, addedClasses, removedClasses, _i, addedClasses_1, addedClass, classNode, _a, removedClasses_1, removedClass, classNode;
198
- return __generator(this, function (_b) {
199
- switch (_b.label) {
234
+ var localSelectors, fullSelectors, selector, _i, fullSelectors_1, selector, isPrepped, elements, inElements, changed, _a, _b, childSelector, _c, _d, childElement;
235
+ return __generator(this, function (_e) {
236
+ switch (_e.label) {
200
237
  case 0:
201
- classes = Array.from(element.classList);
202
- addedClasses = classes.filter(function (c) { return Registry_1.Registry.instance.classes.has(c); });
238
+ localSelectors = __spreadArray([element.tagName.toLowerCase()], Array.from(element.classList).map(function (c) { return "." + c; }));
239
+ fullSelectors = __spreadArray([], ClassNode.getClassesForElement(element));
240
+ if (element.id)
241
+ localSelectors.push("#" + element.id);
242
+ for (selector in localSelectors) {
243
+ if (ClassNode.classParents[selector])
244
+ fullSelectors.push.apply(fullSelectors, ClassNode.classParents[selector]);
245
+ }
203
246
  if (!!tag) return [3 /*break*/, 2];
204
247
  return [4 /*yield*/, dom.getTagForElement(element, true)];
205
248
  case 1:
206
- tag = _b.sent();
207
- _b.label = 2;
249
+ tag = _e.sent();
250
+ _e.label = 2;
208
251
  case 2:
209
- addedClasses = addedClasses.filter(function (c) { return !tag.preppedClasses.includes(c); });
210
- removedClasses = tag.preppedClasses.filter(function (c) { return !classes.includes(c); });
211
- _i = 0, addedClasses_1 = addedClasses;
212
- _b.label = 3;
252
+ _i = 0, fullSelectors_1 = fullSelectors;
253
+ _e.label = 3;
213
254
  case 3:
214
- if (!(_i < addedClasses_1.length)) return [3 /*break*/, 6];
215
- addedClass = addedClasses_1[_i];
216
- classNode = Registry_1.Registry.instance.classes.getSynchronous(addedClass);
217
- if (!classNode) return [3 /*break*/, 5];
218
- return [4 /*yield*/, classNode.prepareTag(tag, dom)];
255
+ if (!(_i < fullSelectors_1.length)) return [3 /*break*/, 14];
256
+ selector = fullSelectors_1[_i];
257
+ isPrepped = ClassNode.getClassesForElement(element).includes(selector);
258
+ elements = Array.from(dom.querySelectorAll(selector));
259
+ inElements = elements.includes(element);
260
+ changed = false;
261
+ if (!(inElements && !isPrepped)) return [3 /*break*/, 5];
262
+ return [4 /*yield*/, ClassNode.addElementClass(selector, element, dom, tag)];
219
263
  case 4:
220
- _b.sent();
221
- _b.label = 5;
264
+ _e.sent();
265
+ changed = true;
266
+ return [3 /*break*/, 7];
222
267
  case 5:
223
- _i++;
224
- return [3 /*break*/, 3];
268
+ if (!(!inElements && isPrepped)) return [3 /*break*/, 7];
269
+ return [4 /*yield*/, ClassNode.removeElementClass(selector, element, dom, tag)];
225
270
  case 6:
226
- _a = 0, removedClasses_1 = removedClasses;
227
- _b.label = 7;
271
+ _e.sent();
272
+ changed = true;
273
+ _e.label = 7;
228
274
  case 7:
229
- if (!(_a < removedClasses_1.length)) return [3 /*break*/, 10];
230
- removedClass = removedClasses_1[_a];
231
- classNode = Registry_1.Registry.instance.classes.getSynchronous(removedClass);
232
- if (!classNode) return [3 /*break*/, 9];
233
- return [4 /*yield*/, classNode.tearDownTag(tag, dom)];
275
+ if (!(changed && ClassNode.classChildren[selector].length > 0)) return [3 /*break*/, 13];
276
+ _a = 0, _b = ClassNode.classChildren[selector];
277
+ _e.label = 8;
234
278
  case 8:
235
- _b.sent();
236
- _b.label = 9;
279
+ if (!(_a < _b.length)) return [3 /*break*/, 13];
280
+ childSelector = _b[_a];
281
+ _c = 0, _d = Array.from(dom.querySelectorAll(childSelector, tag));
282
+ _e.label = 9;
237
283
  case 9:
284
+ if (!(_c < _d.length)) return [3 /*break*/, 12];
285
+ childElement = _d[_c];
286
+ return [4 /*yield*/, ClassNode.checkForClassChanges(childElement, dom, childElement[Tag_1.Tag.TaggedVariable] || null)];
287
+ case 10:
288
+ _e.sent();
289
+ _e.label = 11;
290
+ case 11:
291
+ _c++;
292
+ return [3 /*break*/, 9];
293
+ case 12:
238
294
  _a++;
239
- return [3 /*break*/, 7];
240
- case 10: return [2 /*return*/];
295
+ return [3 /*break*/, 8];
296
+ case 13:
297
+ _i++;
298
+ return [3 /*break*/, 3];
299
+ case 14: return [2 /*return*/];
300
+ }
301
+ });
302
+ });
303
+ };
304
+ ClassNode.getClassesForElement = function (element) {
305
+ if (!element[ClassNode.ClassesVariable])
306
+ element[ClassNode.ClassesVariable] = [];
307
+ return element[ClassNode.ClassesVariable];
308
+ };
309
+ ClassNode.addPreparedClassToElement = function (element, selector) {
310
+ ClassNode.getClassesForElement(element).push(selector);
311
+ };
312
+ ClassNode.removePreparedClassFromElement = function (element, selector) {
313
+ var classes = ClassNode.getClassesForElement(element);
314
+ classes.splice(classes.indexOf(selector), 1);
315
+ };
316
+ ClassNode.addElementClass = function (selector, element, dom, tag) {
317
+ if (tag === void 0) { tag = null; }
318
+ return __awaiter(this, void 0, void 0, function () {
319
+ var classes, classNode;
320
+ return __generator(this, function (_a) {
321
+ switch (_a.label) {
322
+ case 0:
323
+ classes = ClassNode.getClassesForElement(element);
324
+ if (classes.includes(selector))
325
+ return [2 /*return*/];
326
+ if (!!tag) return [3 /*break*/, 2];
327
+ return [4 /*yield*/, dom.getTagForElement(element, true)];
328
+ case 1:
329
+ tag = _a.sent();
330
+ _a.label = 2;
331
+ case 2:
332
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(selector);
333
+ if (!classNode) return [3 /*break*/, 4];
334
+ return [4 /*yield*/, classNode.constructTag(tag, dom)];
335
+ case 3:
336
+ _a.sent();
337
+ _a.label = 4;
338
+ case 4: return [2 /*return*/];
339
+ }
340
+ });
341
+ });
342
+ };
343
+ ClassNode.removeElementClass = function (selector, element, dom, tag) {
344
+ if (tag === void 0) { tag = null; }
345
+ return __awaiter(this, void 0, void 0, function () {
346
+ var classes, classNode;
347
+ return __generator(this, function (_a) {
348
+ switch (_a.label) {
349
+ case 0:
350
+ classes = ClassNode.getClassesForElement(element);
351
+ if (!classes.includes(selector))
352
+ return [2 /*return*/];
353
+ if (!!tag) return [3 /*break*/, 2];
354
+ return [4 /*yield*/, dom.getTagForElement(element, true)];
355
+ case 1:
356
+ tag = _a.sent();
357
+ _a.label = 2;
358
+ case 2:
359
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(selector);
360
+ if (!classNode) return [3 /*break*/, 4];
361
+ return [4 /*yield*/, classNode.deconstructTag(tag, dom)];
362
+ case 3:
363
+ _a.sent();
364
+ _a.label = 4;
365
+ case 4: return [2 /*return*/];
241
366
  }
242
367
  });
243
368
  });
@@ -245,7 +370,11 @@ var ClassNode = /** @class */ (function (_super) {
245
370
  ClassNode.isClass = function (cls) {
246
371
  return !!this.classes[cls];
247
372
  };
373
+ ClassNode.ClassesVariable = '_vsn_classes';
248
374
  ClassNode.classes = {};
375
+ ClassNode.classParents = {};
376
+ ClassNode.classChildren = {}; // List of child class selectors for a given class selector
377
+ ClassNode.preppedTags = {};
249
378
  return ClassNode;
250
379
  }(Node_1.Node));
251
380
  exports.ClassNode = ClassNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ClassNode.js","sourceRoot":"","sources":["../../src/AST/ClassNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClassNode.js","sourceRoot":"","sources":["../../src/AST/ClassNode.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ exports.ElementAttributeNode = void 0;
55
55
  var List_1 = require("../Tag/List");
56
56
  var Node_1 = require("./Node");
57
57
  var LiteralNode_1 = require("./LiteralNode");
58
+ var DOMObject_1 = require("../DOM/DOMObject");
58
59
  var ElementAttributeNode = /** @class */ (function (_super) {
59
60
  __extends(ElementAttributeNode, _super);
60
61
  function ElementAttributeNode(elementRef, attr) {
@@ -123,13 +124,14 @@ var ElementAttributeNode = /** @class */ (function (_super) {
123
124
  return __generator(this, function (_a) {
124
125
  switch (_a.label) {
125
126
  case 0:
126
- if (!this.elementRef) return [3 /*break*/, 7];
127
+ if (!this.elementRef) return [3 /*break*/, 10];
127
128
  return [4 /*yield*/, this.elementRef.prepare(scope, dom, tag, meta)];
128
129
  case 1:
129
130
  _a.sent();
130
131
  return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
131
132
  case 2:
132
133
  tags = _a.sent();
134
+ if (!(tags instanceof List_1.TagList)) return [3 /*break*/, 7];
133
135
  _i = 0, tags_1 = tags;
134
136
  _a.label = 3;
135
137
  case 3:
@@ -144,12 +146,19 @@ var ElementAttributeNode = /** @class */ (function (_super) {
144
146
  return [3 /*break*/, 3];
145
147
  case 6: return [3 /*break*/, 9];
146
148
  case 7:
147
- if (!tag) return [3 /*break*/, 9];
148
- return [4 /*yield*/, tag.watchAttribute(this.attributeName)];
149
+ if (!(tags instanceof DOMObject_1.DOMObject)) return [3 /*break*/, 9];
150
+ return [4 /*yield*/, tags.watchAttribute(this.attributeName)];
149
151
  case 8:
150
152
  _a.sent();
151
153
  _a.label = 9;
152
- case 9: return [2 /*return*/];
154
+ case 9: return [3 /*break*/, 12];
155
+ case 10:
156
+ if (!tag) return [3 /*break*/, 12];
157
+ return [4 /*yield*/, tag.watchAttribute(this.attributeName)];
158
+ case 11:
159
+ _a.sent();
160
+ _a.label = 12;
161
+ case 12: return [2 /*return*/];
153
162
  }
154
163
  });
155
164
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oCAAoC;AAEpC,+BAA4B;AAE5B,6CAA0C;AAE1C;IAA0C,wCAAI;IAG1C,8BACoB,UAAmC,EACnC,IAAY;QAFhC,YAII,iBAAO,SACV;QAJmB,gBAAU,GAAV,UAAU,CAAyB;QACnC,UAAI,GAAJ,IAAI,CAAQ;QAJtB,kBAAY,GAAY,IAAI,CAAC;;IAOvC,CAAC;IAED,sBAAW,sCAAI;aAAf;YACI,OAAO,IAAI,yBAAW,CAAS,MAAI,IAAI,CAAC,aAAe,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAES,6CAAc,GAAxB;QACI,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,UAAU;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sBAAI,+CAAa;aAAjB;YACI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAEK,uCAAQ,GAAd,UAAe,KAAY,EAAE,GAAQ,EAAE,GAAe;QAAf,oBAAA,EAAA,UAAe;;;;;;;6BAE9C,IAAI,CAAC,UAAU,EAAf,wBAAe;wBACR,qBAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;wBAA5D,IAAI,GAAG,SAAqD,CAAC;;;wBAC1D,IAAI,GAAG,EAAE;4BACZ,IAAI,GAAG,IAAI,cAAO,CAAC,GAAG,CAAC,CAAA;yBAC1B;6BAAM;4BACH,sBAAO;yBACV;;;wBAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;4BACjB,sBAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAI,IAAI,CAAC,aAAe,CAAC,EAAC;wBAEvD,sBAAO,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAI,KAAI,CAAC,aAAe,CAAC,EAAvC,CAAuC,CAAC,EAAC;;;;KACrE;IAEK,sCAAO,GAAb,UAAc,KAAY,EAAE,GAAQ,EAAE,GAAe,EAAE,IAAgB;QAAjC,oBAAA,EAAA,UAAe;QAAE,qBAAA,EAAA,WAAgB;;;;;;6BAC/D,IAAI,CAAC,UAAU,EAAf,wBAAe;wBACf,qBAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAC/B,qBAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;wBAArE,IAAI,GAAY,SAAqD;8BACvD,EAAJ,aAAI;;;6BAAJ,CAAA,kBAAI,CAAA;wBAAT,CAAC;wBACR,qBAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA1C,SAA0C,CAAC;;;wBAD/B,IAAI,CAAA;;;;6BAEd,GAAG,EAAH,wBAAG;wBACT,qBAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAA5C,SAA4C,CAAC;;;;;;KAEpD;IACL,2BAAC;AAAD,CAAC,AArDD,CAA0C,WAAI,GAqD7C;AArDY,oDAAoB"}
1
+ {"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ var ScopeMemberNode_1 = require("./ScopeMemberNode");
62
62
  var FunctionNode_1 = require("./FunctionNode");
63
63
  var Registry_1 = require("../Registry");
64
64
  var ElementQueryNode_1 = require("./ElementQueryNode");
65
+ var ClassNode_1 = require("./ClassNode");
65
66
  var FunctionCallNode = /** @class */ (function (_super) {
66
67
  __extends(FunctionCallNode, _super);
67
68
  function FunctionCallNode(fnc, args) {
@@ -115,7 +116,7 @@ var FunctionCallNode = /** @class */ (function (_super) {
115
116
  if (!(_i < tags_1.length)) return [3 /*break*/, 14];
116
117
  _tag = tags_1[_i];
117
118
  tagNum = 0;
118
- _a = 0, _b = _tag.preppedClasses;
119
+ _a = 0, _b = _tag.element[ClassNode_1.ClassNode.ClassesVariable];
119
120
  _f.label = 9;
120
121
  case 9:
121
122
  if (!(_a < _b.length)) return [3 /*break*/, 13];
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionCallNode.js","sourceRoot":"","sources":["../../src/AST/FunctionCallNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionCallNode.js","sourceRoot":"","sources":["../../src/AST/FunctionCallNode.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import { Scope } from "../Scope";
2
2
  import { DOM } from "../DOM";
3
3
  import { Tag } from "../Tag";
4
4
  import { TreeNode } from "../AST";
5
+ export interface INodeMeta {
6
+ [key: string]: string | number | boolean | null;
7
+ }
5
8
  export declare abstract class Node implements TreeNode {
6
9
  protected requiresPrep: boolean;
7
10
  protected _isPreparationRequired: boolean;
@@ -12,7 +15,7 @@ export declare abstract class Node implements TreeNode {
12
15
  readonly modifiers: string[];
13
16
  abstract evaluate(scope: Scope, dom: DOM, tag?: Tag): any;
14
17
  isPreparationRequired(): boolean;
15
- prepare(scope: Scope, dom: DOM, tag?: Tag, meta?: any): Promise<void>;
18
+ prepare(scope: Scope, dom: DOM, tag?: Tag, meta?: INodeMeta): Promise<void>;
16
19
  cleanup(scope: Scope, dom: DOM, tag: Tag): Promise<void>;
17
20
  protected _getChildNodes(): Node[];
18
21
  getChildNodes(): Node[];
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../src/AST/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../src/AST/Node.ts"],"names":[],"mappings":"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"}