vsn 0.1.136 → 0.1.137

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.
@@ -8,7 +8,8 @@ export declare enum AttributeState {
8
8
  Setup = 3,
9
9
  Extracted = 4,
10
10
  Connected = 5,
11
- Built = 6
11
+ Built = 6,
12
+ Disconnected = 7
12
13
  }
13
14
  export declare abstract class Attribute extends EventDispatcher {
14
15
  readonly tag: Tag;
@@ -28,6 +29,7 @@ export declare abstract class Attribute extends EventDispatcher {
28
29
  extract(): Promise<void>;
29
30
  connect(): Promise<void>;
30
31
  finalize(): Promise<void>;
32
+ disconnect(): Promise<void>;
31
33
  evaluate(): Promise<void>;
32
34
  getAttributeValue(fallback?: any): any;
33
35
  getAttributeBinding(fallback?: any): string;
package/dist/Attribute.js CHANGED
@@ -74,6 +74,7 @@ var AttributeState;
74
74
  AttributeState[AttributeState["Extracted"] = 4] = "Extracted";
75
75
  AttributeState[AttributeState["Connected"] = 5] = "Connected";
76
76
  AttributeState[AttributeState["Built"] = 6] = "Built";
77
+ AttributeState[AttributeState["Disconnected"] = 7] = "Disconnected";
77
78
  })(AttributeState = exports.AttributeState || (exports.AttributeState = {}));
78
79
  var Attribute = /** @class */ (function (_super) {
79
80
  __extends(Attribute, _super);
@@ -156,6 +157,14 @@ var Attribute = /** @class */ (function (_super) {
156
157
  });
157
158
  });
158
159
  };
160
+ Attribute.prototype.disconnect = function () {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ return __generator(this, function (_a) {
163
+ this.setState(AttributeState.Disconnected);
164
+ return [2 /*return*/];
165
+ });
166
+ });
167
+ };
159
168
  Attribute.prototype.evaluate = function () {
160
169
  return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
161
170
  return [2 /*return*/];
@@ -237,6 +246,7 @@ var Attribute = /** @class */ (function (_super) {
237
246
  });
238
247
  };
