vsn 0.1.62 → 0.1.63

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.
package/demo/xhr.html CHANGED
@@ -35,6 +35,17 @@
35
35
  }
36
36
  }
37
37
 
38
+ class reset-button {
39
+ func construct() {
40
+ @text = 'reset';
41
+ $color = 'red';
42
+ }
43
+
44
+ on click() {
45
+ ?>(:parent:parent).@html = << './xhr.html';
46
+ }
47
+ }
48
+
38
49
  ?>(:parent).huh_wut = 1;
39
50
  func add(a, b) {
40
51
  ?(bb).@text = `asd 123 ${a} ${b} hmm?`;
@@ -43,7 +54,7 @@
43
54
  </script>
44
55
  <div class="something-special" vsn-on:click="t()">asd</div>
45
56
  <div class="something-special" vsn-on:click="t()">asd</div>
46
- <bb>bb</bb>
57
+ <bb class="reset-button">bb</bb>
47
58
  <span vsn-bind="huh_wut"></span>
48
59
  <a href="" vsn-on:click|preventdefault="huh_wut = add(huh_wut, 1)">Click me!</a>
49
60
  </div>
@@ -18,4 +18,5 @@ export declare class ClassNode extends Node implements TreeNode {
18
18
  tearDownTag(tag: Tag, dom: DOM, hasDeconstructor?: boolean | null): Promise<void>;
19
19
  evaluate(scope: Scope, dom: DOM, tag?: Tag): Promise<any>;
20
20
  static parse(lastNode: any, token: any, tokens: Token[]): ClassNode;
21
+ static checkForClassChanges(element: HTMLElement, dom: DOM, tag?: Tag): Promise<void>;
21
22
  }
@@ -188,6 +188,59 @@ var ClassNode = /** @class */ (function (_super) {
188
188
  var block = AST_1.Tree.processTokens(AST_1.Tree.getNextStatementTokens(tokens, true, true));
189
189
  return new ClassNode(name, block);
190
190
  };
191
+ ClassNode.checkForClassChanges = function (element, dom, tag) {
192
+ if (tag === void 0) { tag = null; }
193
+ return __awaiter(this, void 0, void 0, function () {
194
+ var classes, addedClasses, removedClasses, _i, addedClasses_1, addedClass, classNode, _a, removedClasses_1, removedClass, classNode;
195
+ return __generator(this, function (_b) {
196
+ switch (_b.label) {
197
+ case 0:
198
+ classes = Array.from(element.classList);
199
+ addedClasses = classes.filter(function (c) { return Registry_1.Registry.instance.classes.has(c); });
200
+ removedClasses = [];
201
+ if (!tag) return [3 /*break*/, 1];
202
+ addedClasses = addedClasses.filter(function (c) { return !tag.preppedClasses.includes(c); });
203
+ removedClasses = tag.preppedClasses.filter(function (c) { return !classes.includes(c); });
204
+ return [3 /*break*/, 3];
205
+ case 1: return [4 /*yield*/, dom.getTagForElement(element, true)];
206
+ case 2:
207
+ tag = _b.sent();
208
+ _b.label = 3;
209
+ case 3:
210
+ _i = 0, addedClasses_1 = addedClasses;
211
+ _b.label = 4;
212
+ case 4:
213
+ if (!(_i < addedClasses_1.length)) return [3 /*break*/, 7];
214
+ addedClass = addedClasses_1[_i];
215
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(addedClass);
216
+ if (!classNode) return [3 /*break*/, 6];
217
+ return [4 /*yield*/, classNode.prepareTag(tag, dom)];
218
+ case 5:
219
+ _b.sent();
220
+ _b.label = 6;
221
+ case 6:
222
+ _i++;
223
+ return [3 /*break*/, 4];
224
+ case 7:
225
+ _a = 0, removedClasses_1 = removedClasses;
226
+ _b.label = 8;
227
+ case 8:
228
+ if (!(_a < removedClasses_1.length)) return [3 /*break*/, 11];
229
+ removedClass = removedClasses_1[_a];
230
+ classNode = Registry_1.Registry.instance.classes.getSynchronous(removedClass);
231
+ if (!classNode) return [3 /*break*/, 10];
232
+ return [4 /*yield*/, classNode.tearDownTag(tag, dom)];
233
+ case 9:
234
+ _b.sent();
235
+ _b.label = 10;
236
+ case 10:
237
+ _a++;
238
+ return [3 /*break*/, 8];
239
+ case 11: return [2 /*return*/];
240
+ }
241
+ });
242
+ });
243
+ };
191
244
  ClassNode.classes = {};
192
245
  return ClassNode;
193
246
  }(Node_1.Node));
