vsn 0.1.123 → 0.1.124
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 +4 -1
- package/demo/resources/xhr-animations.html +24 -0
- package/demo/resources/xhr-lazy.html +10 -1
- package/demo/silly-animations.html +12 -24
- package/demo/vsn.js +2 -2
- package/dist/AST/ArrayNode.js +70 -18
- package/dist/AST/ArrayNode.js.map +1 -1
- package/dist/AST/AssignmentNode.js +92 -35
- package/dist/AST/AssignmentNode.js.map +1 -1
- package/dist/AST/BlockNode.js +17 -1
- package/dist/AST/BlockNode.js.map +1 -1
- package/dist/AST/ClassNode.js +225 -87
- package/dist/AST/ClassNode.js.map +1 -1
- package/dist/AST/ElementAttributeNode.js +55 -29
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/AST/ElementStyleNode.js +48 -22
- package/dist/AST/ElementStyleNode.js.map +1 -1
- package/dist/AST/FunctionArgumentNode.js +57 -15
- package/dist/AST/FunctionArgumentNode.js.map +1 -1
- package/dist/AST/FunctionCallNode.js +120 -52
- package/dist/AST/FunctionCallNode.js.map +1 -1
- package/dist/AST/FunctionNode.js +57 -14
- package/dist/AST/FunctionNode.js.map +1 -1
- package/dist/AST/IfStatementNode.js +52 -12
- package/dist/AST/IfStatementNode.js.map +1 -1
- package/dist/AST/IndexNode.js +24 -3
- package/dist/AST/IndexNode.js.map +1 -1
- package/dist/AST/ModifierNode.js +1 -1
- package/dist/AST/ModifierNode.js.map +1 -1
- package/dist/AST/Node.d.ts +3 -2
- package/dist/AST/Node.js +132 -39
- package/dist/AST/Node.js.map +1 -1
- package/dist/AST/ObjectNode.js +17 -1
- package/dist/AST/ObjectNode.js.map +1 -1
- package/dist/AST/OnNode.js +23 -2
- package/dist/AST/OnNode.js.map +1 -1
- package/dist/AST/ScopeMemberNode.js +40 -16
- package/dist/AST/ScopeMemberNode.js.map +1 -1
- package/dist/AST/ScopeNodeAbstract.js +29 -8
- package/dist/AST/ScopeNodeAbstract.js.map +1 -1
- package/dist/AST/StringFormatNode.js +42 -5
- package/dist/AST/StringFormatNode.js.map +1 -1
- package/dist/AST/WASM/Function.js +20 -4
- package/dist/AST/WASM/Function.js.map +1 -1
- package/dist/AST/WASM.js +26 -10
- package/dist/AST/WASM.js.map +1 -1
- package/dist/AST/WithNode.js +81 -41
- package/dist/AST/WithNode.js.map +1 -1
- package/dist/AST.js +91 -37
- package/dist/AST.js.map +1 -1
- package/dist/Attribute.d.ts +3 -0
- package/dist/Attribute.js +43 -19
- package/dist/Attribute.js.map +1 -1
- package/dist/Bencmark.js +77 -20
- package/dist/Bencmark.js.map +1 -1
- package/dist/Component.js +49 -15
- package/dist/Component.js.map +1 -1
- package/dist/DOM/DOMObject.d.ts +6 -1
- package/dist/DOM/DOMObject.js +22 -1
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/DOM.js +450 -193
- package/dist/DOM.js.map +1 -1
- package/dist/EventDispatcher.js +153 -39
- package/dist/EventDispatcher.js.map +1 -1
- package/dist/MessageList.js +37 -6
- package/dist/MessageList.js.map +1 -1
- package/dist/Model.js +27 -6
- package/dist/Model.js.map +1 -1
- package/dist/Modifiers.d.ts +17 -0
- package/dist/Modifiers.js +100 -0
- package/dist/Modifiers.js.map +1 -0
- package/dist/Scope/DynamicScopeData.js +38 -7
- package/dist/Scope/DynamicScopeData.js.map +1 -1
- package/dist/Scope/ScopeData.js +29 -8
- package/dist/Scope/ScopeData.js.map +1 -1
- package/dist/Scope/ScopeDataAbstract.js +103 -27
- package/dist/Scope/ScopeDataAbstract.js.map +1 -1
- package/dist/Scope/WrappedArray.js +112 -26
- package/dist/Scope/WrappedArray.js.map +1 -1
- package/dist/Scope/properties/ArrayProperty.js +17 -1
- package/dist/Scope/properties/ArrayProperty.js.map +1 -1
- package/dist/Scope/properties/Property.js +38 -7
- package/dist/Scope/properties/Property.js.map +1 -1
- package/dist/Scope.js +70 -13
- package/dist/Scope.js.map +1 -1
- package/dist/SimplePromise.js +71 -30
- package/dist/SimplePromise.js.map +1 -1
- package/dist/Tag/TagList.js +22 -1
- package/dist/Tag/TagList.js.map +1 -1
- package/dist/Tag.d.ts +5 -9
- package/dist/Tag.js +512 -195
- package/dist/Tag.js.map +1 -1
- package/dist/attributes/KeyAbstract.js +1 -1
- package/dist/attributes/KeyAbstract.js.map +1 -1
- package/dist/attributes/KeyDown.js +1 -1
- package/dist/attributes/KeyDown.js.map +1 -1
- package/dist/attributes/KeyUp.js +1 -1
- package/dist/attributes/KeyUp.js.map +1 -1
- package/dist/attributes/LazyAttribute.js +4 -2
- package/dist/attributes/LazyAttribute.js.map +1 -1
- package/dist/attributes/List.js +77 -30
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/On.d.ts +1 -1
- package/dist/attributes/On.js +10 -10
- package/dist/attributes/On.js.map +1 -1
- package/dist/attributes/RootAttribute.js +29 -8
- package/dist/attributes/RootAttribute.js.map +1 -1
- package/dist/attributes/ScopeAttribute.js +30 -9
- package/dist/attributes/ScopeAttribute.js.map +1 -1
- package/dist/attributes/SetAttribute.js +32 -11
- package/dist/attributes/SetAttribute.js.map +1 -1
- package/dist/attributes/StyleAttribute.js +27 -6
- package/dist/attributes/StyleAttribute.js.map +1 -1
- package/dist/attributes/XHRAttribute.js +28 -7
- package/dist/attributes/XHRAttribute.js.map +1 -1
- package/dist/helpers/ElementHelper.js +25 -4
- package/dist/helpers/ElementHelper.js.map +1 -1
- package/dist/helpers/decorators.js +22 -1
- package/dist/helpers/decorators.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/AST/FunctionNode.ts +2 -0
- package/src/AST/ModifierNode.ts +1 -1
- package/src/AST/Node.ts +10 -5
- package/src/AST/OnNode.ts +1 -1
- package/src/AST/ScopeNodeAbstract.ts +3 -3
- package/src/AST.ts +1 -1
- package/src/Attribute.ts +19 -8
- package/src/DOM/DOMObject.ts +4 -1
- package/src/Modifiers.ts +54 -0
- package/src/Tag.ts +66 -37
- package/src/attributes/KeyAbstract.ts +1 -1
- package/src/attributes/KeyDown.ts +1 -1
- package/src/attributes/KeyUp.ts +1 -1
- package/src/attributes/LazyAttribute.ts +6 -2
- package/src/attributes/On.ts +10 -9
- package/src/attributes/XHRAttribute.ts +2 -2
- package/src/version.ts +1 -1
- package/tsconfig.base.json +2 -1
|
@@ -56,6 +56,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
56
56
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
var __values = (this && this.__values) || function(o) {
|
|
60
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
61
|
+
if (m) return m.call(o);
|
|
62
|
+
if (o && typeof o.length === "number") return {
|
|
63
|
+
next: function () {
|
|
64
|
+
if (o && i >= o.length) o = void 0;
|
|
65
|
+
return { value: o && o[i++], done: !o };
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
69
|
+
};
|
|
59
70
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
71
|
exports.SetAttribute = void 0;
|
|
61
72
|
var Attribute_1 = require("../Attribute");
|
|
@@ -81,9 +92,10 @@ var SetAttribute = /** @class */ (function (_super) {
|
|
|
81
92
|
});
|
|
82
93
|
SetAttribute.prototype.extract = function () {
|
|
83
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
84
|
-
var ref, _a, _b, value,
|
|
85
|
-
|
|
86
|
-
|
|
95
|
+
var ref, _a, _b, value, _c, _d, m, t;
|
|
96
|
+
var e_1, _e;
|
|
97
|
+
return __generator(this, function (_f) {
|
|
98
|
+
switch (_f.label) {
|
|
87
99
|
case 0:
|
|
88
100
|
this.property = this.getAttributeBinding();
|
|
89
101
|
try {
|
|
@@ -95,19 +107,28 @@ var SetAttribute = /** @class */ (function (_super) {
|
|
|
95
107
|
_a = this;
|
|
96
108
|
return [4 /*yield*/, ref.getKey()];
|
|
97
109
|
case 1:
|
|
98
|
-
_a.key =
|
|
110
|
+
_a.key = _f.sent();
|
|
99
111
|
_b = this;
|
|
100
112
|
return [4 /*yield*/, ref.getScope()];
|
|
101
113
|
case 2:
|
|
102
|
-
_b.boundScope =
|
|
114
|
+
_b.boundScope = _f.sent();
|
|
103
115
|
value = this.getAttributeValue(null);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
116
|
+
try {
|
|
117
|
+
for (_c = __values(this.getAttributeModifiers()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
118
|
+
m = _d.value;
|
|
119
|
+
t = Registry_1.Registry.instance.types.getSynchronous(m);
|
|
120
|
+
if (t) {
|
|
121
|
+
this.boundScope.setType(this.key, m);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
127
|
+
finally {
|
|
128
|
+
try {
|
|
129
|
+
if (_d && !_d.done && (_e = _c.return)) _e.call(_c);
|
|
110
130
|
}
|
|
131
|
+
finally { if (e_1) throw e_1.error; }
|
|
111
132
|
}
|
|
112
133
|
this.boundScope.set(this.key, value);
|
|
113
134
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../src/attributes/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,wCAAqC;AAIrC;IAAkC,gCAAS;IAA3C;;IAqCA,CAAC;IA/BG,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,8BAAO,GAApB;;;;;;;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;wBACnC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;;4BACzC,KAAgB,KAAA,SAAA,IAAI,CAAC,qBAAqB,EAAE,CAAA,4CAAE;gCAAnC,CAAC;gCACF,CAAC,GAAG,mBAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gCACpD,IAAI,CAAC,EAAE;oCACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oCACrC,MAAM;iCACT;6BACJ;;;;;;;;;wBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;;;;KACxC;IAnCsB,qBAAQ,GAAY,KAAK,CAAC;IADxC,YAAY;QADxB,mBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;OACjB,YAAY,CAqCxB;IAAD,mBAAC;CAAA,AArCD,CAAkC,qBAAS,GAqC1C;AArCY,oCAAY"}
|
|
@@ -56,6 +56,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
56
56
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
var __values = (this && this.__values) || function(o) {
|
|
60
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
61
|
+
if (m) return m.call(o);
|
|
62
|
+
if (o && typeof o.length === "number") return {
|
|
63
|
+
next: function () {
|
|
64
|
+
if (o && i >= o.length) o = void 0;
|
|
65
|
+
return { value: o && o[i++], done: !o };
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
69
|
+
};
|
|
59
70
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
71
|
exports.StyleAttribute = void 0;
|
|
61
72
|
var Registry_1 = require("../Registry");
|
|
@@ -146,13 +157,23 @@ var StyleAttribute = /** @class */ (function (_super) {
|
|
|
146
157
|
}
|
|
147
158
|
};
|
|
148
159
|
StyleAttribute.prototype.updateTo = function () {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
var
|
|
152
|
-
|
|
153
|
-
var
|
|
154
|
-
|
|
160
|
+
var e_1, _a;
|
|
161
|
+
try {
|
|
162
|
+
for (var _b = __values(this.styleScope.keys), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
163
|
+
var k = _c.value;
|
|
164
|
+
var v = this.styleScope.get(k);
|
|
165
|
+
if (k.startsWith('$')) {
|
|
166
|
+
var key = k.substr(1);
|
|
167
|
+
this.tag.element.style[key] = v.value;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
172
|
+
finally {
|
|
173
|
+
try {
|
|
174
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
155
175
|
}
|
|
176
|
+
finally { if (e_1) throw e_1.error; }
|
|
156
177
|
}
|
|
157
178
|
};
|
|
158
179
|
StyleAttribute.prototype.mutate = function (mutation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StyleAttribute.js","sourceRoot":"","sources":["../../src/attributes/StyleAttribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
56
56
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
var __values = (this && this.__values) || function(o) {
|
|
60
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
61
|
+
if (m) return m.call(o);
|
|
62
|
+
if (o && typeof o.length === "number") return {
|
|
63
|
+
next: function () {
|
|
64
|
+
if (o && i >= o.length) o = void 0;
|
|
65
|
+
return { value: o && o[i++], done: !o };
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
69
|
+
};
|
|
59
70
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
71
|
exports.XHRAttribute = void 0;
|
|
61
72
|
var Registry_1 = require("../Registry");
|
|
@@ -98,10 +109,10 @@ var XHRAttribute = /** @class */ (function (_super) {
|
|
|
98
109
|
switch (_a.label) {
|
|
99
110
|
case 0:
|
|
100
111
|
if (this.isForm) {
|
|
101
|
-
this.tag.addEventHandler('submit', this.
|
|
112
|
+
this.tag.addEventHandler('submit', this.modifiers, this.handleEvent, this);
|
|
102
113
|
}
|
|
103
114
|
else if (this.isAnchor) {
|
|
104
|
-
this.tag.addEventHandler('click', this.
|
|
115
|
+
this.tag.addEventHandler('click', this.modifiers, this.handleEvent, this);
|
|
105
116
|
}
|
|
106
117
|
return [4 /*yield*/, _super.prototype.connect.call(this)];
|
|
107
118
|
case 1:
|
|
@@ -127,8 +138,9 @@ var XHRAttribute = /** @class */ (function (_super) {
|
|
|
127
138
|
});
|
|
128
139
|
XHRAttribute.prototype.handleEvent = function (e) {
|
|
129
140
|
return __awaiter(this, void 0, void 0, function () {
|
|
130
|
-
var method, url, formData, data, formKeys,
|
|
131
|
-
|
|
141
|
+
var method, url, formData, data, formKeys, formKeys_1, formKeys_1_1, key, siteHeaders, key, siteFormData, key;
|
|
142
|
+
var e_1, _a;
|
|
143
|
+
return __generator(this, function (_b) {
|
|
132
144
|
e.preventDefault();
|
|
133
145
|
if (this.request)
|
|
134
146
|
return [2 /*return*/];
|
|
@@ -141,9 +153,18 @@ var XHRAttribute = /** @class */ (function (_super) {
|
|
|
141
153
|
if (method == 'GET') {
|
|
142
154
|
data = {};
|
|
143
155
|
formKeys = Array.from(formData.keys());
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
156
|
+
try {
|
|
157
|
+
for (formKeys_1 = __values(formKeys), formKeys_1_1 = formKeys_1.next(); !formKeys_1_1.done; formKeys_1_1 = formKeys_1.next()) {
|
|
158
|
+
key = formKeys_1_1.value;
|
|
159
|
+
data[key] = formData.get(key);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
163
|
+
finally {
|
|
164
|
+
try {
|
|
165
|
+
if (formKeys_1_1 && !formKeys_1_1.done && (_a = formKeys_1.return)) _a.call(formKeys_1);
|
|
166
|
+
}
|
|
167
|
+
finally { if (e_1) throw e_1.error; }
|
|
147
168
|
}
|
|
148
169
|
url = VisionHelper_1.VisionHelper.getUriWithParams(url, data);
|
|
149
170
|
formData = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XHRAttribute.js","sourceRoot":"","sources":["../../src/attributes/XHRAttribute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XHRAttribute.js","sourceRoot":"","sources":["../../src/attributes/XHRAttribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.ElementHelper = void 0;
|
|
4
15
|
var ClassNode_1 = require("../AST/ClassNode");
|
|
@@ -6,6 +17,7 @@ var ElementHelper = /** @class */ (function () {
|
|
|
6
17
|
function ElementHelper() {
|
|
7
18
|
}
|
|
8
19
|
ElementHelper.hasVisionAttribute = function (element, testAttr) {
|
|
20
|
+
var e_1, _a;
|
|
9
21
|
if (testAttr === void 0) { testAttr = 'vsn-'; }
|
|
10
22
|
if (!element.attributes || element.attributes.length <= 0)
|
|
11
23
|
return false;
|
|
@@ -15,11 +27,20 @@ var ElementHelper = /** @class */ (function () {
|
|
|
15
27
|
return true;
|
|
16
28
|
}
|
|
17
29
|
}
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
try {
|
|
31
|
+
for (var _b = __values(Array.from(element.classList)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
32
|
+
var cls = _c.value;
|
|
33
|
+
if (ClassNode_1.ClassNode.isClass(cls)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
39
|
+
finally {
|
|
40
|
+
try {
|
|
41
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
22
42
|
}
|
|
43
|
+
finally { if (e_1) throw e_1.error; }
|
|
23
44
|
}
|
|
24
45
|
return false;
|
|
25
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementHelper.js","sourceRoot":"","sources":["../../src/helpers/ElementHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ElementHelper.js","sourceRoot":"","sources":["../../src/helpers/ElementHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8CAA2C;AAE3C;IAAA;IAuBA,CAAC;IAtBiB,gCAAkB,GAAhC,UAAiC,OAA8B,EAAE,QAAyB;;QAAzB,yBAAA,EAAA,iBAAyB;QACtF,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxD,IAAM,IAAI,GAAS,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClC;gBACI,OAAO,IAAI,CAAC;aACf;SACJ;;YAED,KAAkB,IAAA,KAAA,SAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA,gBAAA,4BAAE;gBAA5C,IAAM,GAAG,WAAA;gBACV,IAAI,qBAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACxB,OAAO,IAAI,CAAC;iBACf;aACJ;;;;;;;;;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEa,gCAAkB,GAAhC,UAAiC,EAAU;QACvC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,CAAC;IACL,oBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,sCAAa"}
|
|
@@ -14,6 +14,27 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
18
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
|
+
if (!m) return o;
|
|
20
|
+
var i = m.call(o), r, ar = [], e;
|
|
21
|
+
try {
|
|
22
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
23
|
+
}
|
|
24
|
+
catch (error) { e = { error: error }; }
|
|
25
|
+
finally {
|
|
26
|
+
try {
|
|
27
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
28
|
+
}
|
|
29
|
+
finally { if (e) throw e.error; }
|
|
30
|
+
}
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
34
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
35
|
+
to[j] = from[i];
|
|
36
|
+
return to;
|
|
37
|
+
};
|
|
17
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
39
|
exports.extendsarray = void 0;
|
|
19
40
|
function extendsarray(target) {
|
|
@@ -24,7 +45,7 @@ function extendsarray(target) {
|
|
|
24
45
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
25
46
|
args[_i] = arguments[_i];
|
|
26
47
|
}
|
|
27
|
-
var _this = _super.apply(this, args) || this;
|
|
48
|
+
var _this = _super.apply(this, __spreadArray([], __read(args))) || this;
|
|
28
49
|
for (var c in target.prototype) {
|
|
29
50
|
_this[c] = target.prototype[c];
|
|
30
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/helpers/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/helpers/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAgB,YAAY,CAAyC,MAAS;IAC1E;QAAqB,2BAAM;QACvB;YAAY,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YAAnB,wDACa,IAAI,YAIhB;YAHG,KAAK,IAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE;gBAC9B,KAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACjC;;QACL,CAAC;QACL,cAAC;IAAD,CAAC,AAPM,CAAc,MAAM,GAOzB;IAAA,CAAC;AACP,CAAC;AATD,oCASC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.124";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
package/src/AST/FunctionNode.ts
CHANGED
|
@@ -60,12 +60,14 @@ export class FunctionNode extends Node implements TreeNode {
|
|
|
60
60
|
public static parse<T = FunctionNode>(lastNode, token, tokens: Token[], cls: any = FunctionNode): FunctionNode {
|
|
61
61
|
tokens.shift(); // skip 'func'
|
|
62
62
|
const name = tokens.shift();
|
|
63
|
+
const modifiers = this.moveModifiers(tokens);
|
|
63
64
|
const argTokens = Tree.getBlockTokens(tokens);
|
|
64
65
|
const funcArgs: string[] = [];
|
|
65
66
|
for (const t of argTokens) {
|
|
66
67
|
funcArgs.push(t[0].value);
|
|
67
68
|
}
|
|
68
69
|
const block = Tree.processTokens(Tree.getNextStatementTokens(tokens, true, true));
|
|
70
|
+
this.moveModifiers(modifiers, tokens);
|
|
69
71
|
return new cls(name.value, funcArgs, block);
|
|
70
72
|
}
|
|
71
73
|
}
|
package/src/AST/ModifierNode.ts
CHANGED
|
@@ -25,7 +25,7 @@ export class ModifierNode extends Node implements TreeNode {
|
|
|
25
25
|
public static parse(lastNode, token, tokens: Token[]): Node {
|
|
26
26
|
const modifier = tokens.shift().value.substr(1);
|
|
27
27
|
if (lastNode) {
|
|
28
|
-
lastNode.modifiers.
|
|
28
|
+
lastNode.modifiers.add(modifier);
|
|
29
29
|
}
|
|
30
30
|
return lastNode;
|
|
31
31
|
}
|
package/src/AST/Node.ts
CHANGED
|
@@ -2,6 +2,7 @@ import {Scope} from "../Scope";
|
|
|
2
2
|
import {DOM} from "../DOM";
|
|
3
3
|
import {Tag} from "../Tag";
|
|
4
4
|
import {Token, TokenType, TreeNode} from "../AST";
|
|
5
|
+
import {Modifiers} from "../Modifiers";
|
|
5
6
|
|
|
6
7
|
export interface INodeMeta {
|
|
7
8
|
[key: string]: string | number | boolean | null;
|
|
@@ -12,7 +13,7 @@ export abstract class Node implements TreeNode {
|
|
|
12
13
|
protected _isPreparationRequired: boolean;
|
|
13
14
|
protected childNodes: Node[];
|
|
14
15
|
protected nodeCache: {[key: string]: Node[]} = {};
|
|
15
|
-
public readonly modifiers:
|
|
16
|
+
public readonly modifiers: Modifiers = new Modifiers();
|
|
16
17
|
abstract evaluate(scope: Scope, dom: DOM, tag?: Tag);
|
|
17
18
|
|
|
18
19
|
isPreparationRequired(): boolean {
|
|
@@ -80,13 +81,17 @@ export abstract class Node implements TreeNode {
|
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
hasModifier(modifier: string): boolean {
|
|
83
|
-
return this.modifiers.
|
|
84
|
+
return this.modifiers.has(modifier);
|
|
84
85
|
}
|
|
85
86
|
|
|
86
|
-
public static moveModifiers(from: Token[], to: Token[]) {
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
public static moveModifiers(from: Token[], to: Token[] = null): Token[] {
|
|
88
|
+
to = to || [];
|
|
89
|
+
if (from && from.length) {
|
|
90
|
+
while (from[0] && from[0].type == TokenType.MODIFIER) {
|
|
91
|
+
to.unshift(from.shift());
|
|
92
|
+
}
|
|
89
93
|
}
|
|
94
|
+
return to;
|
|
90
95
|
}
|
|
91
96
|
}
|
|
92
97
|
|
package/src/AST/OnNode.ts
CHANGED
|
@@ -9,7 +9,7 @@ export class OnNode extends FunctionNode implements TreeNode {
|
|
|
9
9
|
const classPrep = meta?.ClassNodePrepare; // Don't add event handler if we're in class prep
|
|
10
10
|
if (tag && !classPrep) {
|
|
11
11
|
const func = await this.getFunction(scope, dom, tag);
|
|
12
|
-
tag.addEventHandler(this.name,
|
|
12
|
+
tag.addEventHandler(this.name, this.modifiers, async (...args) => {
|
|
13
13
|
await func(...args);
|
|
14
14
|
await this.collectGarbage();
|
|
15
15
|
}, this);
|
|
@@ -8,10 +8,10 @@ import {Registry} from "../Registry";
|
|
|
8
8
|
export abstract class ScopeNodeAbstract extends Node implements TreeNode {
|
|
9
9
|
async applyModifiers(name: string, scope: Scope, dom: DOM, tag: Tag) {
|
|
10
10
|
let type: string;
|
|
11
|
-
for (const modifier of this.modifiers) {
|
|
11
|
+
for (const modifier of this.modifiers.iter) {
|
|
12
12
|
// Check for type cast modifier
|
|
13
|
-
if (Registry.instance.types.has(modifier)) {
|
|
14
|
-
type = modifier;
|
|
13
|
+
if (Registry.instance.types.has(modifier.name)) {
|
|
14
|
+
type = modifier.name;
|
|
15
15
|
break;
|
|
16
16
|
}
|
|
17
17
|
}
|
package/src/AST.ts
CHANGED
package/src/Attribute.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {Tag} from "./Tag";
|
|
2
2
|
import {VisionHelper} from "./helpers/VisionHelper";
|
|
3
3
|
import {EventDispatcher} from "./EventDispatcher";
|
|
4
|
+
import {Modifiers} from "./Modifiers";
|
|
4
5
|
|
|
5
6
|
export enum AttributeState {
|
|
6
7
|
Instantiated,
|
|
@@ -14,6 +15,7 @@ export enum AttributeState {
|
|
|
14
15
|
|
|
15
16
|
export abstract class Attribute extends EventDispatcher {
|
|
16
17
|
protected _state: AttributeState;
|
|
18
|
+
public readonly modifiers: Modifiers;
|
|
17
19
|
public static readonly scoped: boolean = false;
|
|
18
20
|
public static readonly canDefer: boolean = true;
|
|
19
21
|
|
|
@@ -23,6 +25,7 @@ export abstract class Attribute extends EventDispatcher {
|
|
|
23
25
|
public readonly slot?: Tag
|
|
24
26
|
) {
|
|
25
27
|
super();
|
|
28
|
+
this.modifiers = Modifiers.fromAttribute(attributeName)
|
|
26
29
|
this.configure();
|
|
27
30
|
}
|
|
28
31
|
|
|
@@ -37,25 +40,30 @@ export abstract class Attribute extends EventDispatcher {
|
|
|
37
40
|
protected async defer() {
|
|
38
41
|
this.setState(AttributeState.Deferred);
|
|
39
42
|
}
|
|
43
|
+
|
|
40
44
|
protected async configure() {
|
|
41
45
|
this.setState(AttributeState.Instantiated);
|
|
42
|
-
}
|
|
46
|
+
}
|
|
47
|
+
|
|
43
48
|
public async compile() {
|
|
44
49
|
this.setState(AttributeState.Compiled);
|
|
45
|
-
}
|
|
50
|
+
}
|
|
51
|
+
|
|
46
52
|
public async setup() {
|
|
47
53
|
this.setState(AttributeState.Setup);
|
|
48
|
-
}
|
|
54
|
+
}
|
|
49
55
|
|
|
50
56
|
public async extract() {
|
|
51
57
|
this.setState(AttributeState.Extracted);
|
|
52
|
-
}
|
|
58
|
+
}
|
|
59
|
+
|
|
53
60
|
public async connect() {
|
|
54
61
|
this.setState(AttributeState.Connected);
|
|
55
62
|
}
|
|
63
|
+
|
|
56
64
|
public async evaluate() {
|
|
57
65
|
this.setState(AttributeState.Built);
|
|
58
|
-
}
|
|
66
|
+
}
|
|
59
67
|
|
|
60
68
|
public getAttributeValue(fallback: any = null) {
|
|
61
69
|
return this.origin.getRawAttributeValue(this.attributeName, fallback);
|
|
@@ -66,12 +74,15 @@ export abstract class Attribute extends EventDispatcher {
|
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
public getAttributeModifiers(fallback: any = []): string[] {
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
return this.modifiers.length && this.modifiers.names || fallback;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public getAttributeModifierArguments(modifier: string, fallback: string[] = []): string[] {
|
|
81
|
+
return this.modifiers.has(modifier) ? this.modifiers.get(modifier).arguments : fallback;
|
|
71
82
|
}
|
|
72
83
|
|
|
73
84
|
public hasModifier(mod: string): boolean {
|
|
74
|
-
return this.
|
|
85
|
+
return this.modifiers.has(mod);
|
|
75
86
|
}
|
|
76
87
|
|
|
77
88
|
public mutate(mutation: MutationRecord): void {}
|
package/src/DOM/DOMObject.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {Scope} from "../Scope";
|
|
2
2
|
import {EventDispatcher} from "../EventDispatcher";
|
|
3
|
+
import {Modifiers} from "../Modifiers";
|
|
3
4
|
|
|
4
5
|
export interface IEventHandler {
|
|
5
6
|
event: string;
|
|
6
7
|
handler: (...args: any[]) => any;
|
|
7
|
-
context
|
|
8
|
+
context: any;
|
|
9
|
+
state: { [key: string]: any };
|
|
10
|
+
modifiers: Modifiers;
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
export abstract class DOMObject extends EventDispatcher {
|
package/src/Modifiers.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
|
|
2
|
+
export class Modifier {
|
|
3
|
+
public readonly name: string;
|
|
4
|
+
public readonly arguments: string[];
|
|
5
|
+
|
|
6
|
+
constructor(modifier: string) {
|
|
7
|
+
const [name, ...args] = modifier.split(',');
|
|
8
|
+
this.name = name;
|
|
9
|
+
this.arguments = args;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public getArguments(fallback: string[] = []): string[] {
|
|
13
|
+
return this.arguments.length ? this.arguments : fallback;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class Modifiers {
|
|
18
|
+
protected modifiers: Map<string, Modifier> = new Map<string, Modifier>();
|
|
19
|
+
|
|
20
|
+
constructor(modifiers: string[] = []) {
|
|
21
|
+
for (const modifier of modifiers) {
|
|
22
|
+
this.add(modifier);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public add(modifier: string) {
|
|
27
|
+
const m = new Modifier(modifier);
|
|
28
|
+
this.modifiers.set(m.name, m);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public has(name: string): boolean {
|
|
32
|
+
return this.modifiers.has(name);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public get(name: string): Modifier {
|
|
36
|
+
return this.modifiers.get(name);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public get iter(): Modifier[] {
|
|
40
|
+
return Array.from(this.modifiers.values());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public get names(): string[] {
|
|
44
|
+
return this.iter.map(m => m.name);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public get length(): number {
|
|
48
|
+
return this.modifiers.size;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public static fromAttribute(attribute: string): Modifiers {
|
|
52
|
+
return new Modifiers(attribute.split('|').splice(1));
|
|
53
|
+
}
|
|
54
|
+
}
|