vsn 0.1.19 → 0.1.20

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/dist/Tag.js CHANGED
@@ -65,6 +65,8 @@ var On_1 = require("./attributes/On");
65
65
  var Registry_1 = require("./Registry");
66
66
  var Bencmark_1 = require("./Bencmark");
67
67
  var DOMObject_1 = require("./DOM/DOMObject");
68
+ var AST_1 = require("./AST");
69
+ var StyleAttribute_1 = require("./attributes/StyleAttribute");
68
70
  var TagState;
69
71
  (function (TagState) {
70
72
  TagState[TagState["Instantiated"] = 0] = "Instantiated";
@@ -167,6 +169,22 @@ var Tag = /** @class */ (function (_super) {
167
169
  }
168
170
  }
169
171
  };
172
+ Tag.prototype.eval = function (code) {
173
+ return __awaiter(this, void 0, void 0, function () {
174
+ var tree;
175
+ return __generator(this, function (_a) {
176
+ switch (_a.label) {
177
+ case 0:
178
+ tree = new AST_1.Tree(code);
179
+ return [4 /*yield*/, tree.prepare(this.scope, this.dom, this)];
180
+ case 1:
181
+ _a.sent();
182
+ return [4 /*yield*/, tree.evaluate(this.scope, this.dom, this)];
183
+ case 2: return [2 /*return*/, _a.sent()];
184
+ }
185
+ });
186
+ });
187
+ };
170
188
  Tag.prototype.evaluate = function () {
171
189
  return __awaiter(this, void 0, void 0, function () {
172
190
  var _i, _a, attr;
@@ -663,6 +681,37 @@ var Tag = /** @class */ (function (_super) {
663
681
  });
664
682
  });
665
683
  };
684
+ Tag.prototype.watchStyle = function (styleName) {
685
+ return __awaiter(this, void 0, void 0, function () {
686
+ var _i, _a, attribute, styleAttribute;
687
+ return __generator(this, function (_b) {
688
+ switch (_b.label) {
689
+ case 0:
690
+ for (_i = 0, _a = this.attributes; _i < _a.length; _i++) {
691
+ attribute = _a[_i];
692
+ if (attribute instanceof StyleAttribute_1.StyleAttribute) {
693
+ return [2 /*return*/, attribute];
694
+ }
695
+ }
696
+ // Standard attribute requires a unique scope
697
+ // @todo: Does this cause any issues with attribute bindings on the parent scope prior to having its own scope? hmm...
698
+ if (!this.uniqueScope) {
699
+ this._uniqueScope = true;
700
+ this._scope = new Scope_1.Scope();
701
+ if (this.parentTag) {
702
+ this.scope.parentScope = this.parentTag.scope;
703
+ }
704
+ }
705
+ styleAttribute = new StyleAttribute_1.StyleAttribute(this, 'style');
706
+ this.attributes.push(styleAttribute);
707
+ return [4 /*yield*/, this.setupAttribute(styleAttribute)];
708
+ case 1:
709
+ _b.sent();
710
+ return [2 /*return*/, styleAttribute];
711
+ }
712
+ });
713
+ });
714
+ };
666
715
  Tag.prototype.setupAttribute = function (attribute) {
667
716
  return __awaiter(this, void 0, void 0, function () {
668
717
  return __generator(this, function (_a) {
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/Vision.d.ts CHANGED
@@ -20,5 +20,5 @@ export * from './Registry';
20
20
  export * from './Attribute';
21
21
  export * from './AST';
22
22
  export { DOM } from './DOM';
23
- export { WrappedArray, Scope } from './Scope';
23
+ export { WrappedArray, Scope, ScopeReference } from './Scope';
24
24
  export declare const vision: Vision;
package/dist/Vision.js CHANGED
@@ -61,7 +61,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
61
61
  }
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.vision = exports.Scope = exports.WrappedArray = exports.DOM = exports.Vision = void 0;
64
+ exports.vision = exports.ScopeReference = exports.Scope = exports.WrappedArray = exports.DOM = exports.Vision = void 0;
65
65
  var DOM_1 = require("./DOM");
66
66
  var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
67
67
  var Scope_1 = require("./Scope");
@@ -157,5 +157,6 @@ Object.defineProperty(exports, "DOM", { enumerable: true, get: function () { ret
157
157
  var Scope_2 = require("./Scope");
158
158
  Object.defineProperty(exports, "WrappedArray", { enumerable: true, get: function () { return Scope_2.WrappedArray; } });
159
159
  Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return Scope_2.Scope; } });
160
+ Object.defineProperty(exports, "ScopeReference", { enumerable: true, get: function () { return Scope_2.ScopeReference; } });
160
161
  exports.vision = Vision.instance;
161
162
  //# sourceMappingURL=Vision.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vision.js","sourceRoot":"","sources":["../src/Vision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vision.js","sourceRoot":"","sources":["../src/Vision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Attribute } from "../Attribute";
2
+ export declare class StyleAttribute extends Attribute {
3
+ private scopeRef;
4
+ private styleScope;
5
+ setup(): Promise<void>;
6
+ connect(): Promise<void>;
7
+ extract(): Promise<void>;
8
+ updateFrom(): void;
9
+ mutate(mutation: MutationRecord): void;
10
+ handleEvent(k: any, v: any): Promise<void>;
11
+ }
@@ -0,0 +1,167 @@
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ 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;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.StyleAttribute = void 0;
61
+ var Registry_1 = require("../Registry");
62
+ var Attribute_1 = require("../Attribute");
63
+ var Scope_1 = require("../Scope");
64
+ var StyleAttribute = /** @class */ (function (_super) {
65
+ __extends(StyleAttribute, _super);
66
+ function StyleAttribute() {
67
+ return _super !== null && _super.apply(this, arguments) || this;
68
+ }
69
+ StyleAttribute.prototype.setup = function () {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var key, parentScope, styleKey;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ key = this.getAttributeValue() || null;
76
+ if (!key) return [3 /*break*/, 3];
77
+ this.scopeRef = this.tag.scope.getReference(key, true);
78
+ return [4 /*yield*/, this.scopeRef.getScope()];
79
+ case 1:
80
+ parentScope = _a.sent();
81
+ return [4 /*yield*/, this.scopeRef.getKey()];
82
+ case 2:
83
+ styleKey = _a.sent();
84
+ this.styleScope = parentScope.get(styleKey);
85
+ if (!this.styleScope) {
86
+ this.styleScope = new Scope_1.Scope(parentScope);
87
+ parentScope.set(styleKey, this.styleScope);
88
+ }
89
+ return [3 /*break*/, 4];
90
+ case 3:
91
+ this.styleScope = this.tag.scope;
92
+ _a.label = 4;
93
+ case 4: return [4 /*yield*/, _super.prototype.setup.call(this)];
94
+ case 5:
95
+ _a.sent();
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ StyleAttribute.prototype.connect = function () {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ return __generator(this, function (_a) {
104
+ switch (_a.label) {
105
+ case 0:
106
+ this.styleScope.bind("change", this.handleEvent.bind(this));
107
+ return [4 /*yield*/, _super.prototype.connect.call(this)];
108
+ case 1:
109
+ _a.sent();
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ });
114
+ };
115
+ StyleAttribute.prototype.extract = function () {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ this.updateFrom();
121
+ return [4 /*yield*/, _super.prototype.extract.call(this)];
122
+ case 1:
123
+ _a.sent();
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ });
128
+ };
129
+ StyleAttribute.prototype.updateFrom = function () {
130
+ var toSkip = [
131
+ 'cssText',
132
+ 'length'
133
+ ];
134
+ for (var k in this.tag.style) {
135
+ if (toSkip.indexOf(k) > -1 || isFinite(k))
136
+ continue;
137
+ var value = this.tag.style[k];
138
+ var key = "$" + k;
139
+ if (value && value !== this.styleScope.get(key))
140
+ this.styleScope.set(key, value);
141
+ }
142
+ };
143
+ StyleAttribute.prototype.mutate = function (mutation) {
144
+ _super.prototype.mutate.call(this, mutation);
145
+ this.updateFrom();
146
+ };
147
+ StyleAttribute.prototype.handleEvent = function (k, v) {
148
+ return __awaiter(this, void 0, void 0, function () {
149
+ var key;
150
+ return __generator(this, function (_a) {
151
+ if (k.startsWith('$')) {
152
+ key = k.substr(1);
153
+ if (v.value !== v.previousValue) {
154
+ this.tag.element.style[key] = v.value;
155
+ }
156
+ }
157
+ return [2 /*return*/];
158
+ });
159
+ });
160
+ };
161
+ StyleAttribute = __decorate([
162
+ Registry_1.Registry.attribute('vsn-styles')
163
+ ], StyleAttribute);
164
+ return StyleAttribute;
165
+ }(Attribute_1.Attribute));
166
+ exports.StyleAttribute = StyleAttribute;
167
+ //# sourceMappingURL=StyleAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
@@ -23,5 +23,6 @@ export { ScopeAttribute } from "./ScopeAttribute";
23
23
  export { ScopeChange } from "./ScopeChange";
24
24
  export { SetAttribute } from "./SetAttribute";
25
25
  export { StandardAttribute } from "./StandardAttribute";
26
+ export { StyleAttribute } from "./StyleAttribute";
26
27
  export { Template } from "./Template";
27
28
  export { TypeAttribute } from "./TypeAttribute";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeAttribute = exports.Template = exports.StandardAttribute = exports.SetAttribute = exports.ScopeChange = exports.ScopeAttribute = exports.RootAttribute = exports.Referenced = exports.Radio = exports.On = exports.Name = exports.ModelAttribute = exports.ListItemModel = exports.ListItem = exports.List = exports.KeyUp = exports.KeyDown = exports.JSONAttribute = exports.If = exports.Format = exports.Exec = exports.DisableIf = exports.ControllerAttribute = exports.ClickToggleClass = exports.ClickRemoveClass = exports.Bind = exports.AddClassIf = void 0;
3
+ exports.TypeAttribute = exports.Template = exports.StyleAttribute = exports.StandardAttribute = exports.SetAttribute = exports.ScopeChange = exports.ScopeAttribute = exports.RootAttribute = exports.Referenced = exports.Radio = exports.On = exports.Name = exports.ModelAttribute = exports.ListItemModel = exports.ListItem = exports.List = exports.KeyUp = exports.KeyDown = exports.JSONAttribute = exports.If = exports.Format = exports.Exec = exports.DisableIf = exports.ControllerAttribute = exports.ClickToggleClass = exports.ClickRemoveClass = exports.Bind = exports.AddClassIf = void 0;
4
4
  var AddClassIf_1 = require("./AddClassIf");
5
5
  Object.defineProperty(exports, "AddClassIf", { enumerable: true, get: function () { return AddClassIf_1.AddClassIf; } });
6
6
  var Bind_1 = require("./Bind");
@@ -51,6 +51,8 @@ var SetAttribute_1 = require("./SetAttribute");
51
51
  Object.defineProperty(exports, "SetAttribute", { enumerable: true, get: function () { return SetAttribute_1.SetAttribute; } });
52
52
  var StandardAttribute_1 = require("./StandardAttribute");
53
53
  Object.defineProperty(exports, "StandardAttribute", { enumerable: true, get: function () { return StandardAttribute_1.StandardAttribute; } });
54
+ var StyleAttribute_1 = require("./StyleAttribute");
55
+ Object.defineProperty(exports, "StyleAttribute", { enumerable: true, get: function () { return StyleAttribute_1.StyleAttribute; } });
54
56
  var Template_1 = require("./Template");
55
57
  Object.defineProperty(exports, "Template", { enumerable: true, get: function () { return Template_1.Template; } });
56
58
  var TypeAttribute_1 = require("./TypeAttribute");
@@ -1 +1 @@
1
- {"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../src/attributes/_imports.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,uDAAoD;AAA5C,oHAAA,gBAAgB,OAAA;AACxB,uDAAoD;AAA5C,oHAAA,gBAAgB,OAAA;AACxB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,mCAAgC;AAAxB,gGAAA,MAAM,OAAA;AACd,2BAAwB;AAAhB,wFAAA,EAAE,OAAA;AACV,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AACf,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,2BAAwB;AAAhB,wFAAA,EAAE,OAAA;AACV,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../src/attributes/_imports.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,uDAAoD;AAA5C,oHAAA,gBAAgB,OAAA;AACxB,uDAAoD;AAA5C,oHAAA,gBAAgB,OAAA;AACxB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,mCAAgC;AAAxB,gGAAA,MAAM,OAAA;AACd,2BAAwB;AAAhB,wFAAA,EAAE,OAAA;AACV,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AACf,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,2BAAwB;AAAhB,wFAAA,EAAE,OAAA;AACV,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
package/src/AST.ts CHANGED
@@ -77,6 +77,7 @@ export enum TokenType {
77
77
  EXCLAMATION_POINT,
78
78
  ELEMENT_REFERENCE,
79
79
  ELEMENT_ATTRIBUTE,
80
+ ELEMENT_STYLE,
80
81
  ELEMENT_QUERY
81
82
  }
82
83
 
@@ -127,24 +128,28 @@ const TOKEN_PATTERNS: TokenPattern[] = [
127
128
  },
128
129
  {
129
130
  type: TokenType.FOR,
130
- pattern: /^for\s/
131
+ pattern: /^for\s?(?=\()/
131
132
  },
132
133
  {
133
134
  type: TokenType.IF,
134
- pattern: /^if\s/
135
+ pattern: /^if\s?(?=\()/
135
136
  },
136
137
  {
137
138
  type: TokenType.ELSE_IF,
138
- pattern: /^else if\s/
139
+ pattern: /^else if\s?(?=\()/
139
140
  },
140
141
  {
141
142
  type: TokenType.ELSE,
142
- pattern: /^else\s/
143
+ pattern: /^else\s?(?=\{)/
143
144
  },
144
145
  {
145
146
  type: TokenType.ELEMENT_ATTRIBUTE,
146
147
  pattern: /^\.?@[_a-zA-Z0-9]*/
147
148
  },
149
+ {
150
+ type: TokenType.ELEMENT_STYLE,
151
+ pattern: /^\.?\$[a-zA-Z0-9]*/
152
+ },
148
153
  {
149
154
  type: TokenType.ELEMENT_REFERENCE,
150
155
  pattern: /^#[-_a-zA-Z0-9]*/
@@ -155,7 +160,7 @@ const TOKEN_PATTERNS: TokenPattern[] = [
155
160
  },
156
161
  {
157
162
  type: TokenType.NAME,
158
- pattern: /^[$_a-zA-Z][_a-zA-Z0-9]*/
163
+ pattern: /^[_a-zA-Z][_a-zA-Z0-9]*/
159
164
  },
160
165
  {
161
166
  type: TokenType.NUMBER_LITERAL,
@@ -872,7 +877,7 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
872
877
  } else {
873
878
  scopes.push(inner);
874
879
  }
875
- } else if (this.left instanceof ElementAttributeNode && this.left.elementRef) {
880
+ } else if ((this.left instanceof ElementAttributeNode || this.left instanceof ElementStyleNode) && this.left.elementRef) {
876
881
  scopes = await this.left.elementRef.evaluate(scope, dom, tag);
877
882
  } else
878
883
  scopes.push(scope);
@@ -1014,7 +1019,7 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
1014
1019
  }
1015
1020
 
1016
1021
  public static parse(lastNode: any, token, tokens: Token[]): ArithmeticAssignmentNode {
1017
- if (!(lastNode instanceof RootScopeMemberNode) && !(lastNode instanceof ScopeMemberNode) && !(lastNode instanceof ElementAttributeNode)) {
1022
+ if (!(lastNode instanceof RootScopeMemberNode) && !(lastNode instanceof ScopeMemberNode) && !(lastNode instanceof ElementAttributeNode) && !(lastNode instanceof ElementStyleNode)) {
1018
1023
  throw SyntaxError(`Invalid assignment syntax near ${Tree.toCode(tokens.splice(0, 10))}`);
1019
1024
  }
1020
1025
  tokens.splice(0, 1); // consume =
@@ -1242,6 +1247,61 @@ class ElementAttributeNode extends Node implements TreeNode {
1242
1247
  }
1243
1248
  }
1244
1249
 
1250
+ class ElementStyleNode extends Node implements TreeNode {
1251
+ protected requiresPrep: boolean = true;
1252
+
1253
+ constructor(
1254
+ public readonly elementRef: ElementQueryNode | null,
1255
+ public readonly attr: string
1256
+ ) {
1257
+ super();
1258
+ }
1259
+
1260
+ public get name(): LiteralNode<string> {
1261
+ return new LiteralNode<string>(`$${this.attributeName}`);
1262
+ }
1263
+
1264
+ protected _getChildNodes(): Node[] {
1265
+ let nodes = [];
1266
+ if (this.elementRef)
1267
+ nodes.push(this.elementRef)
1268
+ return nodes;
1269
+ }
1270
+
1271
+ get attributeName(): string {
1272
+ if (this.attr.startsWith('.'))
1273
+ return this.attr.substring(2);
1274
+ return this.attr.substring(1);
1275
+ }
1276
+
1277
+ async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
1278
+ let tags: TagList;
1279
+ if (this.elementRef) {
1280
+ tags = await this.elementRef.evaluate(scope, dom, tag);
1281
+ } else if (tag) {
1282
+ tags = new TagList(tag)
1283
+ } else {
1284
+ return;
1285
+ }
1286
+
1287
+ if (tags.length === 1)
1288
+ return tags[0].scope.get(`$${this.attributeName}`);
1289
+
1290
+ return tags.map((tag) => tag.scope.get(`$${this.attributeName}`));
1291
+ }
1292
+
1293
+ async prepare(scope: Scope, dom: DOM, tag: Tag = null) {
1294
+ if (this.elementRef) {
1295
+ await this.elementRef.prepare(scope, dom, tag);
1296
+ const tags: TagList = await this.elementRef.evaluate(scope, dom, tag);
1297
+ for (const t of tags)
1298
+ await t.watchStyle(this.attributeName);
1299
+ } else if(tag) {
1300
+ await tag.watchStyle(this.attributeName);
1301
+ }
1302
+ }
1303
+ }
1304
+
1245
1305
  export interface IBlockInfo {
1246
1306
  type: BlockType,
1247
1307
  open: TokenType,
@@ -1387,6 +1447,9 @@ export class Tree {
1387
1447
  } else if (tokens[0].type === TokenType.ELEMENT_ATTRIBUTE) {
1388
1448
  node = new ElementAttributeNode(node as any, tokens[0].value);
1389
1449
  tokens.splice(0, 1);
1450
+ } else if (tokens[0].type === TokenType.ELEMENT_STYLE) {
1451
+ node = new ElementStyleNode(node as any, tokens[0].value);
1452
+ tokens.splice(0, 1);
1390
1453
  } else if (node !== null && token.type === TokenType.PERIOD && tokens[1].type === TokenType.NAME) {
1391
1454
  node = new ScopeMemberNode(
1392
1455
  node,
@@ -27,4 +27,8 @@ export abstract class DOMObject extends EventDispatcher {
27
27
  public watchAttribute(attr: string) {
28
28
 
29
29
  }
30
+
31
+ public watchStyle(style: string) {
32
+
33
+ }
30
34
  }
package/src/Scope.ts CHANGED
@@ -207,13 +207,12 @@ export class WrappedArray<T> extends Array<T> {
207
207
  }
208
208
  }
209
209
 
210
-
211
210
  export class Scope extends EventDispatcher {
212
211
  public wrapped: any;
213
212
  protected data: DataModel;
214
213
  protected types: {[key: string]: string;} = {};
215
214
  protected children: Scope[];
216
- protected keys: string[];
215
+ protected _keys: string[];
217
216
  protected _parentScope: Scope;
218
217
 
219
218
  constructor(
@@ -224,7 +223,7 @@ export class Scope extends EventDispatcher {
224
223
  this.parentScope = parent;
225
224
  this.children = [];
226
225
  this.data = new DataModel({});
227
- this.keys = [];
226
+ this._keys = [];
228
227
  }
229
228
 
230
229
  public get parentScope(): Scope {
@@ -277,7 +276,7 @@ export class Scope extends EventDispatcher {
277
276
  if (searchParents && this.parentScope)
278
277
  return this.parentScope.get(key, searchParents);
279
278
 
280
- return '';
279
+ return this._keys.indexOf(key) > -1 ? '' : undefined;
281
280
  }
282
281
 
283
282
  return value;
@@ -312,12 +311,16 @@ export class Scope extends EventDispatcher {
312
311
  this.trigger('change', key, event);
313
312
  }
314
313
 
315
- if (this.keys.indexOf(key) === -1)
316
- this.keys.push(key);
314
+ if (this._keys.indexOf(key) === -1)
315
+ this._keys.push(key);
316
+ }
317
+
318
+ get keys(): string[] {
319
+ return [...this._keys];
317
320
  }
318
321
 
319
322
  has(key: string): boolean {
320
- return this.keys.indexOf(key) > -1;
323
+ return this._keys.indexOf(key) > -1;
321
324
  }
322
325
 
323
326
  setType(key: string, type: string) {
@@ -337,7 +340,7 @@ export class Scope extends EventDispatcher {
337
340
  }
338
341
 
339
342
  clear() {
340
- for (const key of this.keys) {
343
+ for (const key of this._keys) {
341
344
  if (['function', 'object'].indexOf(typeof this.get(key)) > -1) continue;
342
345
  this.set(key, null);
343
346
  }