vsn 0.1.138 → 0.1.139
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/resources/xhr-memory-leak-test.html +2 -586
- package/demo/vsn.js +2 -2
- package/dist/AST/ArithmeticNode.d.ts +1 -1
- package/dist/AST/ArithmeticNode.js +1 -1
- package/dist/AST/ArithmeticNode.js.map +1 -1
- package/dist/AST/ArrayNode.d.ts +1 -1
- package/dist/AST/ArrayNode.js +1 -1
- package/dist/AST/ArrayNode.js.map +1 -1
- package/dist/AST/AsNode.d.ts +1 -1
- package/dist/AST/AsNode.js +1 -1
- package/dist/AST/AsNode.js.map +1 -1
- package/dist/AST/AssignmentNode.d.ts +1 -1
- package/dist/AST/AssignmentNode.js +1 -1
- package/dist/AST/AssignmentNode.js.map +1 -1
- package/dist/AST/BlockNode.d.ts +1 -1
- package/dist/AST/BlockNode.js +1 -1
- package/dist/AST/BlockNode.js.map +1 -1
- package/dist/AST/ClassNode.d.ts +1 -1
- package/dist/AST/ClassNode.js +1 -1
- package/dist/AST/ClassNode.js.map +1 -1
- package/dist/AST/ComparisonNode.d.ts +1 -1
- package/dist/AST/ComparisonNode.js +1 -1
- package/dist/AST/ComparisonNode.js.map +1 -1
- package/dist/AST/ConditionalNode.d.ts +1 -1
- package/dist/AST/ConditionalNode.js +1 -1
- package/dist/AST/ConditionalNode.js.map +1 -1
- package/dist/AST/DispatchEventNode.d.ts +1 -1
- package/dist/AST/DispatchEventNode.js +1 -1
- package/dist/AST/DispatchEventNode.js.map +1 -1
- package/dist/AST/ElementAttributeNode.d.ts +1 -1
- package/dist/AST/ElementAttributeNode.js +1 -1
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/AST/ElementQueryNode.d.ts +1 -0
- package/dist/AST/ElementQueryNode.js +15 -0
- package/dist/AST/ElementQueryNode.js.map +1 -1
- package/dist/AST/ElementStyleNode.d.ts +1 -1
- package/dist/AST/ElementStyleNode.js +1 -1
- package/dist/AST/ElementStyleNode.js.map +1 -1
- package/dist/AST/ForStatementNode.d.ts +1 -1
- package/dist/AST/ForStatementNode.js +1 -1
- package/dist/AST/ForStatementNode.js.map +1 -1
- package/dist/AST/FunctionArgumentNode.d.ts +1 -1
- package/dist/AST/FunctionArgumentNode.js +1 -1
- package/dist/AST/FunctionArgumentNode.js.map +1 -1
- package/dist/AST/FunctionCallNode.d.ts +1 -1
- package/dist/AST/FunctionCallNode.js +1 -1
- package/dist/AST/FunctionCallNode.js.map +1 -1
- package/dist/AST/FunctionNode.d.ts +1 -1
- package/dist/AST/FunctionNode.js +1 -1
- package/dist/AST/FunctionNode.js.map +1 -1
- package/dist/AST/IfStatementNode.d.ts +1 -1
- package/dist/AST/IfStatementNode.js +1 -1
- package/dist/AST/IfStatementNode.js.map +1 -1
- package/dist/AST/InNode.d.ts +1 -1
- package/dist/AST/InNode.js +1 -1
- package/dist/AST/InNode.js.map +1 -1
- package/dist/AST/IndexNode.d.ts +1 -1
- package/dist/AST/IndexNode.js +1 -1
- package/dist/AST/IndexNode.js.map +1 -1
- package/dist/AST/LiteralNode.d.ts +1 -1
- package/dist/AST/LiteralNode.js +1 -1
- package/dist/AST/LiteralNode.js.map +1 -1
- package/dist/AST/ModifierNode.d.ts +1 -1
- package/dist/AST/ModifierNode.js +1 -1
- package/dist/AST/ModifierNode.js.map +1 -1
- package/dist/AST/NamedStackNode.d.ts +1 -1
- package/dist/AST/NamedStackNode.js +1 -1
- package/dist/AST/NamedStackNode.js.map +1 -1
- package/dist/AST/Node.d.ts +2 -1
- package/dist/AST/Node.js +19 -0
- package/dist/AST/Node.js.map +1 -1
- package/dist/AST/NotNode.d.ts +1 -1
- package/dist/AST/NotNode.js +1 -1
- package/dist/AST/NotNode.js.map +1 -1
- package/dist/AST/ObjectNode.d.ts +1 -1
- package/dist/AST/ObjectNode.js +1 -1
- package/dist/AST/ObjectNode.js.map +1 -1
- package/dist/AST/RootScopeMemberNode.d.ts +1 -1
- package/dist/AST/RootScopeMemberNode.js +1 -1
- package/dist/AST/RootScopeMemberNode.js.map +1 -1
- package/dist/AST/ScopeMemberNode.d.ts +1 -1
- package/dist/AST/ScopeMemberNode.js +1 -1
- package/dist/AST/ScopeMemberNode.js.map +1 -1
- package/dist/AST/StringFormatNode.d.ts +1 -1
- package/dist/AST/StringFormatNode.js +1 -1
- package/dist/AST/StringFormatNode.js.map +1 -1
- package/dist/AST/WithNode.d.ts +1 -1
- package/dist/AST/WithNode.js +1 -1
- package/dist/AST/WithNode.js.map +1 -1
- package/dist/AST/XHRNode.d.ts +1 -1
- package/dist/AST/XHRNode.js +1 -1
- package/dist/AST/XHRNode.js.map +1 -1
- package/dist/DOM/DOMObject.js +0 -1
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/EventDispatcher.js +2 -1
- package/dist/EventDispatcher.js.map +1 -1
- package/dist/Scope/ScopeDataAbstract.js +1 -1
- package/dist/Scope/ScopeDataAbstract.js.map +1 -1
- package/dist/Scope.js +1 -4
- package/dist/Scope.js.map +1 -1
- package/dist/Tag.d.ts +2 -1
- package/dist/Tag.js +4 -2
- package/dist/Tag.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/AST/ArithmeticNode.ts +1 -1
- package/src/AST/ArrayNode.ts +1 -1
- package/src/AST/AsNode.ts +1 -1
- package/src/AST/AssignmentNode.ts +1 -1
- package/src/AST/BlockNode.ts +1 -1
- package/src/AST/ClassNode.ts +1 -1
- package/src/AST/ComparisonNode.ts +1 -1
- package/src/AST/ConditionalNode.ts +1 -1
- package/src/AST/DispatchEventNode.ts +1 -1
- package/src/AST/ElementAttributeNode.ts +1 -1
- package/src/AST/ElementQueryNode.ts +8 -2
- package/src/AST/ElementStyleNode.ts +1 -1
- package/src/AST/ForStatementNode.ts +1 -1
- package/src/AST/FunctionArgumentNode.ts +1 -1
- package/src/AST/FunctionCallNode.ts +1 -1
- package/src/AST/FunctionNode.ts +1 -1
- package/src/AST/IfStatementNode.ts +1 -1
- package/src/AST/InNode.ts +1 -1
- package/src/AST/IndexNode.ts +1 -1
- package/src/AST/LiteralNode.ts +1 -1
- package/src/AST/ModifierNode.ts +1 -1
- package/src/AST/NamedStackNode.ts +1 -1
- package/src/AST/Node.ts +9 -2
- package/src/AST/NotNode.ts +1 -1
- package/src/AST/ObjectNode.ts +1 -1
- package/src/AST/RootScopeMemberNode.ts +1 -1
- package/src/AST/ScopeMemberNode.ts +1 -1
- package/src/AST/StringFormatNode.ts +1 -1
- package/src/AST/WithNode.ts +1 -1
- package/src/AST/XHRNode.ts +1 -1
- package/src/DOM/DOMObject.ts +0 -1
- package/src/EventDispatcher.ts +2 -1
- package/src/Scope/ScopeDataAbstract.ts +2 -1
- package/src/Scope.ts +2 -5
- package/src/Tag.ts +5 -2
- package/src/version.ts +1 -1
package/src/DOM/DOMObject.ts
CHANGED
package/src/EventDispatcher.ts
CHANGED
|
@@ -51,8 +51,9 @@ export class EventDispatcher {
|
|
|
51
51
|
deconstruct() {
|
|
52
52
|
this.dispatch('deconstruct', this);
|
|
53
53
|
const sourceIndex = EventDispatcher.sources.indexOf(this);
|
|
54
|
-
if (sourceIndex > -1)
|
|
54
|
+
if (sourceIndex > -1) {
|
|
55
55
|
EventDispatcher.sources.splice(sourceIndex, 1);
|
|
56
|
+
}
|
|
56
57
|
|
|
57
58
|
for (const k in this._listeners) {
|
|
58
59
|
for (const cb of this._listeners[k]) {
|
|
@@ -25,7 +25,7 @@ export class ScopeDataAbstract extends EventDispatcher {
|
|
|
25
25
|
deconstruct() {
|
|
26
26
|
super.deconstruct();
|
|
27
27
|
this._lastData = null;
|
|
28
|
-
for (const prop of this.__properties__) {
|
|
28
|
+
for (const prop of Array.from(this.__properties__)) {
|
|
29
29
|
this.removeProperty(prop);
|
|
30
30
|
}
|
|
31
31
|
this.__properties__.length = 0;
|
|
@@ -39,6 +39,7 @@ export class ScopeDataAbstract extends EventDispatcher {
|
|
|
39
39
|
if (this.hasProperty(name)) {
|
|
40
40
|
return this.getProperty(name);
|
|
41
41
|
}
|
|
42
|
+
|
|
42
43
|
config = config || {};
|
|
43
44
|
const instance = new propertyType(config.default, config);
|
|
44
45
|
const propDesc = Object.getOwnPropertyDescriptor(this, name);
|
package/src/Scope.ts
CHANGED
|
@@ -29,6 +29,7 @@ export class Scope extends ScopeAbstract {
|
|
|
29
29
|
deconstruct() {
|
|
30
30
|
super.deconstruct();
|
|
31
31
|
this.collectGarbage(true);
|
|
32
|
+
|
|
32
33
|
this.wrapped = null;
|
|
33
34
|
if (this._data)
|
|
34
35
|
this._data.deconstruct();
|
|
@@ -38,11 +39,7 @@ export class Scope extends ScopeAbstract {
|
|
|
38
39
|
child.deconstruct();
|
|
39
40
|
}
|
|
40
41
|
this.children.length = 0;
|
|
41
|
-
|
|
42
|
-
if (this._parentScope) {
|
|
43
|
-
this._parentScope.removeChild(this);
|
|
44
|
-
this._parentScope = null;
|
|
45
|
-
}
|
|
42
|
+
this.parentScope = null;
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
public get data(): ScopeData {
|
package/src/Tag.ts
CHANGED
|
@@ -19,6 +19,7 @@ export enum TagState {
|
|
|
19
19
|
AttributesExtracted,
|
|
20
20
|
AttributesConnected,
|
|
21
21
|
Built,
|
|
22
|
+
Deconstructed,
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export class Tag extends DOMObject {
|
|
@@ -622,6 +623,9 @@ export class Tag extends DOMObject {
|
|
|
622
623
|
}
|
|
623
624
|
|
|
624
625
|
protected handleEvent(eventType: string, e) {
|
|
626
|
+
if (this.state === TagState.Deconstructed)
|
|
627
|
+
return
|
|
628
|
+
|
|
625
629
|
if (e)
|
|
626
630
|
e.stopPropagation();
|
|
627
631
|
|
|
@@ -662,8 +666,6 @@ export class Tag extends DOMObject {
|
|
|
662
666
|
handler.handler.call(handler.context, e);
|
|
663
667
|
}
|
|
664
668
|
}
|
|
665
|
-
this.scope.remove('$event');
|
|
666
|
-
this.scope.remove('$value');
|
|
667
669
|
}
|
|
668
670
|
|
|
669
671
|
public hasModifier(attribute: string, modifier: string): boolean {
|
|
@@ -813,6 +815,7 @@ export class Tag extends DOMObject {
|
|
|
813
815
|
}
|
|
814
816
|
|
|
815
817
|
deconstruct() {
|
|
818
|
+
this._state = TagState.Deconstructed
|
|
816
819
|
const dom = this.dom || DOM.instance;
|
|
817
820
|
if (dom) {
|
|
818
821
|
dom.removedQueued(this.element);
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.1.
|
|
1
|
+
export const VERSION = '0.1.139';
|
|
2
2
|
|