vsn 0.1.71 → 0.1.74

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 (54) 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 +24 -7
  7. package/dist/AST/ClassNode.js +220 -57
  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 +14 -3
  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/version.d.ts +1 -0
  33. package/dist/version.js +5 -0
  34. package/dist/version.js.map +1 -0
  35. package/dist/vsn.js +2 -1
  36. package/dist/vsn.js.map +1 -1
  37. package/dist/vsn.min.js +2 -2
  38. package/package.json +3 -2
  39. package/src/AST/ArithmeticAssignmentNode.ts +1 -1
  40. package/src/AST/ClassNode.ts +138 -33
  41. package/src/AST/ElementAttributeNode.ts +9 -4
  42. package/src/AST/FunctionCallNode.ts +11 -2
  43. package/src/AST/Node.ts +5 -1
  44. package/src/AST/ScopeMemberNode.ts +0 -1
  45. package/src/AST.ts +3 -1
  46. package/src/DOM.ts +15 -3
  47. package/src/EventDispatcher.ts +8 -0
  48. package/src/Registry.ts +1 -1
  49. package/src/Tag/List.ts +5 -13
  50. package/src/Tag.ts +0 -1
  51. package/src/version.ts +1 -0
  52. package/src/vsn.ts +2 -1
  53. package/test/AST/ClassNode.spec.ts +66 -11
  54. 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,41 @@ 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
+ findClassElements(dom: any): Promise<void>;
31
+ constructTag(tag: Tag, dom: DOM, hasConstructor?: boolean | null): Promise<void>;
32
+ deconstructTag(tag: Tag, dom: DOM, hasDeconstructor?: boolean | null): Promise<void>;
21
33
  evaluate(scope: Scope, dom: DOM, tag?: Tag): Promise<any>;
22
34
  static parse(lastNode: any, token: any, tokens: Token[]): ClassNode;
23
35
  static checkForClassChanges(element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
36
+ static getClassesForElement(element: HTMLElement): string[];
37
+ static addPreparedClassToElement(element: HTMLElement, selector: string): void;
38
+ static removePreparedClassFromElement(element: HTMLElement, selector: string): void;
39
+ static addElementClass(selector: string, element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
40
+ static removeElementClass(selector: string, element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
24
41
  static isClass(cls: string): boolean;
25
42
  }
@@ -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,91 @@ 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;
81
- return __generator(this, function (_b) {
82
- switch (_b.label) {
91
+ var initial, root;
92
+ return __generator(this, function (_a) {
93
+ switch (_a.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
+ root = false;
98
+ meta['ClassNodePrepare'] = initial;
99
+ if (!initial) return [3 /*break*/, 4];
100
+ if (meta['ClassNodeSelector']) {
101
+ ClassNode.classChildren[meta['ClassNodeSelector']].push(this.selector);
102
+ meta['ClassNodeSelector'] = meta['ClassNodeSelector'] + " " + this.selector;
103
+ }
104
+ else {
105
+ root = true;
106
+ meta['ClassNodeSelector'] = this.selector;
107
+ }
108
+ this._fullSelector = meta['ClassNodeSelector'];
109
+ if (ClassNode.classes[this._fullSelector])
87
110
  return [2 /*return*/]; // Don't re-prepare same classes
88
- ClassNode.classes[this.name] = this;
111
+ ClassNode.classes[this._fullSelector] = this;
112
+ ClassNode.classChildren[this._fullSelector] = [];
113
+ ClassNode.preppedTags[this._fullSelector] = [];
114
+ if (ClassNode.classParents[this.selector] === undefined)
115
+ ClassNode.classParents[this.selector] = [];
116
+ ClassNode.classParents[this.selector].push(this._fullSelector);
89
117
  return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
90
118
  case 1:
91
- _b.sent();
119
+ _a.sent();
92
120
  Registry_1.Registry.class(this);
93
- _i = 0, _a = Array.from(dom.querySelectorAll("." + this.name));
94
- _b.label = 2;
121
+ if (!root) return [3 /*break*/, 3];
122
+ return [4 /*yield*/, this.findClassElements(dom)];
95
123
  case 2:
96
- if (!(_i < _a.length)) return [3 /*break*/, 5];
124
+ _a.sent();
125
+ _a.label = 3;
126
+ case 3: return [3 /*break*/, 6];
127
+ case 4: return [4 /*yield*/, this.block.prepare(this.classScope, dom, tag, meta)];
128
+ case 5:
129
+ _a.sent();
130
+ _a.label = 6;
131
+ case 6: return [2 /*return*/];
132
+ }
133
+ });
134
+ });
135
+ };
136
+ ClassNode.prototype.findClassElements = function (dom) {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ var _i, _a, element, _b, _c, childSelector, node;
139
+ return __generator(this, function (_d) {
140
+ switch (_d.label) {
141
+ case 0:
142
+ _i = 0, _a = Array.from(dom.querySelectorAll(this._fullSelector));
143
+ _d.label = 1;
144
+ case 1:
145
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
97
146
  element = _a[_i];
98
- return [4 /*yield*/, ClassNode.checkForClassChanges(element, dom, element[Tag_1.Tag.TaggedVariable] || null)];
147
+ return [4 /*yield*/, ClassNode.addElementClass(this._fullSelector, element, dom, element[Tag_1.Tag.TaggedVariable] || null)];
148
+ case 2:
149
+ _d.sent();
150
+ _d.label = 3;
99
151
  case 3:
100
- _b.sent();
101
- _b.label = 4;
102
- case 4:
103
152
  _i++;
104
- return [3 /*break*/, 2];
105
- case 5: return [2 /*return*/];
153
+ return [3 /*break*/, 1];
154
+ case 4:
155
+ _b = 0, _c = ClassNode.classChildren[this._fullSelector];
156
+ _d.label = 5;
157
+ case 5:
158
+ if (!(_b < _c.length)) return [3 /*break*/, 8];
159
+ childSelector = _c[_b];
160
+ node = ClassNode.classes[this._fullSelector + " " + childSelector];
161
+ if (!node)
162
+ return [3 /*break*/, 7];
163
+ return [4 /*yield*/, node.findClassElements(dom)];
164
+ case 6:
165
+ _d.sent();
166
+ _d.label = 7;
167
+ case 7:
168
+ _b++;
169
+ return [3 /*break*/, 5];
170
+ case 8: return [2 /*return*/];
106
171
  }
107
172
  });
108
173
  });
109
174
  };