239
248
  Attribute.prototype.deconstruct = function () {
249
+ this.disconnect();
240
250
  _super.prototype.deconstruct.call(this);
241
251
  this.tag = null;
242
252
  this.slot = null;
@@ -1 +1 @@
1
- {"version":3,"file":"Attribute.js","sourceRoot":"","sources":["../src/Attribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Attribute.js","sourceRoot":"","sources":["../src/Attribute.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare class Bind extends Attribute {
10
10
  compile(): Promise<void>;
11
11
  setup(): Promise<void>;
12
12
  connect(): Promise<void>;
13
+ disconnect(): Promise<void>;
13
14
  evaluate(): Promise<void>;
14
15
  set value(v: any);
15
16
  get value(): any;
@@ -147,6 +147,20 @@ var Bind = /** @class */ (function (_super) {
147
147
  });
148
148
  });
149
149
  };
150
+ Bind.prototype.disconnect = function () {
151
+ return __awaiter(this, void 0, void 0, function () {
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ this.boundScope.offWithContext("change:" + this.key, this);
156
+ return [4 /*yield*/, _super.prototype.disconnect.call(this)];
157
+ case 1:
158
+ _a.sent();
159
+ return [2 /*return*/];
160
+ }
161
+ });
162
+ });
163
+ };
150
164
  Bind.prototype.evaluate = function () {
151
165
  return __awaiter(this, void 0, void 0, function () {
152
166
  var elementValue;
@@ -1 +1 @@
1
- {"version":3,"file":"Bind.js","sourceRoot":"","sources":["../../src/attributes/Bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bind.js","sourceRoot":"","sources":["../../src/attributes/Bind.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,6 @@ export declare abstract class ScopeChange extends Attribute {
5
5
  protected handler: Tree;
6
6
  compile(): Promise<void>;
7
7
  connect(): Promise<void>;
8
+ disconnect(): Promise<void>;
8
9
  handleEvent(e: any): Promise<void>;
9
10
  }
@@ -108,6 +108,29 @@ var ScopeChange = /** @class */ (function (_super) {
108
108
  });
109
109
  });
110
110
  };
111
+ ScopeChange.prototype.disconnect = function () {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var binding, ref, _a, _b, _c;
114
+ return __generator(this, function (_d) {
115
+ switch (_d.label) {
116
+ case 0:
117
+ binding = this.getAttributeBinding();
118
+ ref = this.tag.scope.getReference(binding, false);
119
+ return [4 /*yield*/, ref.getScope()];
120
+ case 1:
121
+ _b = (_a = (_d.sent())).offWithContext;
122
+ _c = "change:";
123
+ return [4 /*yield*/, ref.getKey()];
124
+ case 2:
125
+ _b.apply(_a, [_c + (_d.sent()), this]);
126
+ return [4 /*yield*/, _super.prototype.disconnect.call(this)];
127
+ case 3:
128
+ _d.sent();
129
+ return [2 /*return*/];
130
+ }
131
+ });
132
+ });
133
+ };
111
134
  ScopeChange.prototype.handleEvent = function (e) {
112
135
  return __awaiter(this, void 0, void 0, function () {
113
136
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeChange.js","sourceRoot":"","sources":["../../src/attributes/ScopeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAE5B,wCAAqC;AAGrC;IAA0C,+BAAS;IAAnD;;IAqBA,CAAC;IAjBgB,6BAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,6BAAO,GAApB;;;;;;wBACU,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACrC,GAAG,GAAmB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvE,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,EAAE,CAAA;;wBAAW,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAtD,cAA0B,MAAU,SAAkB,CAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;wBACvF,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEK,iCAAW,GAAjB,UAAkB,CAAC;;;;4BACf,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IAnBsB,oBAAQ,GAAY,KAAK,CAAC;IAD/B,WAAW;QADhC,mBAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;OACjB,WAAW,CAqBhC;IAAD,kBAAC;CAAA,AArBD,CAA0C,qBAAS,GAqBlD;AArBqB,kCAAW"}
1
+ {"version":3,"file":"ScopeChange.js","sourceRoot":"","sources":["../../src/attributes/ScopeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,8BAA4B;AAE5B,wCAAqC;AAGrC;IAA0C,+BAAS;IAAnD;;IA4BA,CAAC;IAxBgB,6BAAO,GAApB;;;;;;wBACU,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,UAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,6BAAO,GAApB;;;;;;wBACU,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACrC,GAAG,GAAmB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvE,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,EAAE,CAAA;;wBAAW,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAtD,cAA0B,MAAU,SAAkB,CAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;wBACvF,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,gCAAU,GAAvB;;;;;;wBACU,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACrC,GAAG,GAAmB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvE,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,cAAc,CAAA;;wBAAW,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAlE,cAAsC,MAAU,SAAkB,CAAE,EAAE,IAAI,EAAC,CAAC;wBAC5E,qBAAM,iBAAM,UAAU,WAAE,EAAA;;wBAAxB,SAAwB,CAAC;;;;;KAC5B;IAEK,iCAAW,GAAjB,UAAkB,CAAC;;;;4BACf,qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;;;;;KACvE;IA1BsB,oBAAQ,GAAY,KAAK,CAAC;IAD/B,WAAW;QADhC,mBAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;OACjB,WAAW,CA4BhC;IAAD,kBAAC;CAAA,AA5BD,CAA0C,qBAAS,GA4BlD;AA5BqB,kCAAW"}
@@ -4,6 +4,7 @@ export declare class StandardAttribute extends Attribute {
4
4
  setup(): Promise<void>;
5
5
  extract(): Promise<void>;
6
6
  connect(): Promise<void>;
7
+ disconnect(): Promise<void>;
7
8
  mutate(mutation: MutationRecord): void;
8
9
  get needsToBeSynced(): boolean;
9
10
  updateTo(): void;
@@ -93,7 +93,7 @@ var StandardAttribute = /** @class */ (function (_super) {
93
93
  return __generator(this, function (_a) {
94
94
  switch (_a.label) {
95
95
  case 0:
96
- this.tag.scope.on("change:" + this.key, this.updateTo.bind(this));
96
+ this.tag.scope.on("change:" + this.key, this.updateTo, this);
97
97
  return [4 /*yield*/, _super.prototype.connect.call(this)];
98
98
  case 1:
99
99
  _a.sent();
@@ -102,6 +102,20 @@ var StandardAttribute = /** @class */ (function (_super) {
102
102
  });
103
103
  });
104
104
  };
105
+ StandardAttribute.prototype.disconnect = function () {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ return __generator(this, function (_a) {
108
+ switch (_a.label) {
109
+ case 0:
110
+ this.tag.scope.offWithContext("change:" + this.key, this);
111
+ return [4 /*yield*/, _super.prototype.disconnect.call(this)];
112
+ case 1:
113
+ _a.sent();
114
+ return [2 /*return*/];
115
+ }
116
+ });
117
+ });
118
+ };
105
119
  StandardAttribute.prototype.mutate = function (mutation) {
106
120
  _super.prototype.mutate.call(this, mutation);
107
121
  this.updateFrom();
@@ -1 +1 @@
1
- {"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class StyleAttribute extends Attribute {
5
5
  private styleScope;
6
6
  setup(): Promise<void>;
7
7
  connect(): Promise<void>;
8
+ disconnect(): Promise<void>;
8
9
  extract(): Promise<void>;
9
10
  updateFrom(): void;
10
11
  updateTo(): void;
@@ -123,6 +123,20 @@ var StyleAttribute = /** @class */ (function (_super) {
123
123
  });
124
124
  });
125
125
  };
126
+ StyleAttribute.prototype.disconnect = function () {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0:
131
+ this.styleScope.offWithContext("change", this);
132
+ return [4 /*yield*/, _super.prototype.disconnect.call(this)];
133
+ case 1:
134
+ _a.sent();
135
+ return [2 /*return*/];
136
+ }
137
+ });
138
+ });
139
+ };
126
140
  StyleAttribute.prototype.extract = function () {
127
141
  return __awaiter(this, void 0, void 0, function () {
128
142
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export declare class StyleVarAttribute extends Attribute {
6
6
  protected styleVar?: string;
7
7
  protected boundScope?: Scope;
8
8
  connect(): Promise<void>;
9
+ disconnect(): Promise<void>;
9
10
  update(e: any): void;
10
11
  }
@@ -97,6 +97,20 @@ var StyleVarAttribute = /** @class */ (function (_super) {
97
97
  });
98
98
  });
99
99
  };
