vsn 0.1.121 → 0.1.122

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.
@@ -6,7 +6,7 @@ import { Token, TokenType, TreeNode } from "../AST";
6
6
  import { Node } from "./Node";
7
7
  import { RootScopeMemberNode } from "./RootScopeMemberNode";
8
8
  import { ScopeMemberNode } from "./ScopeMemberNode";
9
- export declare class ArithmeticAssignmentNode extends Node implements TreeNode {
9
+ export declare class AssignmentNode extends Node implements TreeNode {
10
10
  readonly left: RootScopeMemberNode | ScopeMemberNode;
11
11
  readonly right: TreeNode;
12
12
  readonly type: TokenType;
@@ -20,5 +20,5 @@ export declare class ArithmeticAssignmentNode extends Node implements TreeNode {
20
20
  handleDOMObject(key: string, dom: DOM, scope: Scope, domObject: DOMObject, tag: Tag): Promise<any>;
21
21
  handleArray(key: any, left: any, right: any, scope: any): any;
22
22
  static match(tokens: Token[]): boolean;
23
- static parse(lastNode: any, token: any, tokens: Token[]): ArithmeticAssignmentNode;
23
+ static parse(lastNode: any, token: any, tokens: Token[]): AssignmentNode;
24
24
  }
@@ -51,7 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  }
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.ArithmeticAssignmentNode = void 0;
54
+ exports.AssignmentNode = void 0;
55
55
  var Scope_1 = require("../Scope");
56
56
  var DOMObject_1 = require("../DOM/DOMObject");
57
57
  var AST_1 = require("../AST");
@@ -63,22 +63,22 @@ var ElementAttributeNode_1 = require("./ElementAttributeNode");
63
63
  var ElementStyleNode_1 = require("./ElementStyleNode");
64
64
  var UnitLiteralNode_1 = require("./UnitLiteralNode");
65
65
  var ScopeObject_1 = require("../Scope/ScopeObject");
66
- var ArithmeticAssignmentNode = /** @class */ (function (_super) {
67
- __extends(ArithmeticAssignmentNode, _super);
68
- function ArithmeticAssignmentNode(left, right, type) {
66
+ var AssignmentNode = /** @class */ (function (_super) {
67
+ __extends(AssignmentNode, _super);
68
+ function AssignmentNode(left, right, type) {
69
69
  var _this = _super.call(this) || this;
70
70
  _this.left = left;
71
71
  _this.right = right;
72
72
  _this.type = type;
73
73
  return _this;
74
74
  }
75
- ArithmeticAssignmentNode.prototype._getChildNodes = function () {
75
+ AssignmentNode.prototype._getChildNodes = function () {
76
76
  return [
77
77
  this.left,
78
78
  this.right
79
79
  ];
80
80
  };
81
- ArithmeticAssignmentNode.prototype.evaluate = function (scope, dom, tag) {
81
+ AssignmentNode.prototype.evaluate = function (scope, dom, tag) {
82
82
  if (tag === void 0) { tag = null; }
83
83
  return __awaiter(this, void 0, void 0, function () {
84
84
  var scopes, name, inner, elements, values, _i, scopes_1, localScope, left, right;
@@ -86,6 +86,9 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
86
86
  switch (_a.label) {
87
87
  case 0:
88
88
  scopes = [];
89
+ if (scope.isGarbage && tag) { // Current garbage collection implementation is naive
90
+ scope = tag.scope;
91
+ }
89
92
  return [4 /*yield*/, this.left.name.evaluate(scope, dom, tag)];
90
93
  case 1:
91
94
  name = _a.sent();
@@ -159,7 +162,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
159
162
  });
160
163
  });
161
164
  };
162
- ArithmeticAssignmentNode.prototype.handle = function (name, left, right, localScope) {
165
+ AssignmentNode.prototype.handle = function (name, left, right, localScope) {
163
166
  if (left instanceof Array) {
164
167
  left = this.handleArray(name, left, right, localScope);
165
168
  }
@@ -174,7 +177,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
174
177
  }
175
178
  return left;
176
179
  };
177
- ArithmeticAssignmentNode.prototype.handleNumber = function (key, left, right, scope) {
180
+ AssignmentNode.prototype.handleNumber = function (key, left, right, scope) {
178
181
  if (right !== null && !Number.isFinite(right))
179
182
  right = parseFloat("" + right);
180
183
  left = left;
@@ -199,7 +202,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
199
202
  scope.set(key, left);
200
203
  return left;
201
204
  };
202
- ArithmeticAssignmentNode.prototype.handleString = function (key, left, right, scope) {
205
+ AssignmentNode.prototype.handleString = function (key, left, right, scope) {
203
206
  switch (this.type) {
204
207
  case AST_1.TokenType.ASSIGN:
205
208
  left = right;
@@ -220,7 +223,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
220
223
  scope.set(key, left);
221
224
  return left;
222
225
  };
223
- ArithmeticAssignmentNode.prototype.handleUnit = function (key, left, right, scope) {
226
+ AssignmentNode.prototype.handleUnit = function (key, left, right, scope) {
224
227
  if (!(left instanceof UnitLiteralNode_1.UnitLiteral)) {
225
228
  left = new UnitLiteralNode_1.UnitLiteral(left);
226
229
  }
@@ -248,7 +251,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
248
251
  scope.set(key, left);
249
252
  return left;
250
253
  };
251
- ArithmeticAssignmentNode.prototype.handleDOMObject = function (key, dom, scope, domObject, tag) {
254
+ AssignmentNode.prototype.handleDOMObject = function (key, dom, scope, domObject, tag) {
252
255
  return __awaiter(this, void 0, void 0, function () {
253
256
  var left, right;
254
257
  return __generator(this, function (_a) {
@@ -263,7 +266,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
263
266
  });
264
267
  });
265
268
  };
266
- ArithmeticAssignmentNode.prototype.handleArray = function (key, left, right, scope) {
269
+ AssignmentNode.prototype.handleArray = function (key, left, right, scope) {
267
270
  if (!(right instanceof Array))
268
271
  right = [right];
269
272
  switch (this.type) {
@@ -302,7 +305,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
302
305
  scope.dispatch("change:" + key);
303
306
  return left;
304
307
  };
305
- ArithmeticAssignmentNode.match = function (tokens) {
308
+ AssignmentNode.match = function (tokens) {
306
309
  return [
307
310
  AST_1.TokenType.ASSIGN,
308
311
  AST_1.TokenType.ADD_ASSIGN,
@@ -312,7 +315,7 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
312
315
  AST_1.TokenType.TILDE,
313
316
  ].indexOf(tokens[0].type) > -1;
314
317
  };
315
- ArithmeticAssignmentNode.parse = function (lastNode, token, tokens) {
318
+ AssignmentNode.parse = function (lastNode, token, tokens) {
316
319
  if (!(lastNode instanceof RootScopeMemberNode_1.RootScopeMemberNode) && !(lastNode instanceof ScopeMemberNode_1.ScopeMemberNode) && !(lastNode instanceof ElementAttributeNode_1.ElementAttributeNode) && !(lastNode instanceof ElementStyleNode_1.ElementStyleNode)) {
317
320
  throw SyntaxError("Invalid assignment syntax near " + AST_1.Tree.toCode(tokens.splice(0, 10)));
318
321
  }
@@ -325,9 +328,9 @@ var ArithmeticAssignmentNode = /** @class */ (function (_super) {
325
328
  openCharacter: '',
326
329
  closeCharacter: ';',
327
330
  });
328
- return new ArithmeticAssignmentNode(lastNode, AST_1.Tree.processTokens(assignmentTokens), token.type);
331
+ return new AssignmentNode(lastNode, AST_1.Tree.processTokens(assignmentTokens), token.type);
329
332
  };
330
- return ArithmeticAssignmentNode;
333
+ return AssignmentNode;
331
334
  }(Node_1.Node));
332
- exports.ArithmeticAssignmentNode = ArithmeticAssignmentNode;
333
- //# sourceMappingURL=ArithmeticAssignmentNode.js.map
335
+ exports.AssignmentNode = AssignmentNode;
336
+ //# sourceMappingURL=AssignmentNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssignmentNode.js","sourceRoot":"","sources":["../../src/AST/AssignmentNode.ts"],"names":[],"mappings":"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"}
@@ -93,21 +93,23 @@ var ElementStyleNode = /** @class */ (function (_super) {
93
93
  var _this = this;
94
94
  return __generator(this, function (_a) {
95
95
  switch (_a.label) {
96
- case 0:
97
- if (!this.elementRef) return [3 /*break*/, 2];
98
- return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
96
+ case 0: return [4 /*yield*/, this.prepare(scope, dom, tag)];
99
97
  case 1:
100
- tags = _a.sent();
101
- return [3 /*break*/, 3];
98
+ _a.sent();
99
+ if (!this.elementRef) return [3 /*break*/, 3];
100
+ return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
102
101
  case 2:
102
+ tags = _a.sent();
103
+ return [3 /*break*/, 4];
104
+ case 3:
103
105
  if (tag) {
104
106
  tags = new TagList_1.TagList(tag);
105
107
  }
106
108
  else {
107
109
  return [2 /*return*/];
108
110
  }
109
- _a.label = 3;
110
- case 3:
111
+ _a.label = 4;
112
+ case 4:
111
113
  if (tags.length === 1)
112
114
  return [2 /*return*/, tags[0].scope.get("$" + this.attributeName)];
113
115
  return [2 /*return*/, tags.map(function (tag) { return tag.scope.get("$" + _this.attributeName); })];
@@ -1 +1 @@
1
- {"version":3,"file":"ElementStyleNode.js","sourceRoot":"","sources":["../../src/AST/ElementStyleNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,0CAAuC;AAEvC,+BAA4B;AAE5B,6CAA0C;AAE1C;IAAsC,oCAAI;IAGtC,0BACoB,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,kCAAI;aAAf;YACI,OAAO,IAAI,yBAAW,CAAS,MAAI,IAAI,CAAC,aAAe,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAES,yCAAc,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,2CAAa;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,mCAAQ,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,iBAAO,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,kCAAO,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,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;wBAD3B,IAAI,CAAA;;;;6BAEd,GAAG,EAAH,wBAAG;wBACT,qBAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;wBAAxC,SAAwC,CAAC;;;;;;KAEhD;IACL,uBAAC;AAAD,CAAC,AArDD,CAAsC,WAAI,GAqDzC;AArDY,4CAAgB"}
1
+ {"version":3,"file":"ElementStyleNode.js","sourceRoot":"","sources":["../../src/AST/ElementStyleNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Scope } from "../Scope";
2
+ import { DOM } from "../DOM";
3
+ import { Tag } from "../Tag";
4
+ import { Token, TreeNode } from "../AST";
5
+ import { Node } from "./Node";
6
+ import { BlockNode } from "./BlockNode";
7
+ import { LiteralNode } from "./LiteralNode";
8
+ declare type StackContext = {
9
+ block: BlockNode;
10
+ scope: Scope;
11
+ dom: DOM;
12
+ tag: Tag;
13
+ };
14
+ export declare class NamedStackNode extends Node implements TreeNode {
15
+ readonly stackName: LiteralNode<string>;
16
+ readonly statements: BlockNode;
17
+ protected requiresPrep: boolean;
18
+ protected static stacks: {
19
+ [key: string]: StackContext[];
20
+ };
21
+ protected static executions: string[];
22
+ constructor(stackName: LiteralNode<string>, statements: BlockNode);
23
+ protected _getChildNodes(): Node[];
24
+ evaluate(scope: Scope, dom: DOM, tag?: Tag): Promise<void>;
25
+ static execute(stackName: string): Promise<boolean>;
26
+ static parse(lastNode: any, token: any, tokens: Token[]): NamedStackNode;
27
+ }
28
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.NamedStackNode = void 0;
55
+ var AST_1 = require("../AST");
56
+ var Node_1 = require("./Node");
57
+ var LiteralNode_1 = require("./LiteralNode");
58
+ var NamedStackNode = /** @class */ (function (_super) {
59
+ __extends(NamedStackNode, _super);
60
+ function NamedStackNode(stackName, statements) {
61
+ var _this = _super.call(this) || this;
62
+ _this.stackName = stackName;
63
+ _this.statements = statements;
64
+ _this.requiresPrep = true;
65
+ return _this;
66
+ }
67
+ NamedStackNode.prototype._getChildNodes = function () {
68
+ return [
69
+ this.stackName,
70
+ this.statements
71
+ ];
72
+ };
73
+ NamedStackNode.prototype.evaluate = function (scope, dom, tag) {
74
+ if (tag === void 0) { tag = null; }
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ var stackName, execute;
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0: return [4 /*yield*/, this.stackName.evaluate(scope, dom, tag)];
80
+ case 1:
81
+ stackName = _a.sent();
82
+ execute = false;
83
+ if (!NamedStackNode.stacks[stackName]) {
84
+ NamedStackNode.stacks[stackName] = [];
85
+ }
86
+ if (NamedStackNode.executions.indexOf(stackName) === -1)
87
+ execute = true;
88
+ NamedStackNode.stacks[stackName].push({
89
+ block: this.statements,
90
+ scope: scope,
91
+ dom: dom,
92
+ tag: tag
93
+ });
94
+ if (execute) {
95
+ NamedStackNode.execute(stackName);
96
+ }
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ });
101
+ };
102
+ NamedStackNode.execute = function (stackName) {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var stack;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0:
108
+ if (!(NamedStackNode.stacks[stackName].length > 0)) return [3 /*break*/, 3];
109
+ stack = NamedStackNode.stacks[stackName].shift();
110
+ if (NamedStackNode.executions.indexOf(stackName) === -1)
111
+ NamedStackNode.executions.push(stackName);
112
+ return [4 /*yield*/, stack.block.evaluate(stack.scope, stack.dom, stack.tag)];
113
+ case 1:
114
+ _a.sent();
115
+ return [4 /*yield*/, NamedStackNode.execute(stackName)];
116
+ case 2:
117
+ if (!(_a.sent())) {
118
+ NamedStackNode.executions.splice(NamedStackNode.executions.indexOf(stackName), 1);
119
+ }
120
+ return [2 /*return*/, true];
121
+ case 3: return [2 /*return*/, false];
122
+ }
123
+ });
124
+ });
125
+ };
126
+ NamedStackNode.parse = function (lastNode, token, tokens) {
127
+ tokens.shift(); // Consume stack
128
+ var stackName = tokens.shift();
129
+ var statementTokens = AST_1.Tree.getNextStatementTokens(tokens);
130
+ return new NamedStackNode(new LiteralNode_1.LiteralNode(stackName.value), AST_1.Tree.processTokens(statementTokens));
131
+ };
132
+ NamedStackNode.stacks = {};
133
+ NamedStackNode.executions = [];
134
+ return NamedStackNode;
135
+ }(Node_1.Node));
136
+ exports.NamedStackNode = NamedStackNode;
137
+ //# sourceMappingURL=NamedStackNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamedStackNode.js","sourceRoot":"","sources":["../../src/AST/NamedStackNode.ts"],"names":[],"mappings":"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"}
package/dist/AST.d.ts CHANGED
@@ -31,61 +31,62 @@ export declare enum TokenType {
31
31
  AS = 9,
32
32
  IN = 10,
33
33
  WITH = 11,
34
- FOR = 12,
35
- IF = 13,
36
- ELSE_IF = 14,
37
- ELSE = 15,
38
- FUNC = 16,
39
- ON = 17,
40
- CLASS = 18,
41
- NAME = 19,
42
- L_BRACE = 20,
43
- R_BRACE = 21,
44
- L_BRACKET = 22,
45
- R_BRACKET = 23,
46
- L_PAREN = 24,
47
- R_PAREN = 25,
48
- TILDE = 26,
49
- PERIOD = 27,
50
- COMMA = 28,
51
- COLON = 29,
52
- SEMICOLON = 30,
53
- STRING_FORMAT = 31,
54
- STRING_LITERAL = 32,
55
- NUMBER_LITERAL = 33,
56
- BOOLEAN_LITERAL = 34,
57
- NULL_LITERAL = 35,
58
- STRICT_EQUALS = 36,
59
- STRICT_NOT_EQUALS = 37,
60
- EQUALS = 38,
61
- NOT_EQUALS = 39,
62
- GREATER_THAN_EQUAL = 40,
63
- LESS_THAN_EQUAL = 41,
64
- GREATER_THAN = 42,
65
- LESS_THAN = 43,
66
- ASSIGN = 44,
67
- AND = 45,
68
- OR = 46,
69
- ADD = 47,
70
- SUBTRACT = 48,
71
- MULTIPLY = 49,
72
- DIVIDE = 50,
73
- ADD_ASSIGN = 51,
74
- SUBTRACT_ASSIGN = 52,
75
- MULTIPLY_ASSIGN = 53,
76
- DIVIDE_ASSIGN = 54,
77
- EXCLAMATION_POINT = 55,
78
- ELEMENT_REFERENCE = 56,
79
- ELEMENT_ATTRIBUTE = 57,
80
- ELEMENT_STYLE = 58,
81
- ELEMENT_QUERY = 59,
82
- UNIT = 60,
83
- XHR_GET = 61,
84
- XHR_POST = 62,
85
- XHR_PUT = 63,
86
- XHR_DELETE = 64,
87
- MODIFIER = 65,
88
- DISPATCH_EVENT = 66
34
+ NAMED_STACK = 12,
35
+ FOR = 13,
36
+ IF = 14,
37
+ ELSE_IF = 15,
38
+ ELSE = 16,
39
+ FUNC = 17,
40
+ ON = 18,
41
+ CLASS = 19,
42
+ NAME = 20,
43
+ L_BRACE = 21,
44
+ R_BRACE = 22,
45
+ L_BRACKET = 23,
46
+ R_BRACKET = 24,
47
+ L_PAREN = 25,
48
+ R_PAREN = 26,
49
+ TILDE = 27,
50
+ PERIOD = 28,
51
+ COMMA = 29,
52
+ COLON = 30,
53
+ SEMICOLON = 31,
54
+ STRING_FORMAT = 32,
55
+ STRING_LITERAL = 33,
56
+ NUMBER_LITERAL = 34,
57
+ BOOLEAN_LITERAL = 35,
58
+ NULL_LITERAL = 36,
59
+ STRICT_EQUALS = 37,
60
+ STRICT_NOT_EQUALS = 38,
61
+ EQUALS = 39,
62
+ NOT_EQUALS = 40,
63
+ GREATER_THAN_EQUAL = 41,
64
+ LESS_THAN_EQUAL = 42,
65
+ GREATER_THAN = 43,
66
+ LESS_THAN = 44,
67
+ ASSIGN = 45,
68
+ AND = 46,
69
+ OR = 47,
70
+ ADD = 48,
71
+ SUBTRACT = 49,
72
+ MULTIPLY = 50,
73
+ DIVIDE = 51,
74
+ ADD_ASSIGN = 52,
75
+ SUBTRACT_ASSIGN = 53,
76
+ MULTIPLY_ASSIGN = 54,
77
+ DIVIDE_ASSIGN = 55,
78
+ EXCLAMATION_POINT = 56,
79
+ ELEMENT_REFERENCE = 57,
80
+ ELEMENT_ATTRIBUTE = 58,
81
+ ELEMENT_STYLE = 59,
82
+ ELEMENT_QUERY = 60,
83
+ UNIT = 61,
84
+ XHR_GET = 62,
85
+ XHR_POST = 63,
86
+ XHR_PUT = 64,
87
+ XHR_DELETE = 65,
88
+ MODIFIER = 66,
89
+ DISPATCH_EVENT = 67
89
90
  }
90
91
  export interface TreeNode<T = any> {
91
92
  evaluate(scope: Scope, dom: DOM, tag?: Tag): any;