vsn 0.1.133 → 0.1.135

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 (46) hide show
  1. package/demo/examples/cascading-function-sheets.html +2 -11
  2. package/demo/memory-leak-test.html +10 -2
  3. package/demo/resources/xhr-memory-leak-test.html +1 -1
  4. package/demo/vsn.js +2 -2
  5. package/dist/AST/ClassNode.js +23 -36
  6. package/dist/AST/ClassNode.js.map +1 -1
  7. package/dist/AST.js +1 -1
  8. package/dist/AST.js.map +1 -1
  9. package/dist/Attribute.d.ts +1 -0
  10. package/dist/Attribute.js +5 -0
  11. package/dist/Attribute.js.map +1 -1
  12. package/dist/DOM/AbstractDOM.d.ts +1 -0
  13. package/dist/DOM/AbstractDOM.js +7 -0
  14. package/dist/DOM/AbstractDOM.js.map +1 -1
  15. package/dist/DOM/DOMObject.d.ts +3 -0
  16. package/dist/DOM/DOMObject.js +8 -0
  17. package/dist/DOM/DOMObject.js.map +1 -1
  18. package/dist/EventDispatcher.d.ts +1 -0
  19. package/dist/EventDispatcher.js +81 -31
  20. package/dist/EventDispatcher.js.map +1 -1
  21. package/dist/Scope/ScopeDataAbstract.d.ts +2 -0
  22. package/dist/Scope/ScopeDataAbstract.js +55 -26
  23. package/dist/Scope/ScopeDataAbstract.js.map +1 -1
  24. package/dist/Scope/properties/Property.d.ts +1 -0
  25. package/dist/Scope/properties/Property.js +6 -0
  26. package/dist/Scope/properties/Property.js.map +1 -1
  27. package/dist/Scope.d.ts +2 -1
  28. package/dist/Scope.js +23 -4
  29. package/dist/Scope.js.map +1 -1
  30. package/dist/Tag.d.ts +1 -0
  31. package/dist/Tag.js +30 -34
  32. package/dist/Tag.js.map +1 -1
  33. package/dist/version.d.ts +1 -1
  34. package/dist/version.js +1 -1
  35. package/package.json +1 -1
  36. package/src/AST/ClassNode.ts +7 -9
  37. package/src/AST.ts +1 -1
  38. package/src/Attribute.ts +6 -0
  39. package/src/DOM/AbstractDOM.ts +7 -0
  40. package/src/DOM/DOMObject.ts +10 -0
  41. package/src/EventDispatcher.ts +23 -1
  42. package/src/Scope/ScopeDataAbstract.ts +21 -0
  43. package/src/Scope/properties/Property.ts +7 -0
  44. package/src/Scope.ts +20 -5
  45. package/src/Tag.ts +18 -9
  46. package/src/version.ts +1 -1