@@ -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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"}
package/dist/DOM.js CHANGED
@@ -65,7 +65,7 @@ var List_1 = require("./Tag/List");
65
65
  var WrappedWindow_1 = require("./DOM/WrappedWindow");
66
66
  var WrappedDocument_1 = require("./DOM/WrappedDocument");
67
67
  var EventDispatcher_1 = require("./EventDispatcher");
68
- var Registry_1 = require("./Registry");
68
+ var ClassNode_1 = require("./AST/ClassNode");
69
69
  var DOM = /** @class */ (function (_super) {
70
70
  __extends(DOM, _super);
71
71
  function DOM(rootElement, build, debug) {
@@ -215,96 +215,46 @@ var DOM = /** @class */ (function (_super) {
215
215
  };
216
216
  DOM.prototype.mutation = function (mutations) {
217
217
  return __awaiter(this, void 0, void 0, function () {
218
- var _loop_1, this_1, _i, mutations_1, mutation;
219
- return __generator(this, function (_a) {
220
- switch (_a.label) {
218
+ var _i, mutations_1, mutation, tag, _a, _b, ele, toRemove;
219
+ return __generator(this, function (_c) {
220
+ switch (_c.label) {
221
221
  case 0:
222
- _loop_1 = function (mutation) {
223
- var tag, classes_1, addedClasses, removedClasses, _b, addedClasses_1, addedClass, classNode, _c, removedClasses_1, removedClass, classNode, _d, _e, ele, toRemove;
224
- return __generator(this, function (_f) {
225
- switch (_f.label) {
226
- case 0: return [4 /*yield*/, this_1.getTagForElement(mutation.target)];
227
- case 1:
228
- tag = _f.sent();
229
- if (tag) {
230
- tag.mutate(mutation);
231
- }
232
- if (!(mutation.type === 'attributes' && mutation.attributeName === 'class')) return [3 /*break*/, 12];
233
- classes_1 = Array.from(mutation.target.classList);
234
- addedClasses = classes_1.filter(function (c) { return Registry_1.Registry.instance.classes.has(c); });
235
- removedClasses = [];
236
- if (!tag) return [3 /*break*/, 2];
237
- addedClasses = addedClasses.filter(function (c) { return !tag.preppedClasses.includes(c); });
238
- removedClasses = tag.preppedClasses.filter(function (c) { return !classes_1.includes(c); });
239
- return [3 /*break*/, 4];
240
- case 2: return [4 /*yield*/, this_1.getTagForElement(mutation.target, true)];
241
- case 3:
242
- tag = _f.sent();
243
- _f.label = 4;
244
- case 4:
245
- _b = 0, addedClasses_1 = addedClasses;
246
- _f.label = 5;
247
- case 5:
248
- if (!(_b < addedClasses_1.length)) return [3 /*break*/, 8];
249
- addedClass = addedClasses_1[_b];
250
- classNode = Registry_1.Registry.instance.classes.getSynchronous(addedClass);
251
- if (!classNode) return [3 /*break*/, 7];
252
- return [4 /*yield*/, classNode.prepareTag(tag, this_1)];
253
- case 6:
254
- _f.sent();
255
- _f.label = 7;
256
- case 7:
257
- _b++;
258
- return [3 /*break*/, 5];
259
- case 8:
260
- _c = 0, removedClasses_1 = removedClasses;
261
- _f.label = 9;
262
- case 9:
263
- if (!(_c < removedClasses_1.length)) return [3 /*break*/, 12];
264
- removedClass = removedClasses_1[_c];
265
- classNode = Registry_1.Registry.instance.classes.getSynchronous(removedClass);
266
- if (!classNode) return [3 /*break*/, 11];
267
- return [4 /*yield*/, classNode.tearDownTag(tag, this_1)];
268
- case 10:
269
- _f.sent();
270
- _f.label = 11;
271
- case 11:
272
- _c++;
273
- return [3 /*break*/, 9];
274
- case 12:
275
- _d = 0, _e = Array.from(mutation.removedNodes);
276
- _f.label = 13;
277
- case 13:
278
- if (!(_d < _e.length)) return [3 /*break*/, 16];
279
- ele = _e[_d];
280
- return [4 /*yield*/, this_1.getTagForElement(ele)];
281
- case 14:
282
- toRemove = _f.sent();
283
- if (toRemove) {
284
- toRemove.deconstruct();
285
- }
286
- _f.label = 15;
287
- case 15:
288
- _d++;
289
- return [3 /*break*/, 13];
290
- case 16: return [2 /*return*/];
291
- }
292
- });
293
- };
294
- this_1 = this;
295
222
  _i = 0, mutations_1 = mutations;
296
- _a.label = 1;
223
+ _c.label = 1;
297
224
  case 1:
298
- if (!(_i < mutations_1.length)) return [3 /*break*/, 4];
225
+ if (!(_i < mutations_1.length)) return [3 /*break*/, 9];
299
226
  mutation = mutations_1[_i];
300
- return [5 /*yield**/, _loop_1(mutation)];
227
+ return [4 /*yield*/, this.getTagForElement(mutation.target)];
301
228
  case 2:
302
- _a.sent();
303
- _a.label = 3;
229
+ tag = _c.sent();
230
+ if (tag) {
231
+ tag.mutate(mutation);
232
+ }
233
+ if (!(mutation.type === 'attributes' && mutation.attributeName === 'class')) return [3 /*break*/, 4];
234
+ return [4 /*yield*/, ClassNode_1.ClassNode.checkForClassChanges(mutation.target, this, tag)];
304
235
  case 3:
236
+ _c.sent();
237
+ _c.label = 4;
238
+ case 4:
239
+ _a = 0, _b = Array.from(mutation.removedNodes);
240
+ _c.label = 5;
241
+ case 5:
242
+ if (!(_a < _b.length)) return [3 /*break*/, 8];
243
+ ele = _b[_a];
244
+ return [4 /*yield*/, this.getTagForElement(ele)];
245
+ case 6:
246
+ toRemove = _c.sent();
247
+ if (toRemove) {
248
+ toRemove.deconstruct();
249
+ }
250
+ _c.label = 7;
251
+ case 7:
252
+ _a++;
253
+ return [3 /*break*/, 5];
254
+ case 8:
305
255
  _i++;
306
256
  return [3 /*break*/, 1];
307
- case 4: return [2 /*return*/];
257
+ case 9: return [2 /*return*/];
308
258
  }
309
259
  });
310
260
  });
@@ -312,10 +262,9 @@ var DOM = /** @class */ (function (_super) {
312
262
  DOM.prototype.buildFrom = function (ele, isRoot) {
313
263
  if (isRoot === void 0) { isRoot = false; }
314
264
  return __awaiter(this, void 0, void 0, function () {
315
- var allElements, _i, _a, tag, newTags, toBuild, toSkip, _b, _c, element, _d, toBuild_1, element, tag, _e, _f, newTags_1, tag, _g, newTags_2, tag, _h, newTags_3, tag, _j, newTags_4, tag, _k, newTags_5, tag, _l, newTags_6, tag;
316
- var _this = this;
317
- return __generator(this, function (_m) {
318
- switch (_m.label) {
265
+ var allElements, _i, _a, tag, newTags, toBuild, toSkip, _b, _c, element, _d, toBuild_1, element, tag, _e, _f, newTags_1, tag, _g, newTags_2, tag, _h, newTags_3, tag, _j, newTags_4, tag, _k, newTags_5, tag, _l, newTags_6, tag, _m, newTags_7, tag;
266
+ return __generator(this, function (_o) {
267
+ switch (_o.label) {
319
268
  case 0:
320
269
  allElements = [];
321
270
  if (isRoot) {
@@ -357,94 +306,107 @@ var DOM = /** @class */ (function (_super) {
357
306
  _e = this;
358
307
  return [4 /*yield*/, this.getTagForElement(document.body)];
359
308
  case 1:
360
- _e._root = _m.sent();
361
- _m.label = 2;
309
+ _e._root = _o.sent();
310
+ _o.label = 2;
362
311
  case 2:
363
312
  _f = 0, newTags_1 = newTags;
364
- _m.label = 3;
313
+ _o.label = 3;
365
314
  case 3:
366
315
  if (!(_f < newTags_1.length)) return [3 /*break*/, 6];
367
316
  tag = newTags_1[_f];
368
317
  return [4 /*yield*/, tag.buildAttributes()];
369
318
  case 4:
370
- _m.sent();
371
- _m.label = 5;
319
+ _o.sent();
320
+ _o.label = 5;
372
321
  case 5:
373
322
  _f++;
374
323
  return [3 /*break*/, 3];
375
324
  case 6:
376
325
  _g = 0, newTags_2 = newTags;
377
- _m.label = 7;
326
+ _o.label = 7;
378
327
  case 7:
379
328
  if (!(_g < newTags_2.length)) return [3 /*break*/, 10];
380
329
  tag = newTags_2[_g];
381
330
  return [4 /*yield*/, tag.compileAttributes()];
382
331
  case 8:
383
- _m.sent();
384
- _m.label = 9;
332
+ _o.sent();
333
+ _o.label = 9;
385
334
  case 9:
386
335
  _g++;
387
336
  return [3 /*break*/, 7];
388
337
  case 10:
389
338
  _h = 0, newTags_3 = newTags;
390
- _m.label = 11;
339
+ _o.label = 11;
391
340
  case 11:
392
341
  if (!(_h < newTags_3.length)) return [3 /*break*/, 14];
393
342
  tag = newTags_3[_h];
394
343
  return [4 /*yield*/, tag.setupAttributes()];
395
344
  case 12:
396
- _m.sent();
397
- _m.label = 13;
345
+ _o.sent();
346
+ _o.label = 13;
398
347
  case 13:
399
348
  _h++;
400
349
  return [3 /*break*/, 11];
401
350
  case 14:
402
351
  _j = 0, newTags_4 = newTags;
403
- _m.label = 15;
352
+ _o.label = 15;
404
353
  case 15:
405
354
  if (!(_j < newTags_4.length)) return [3 /*break*/, 18];
406
355
  tag = newTags_4[_j];
407
356
  return [4 /*yield*/, tag.extractAttributes()];
408
357
  case 16:
409
- _m.sent();
410
- _m.label = 17;
358
+ _o.sent();
359
+ _o.label = 17;
411
360
  case 17:
412
361
  _j++;
413
362
  return [3 /*break*/, 15];
414
363
  case 18:
415
364
  _k = 0, newTags_5 = newTags;
416
- _m.label = 19;
365
+ _o.label = 19;
417
366
  case 19:
418
367
  if (!(_k < newTags_5.length)) return [3 /*break*/, 22];
419
368
  tag = newTags_5[_k];
420
369
  return [4 /*yield*/, tag.connectAttributes()];
421
370
  case 20:
422
- _m.sent();
423
- _m.label = 21;
371
+ _o.sent();
372
+ _o.label = 21;
424
373
  case 21:
425
374
  _k++;
426
375
  return [3 /*break*/, 19];
427
376
  case 22:
428
377
  _l = 0, newTags_6 = newTags;
429
- _m.label = 23;
378
+ _o.label = 23;
430
379
  case 23:
431
380
  if (!(_l < newTags_6.length)) return [3 /*break*/, 26];
432
381
  tag = newTags_6[_l];
433
382
  return [4 /*yield*/, tag.finalize()];
434
383
  case 24:
435
- _m.sent();
384
+ _o.sent();
436
385
  this.queued.splice(this.queued.indexOf(tag.element), 1);
437
- _m.label = 25;
386
+ _o.label = 25;
438
387
  case 25:
439
388
  _l++;
440
389
  return [3 /*break*/, 23];
441
390
  case 26:
442
- newTags.forEach(function (tag) { return _this.observer.observe(tag.element, {
391
+ _m = 0, newTags_7 = newTags;
392
+ _o.label = 27;
393
+ case 27:
394
+ if (!(_m < newTags_7.length)) return [3 /*break*/, 30];
395
+ tag = newTags_7[_m];
396
+ this.observer.observe(tag.element, {
443
397
  attributes: true,
444
398
  characterData: true,
445
399
  childList: true,
446
400
  subtree: true
447
- }); });
401
+ });
402
+ return [4 /*yield*/, ClassNode_1.ClassNode.checkForClassChanges(tag.element, this, tag)];
403
+ case 28:
404
+ _o.sent();
405
+ _o.label = 29;
406
+ case 29:
407
+ _m++;
408
+ return [3 /*break*/, 27];
409
+ case 30:
448
410
  this.dispatch('built');
449
411
  return [2 /*return*/];
450
412
  }
package/dist/DOM.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DOM.js","sourceRoot":"","sources":["../src/DOM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DOM.js","sourceRoot":"","sources":["../src/DOM.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.62",
3
+ "version": "0.1.63",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -88,4 +88,30 @@ export class ClassNode extends Node implements TreeNode {
88
88
  const block = Tree.processTokens(Tree.getNextStatementTokens(tokens, true, true));
89
89
  return new ClassNode(name, block);
90
90
  }
91
+
92
+ public static async checkForClassChanges(element: HTMLElement, dom: DOM, tag: Tag = null) {
93
+ const classes: string[] = Array.from(element.classList);
94
+ let addedClasses: string[] = classes.filter(c => Registry.instance.classes.has(c));
95
+ let removedClasses: string[] = [];
96
+ if (tag) {
97
+ addedClasses = addedClasses.filter(c => !tag.preppedClasses.includes(c));
98
+ removedClasses = tag.preppedClasses.filter(c => !classes.includes(c));
99
+ } else {
100
+ tag = await dom.getTagForElement(element, true);
101
+ }
102
+
103
+ for (const addedClass of addedClasses) {
104
+ const classNode: ClassNode = Registry.instance.classes.getSynchronous(addedClass);
105
+ if (classNode) {
106
+ await classNode.prepareTag(tag, dom);
107
+ }
108
+ }
109
+
110
+ for (const removedClass of removedClasses) {
111
+ const classNode: ClassNode = Registry.instance.classes.getSynchronous(removedClass);
112
+ if (classNode) {
113
+ await classNode.tearDownTag(tag, dom);
114
+ }
115
+ }
116
+ }
91
117
  }
package/src/DOM.ts CHANGED
@@ -124,29 +124,7 @@ export class DOM extends EventDispatcher {
124
124
 
125
125
  // Check for class changes
126
126
  if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
127
- const classes: string[] = Array.from((mutation.target as HTMLElement).classList);
128
- let addedClasses: string[] = classes.filter(c => Registry.instance.classes.has(c));
129
- let removedClasses: string[] = [];
130
- if (tag) {
131
- addedClasses = addedClasses.filter(c => !tag.preppedClasses.includes(c));
132
- removedClasses = tag.preppedClasses.filter(c => !classes.includes(c));
133
- } else {
134
- tag = await this.getTagForElement(mutation.target as HTMLElement, true);
135
- }
136
-
137
- for (const addedClass of addedClasses) {
138
- const classNode: ClassNode = Registry.instance.classes.getSynchronous(addedClass);
139
- if (classNode) {
140
- await classNode.prepareTag(tag, this);
141
- }
142
- }
143
-
144
- for (const removedClass of removedClasses) {
145
- const classNode: ClassNode = Registry.instance.classes.getSynchronous(removedClass);
146
- if (classNode) {
147
- await classNode.tearDownTag(tag, this);
148
- }
149
- }
127
+ await ClassNode.checkForClassChanges(mutation.target as HTMLElement, this, tag);
150
128
  }
151
129
 
152
130
  for (const ele of Array.from(mutation.removedNodes)) {
@@ -220,12 +198,15 @@ export class DOM extends EventDispatcher {
220
198
  this.queued.splice(this.queued.indexOf(tag.element), 1);
221
199
  }
222
200
 
223
- newTags.forEach(tag => this.observer.observe(tag.element, {
201
+ for (const tag of newTags) {
202
+ this.observer.observe(tag.element, {
224
203
  attributes: true,
225
204
  characterData: true,
226
205
  childList: true,
227
206
  subtree: true
228
- }));
207
+ });
208
+ await ClassNode.checkForClassChanges(tag.element, this, tag);
209
+ }
229
210
 
230
211
  this.dispatch('built');
231
212
  }