110
- ClassNode.prototype.prepareTag = function (tag, dom, hasConstructor) {
175
+ ClassNode.prototype.constructTag = function (tag, dom, hasConstructor) {
111
176
  if (hasConstructor === void 0) { hasConstructor = null; }
112
177
  return __awaiter(this, void 0, void 0, function () {
113
178
  var meta, fncCls, fnc;
@@ -131,13 +196,15 @@ var ClassNode = /** @class */ (function (_super) {
131
196
  _a.sent();
132
197
  _a.label = 4;
133
198
  case 4:
134
- tag.preppedClasses.push(this.name);
199
+ tag.dispatch(this.fullSelector + ".construct", tag.element.id);
200
+ ClassNode.preppedTags[this.fullSelector].push(tag);
201
+ ClassNode.addPreparedClassToElement(tag.element, this.fullSelector);
135
202
  return [2 /*return*/];
136
203
  }
137
204
  });
138
205
  });
139
206
  };
140
- ClassNode.prototype.tearDownTag = function (tag, dom, hasDeconstructor) {
207
+ ClassNode.prototype.deconstructTag = function (tag, dom, hasDeconstructor) {
141
208
  if (hasDeconstructor === void 0) { hasDeconstructor = null; }
142
209
  return __awaiter(this, void 0, void 0, function () {
143
210
  var fncCls, fnc, _i, _a, key, on;
@@ -163,7 +230,11 @@ var ClassNode = /** @class */ (function (_super) {
163
230
  tag.removeContextEventHandlers(on);
164
231
  }
165
232
  }
166
- tag.preppedClasses.splice(tag.preppedClasses.indexOf(this.name), 1);
233
+ tag.dispatch(this.fullSelector + ".deconstruct");
234
+ ClassNode.preppedTags[this.fullSelector].splice(ClassNode.preppedTags[this.fullSelector].indexOf(tag), 1);
235
+ return [4 /*yield*/, ClassNode.removePreparedClassFromElement(tag.element, this.fullSelector)];
236
+ case 4:
237
+ _b.sent();
167
238
  return [2 /*return*/];
168
239
  }
169
240
  });
@@ -186,58 +257,146 @@ var ClassNode = /** @class */ (function (_super) {
186
257
  break;
187
258
  nameParts.push(t.value);
188
259
  }
189
- var name = nameParts.join('').trim();
260
+ var selector = nameParts.join('').trim();
190
261
  tokens.splice(0, nameParts.length);
191
262
  var block = AST_1.Tree.processTokens(AST_1.Tree.getNextStatementTokens(tokens, true, true));
192
- return new ClassNode(name, block);
263
+ return new ClassNode(selector, block);
193
264
  };
194
265
  ClassNode.checkForClassChanges = function (element, dom, tag) {
195
266
  if (tag === void 0) { tag = null; }
196
267
  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) {
268
+ var localSelectors, fullSelectors, selector, _i, fullSelectors_1, selector, isPrepped, elements, inElements, changed, _a, _b, childSelector, _c, _d, childElement;
269
+ return __generator(this, function (_e) {
270
+ switch (_e.label) {
200
271
  case 0:
201
- classes = Array.from(element.classList);
202
- addedClasses = classes.filter(function (c) { return Registry_1.Registry.instance.classes.has(c); });
272
+ localSelectors = __spreadArray([element.tagName.toLowerCase()], Array.from(element.classList).map(function (c) { return "." + c; }));
273
+ fullSelectors = __spreadArray([], ClassNode.getClassesForElement(element));
274
+ if (element.id)
275
+ localSelectors.push("#" + element.id);
276
+ for (selector in localSelectors) {
277
+ if (ClassNode.classParents[selector])
278
+ fullSelectors.push.apply(fullSelectors, ClassNode.classParents[selector]);
279
+ }
203
280
  if (!!tag) return [3 /*break*/, 2];
204
281
  return [4 /*yield*/, dom.getTagForElement(element, true)];
205
282
  case 1:
206
- tag = _b.sent();
207
- _b.label = 2;
283
+ tag = _e.sent();
284
+ _e.label = 2;
208
285
  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;
286
+ _i = 0, fullSelectors_1 = fullSelectors;
287
+ _e.label = 3;
213
288
  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)];
289
+ if (!(_i < fullSelectors_1.length)) return [3 /*break*/, 14];
290
+ selector = fullSelectors_1[_i];
291
+ isPrepped = ClassNode.getClassesForElement(element).includes(selector);
292
+ elements = Array.from(dom.querySelectorAll(selector));
293
+ inElements = elements.includes(element);
294
+ changed = false;
295
+ if (!(inElements && !isPrepped)) return [3 /*break*/, 5];
296
+ return [4 /*yield*/, ClassNode.addElementClass(selector, element, dom, tag)];
219
297
  case 4:
220
- _b.sent();
221
- _b.label = 5;
298
+ _e.sent();
299
+ changed = true;
300
+ return [3 /*break*/, 7];
222
301
  case 5:
223
- _i++;
224
- return [3 /*break*/, 3];
302
+ if (!(!inElements && isPrepped)) return [3 /*break*/, 7];
303
+ return [4 /*yield*/, ClassNode.removeElementClass(selector, element, dom, tag)];
225
304
  case 6:
226
- _a = 0, removedClasses_1 = removedClasses;
227
- _b.label = 7;
305
+ _e.sent();
306
+ changed = true;
307
+ _e.label = 7;
228
308
  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)];
309
+ if (!(changed && ClassNode.classChildren[selector].length > 0)) return [3 /*break*/, 13];
310
+ _a = 0, _b = ClassNode.classChildren[selector];
311
+ _e.label = 8;
234
312
  case 8:
235
- _b.sent();
236
- _b.label = 9;
313
+ if (!(_a < _b.length)) return [3 /*break*/, 13];
314
+ childSelector = _b[_a];
315
+ _c = 0, _d = Array.from(dom.querySelectorAll(childSelector, tag));
316
+ _e.label = 9;
237
317
  case 9:
318
+ if (!(_c < _d.length)) return [3 /*break*/, 12];
319
+ childElement = _d[_c];
320
+ return [4 /*yield*/, ClassNode.checkForClassChanges(childElement, dom, childElement[Tag_1.Tag.TaggedVariable] || null)];
321
+ case 10:
322
+ _e.sent();
323
+ _e.label = 11;
324
+ case 11:
325
+ _c++;
326
+ return [3 /*break*/, 9];
327
+ case 12:
238
328
  _a++;
239
- return [3 /*break*/, 7];
240
- case 10: return [2 /*return*/];
329
+ return [3 /*break*/, 8];
330
+ case 13:
331
+ _i++;
332
+ return [3 /*break*/, 3];
333
+ case 14: return [2 /*return*/];
334
+ }
335
+ });
336
+ });
337
+ };
338
+ ClassNode.getClassesForElement = function (element) {
339
+ if (!element[ClassNode.ClassesVariable])
340
+ element[ClassNode.ClassesVariable] = [];
341
+ return element[ClassNode.ClassesVariable];
342
+ };
343
+ ClassNode.addPreparedClassToElement = function (element, selector) {
344
+ ClassNode.getClassesForElement(element).push(selector);
345
+ };
346
+ ClassNode.removePreparedClassFromElement = function (element, selector) {
347
+ var classes = ClassNode.getClassesForElement(element);
348
+ classes.splice(classes.indexOf(selector), 1);
349
+ };
350
+ ClassNode.addElementClass = function (selector, element, dom, tag) {
351
+ if (tag === void 0) { tag = null; }
352
+ return __awaiter(this, void 0, void 0, function () {
353
+ var classes, classNode;
354
+ return __generator(this, function (_a) {
355
+ switch (_a.label) {
356
+ case 0:
357
+ classes = ClassNode.getClassesForElement(element);
358
+ if (classes.includes(selector))
359
+ return [2 /*return*/];
360
+ if (!!tag) return [3 /*break*/, 2];
361
+ return [4 /*yield*/, dom.getTagForElement(element, true)];
362
+ case 1:
363
+ tag = _a.sent();
364
+ _a.label = 2;
365
+ case 2:
366
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(selector);
367
+ if (!classNode) return [3 /*break*/, 4];
368
+ return [4 /*yield*/, classNode.constructTag(tag, dom)];
369
+ case 3:
370
+ _a.sent();
371
+ _a.label = 4;
372
+ case 4: return [2 /*return*/];
373
+ }
374
+ });
375
+ });
376
+ };
377
+ ClassNode.removeElementClass = function (selector, element, dom, tag) {
378
+ if (tag === void 0) { tag = null; }
379
+ return __awaiter(this, void 0, void 0, function () {
380
+ var classes, classNode;
381
+ return __generator(this, function (_a) {
382
+ switch (_a.label) {
383
+ case 0:
384
+ classes = ClassNode.getClassesForElement(element);
385
+ if (!classes.includes(selector))
386
+ return [2 /*return*/];
387
+ if (!!tag) return [3 /*break*/, 2];
388
+ return [4 /*yield*/, dom.getTagForElement(element, true)];
389
+ case 1:
390
+ tag = _a.sent();
391
+ _a.label = 2;
392
+ case 2:
393
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(selector);
394
+ if (!classNode) return [3 /*break*/, 4];
395
+ return [4 /*yield*/, classNode.deconstructTag(tag, dom)];
396
+ case 3:
397
+ _a.sent();
398
+ _a.label = 4;
399
+ case 4: return [2 /*return*/];
241
400
  }
242
401
  });
243
402
  });
@@ -245,7 +404,11 @@ var ClassNode = /** @class */ (function (_super) {
245
404
  ClassNode.isClass = function (cls) {
246
405
  return !!this.classes[cls];
247
406
  };
407
+ ClassNode.ClassesVariable = '_vsn_classes';
248
408
  ClassNode.classes = {};
409
+ ClassNode.classParents = {};
410
+ ClassNode.classChildren = {}; // List of child class selectors for a given class selector
411
+ ClassNode.preppedTags = {};
249
412
  return ClassNode;
250
413
  }(Node_1.Node));
251
414
  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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"}