package/dist/Scope.js CHANGED
@@ -68,6 +68,16 @@ var Scope = /** @class */ (function (_super) {
68
68
  _this._data.addRelay(_this);
69
69
  return _this;
70
70
  }
71
+ Scope.prototype.deconstruct = function () {
72
+ _super.prototype.deconstruct.call(this);
73
+ this.collectGarbage(true);
74
+ this.wrapped = null;
75
+ if (this._data)
76
+ this._data.deconstruct();
77
+ this._data = null;
78
+ this.children.length = 0;
79
+ this._parentScope = null;
80
+ };
71
81
  Object.defineProperty(Scope.prototype, "data", {
72
82
  get: function () {
73
83
  return this._data;
@@ -160,6 +170,8 @@ var Scope = /** @class */ (function (_super) {
160
170
  };
161
171
  Scope.prototype.get = function (key, searchParents) {
162
172
  if (searchParents === void 0) { searchParents = true; }
173
+ if (this._data === null)
174
+ return null;
163
175
  var value = this._data[key];
164
176
  if (value === undefined) {
165
177
  if (searchParents && this.parentScope)
@@ -170,6 +182,8 @@ var Scope = /** @class */ (function (_super) {
170
182
  };
171
183
  Scope.prototype.set = function (key, value, detectType) {
172
184
  if (detectType === void 0) { detectType = false; }
185
+ if (this._data === null)
186
+ return;
173
187
  if (detectType) {
174
188
  var type = typeof value;
175
189
  if (type === 'number') {
@@ -189,14 +203,23 @@ var Scope = /** @class */ (function (_super) {
189
203
  this._data.createProperty(key);
190
204
  this._data[key] = value;
191
205
  };
206
+ Scope.prototype.remove = function (key) {
207
+ if (this._data === null)
208
+ return;
209
+ this._data.removeProperty(key);
210
+ };
192
211
  Object.defineProperty(Scope.prototype, "keys", {
193
212
  get: function () {
213
+ if (this._data === null)
214
+ return [];
194
215
  return this._data.keys;
195
216
  },
196
217
  enumerable: false,
197
218
  configurable: true
198
219
  });
199
220
  Scope.prototype.has = function (key) {
221
+ if (this._data === null)
222
+ return false;
200
223
  return this._data.hasProperty(key);
201
224
  };
202
225
  Scope.prototype.setType = function (key, type) {
@@ -274,10 +297,6 @@ var Scope = /** @class */ (function (_super) {
274
297
  if (force)
275
298
  this.cleanup();
276
299
  };
277
- Scope.prototype.deconstruct = function () {
278
- _super.prototype.deconstruct.call(this);
279
- this.collectGarbage(true);
280
- };
281
300
  Scope.prototype.wrap = function (toWrap, triggerUpdates, updateFromWrapped) {
282
301
  var _this = this;
283
302
  if (triggerUpdates === void 0) { triggerUpdates = false; }
package/dist/Scope.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
package/dist/Tag.d.ts CHANGED
@@ -103,6 +103,7 @@ export declare class Tag extends DOMObject {
103
103
  stripModifier(attribute: string, modifier: string): string;
104
104
  getElementPath(element: HTMLElement): string;
105
105
  addEventHandler(eventType: string, modifiers: Modifiers, handler: any, context?: any): void;
106
+ getEventBinding(eventType: string): (...args: any[]) => any;
106
107
  removeEventHandler(eventType: string, handler: any, context?: any): void;
107
108
  removeAllEventHandlers(): void;
108
109
  removeContextEventHandlers(context: any): void;
package/dist/Tag.js CHANGED
@@ -128,6 +128,7 @@ var Tag = /** @class */ (function (_super) {
128
128
  _this.rawAttributes = {};
129
129
  _this.parsedAttributes = {};
130
130
  _this.onEventHandlers = {};
131
+ _this.onEventBindings = {};
131
132
  _this.analyzeElementAttributes();
132
133
  _this._state = TagState.Instantiated;
133
134
  return _this;
@@ -1227,7 +1228,7 @@ var Tag = /** @class */ (function (_super) {
1227
1228
  var eventListenerOpts = {};
1228
1229
  if (eventType.indexOf('touch') > -1 || passiveValue !== null)
1229
1230
  eventListenerOpts['passive'] = passiveValue === null && true || passiveValue;
1230
- element.addEventListener(eventType, this.handleEvent.bind(this, eventType), eventListenerOpts);
1231
+ element.addEventListener(eventType, this.getEventBinding(eventType), eventListenerOpts);
1231
1232
  }
1232
1233
  this.onEventHandlers[eventType].push({
1233
1234
  handler: handler,
@@ -1237,6 +1238,11 @@ var Tag = /** @class */ (function (_super) {
1237
1238
  state: {}
1238
1239
  });
1239
1240
  };
1241
+ Tag.prototype.getEventBinding = function (eventType) {
1242
+ if (this.onEventBindings[eventType] === undefined)
1243
+ this.onEventBindings[eventType] = this.handleEvent.bind(this, eventType);
1244
+ return this.onEventBindings[eventType];
1245
+ };
1240
1246
  Tag.prototype.removeEventHandler = function (eventType, handler, context) {
1241
1247
  if (context === void 0) { context = null; }
1242
1248
  if (!this.onEventHandlers[eventType])
@@ -1245,66 +1251,55 @@ var Tag = /** @class */ (function (_super) {
1245
1251
  if (_handler) {
1246
1252
  this.onEventHandlers[eventType].splice(this.onEventHandlers[eventType].indexOf(_handler), 1);
1247
1253
  if (this.onEventHandlers[eventType].length === 0) {
1248
- this.element.removeEventListener(eventType, this.handleEvent.bind(this, eventType));
1254
+ this.element.removeEventListener(eventType, this.getEventBinding(eventType));
1249
1255
  }
1250
1256
  }
1251
1257
  };
1252
1258
  Tag.prototype.removeAllEventHandlers = function () {
1253
- var e_20, _a, e_21, _b;
1259
+ var e_20, _a;
1254
1260
  try {
1255
- for (var _c = __values(Object.keys(this.onEventHandlers)), _d = _c.next(); !_d.done; _d = _c.next()) {
1256
- var eventType = _d.value;
1257
- try {
1258
- for (var _e = (e_21 = void 0, __values(this.onEventHandlers[eventType])), _f = _e.next(); !_f.done; _f = _e.next()) {
1259
- var handler = _f.value;
1260
- this.removeEventHandler(eventType, handler.handler, handler.context);
1261
- }
1262
- }
1263
- catch (e_21_1) { e_21 = { error: e_21_1 }; }
1264
- finally {
1265
- try {
1266
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
1267
- }
1268
- finally { if (e_21) throw e_21.error; }
1269
- }
1261
+ for (var _b = __values(Object.keys(this.onEventHandlers)), _c = _b.next(); !_c.done; _c = _b.next()) {
1262
+ var eventType = _c.value;
1263
+ this.element.removeEventListener(eventType, this.getEventBinding(eventType));
1270
1264
  }
1271
1265
  }
1272
1266
  catch (e_20_1) { e_20 = { error: e_20_1 }; }
1273
1267
  finally {
1274
1268
  try {
1275
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1269
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1276
1270
  }
1277
1271
  finally { if (e_20) throw e_20.error; }
1278
1272
  }
1273
+ this.onEventHandlers = {};
1279
1274
  };
1280
1275
  Tag.prototype.removeContextEventHandlers = function (context) {
1281
- var e_22, _a, e_23, _b;
1276
+ var e_21, _a, e_22, _b;
1282
1277
  try {
1283
1278
  for (var _c = __values(Object.keys(this.onEventHandlers)), _d = _c.next(); !_d.done; _d = _c.next()) {
1284
1279
  var eventType = _d.value;
1285
1280
  try {
1286
- for (var _e = (e_23 = void 0, __values(this.onEventHandlers[eventType])), _f = _e.next(); !_f.done; _f = _e.next()) {
1281
+ for (var _e = (e_22 = void 0, __values(this.onEventHandlers[eventType])), _f = _e.next(); !_f.done; _f = _e.next()) {
1287
1282
  var handler = _f.value;
1288
1283
  if (handler.context === context) {
1289
1284
  this.removeEventHandler(eventType, handler.handler, context);
1290
1285
  }
1291
1286
  }
1292
1287
  }
1293
- catch (e_23_1) { e_23 = { error: e_23_1 }; }
1288
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
1294
1289
  finally {
1295
1290
  try {
1296
1291
  if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
1297
1292
  }
1298
- finally { if (e_23) throw e_23.error; }
1293
+ finally { if (e_22) throw e_22.error; }
1299
1294
  }
1300
1295
  }
1301
1296
  }
1302
- catch (e_22_1) { e_22 = { error: e_22_1 }; }
1297
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
1303
1298
  finally {
1304
1299
  try {
1305
1300
  if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1306
1301
  }
1307
- finally { if (e_22) throw e_22.error; }
1302
+ finally { if (e_21) throw e_21.error; }
1308
1303
  }
1309
1304
  };
1310
1305
  Tag.prototype.createScope = function (force) {
@@ -1382,8 +1377,8 @@ var Tag = /** @class */ (function (_super) {
1382
1377
  };
1383
1378
  Tag.prototype.setupDeferredAttributes = function () {
1384
1379
  return __awaiter(this, void 0, void 0, function () {
1385
- var _a, _b, attr, e_24_1;
1386
- var e_24, _c;
1380
+ var _a, _b, attr, e_23_1;
1381
+ var e_23, _c;
1387
1382
  return __generator(this, function (_d) {
1388
1383
  switch (_d.label) {
1389
1384
  case 0:
@@ -1402,14 +1397,14 @@ var Tag = /** @class */ (function (_super) {
1402
1397
  return [3 /*break*/, 1];
1403
1398
  case 4: return [3 /*break*/, 7];
1404
1399
  case 5:
1405
- e_24_1 = _d.sent();
1406
- e_24 = { error: e_24_1 };
1400
+ e_23_1 = _d.sent();
1401
+ e_23 = { error: e_23_1 };
1407
1402
  return [3 /*break*/, 7];
1408
1403
  case 6:
1409
1404
  try {
1410
1405
  if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
1411
1406
  }
1412
- finally { if (e_24) throw e_24.error; }
1407
+ finally { if (e_23) throw e_23.error; }
1413
1408
  return [7 /*endfinally*/];
1414
1409
  case 7:
1415
1410
  this.deferredAttributes.length = 0;
@@ -1419,20 +1414,21 @@ var Tag = /** @class */ (function (_super) {
1419
1414
  });
1420
1415
  };
1421
1416
  Tag.prototype.deconstruct = function () {
1417
+ var dom = this.dom || DOM_1.DOM.instance;
1418
+ if (dom)
1419
+ dom.deregisterElementInRoot(this);
1422
1420
  this.removeAllEventHandlers();
1423
1421
  this.attributes.forEach(function (attr) { return attr.deconstruct(); });
1424
1422
  this.attributes.clear();
1423
+ this.deferredAttributes.length = 0;
1425
1424
  this._children.forEach(function (child) { return child.deconstruct(); });
1426
1425
  this._children.length = 0;
1427
1426
  if (this._controller) {
1428
1427
  this._controller.deconstruct();
1429
1428
  this._controller = null;
1430
1429
  }
1431
- if (this.element) {
1432
- this.element[Tag.TaggedVariable] = null;
1433
- this.element = null;
1434
- }
1435
1430
  this._parentTag = null;
1431
+ this.dom = null;
1436
1432
  _super.prototype.deconstruct.call(this);
1437
1433
  };
1438
1434
  Tag.TaggedVariable = '_vsn_tag';
package/dist/Tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.133";
1
+ export declare const VERSION = "0.1.135";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.1.133';
4
+ exports.VERSION = '0.1.135';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.133",
3
+ "version": "0.1.135",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -102,6 +102,11 @@ export class ClassNode extends Node implements TreeNode {
102
102
  return;
103
103
  }
104
104
  ClassNode.preppedTags[this.fullSelector].push(tag);
105
+ tag.once('deconstruct', (_tag) => {
106
+ const index = ClassNode.preppedTags[this.fullSelector].indexOf(_tag);
107
+ if (index > -1)
108
+ ClassNode.preppedTags[this.fullSelector].splice(index, 1);
109
+ });
105
110
 
106
111
  if (hasConstruct === null)
107
112
  hasConstruct = this.classScope.has('construct');
@@ -144,18 +149,11 @@ export class ClassNode extends Node implements TreeNode {
144
149
  }
145
150
 
146
151
  public static parse(lastNode, token, tokens: Token[]): ClassNode {
147
- tokens.shift(); // skip 'class'
148
- const nameParts: string[] = [];
149
- for (const t of tokens) {
150
- if (t.type === TokenType.L_BRACE) break;
151
- nameParts.push(t.value);
152
- }
153
- let selector = nameParts.join('').trim();
152
+ let selector = tokens.shift().value;
154
153
  if (selector.startsWith('>'))
155
154
  selector = `:scope ${selector}`;
156
- tokens.splice(0, nameParts.length);
157
155
  const block = Tree.processTokens(Tree.getNextStatementTokens(tokens, true, true));
158
- return new ClassNode(selector, block);
156
+ return new ClassNode(selector.trim(), block);
159
157
  }
160
158
 
161
159
  public getSelectorPath(): string[] {
package/src/AST.ts CHANGED
@@ -287,7 +287,7 @@ const TOKEN_PATTERNS: TokenPattern[] = [
287
287
  },
288
288
  {
289
289
  type: TokenType.CLASS,
290
- pattern: /^class\s/
290
+ pattern: /^class\s([^{]+)/
291
291
  },
292
292
  {
293
293
  type: TokenType.ELEMENT_ATTRIBUTE,
package/src/Attribute.ts CHANGED
@@ -112,6 +112,12 @@ export abstract class Attribute extends EventDispatcher {
112
112
  });
113
113
  }
114
114
 
115
+ public deconstruct() {
116
+ super.deconstruct();
117
+ (this as any).tag = null;
118
+ (this as any).slot = null;
119
+ }
120
+
115
121
  public static create(tag: Tag, attributeName: string, cls: any, slot?: Tag): Attribute {
116
122
  return new cls(tag, attributeName, slot);
117
123
  }
@@ -98,6 +98,13 @@ export abstract class AbstractDOM extends EventDispatcher {
98
98
  this.root.scope.set(`#${id}`, tag.scope);
99
99
  }
100
100
 
101
+ public deregisterElementInRoot(tag: Tag) {
102
+ if (!tag.element || !this.root) return;
103
+ const id: string = tag.element.getAttribute('id');
104
+ if (!!id)
105
+ this.root.scope.remove(`#${id}`);
106
+ }
107
+
101
108
  public querySelectorClosest(q: string, tag: Tag = null): HTMLElement {
102
109
  return tag.element.closest(q);
103
110
  }
@@ -1,6 +1,8 @@
1
1
  import {Scope} from "../Scope";
2
2
  import {EventDispatcher} from "../EventDispatcher";
3
3
  import {Modifiers} from "../Modifiers";
4
+ import {ClassNode} from "../AST/ClassNode";
5
+ import {Tag} from "../Tag";
4
6
 
5
7
  export interface IEventHandler {
6
8
  event: string;
@@ -8,11 +10,13 @@ export interface IEventHandler {
8
10
  context: any;
9
11
  state: { [key: string]: any };
10
12
  modifiers: Modifiers;
13
+ //binding: (...args: any[]) => any;
11
14
  }
12
15
 
13
16
  export abstract class DOMObject extends EventDispatcher {
14
17
  protected _scope: Scope;
15
18
  protected onEventHandlers: {[key:string]: IEventHandler[]};
19
+ protected onEventBindings: {[key: string]: (...args: any[]) => any};
16
20
  protected _uniqueScope: boolean = false;
17
21
  protected slot: HTMLSlotElement;
18
22
  public readonly delegates: HTMLElement[] = [];
@@ -61,8 +65,14 @@ export abstract class DOMObject extends EventDispatcher {
61
65
  if (this._uniqueScope)
62
66
  this.scope?.deconstruct();
63
67
  this.onEventHandlers = {};
68
+ this.onEventBindings = {};
64
69
  this.slot = null;
65
70
  this.delegates.length = 0;
71
+ if (this.element) {
72
+ this.element[Tag.TaggedVariable] = null;
73
+ this.element[ClassNode.ClassesVariable] = null;
74
+ (this as any).element = null;
75
+ }
66
76
  super.deconstruct();
67
77
  }
68
78
  }
@@ -23,6 +23,12 @@ export class EventCallback {
23
23
  this.calls += 1;
24
24
  return true;
25
25
  }
26
+
27
+ deconstruct() {
28
+ const self = this as any;
29
+ self.fnc = null;
30
+ self.context = null;
31
+ }
26
32
  }
27
33
 
28
34
  export type EventDispatcherCallback = (...args: any[]) => any;
@@ -44,10 +50,26 @@ export class EventDispatcher {
44
50
 
45
51
  deconstruct() {
46
52
  this.dispatch('deconstruct', this);
47
- EventDispatcher.sources.splice(EventDispatcher.sources.indexOf(this), 1);
53
+ const sourceIndex = EventDispatcher.sources.indexOf(this);
54
+ if (sourceIndex > -1)
55
+ EventDispatcher.sources.splice(sourceIndex, 1);
56
+
48
57
  for (const k in this._listeners) {
58
+ for (const cb of this._listeners[k]) {
59
+ cb.deconstruct();
60
+ }
49
61
  delete this._listeners[k];
50
62
  }
63
+
64
+ for (const cb of this._allListeners) {
65
+ cb.deconstruct();
66
+ }
67
+ for (const cb of this._allListeners) {
68
+ cb.deconstruct();
69
+ }
70
+ (this as any)._listeners = {};
71
+ this._relays.length = 0;
72
+ this._allListeners.length = 0;
51
73
  }
52
74
 
53
75
  addRelay(relay: EventDispatcher) {
@@ -22,6 +22,15 @@ export class ScopeDataAbstract extends EventDispatcher {
22
22
  this.__methods__ = [];
23
23
  }
24
24
 
25
+ deconstruct() {
26
+ super.deconstruct();
27
+ this._lastData = null;
28
+ for (const prop of this.__properties__) {
29
+ this.removeProperty(prop);
30
+ }
31
+ this.__properties__.length = 0;
32
+ }
33
+
25
34
  createMethod(name: string, method: (...args: any[]) => any) {
26
35
 
27
36
  }
@@ -64,6 +73,18 @@ export class ScopeDataAbstract extends EventDispatcher {
64
73
  return instance;
65
74
  }
66
75
 
76
+ removeProperty(key: string) {
77
+ const index = this.__properties__.indexOf(key);
78
+ if (index > -1)
79
+ this.__properties__.splice(index, 1);
80
+
81
+ const prop = this['__'+key];
82
+ if (prop) {
83
+ prop.deconstruct();
84
+ delete this['__' + key];
85
+ }
86
+ }
87
+
67
88
  hasProperty(name: string): boolean {
68
89
  return this.__properties__.indexOf(name) !== -1;
69
90
  }
@@ -72,6 +72,13 @@ export class Property<T = any> extends EventDispatcher {
72
72
  this.value = value;
73
73
  }
74
74
 
75
+ deconstruct() {
76
+ super.deconstruct();
77
+ delete this._type;
78
+ delete this._value;
79
+ this.config = {};
80
+ }
81
+
75
82
  castType(value) {
76
83
  const caster = Registry.instance.types.getSynchronous(this.type);
77
84
  return caster ? caster(value) : value;