100
+ StyleVarAttribute.prototype.disconnect = function () {
101
+ return __awaiter(this, void 0, void 0, function () {
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ this.boundScope.offWithContext("change:" + this.key, this);
106
+ return [4 /*yield*/, _super.prototype.disconnect.call(this)];
107
+ case 1:
108
+ _a.sent();
109
+ return [2 /*return*/];
110
+ }
111
+ });
112
+ });
113
+ };
100
114
  StyleVarAttribute.prototype.update = function (e) {
101
115
  this.tag.element.style.setProperty("--" + this.styleVar, e.value);
102
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StyleVarAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleVarAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAMvC;IAAuC,qCAAS;IAAhD;;IA2BA,CAAC;IArBgB,mCAAO,GAApB;;;;;;wBACQ,QAAQ,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAEhD,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;yBAC/C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAED,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3C,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAE5D,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAED,kCAAM,GAAN,UAAO,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAK,IAAI,CAAC,QAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAzBsB,0BAAQ,GAAY,KAAK,CAAC;IADxC,iBAAiB;QAD7B,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,iBAAiB,CA2B7B;IAAD,wBAAC;CAAA,AA3BD,CAAuC,qBAAS,GA2B/C;AA3BY,8CAAiB"}
1
+ {"version":3,"file":"StyleVarAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleVarAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAMvC;IAAuC,qCAAS;IAAhD;;IAgCA,CAAC;IA1BgB,mCAAO,GAApB;;;;;;wBACQ,QAAQ,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAEhD,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;yBAC/C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAED,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3C,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAE5D,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,sCAAU,GAAvB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,CAAC;wBAC3D,qBAAM,iBAAM,UAAU,WAAE,EAAA;;wBAAxB,SAAwB,CAAC;;;;;KAC5B;IAED,kCAAM,GAAN,UAAO,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAK,IAAI,CAAC,QAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IA9BsB,0BAAQ,GAAY,KAAK,CAAC;IADxC,iBAAiB;QAD7B,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,iBAAiB,CAgC7B;IAAD,wBAAC;CAAA,AAhCD,CAAuC,qBAAS,GAgC/C;AAhCY,8CAAiB"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.136";
1
+ export declare const VERSION = "0.1.137";
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.136';
4
+ exports.VERSION = '0.1.137';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.136",
3
+ "version": "0.1.137",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
package/src/Attribute.ts CHANGED
@@ -9,7 +9,8 @@ export enum AttributeState {
9
9
  Setup,
10
10
  Extracted,
11
11
  Connected,
12
- Built
12
+ Built,
13
+ Disconnected
13
14
  }
14
15
 
15
16
  export abstract class Attribute extends EventDispatcher {
@@ -64,6 +65,10 @@ export abstract class Attribute extends EventDispatcher {
64
65
  this.setState(AttributeState.Built);
65
66
  }
66
67
 
68
+ public async disconnect() {
69
+ this.setState(AttributeState.Disconnected);
70
+ }
71
+
67
72
  public async evaluate() {}
68
73
 
69
74
  public getAttributeValue(fallback: any = null) {
@@ -113,6 +118,7 @@ export abstract class Attribute extends EventDispatcher {
113
118
  }
114
119
 
115
120
  public deconstruct() {
121
+ this.disconnect();
116
122
  super.deconstruct();
117
123
  (this as any).tag = null;
118
124
  (this as any).slot = null;
@@ -55,6 +55,11 @@ export class Bind extends Attribute {
55
55
  await super.connect();
56
56
  }
57
57
 
58
+ public async disconnect() {
59
+ this.boundScope.offWithContext(`change:${this.key}`, this);
60
+ await super.disconnect();
61
+ }
62
+
58
63
  public async evaluate() {
59
64
  const elementValue = this.valueFromElement;
60
65
  if (!!elementValue)
@@ -22,6 +22,13 @@ export abstract class ScopeChange extends Attribute {
22
22
  await super.connect();
23
23
  }
24
24
 
25
+ public async disconnect() {
26
+ const binding = this.getAttributeBinding();
27
+ const ref: ScopeReference = this.tag.scope.getReference(binding, false);
28
+ (await ref.getScope()).offWithContext(`change:${await ref.getKey()}`, this);
29
+ await super.disconnect();
30
+ }
31
+
25
32
  async handleEvent(e) {
26
33
  await this.handler.evaluate(this.tag.scope, this.tag.dom, this.tag);
27
34
  }
@@ -16,10 +16,15 @@ export class StandardAttribute extends Attribute {
16
16
  }
17
17
 
18
18
  public async connect() {
19
- this.tag.scope.on(`change:${this.key}`, this.updateTo.bind(this));
19
+ this.tag.scope.on(`change:${this.key}`, this.updateTo, this);
20
20
  await super.connect();
21
21
  }
22
22
 
23
+ public async disconnect() {
24
+ this.tag.scope.offWithContext(`change:${this.key}`, this);
25
+ await super.disconnect();
26
+ }
27
+
23
28
  public mutate(mutation: MutationRecord) {
24
29
  super.mutate(mutation);
25
30
  this.updateFrom();
@@ -33,6 +33,11 @@ export class StyleAttribute extends Attribute {
33
33
  await super.connect();
34
34
  }
35
35
 
36
+ public async disconnect() {
37
+ this.styleScope.offWithContext(`change`, this);
38
+ await super.disconnect();
39
+ }
40
+
36
41
  public async extract() {
37
42
  this.updateFrom();
38
43
  this.updateTo();
@@ -29,6 +29,11 @@ export class StyleVarAttribute extends Attribute {
29
29
  await super.connect();
30
30
  }
31
31
 
32
+ public async disconnect() {
33
+ this.boundScope.offWithContext(`change:${this.key}`, this);
34
+ await super.disconnect();
35
+ }
36
+
32
37
  update(e) {
33
38
  this.tag.element.style.setProperty(`--${this.styleVar}`, e.value);
34
39
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.1.136';
1
+ export const VERSION = '0.1.137';
2
2