vsn 0.1.23 → 0.1.27
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/demo.html +16 -7
- package/demo/vsn.js +1 -0
- package/dist/AST.d.ts +2 -1
- package/dist/AST.js +94 -4
- package/dist/AST.js.map +1 -1
- package/dist/Attribute.d.ts +1 -1
- package/dist/Attribute.js +3 -3
- package/dist/Attribute.js.map +1 -1
- package/dist/Configuration.d.ts +1 -1
- package/dist/Configuration.js +4 -4
- package/dist/Configuration.js.map +1 -1
- package/dist/Controller.d.ts +10 -5
- package/dist/Controller.js +21 -6
- package/dist/Controller.js.map +1 -1
- package/dist/DOM/DOMObject.d.ts +1 -1
- package/dist/DOM/DOMObject.js +2 -2
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/DOM.d.ts +1 -1
- package/dist/DOM.js +4 -4
- package/dist/DOM.js.map +1 -1
- package/dist/EventDispatcher.d.ts +26 -0
- package/dist/EventDispatcher.js +117 -0
- package/dist/EventDispatcher.js.map +1 -0
- package/dist/Formats.js +2 -2
- package/dist/Formats.js.map +1 -1
- package/dist/MessageList.d.ts +14 -0
- package/dist/MessageList.js +88 -0
- package/dist/MessageList.js.map +1 -0
- package/dist/Model/Collection.d.ts +5 -0
- package/dist/Model/Collection.js +37 -0
- package/dist/Model/Collection.js.map +1 -0
- package/dist/Model/DataModel.d.ts +6 -0
- package/dist/Model/DataModel.js +54 -0
- package/dist/Model/DataModel.js.map +1 -0
- package/dist/Model/ModelAbstract.d.ts +20 -0
- package/dist/Model/ModelAbstract.js +122 -0
- package/dist/Model/ModelAbstract.js.map +1 -0
- package/dist/Model/fields/BooleanField.d.ts +5 -0
- package/dist/Model/fields/BooleanField.js +43 -0
- package/dist/Model/fields/BooleanField.js.map +1 -0
- package/dist/Model/fields/EmailField.d.ts +5 -0
- package/dist/Model/fields/EmailField.js +36 -0
- package/dist/Model/fields/EmailField.js.map +1 -0
- package/dist/Model/fields/Field.d.ts +13 -0
- package/dist/Model/fields/Field.js +79 -0
- package/dist/Model/fields/Field.js.map +1 -0
- package/dist/Model/fields/FloatField.d.ts +5 -0
- package/dist/Model/fields/FloatField.js +47 -0
- package/dist/Model/fields/FloatField.js.map +1 -0
- package/dist/Model/fields/PositiveNumberField.d.ts +5 -0
- package/dist/Model/fields/PositiveNumberField.js +51 -0
- package/dist/Model/fields/PositiveNumberField.js.map +1 -0
- package/dist/Model/fields/StringField.d.ts +5 -0
- package/dist/Model/fields/StringField.js +43 -0
- package/dist/Model/fields/StringField.js.map +1 -0
- package/dist/Model.d.ts +11 -0
- package/dist/Model.js +72 -0
- package/dist/Model.js.map +1 -0
- package/dist/Registry.d.ts +2 -2
- package/dist/Registry.js +6 -16
- package/dist/Registry.js.map +1 -1
- package/dist/Scope.d.ts +7 -10
- package/dist/Scope.js +40 -90
- package/dist/Scope.js.map +1 -1
- package/dist/SimplePromise.d.ts +42 -0
- package/dist/SimplePromise.js +217 -0
- package/dist/SimplePromise.js.map +1 -0
- package/dist/Tag.js +12 -6
- package/dist/Tag.js.map +1 -1
- package/dist/attributes/Bind.js +1 -1
- package/dist/attributes/Bind.js.map +1 -1
- package/dist/attributes/ClickRemoveClass.js +17 -5
- package/dist/attributes/ClickRemoveClass.js.map +1 -1
- package/dist/attributes/ClickToggleClass.js +17 -5
- package/dist/attributes/ClickToggleClass.js.map +1 -1
- package/dist/attributes/Exec.js +6 -0
- package/dist/attributes/Exec.js.map +1 -1
- package/dist/attributes/Format.js +3 -0
- package/dist/attributes/Format.js.map +1 -1
- package/dist/attributes/If.js +12 -0
- package/dist/attributes/If.js.map +1 -1
- package/dist/attributes/JSONAttribute.js +3 -0
- package/dist/attributes/JSONAttribute.js.map +1 -1
- package/dist/attributes/KeyAbstract.js +11 -4
- package/dist/attributes/KeyAbstract.js.map +1 -1
- package/dist/attributes/KeyDown.js +8 -2
- package/dist/attributes/KeyDown.js.map +1 -1
- package/dist/attributes/KeyUp.js +8 -2
- package/dist/attributes/KeyUp.js.map +1 -1
- package/dist/attributes/List.js +14 -5
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/ListItem.js +3 -0
- package/dist/attributes/ListItem.js.map +1 -1
- package/dist/attributes/On.js +15 -3
- package/dist/attributes/On.js.map +1 -1
- package/dist/attributes/Radio.d.ts +2 -0
- package/dist/attributes/Radio.js +52 -5
- package/dist/attributes/Radio.js.map +1 -1
- package/dist/attributes/RootAttribute.js +8 -2
- package/dist/attributes/RootAttribute.js.map +1 -1
- package/dist/attributes/ScopeChange.js +7 -1
- package/dist/attributes/ScopeChange.js.map +1 -1
- package/dist/attributes/SetAttribute.js +3 -0
- package/dist/attributes/SetAttribute.js.map +1 -1
- package/dist/attributes/StandardAttribute.js +25 -7
- package/dist/attributes/StandardAttribute.js.map +1 -1
- package/dist/attributes/StyleAttribute.js +1 -1
- package/dist/attributes/StyleAttribute.js.map +1 -1
- package/dist/attributes/TypeAttribute.js +3 -0
- package/dist/attributes/TypeAttribute.js.map +1 -1
- package/dist/{Vision.d.ts → vsn.d.ts} +3 -1
- package/dist/{Vision.js → vsn.js} +10 -6
- package/dist/vsn.js.map +1 -0
- package/package.json +9 -13
- package/src/AST.ts +96 -5
- package/src/Attribute.ts +2 -2
- package/src/Configuration.ts +3 -3
- package/src/Controller.ts +16 -7
- package/src/DOM/DOMObject.ts +1 -1
- package/src/DOM.ts +4 -4
- package/src/EventDispatcher.ts +117 -0
- package/src/Formats.ts +2 -2
- package/src/MessageList.ts +81 -0
- package/src/Model/Collection.ts +13 -0
- package/src/Model/DataModel.ts +29 -0
- package/src/Model/ModelAbstract.ts +114 -0
- package/src/Model/fields/BooleanField.ts +16 -0
- package/src/Model/fields/EmailField.ts +12 -0
- package/src/Model/fields/Field.ts +65 -0
- package/src/Model/fields/FloatField.ts +22 -0
- package/src/Model/fields/PositiveNumberField.ts +24 -0
- package/src/Model/fields/StringField.ts +16 -0
- package/src/Model.ts +57 -0
- package/src/Registry.ts +3 -5
- package/src/Scope.ts +39 -90
- package/src/SimplePromise.ts +219 -0
- package/src/Tag.ts +12 -9
- package/src/attributes/Bind.ts +1 -1
- package/src/attributes/ClickRemoveClass.ts +2 -0
- package/src/attributes/ClickToggleClass.ts +2 -0
- package/src/attributes/Exec.ts +2 -0
- package/src/attributes/Format.ts +1 -0
- package/src/attributes/If.ts +4 -0
- package/src/attributes/JSONAttribute.ts +1 -0
- package/src/attributes/KeyAbstract.ts +2 -1
- package/src/attributes/KeyDown.ts +1 -0
- package/src/attributes/KeyUp.ts +1 -0
- package/src/attributes/List.ts +6 -3
- package/src/attributes/ListItem.ts +1 -0
- package/src/attributes/On.ts +4 -0
- package/src/attributes/Radio.ts +18 -3
- package/src/attributes/RootAttribute.ts +1 -0
- package/src/attributes/ScopeChange.ts +3 -1
- package/src/attributes/SetAttribute.ts +1 -0
- package/src/attributes/StandardAttribute.ts +4 -1
- package/src/attributes/StyleAttribute.ts +1 -1
- package/src/attributes/TypeAttribute.ts +1 -0
- package/src/{Vision.ts → vsn.ts} +4 -2
- package/test/AST.spec.ts +2 -1
- package/test/DOM.spec.ts +1 -1
- package/test/MessageList.spec.ts +101 -0
- package/test/Model/DataModel.spec.ts +141 -0
- package/test/Model.spec.ts +306 -0
- package/test/Scope.spec.ts +2 -2
- package/test/SimplePromise.spec.ts +271 -0
- package/test/attributes/Bind.spec.ts +5 -5
- package/test/attributes/JSONAttribute.spec.ts +1 -1
- package/test/attributes/ListItem.spec.ts +1 -1
- package/webpack.config.js +2 -2
- package/demo/vision.js +0 -1
- package/dist/Vision.js.map +0 -1
- package/main.py +0 -16
package/dist/attributes/Radio.js
CHANGED
|
@@ -65,7 +65,7 @@ var Radio = /** @class */ (function (_super) {
|
|
|
65
65
|
function Radio() {
|
|
66
66
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
67
67
|
}
|
|
68
|
-
Radio.prototype.
|
|
68
|
+
Radio.prototype.setup = function () {
|
|
69
69
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
70
|
var scopeKey, ref, _a, _b;
|
|
71
71
|
return __generator(this, function (_c) {
|
|
@@ -87,6 +87,27 @@ var Radio = /** @class */ (function (_super) {
|
|
|
87
87
|
return [4 /*yield*/, ref.getScope()];
|
|
88
88
|
case 2:
|
|
89
89
|
_b.boundScope = _c.sent();
|
|
90
|
+
return [4 /*yield*/, _super.prototype.setup.call(this)];
|
|
91
|
+
case 3:
|
|
92
|
+
_c.sent();
|
|
93
|
+
return [2 /*return*/];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
Radio.prototype.extract = function () {
|
|
99
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
100
|
+
return __generator(this, function (_a) {
|
|
101
|
+
switch (_a.label) {
|
|
102
|
+
case 0:
|
|
103
|
+
if (!this.tag.checked) return [3 /*break*/, 2];
|
|
104
|
+
return [4 /*yield*/, this.handleEvent(null)];
|
|
105
|
+
case 1:
|
|
106
|
+
_a.sent();
|
|
107
|
+
_a.label = 2;
|
|
108
|
+
case 2: return [4 /*yield*/, _super.prototype.extract.call(this)];
|
|
109
|
+
case 3:
|
|
110
|
+
_a.sent();
|
|
90
111
|
return [2 /*return*/];
|
|
91
112
|
}
|
|
92
113
|
});
|
|
@@ -95,9 +116,33 @@ var Radio = /** @class */ (function (_super) {
|
|
|
95
116
|
Radio.prototype.connect = function () {
|
|
96
117
|
return __awaiter(this, void 0, void 0, function () {
|
|
97
118
|
return __generator(this, function (_a) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
119
|
+
switch (_a.label) {
|
|
120
|
+
case 0:
|
|
121
|
+
this.boundScope.on("change:" + this.key, this.checkSelected, this);
|
|
122
|
+
this.tag.addEventHandler('change', this.getAttributeModifiers(), this.handleEvent.bind(this));
|
|
123
|
+
return [4 /*yield*/, this.checkSelected()];
|
|
124
|
+
case 1:
|
|
125
|
+
_a.sent();
|
|
126
|
+
return [4 /*yield*/, _super.prototype.connect.call(this)];
|
|
127
|
+
case 2:
|
|
128
|
+
_a.sent();
|
|
129
|
+
return [2 /*return*/];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
Radio.prototype.evaluate = function () {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
return __generator(this, function (_a) {
|
|
137
|
+
switch (_a.label) {
|
|
138
|
+
case 0: return [4 /*yield*/, this.checkSelected()];
|
|
139
|
+
case 1:
|
|
140
|
+
_a.sent();
|
|
141
|
+
return [4 /*yield*/, _super.prototype.evaluate.call(this)];
|
|
142
|
+
case 2:
|
|
143
|
+
_a.sent();
|
|
144
|
+
return [2 /*return*/];
|
|
145
|
+
}
|
|
101
146
|
});
|
|
102
147
|
});
|
|
103
148
|
};
|
|
@@ -111,8 +156,10 @@ var Radio = /** @class */ (function (_super) {
|
|
|
111
156
|
};
|
|
112
157
|
Radio.prototype.checkSelected = function () {
|
|
113
158
|
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
+
var scopeValue;
|
|
114
160
|
return __generator(this, function (_a) {
|
|
115
|
-
|
|
161
|
+
scopeValue = this.boundScope.get(this.key);
|
|
162
|
+
this.tag.checked = "" + scopeValue === this.tag.value;
|
|
116
163
|
return [2 /*return*/];
|
|
117
164
|
});
|
|
118
165
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/attributes/Radio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAKvC;IAA2B,yBAAS;IAApC;;
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/attributes/Radio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAKvC;IAA2B,yBAAS;IAApC;;IA8CA,CAAC;IAzCgB,qBAAK,GAAlB;;;;;;wBACQ,QAAQ,GAAW,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBAEzF,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,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,uBAAO,GAApB;;;;;6BACQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAhB,wBAAgB;wBAChB,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;;4BACjC,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,uBAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAU,IAAI,CAAC,GAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBACnE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9F,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAEY,wBAAQ,GAArB;;;;4BACI,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,qBAAM,iBAAM,QAAQ,WAAE,EAAA;;wBAAtB,SAAsB,CAAC;;;;;KAC1B;IAEK,2BAAW,GAAjB,UAAkB,CAAC;;;gBACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;;;KACjD;IAEK,6BAAa,GAAnB;;;;gBACU,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAG,UAAY,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;;;KACzD;IA5CsB,cAAQ,GAAY,KAAK,CAAC;IADxC,KAAK;QADjB,mBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;OACnB,KAAK,CA8CjB;IAAD,YAAC;CAAA,AA9CD,CAA2B,qBAAS,GA8CnC;AA9CY,sBAAK"}
|
|
@@ -69,8 +69,14 @@ var RootAttribute = /** @class */ (function (_super) {
|
|
|
69
69
|
RootAttribute.prototype.setup = function () {
|
|
70
70
|
return __awaiter(this, void 0, void 0, function () {
|
|
71
71
|
return __generator(this, function (_a) {
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
this.tag.scope.set('$mobile', VisionHelper_1.VisionHelper.isMobile());
|
|
75
|
+
return [4 /*yield*/, _super.prototype.setup.call(this)];
|
|
76
|
+
case 1:
|
|
77
|
+
_a.sent();
|
|
78
|
+
return [2 /*return*/];
|
|
79
|
+
}
|
|
74
80
|
});
|
|
75
81
|
});
|
|
76
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootAttribute.js","sourceRoot":"","sources":["../../src/attributes/RootAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wDAAqD;AACrD,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;
|
|
1
|
+
{"version":3,"file":"RootAttribute.js","sourceRoot":"","sources":["../../src/attributes/RootAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AACvC,wDAAqD;AACrD,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAQA,CAAC;IAJgB,6BAAK,GAAlB;;;;;wBACI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,2BAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACvD,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IANsB,sBAAQ,GAAY,KAAK,CAAC;IAC1B,oBAAM,GAAY,IAAI,CAAC;IAFrC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAQzB;IAAD,oBAAC;CAAA,AARD,CAAmC,qBAAS,GAQ3C;AARY,sCAAa"}
|
|
@@ -76,6 +76,9 @@ var ScopeChange = /** @class */ (function (_super) {
|
|
|
76
76
|
this.handler = new AST_1.Tree(code);
|
|
77
77
|
return [4 /*yield*/, this.handler.prepare(this.tag.scope, this.tag.dom, this.tag)];
|
|
78
78
|
case 1:
|
|
79
|
+
_a.sent();
|
|
80
|
+
return [4 /*yield*/, _super.prototype.compile.call(this)];
|
|
81
|
+
case 2:
|
|
79
82
|
_a.sent();
|
|
80
83
|
return [2 /*return*/];
|
|
81
84
|
}
|
|
@@ -92,11 +95,14 @@ var ScopeChange = /** @class */ (function (_super) {
|
|
|
92
95
|
ref = this.tag.scope.getReference(binding, false);
|
|
93
96
|
return [4 /*yield*/, ref.getScope()];
|
|
94
97
|
case 1:
|
|
95
|
-
_b = (_a = (_d.sent())).
|
|
98
|
+
_b = (_a = (_d.sent())).on;
|
|
96
99
|
_c = "change:";
|
|
97
100
|
return [4 /*yield*/, ref.getKey()];
|
|
98
101
|
case 2:
|
|
99
102
|
_b.apply(_a, [_c + (_d.sent()), this.handleEvent.bind(this)]);
|
|
103
|
+
return [4 /*yield*/, _super.prototype.connect.call(this)];
|
|
104
|
+
case 3:
|
|
105
|
+
_d.sent();
|
|
100
106
|
return [2 /*return*/];
|
|
101
107
|
}
|
|
102
108
|
});
|
|
@@ -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;;
|
|
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"}
|
|
@@ -100,6 +100,9 @@ var SetAttribute = /** @class */ (function (_super) {
|
|
|
100
100
|
return [4 /*yield*/, ref.getScope()];
|
|
101
101
|
case 2:
|
|
102
102
|
_b.boundScope = _c.sent();
|
|
103
|
+
return [4 /*yield*/, _super.prototype.setup.call(this)];
|
|
104
|
+
case 3:
|
|
105
|
+
_c.sent();
|
|
103
106
|
return [2 /*return*/];
|
|
104
107
|
}
|
|
105
108
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAGrC;IAAkC,gCAAS;IAA3C;;
|
|
1
|
+
{"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAGrC;IAAkC,gCAAS;IAA3C;;IAuCA,CAAC;IAjCG,sBAAW,+BAAK;aAMhB;YACI,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;aATD,UAAiB,CAAM;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACpC;QACL,CAAC;;;OAAA;IAOY,4BAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAE3C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACpD;wBAAC,OAAO,CAAC,EAAE;4BACR,sBAAO;yBACV;wBACD,KAAA,IAAI,CAAA;wBAAO,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAA7B,GAAK,GAAG,GAAG,SAAkB,CAAC;wBAC9B,KAAA,IAAI,CAAA;wBAAc,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAAtC,GAAK,UAAU,GAAG,SAAoB,CAAC;wBACvC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,8BAAO,GAApB;;;;gBACQ,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACnC,SAAS,GAAW,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;;;KACxC;IArCsB,qBAAQ,GAAY,KAAK,CAAC;IADxC,YAAY;QADxB,mBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;OACjB,YAAY,CAuCxB;IAAD,mBAAC;CAAA,AAvCD,CAAkC,qBAAS,GAuC1C;AAvCY,oCAAY"}
|
|
@@ -61,26 +61,44 @@ var StandardAttribute = /** @class */ (function (_super) {
|
|
|
61
61
|
StandardAttribute.prototype.setup = function () {
|
|
62
62
|
return __awaiter(this, void 0, void 0, function () {
|
|
63
63
|
return __generator(this, function (_a) {
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
if (StandardAttribute.magicAttributes.indexOf(this.key) === -1 && !this.tag.element.hasAttribute(this.attributeName)) {
|
|
67
|
+
this.tag.element.setAttribute(this.attributeName, '');
|
|
68
|
+
}
|
|
69
|
+
return [4 /*yield*/, _super.prototype.setup.call(this)];
|
|
70
|
+
case 1:
|
|
71
|
+
_a.sent();
|
|
72
|
+
return [2 /*return*/];
|
|
66
73
|
}
|
|
67
|
-
return [2 /*return*/];
|
|
68
74
|
});
|
|
69
75
|
});
|
|
70
76
|
};
|
|
71
77
|
StandardAttribute.prototype.extract = function () {
|
|
72
78
|
return __awaiter(this, void 0, void 0, function () {
|
|
73
79
|
return __generator(this, function (_a) {
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
this.updateFrom();
|
|
83
|
+
return [4 /*yield*/, _super.prototype.extract.call(this)];
|
|
84
|
+
case 1:
|
|
85
|
+
_a.sent();
|
|
86
|
+
return [2 /*return*/];
|
|
87
|
+
}
|
|
76
88
|
});
|
|
77
89
|
});
|
|
78
90
|
};
|
|
79
91
|
StandardAttribute.prototype.connect = function () {
|
|
80
92
|
return __awaiter(this, void 0, void 0, function () {
|
|
81
93
|
return __generator(this, function (_a) {
|
|
82
|
-
|
|
83
|
-
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0:
|
|
96
|
+
this.tag.scope.on("change:" + this.key, this.updateTo.bind(this));
|
|
97
|
+
return [4 /*yield*/, _super.prototype.connect.call(this)];
|
|
98
|
+
case 1:
|
|
99
|
+
_a.sent();
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
}
|
|
84
102
|
});
|
|
85
103
|
});
|
|
86
104
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAEvC;IAAuC,qCAAS;IAAhD;;
|
|
1
|
+
{"version":3,"file":"StandardAttribute.js","sourceRoot":"","sources":["../../src/attributes/StandardAttribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,7 +103,7 @@ var StyleAttribute = /** @class */ (function (_super) {
|
|
|
103
103
|
return __generator(this, function (_a) {
|
|
104
104
|
switch (_a.label) {
|
|
105
105
|
case 0:
|
|
106
|
-
this.styleScope.
|
|
106
|
+
this.styleScope.on("change", this.handleEvent.bind(this));
|
|
107
107
|
return [4 /*yield*/, _super.prototype.connect.call(this)];
|
|
108
108
|
case 1:
|
|
109
109
|
_a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AACvC,kCAA+C;AAI/C;IAAoC,kCAAS;IAA7C;;IA6EA,CAAC;IAxEgB,8BAAK,GAAlB;;;;;;wBACU,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC;6BACzC,GAAG,EAAH,wBAAG;wBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACnC,qBAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAA;;wBAA5C,WAAW,GAAG,SAA8B;wBACjC,qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAA;;wBAAvC,QAAQ,GAAG,SAA4B;wBAC7C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;4BAClB,IAAI,CAAC,UAAU,GAAG,IAAI,aAAK,CAAC,WAAW,CAAC,CAAC;4BACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;yBAC9C;;;wBAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;4BAGrC,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAEY,gCAAO,GAApB;;;;;wBACI,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,9 @@ var TypeAttribute = /** @class */ (function (_super) {
|
|
|
86
86
|
return [4 /*yield*/, ref.getKey()];
|
|
87
87
|
case 2:
|
|
88
88
|
_b.apply(_a, [_c.sent(), type]);
|
|
89
|
+
return [4 /*yield*/, _super.prototype.extract.call(this)];
|
|
90
|
+
case 3:
|
|
91
|
+
_c.sent();
|
|
89
92
|
return [2 /*return*/];
|
|
90
93
|
}
|
|
91
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeAttribute.js","sourceRoot":"","sources":["../../src/attributes/TypeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAEvC,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;
|
|
1
|
+
{"version":3,"file":"TypeAttribute.js","sourceRoot":"","sources":["../../src/attributes/TypeAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAEvC,wCAAqC;AAGrC;IAAmC,iCAAS;IAA5C;;IAiBA,CAAC;IAfgB,+BAAO,GAApB;;;;;;wBACU,GAAG,GAAW,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC3C,IAAI,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAG5C,IAAI;4BACA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;yBAC1C;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAC1B,sBAAO;yBACV;wBAEA,qBAAM,GAAG,CAAC,QAAQ,EAAE,EAAA;;wBAArB,KAAA,CAAA,KAAA,CAAC,SAAoB,CAAC,CAAA,CAAC,OAAO,CAAA;wBAAC,qBAAM,GAAG,CAAC,MAAM,EAAE,EAAA;;wBAAjD,cAA+B,SAAkB,EAAE,IAAI,EAAC,CAAC;wBACzD,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAfsB,sBAAQ,GAAY,KAAK,CAAC;IADxC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;OAClB,aAAa,CAiBzB;IAAD,oBAAC;CAAA,AAjBD,CAAmC,qBAAS,GAiB3C;AAjBY,sCAAa"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { DOM } from "./DOM";
|
|
2
|
-
import { EventDispatcher } from "simple-ts-event-dispatcher";
|
|
3
2
|
import { Registry } from "./Registry";
|
|
4
3
|
import "./Types";
|
|
5
4
|
import "./Formats";
|
|
6
5
|
import { Configuration } from "./Configuration";
|
|
6
|
+
import { EventDispatcher } from "./EventDispatcher";
|
|
7
7
|
export declare class Vision extends EventDispatcher {
|
|
8
8
|
protected static _instance: Vision;
|
|
9
9
|
protected _dom?: DOM;
|
|
@@ -21,4 +21,6 @@ export * from './Attribute';
|
|
|
21
21
|
export * from './AST';
|
|
22
22
|
export { DOM } from './DOM';
|
|
23
23
|
export { WrappedArray, Scope, ScopeReference } from './Scope';
|
|
24
|
+
export { Controller } from './Controller';
|
|
25
|
+
export { Tag } from './Tag';
|
|
24
26
|
export declare const vision: Vision;
|
|
@@ -61,11 +61,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
63
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
exports.vision = exports.ScopeReference = exports.Scope = exports.WrappedArray = exports.DOM = exports.Vision = void 0;
|
|
64
|
+
exports.vision = exports.Tag = exports.Controller = exports.ScopeReference = exports.Scope = exports.WrappedArray = exports.DOM = exports.Vision = void 0;
|
|
65
65
|
var DOM_1 = require("./DOM");
|
|
66
|
-
var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
|
|
67
66
|
var Scope_1 = require("./Scope");
|
|
68
|
-
var simple_ts_models_1 = require("simple-ts-models");
|
|
69
67
|
var Registry_1 = require("./Registry");
|
|
70
68
|
require("./Types");
|
|
71
69
|
require("./Formats");
|
|
@@ -73,6 +71,8 @@ var Configuration_1 = require("./Configuration");
|
|
|
73
71
|
var VisionHelper_1 = require("./helpers/VisionHelper");
|
|
74
72
|
var AST_1 = require("./AST");
|
|
75
73
|
var Query_1 = require("./Query");
|
|
74
|
+
var EventDispatcher_1 = require("./EventDispatcher");
|
|
75
|
+
var DataModel_1 = require("./Model/DataModel");
|
|
76
76
|
var Vision = /** @class */ (function (_super) {
|
|
77
77
|
__extends(Vision, _super);
|
|
78
78
|
function Vision() {
|
|
@@ -87,7 +87,7 @@ var Vision = /** @class */ (function (_super) {
|
|
|
87
87
|
}
|
|
88
88
|
_this.registry.classes.register('Object', Object);
|
|
89
89
|
_this.registry.classes.register('WrappedArray', Scope_1.WrappedArray);
|
|
90
|
-
_this.registry.classes.register('DataModel',
|
|
90
|
+
_this.registry.classes.register('DataModel', DataModel_1.DataModel);
|
|
91
91
|
if (VisionHelper_1.VisionHelper.window) {
|
|
92
92
|
window['Vision'] = Vision;
|
|
93
93
|
window['Registry'] = Registry_1.Registry;
|
|
@@ -146,7 +146,7 @@ var Vision = /** @class */ (function (_super) {
|
|
|
146
146
|
configurable: true
|
|
147
147
|
});
|
|
148
148
|
return Vision;
|
|
149
|
-
}(
|
|
149
|
+
}(EventDispatcher_1.EventDispatcher));
|
|
150
150
|
exports.Vision = Vision;
|
|
151
151
|
__exportStar(require("./attributes/_imports"), exports);
|
|
152
152
|
__exportStar(require("./Registry"), exports);
|
|
@@ -158,5 +158,9 @@ 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
160
|
Object.defineProperty(exports, "ScopeReference", { enumerable: true, get: function () { return Scope_2.ScopeReference; } });
|
|
161
|
+
var Controller_1 = require("./Controller");
|
|
162
|
+
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return Controller_1.Controller; } });
|
|
163
|
+
var Tag_1 = require("./Tag");
|
|
164
|
+
Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return Tag_1.Tag; } });
|
|
161
165
|
exports.vision = Vision.instance;
|
|
162
|
-
//# sourceMappingURL=
|
|
166
|
+
//# sourceMappingURL=vsn.js.map
|
package/dist/vsn.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vsn",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.27",
|
|
4
4
|
"description": "SEO Friendly Javascript/Typescript Framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
7
7
|
"typescript"
|
|
8
8
|
],
|
|
9
|
-
"main": "./dist/
|
|
9
|
+
"main": "./dist/vsn.js",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "rm -rf ./dist/ && tsc",
|
|
12
12
|
"build_dev": "rm -rf ./dist/ && webpack --env BUILD=development BENCHMARK=1",
|
|
13
|
-
"demo": "rm -rf ./dist/ && webpack --env BUILD=production BENCHMARK=1 && cp ./dist/
|
|
13
|
+
"demo": "rm -rf ./dist/ && webpack --env BUILD=production BENCHMARK=1 && cp ./dist/vsn.min.js ./demo/vsn.js",
|
|
14
14
|
"clean": "rm -rf ./dist/",
|
|
15
15
|
"test": "karma start --single-run",
|
|
16
16
|
"posttest": "codecov",
|
|
17
17
|
"sample": "rm -rf sample/dist/ && tsc -p sample/ && node sample/dist/sample/index.js"
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
|
-
"dependencies": {
|
|
21
|
-
"simple-ts-event-dispatcher": "^0.1.6",
|
|
22
|
-
"simple-ts-models": "^0.1.3",
|
|
23
|
-
"simple-ts-promise": "^0.1.6"
|
|
24
|
-
},
|
|
20
|
+
"dependencies": {},
|
|
25
21
|
"devDependencies": {
|
|
26
22
|
"@types/jasmine": "^3.6.10",
|
|
27
23
|
"codecov": "^3.8.1",
|
|
@@ -37,16 +33,16 @@
|
|
|
37
33
|
"webpack-cli": "^4.6.0"
|
|
38
34
|
},
|
|
39
35
|
"homepage": "https://www.vsnjs.com",
|
|
40
|
-
"git": "https://github.com/malero/
|
|
41
|
-
"typings": "./dist/
|
|
42
|
-
"types": "./dist/
|
|
36
|
+
"git": "https://github.com/malero/vsn.git",
|
|
37
|
+
"typings": "./dist/vsn.d.ts",
|
|
38
|
+
"types": "./dist/vsn.d.ts",
|
|
43
39
|
"author": "Malero <contact@vsnjs.com> (https://www.vsnjs.com/)",
|
|
44
40
|
"bugs": {
|
|
45
|
-
"url": "https://github.com/malero/
|
|
41
|
+
"url": "https://github.com/malero/vsn/issues",
|
|
46
42
|
"email": "contact@vsnjs.com"
|
|
47
43
|
},
|
|
48
44
|
"repository": {
|
|
49
45
|
"type": "git",
|
|
50
|
-
"url": "https://github.com/malero/
|
|
46
|
+
"url": "https://github.com/malero/vsn.git"
|
|
51
47
|
}
|
|
52
48
|
}
|
package/src/AST.ts
CHANGED
|
@@ -78,7 +78,8 @@ export enum TokenType {
|
|
|
78
78
|
ELEMENT_REFERENCE,
|
|
79
79
|
ELEMENT_ATTRIBUTE,
|
|
80
80
|
ELEMENT_STYLE,
|
|
81
|
-
ELEMENT_QUERY
|
|
81
|
+
ELEMENT_QUERY,
|
|
82
|
+
UNIT,
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
const TOKEN_PATTERNS: TokenPattern[] = [
|
|
@@ -98,6 +99,10 @@ const TOKEN_PATTERNS: TokenPattern[] = [
|
|
|
98
99
|
type: TokenType.TYPE_FLOAT,
|
|
99
100
|
pattern: /^float+/
|
|
100
101
|
},
|
|
102
|
+
{
|
|
103
|
+
type: TokenType.UNIT,
|
|
104
|
+
pattern: /^\d+\.?\d?(?:cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)/
|
|
105
|
+
},
|
|
101
106
|
{
|
|
102
107
|
type: TokenType.TYPE_STRING,
|
|
103
108
|
pattern: /^string+/
|
|
@@ -144,11 +149,11 @@ const TOKEN_PATTERNS: TokenPattern[] = [
|
|
|
144
149
|
},
|
|
145
150
|
{
|
|
146
151
|
type: TokenType.ELEMENT_ATTRIBUTE,
|
|
147
|
-
pattern: /^\.?@[_a-zA-Z0-9]*/
|
|
152
|
+
pattern: /^\.?@[-_a-zA-Z0-9]*/
|
|
148
153
|
},
|
|
149
154
|
{
|
|
150
155
|
type: TokenType.ELEMENT_STYLE,
|
|
151
|
-
pattern: /^\.?\$[a-zA-Z0-9]*/
|
|
156
|
+
pattern: /^\.?\$[-a-zA-Z0-9]*/
|
|
152
157
|
},
|
|
153
158
|
{
|
|
154
159
|
type: TokenType.ELEMENT_REFERENCE,
|
|
@@ -687,6 +692,55 @@ class NumberLiteralNode extends LiteralNode<number> {
|
|
|
687
692
|
}
|
|
688
693
|
}
|
|
689
694
|
|
|
695
|
+
class UnitLiteral {
|
|
696
|
+
protected _amount: number;
|
|
697
|
+
protected _unit: string;
|
|
698
|
+
|
|
699
|
+
constructor(
|
|
700
|
+
protected _value: any
|
|
701
|
+
) {
|
|
702
|
+
this.value = this._value;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
get amount(): number {
|
|
706
|
+
return this._amount;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
get unit(): string {
|
|
710
|
+
return this._unit;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
get value(): string {
|
|
714
|
+
return `${this._amount}${this._unit}`;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
set value(value: string) {
|
|
718
|
+
if (value.indexOf('.') > -1) {
|
|
719
|
+
this._amount = parseFloat(value)
|
|
720
|
+
} else {
|
|
721
|
+
this._amount = parseInt(value);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
if (isNaN(this._amount))
|
|
725
|
+
this._amount = 0;
|
|
726
|
+
|
|
727
|
+
const unit = /[^\d.]+$/.exec(value);
|
|
728
|
+
this._unit = unit && unit[0] || '';
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
public toString() {
|
|
732
|
+
return this.value;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
class UnitLiteralNode extends LiteralNode<UnitLiteral> {
|
|
737
|
+
constructor(
|
|
738
|
+
_value: any
|
|
739
|
+
) {
|
|
740
|
+
super(new UnitLiteral(_value));
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
|
|
690
744
|
|
|
691
745
|
class FunctionCallNode<T = any> extends Node implements TreeNode {
|
|
692
746
|
constructor(
|
|
@@ -895,6 +949,8 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
|
|
|
895
949
|
|
|
896
950
|
if (left instanceof Array) {
|
|
897
951
|
left = this.handleArray(name, left, right, localScope);
|
|
952
|
+
} else if ((left as any) instanceof UnitLiteral || right instanceof UnitLiteral) {
|
|
953
|
+
left = this.handleUnit(name, left, right, localScope);
|
|
898
954
|
} else if (Number.isFinite(left)) {
|
|
899
955
|
left = this.handleNumber(name, left, right, localScope);
|
|
900
956
|
} else {
|
|
@@ -958,6 +1014,38 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
|
|
|
958
1014
|
return left;
|
|
959
1015
|
}
|
|
960
1016
|
|
|
1017
|
+
public handleUnit(key, left, right, scope) {
|
|
1018
|
+
if (!(left instanceof UnitLiteral)) {
|
|
1019
|
+
left = new UnitLiteral(left);
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
if (!(right instanceof UnitLiteral)) {
|
|
1023
|
+
right = new UnitLiteral(right);
|
|
1024
|
+
}
|
|
1025
|
+
const unit = left.unit || right.unit || 'px';
|
|
1026
|
+
|
|
1027
|
+
switch (this.type) {
|
|
1028
|
+
case TokenType.ASSIGN:
|
|
1029
|
+
left = right;
|
|
1030
|
+
break;
|
|
1031
|
+
case TokenType.ADD_ASSIGN:
|
|
1032
|
+
left = new UnitLiteral(`${left.amount+right.amount}${unit}`);
|
|
1033
|
+
break;
|
|
1034
|
+
case TokenType.SUBTRACT_ASSIGN:
|
|
1035
|
+
left = new UnitLiteral(`${left.amount-right.amount}${unit}`);
|
|
1036
|
+
break;
|
|
1037
|
+
case TokenType.MULTIPLY_ASSIGN:
|
|
1038
|
+
left = new UnitLiteral(`${left.amount*right.amount}${unit}`);
|
|
1039
|
+
break;
|
|
1040
|
+
case TokenType.DIVIDE_ASSIGN:
|
|
1041
|
+
left = new UnitLiteral(`${left.amount/right.amount}${unit}`);
|
|
1042
|
+
break;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
scope.set(key, left);
|
|
1046
|
+
return left;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
961
1049
|
public async handleDOMObject(key: string, dom: DOM, domObject: DOMObject, tag: Tag) {
|
|
962
1050
|
let left = domObject.scope.get(key);
|
|
963
1051
|
let right: number | Array<any> | string = await this.right.evaluate(domObject.scope, dom, tag);
|
|
@@ -1002,7 +1090,7 @@ class ArithmeticAssignmentNode extends Node implements TreeNode {
|
|
|
1002
1090
|
We have to trigger a change manually here. Setting the variable on the scope with an array won't trigger
|
|
1003
1091
|
it since we are modifying values inside of the array instance.
|
|
1004
1092
|
*/
|
|
1005
|
-
scope.
|
|
1093
|
+
scope.dispatch(`change:${key}`);
|
|
1006
1094
|
|
|
1007
1095
|
return left;
|
|
1008
1096
|
}
|
|
@@ -1356,7 +1444,7 @@ export class Tree {
|
|
|
1356
1444
|
}
|
|
1357
1445
|
|
|
1358
1446
|
const name = await node.name.evaluate(scope, dom, tag);
|
|
1359
|
-
_scope.
|
|
1447
|
+
_scope.on(`change:${name}`, fnc);
|
|
1360
1448
|
}
|
|
1361
1449
|
}
|
|
1362
1450
|
|
|
@@ -1486,6 +1574,9 @@ export class Tree {
|
|
|
1486
1574
|
node = ArithmeticAssignmentNode.parse(node, token, tokens);
|
|
1487
1575
|
} else if (tokens[0].type === TokenType.WHITESPACE) {
|
|
1488
1576
|
tokens.splice(0, 1);
|
|
1577
|
+
} else if (tokens[0].type === TokenType.UNIT) {
|
|
1578
|
+
node = new UnitLiteralNode(tokens[0].value);
|
|
1579
|
+
tokens.splice(0, 1);
|
|
1489
1580
|
} else if (tokens[0].type === TokenType.BOOLEAN_LITERAL) {
|
|
1490
1581
|
node = new BooleanLiteralNode(tokens[0].value);
|
|
1491
1582
|
tokens.splice(0, 1);
|
package/src/Attribute.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Tag} from "./Tag";
|
|
2
2
|
import {VisionHelper} from "./helpers/VisionHelper";
|
|
3
|
-
import {EventDispatcher} from "
|
|
3
|
+
import {EventDispatcher} from "./EventDispatcher";
|
|
4
4
|
|
|
5
5
|
export enum AttributeState {
|
|
6
6
|
Instantiated,
|
|
@@ -83,7 +83,7 @@ export abstract class Attribute extends EventDispatcher {
|
|
|
83
83
|
private setState(state: AttributeState) {
|
|
84
84
|
const previousState = this._state;
|
|
85
85
|
this._state = state;
|
|
86
|
-
this.
|
|
86
|
+
this.dispatch('state', {
|
|
87
87
|
state: state,
|
|
88
88
|
previousState: previousState,
|
|
89
89
|
attribute: this
|
package/src/Configuration.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {EventDispatcher} from "simple-ts-event-dispatcher";
|
|
2
1
|
import {VisionHelper} from "./helpers/VisionHelper";
|
|
2
|
+
import {EventDispatcher} from "./EventDispatcher";
|
|
3
3
|
|
|
4
4
|
export type ConfigurationValue = string | number | boolean | null | undefined;
|
|
5
5
|
|
|
@@ -19,11 +19,11 @@ export class Configuration extends EventDispatcher {
|
|
|
19
19
|
public set(key: string, value: ConfigurationValue) {
|
|
20
20
|
const prev: ConfigurationValue = this.data[key];
|
|
21
21
|
this.data[key] = value;
|
|
22
|
-
this.
|
|
22
|
+
this.dispatch(`change:${key}`, {
|
|
23
23
|
value: value,
|
|
24
24
|
previous: prev
|
|
25
25
|
});
|
|
26
|
-
this.
|
|
26
|
+
this.dispatch('change', {
|
|
27
27
|
key: key,
|
|
28
28
|
value: value,
|
|
29
29
|
previous: prev
|