vsn 0.1.83 → 0.1.84
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 +35 -190
- package/demo/vsn.js +2 -2
- package/dist/AST/ElementAttributeNode.js +20 -6
- package/dist/AST/ElementAttributeNode.js.map +1 -1
- package/dist/Component.js +1 -0
- package/dist/Component.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/ElementAttributeNode.ts +10 -2
- package/src/Component.ts +2 -0
- package/src/version.ts +1 -1
- package/test/AST/ClassNode.spec.ts +0 -1
- package/dist/vsn.min.js +0 -3
- package/dist/vsn.min.js.LICENSE.txt +0 -9
|
@@ -54,8 +54,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
54
54
|
exports.ElementAttributeNode = void 0;
|
|
55
55
|
var List_1 = require("../Tag/List");
|
|
56
56
|
var Node_1 = require("./Node");
|
|
57
|
+
var ElementQueryNode_1 = require("./ElementQueryNode");
|
|
57
58
|
var LiteralNode_1 = require("./LiteralNode");
|
|
58
59
|
var DOMObject_1 = require("../DOM/DOMObject");
|
|
60
|
+
var IndexNode_1 = require("./IndexNode");
|
|
59
61
|
var ElementAttributeNode = /** @class */ (function (_super) {
|
|
60
62
|
__extends(ElementAttributeNode, _super);
|
|
61
63
|
function ElementAttributeNode(elementRef, attr) {
|
|
@@ -90,25 +92,37 @@ var ElementAttributeNode = /** @class */ (function (_super) {
|
|
|
90
92
|
ElementAttributeNode.prototype.evaluate = function (scope, dom, tag) {
|
|
91
93
|
if (tag === void 0) { tag = null; }
|
|
92
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
93
|
-
var tags;
|
|
95
|
+
var tags, indexResult;
|
|
94
96
|
var _this = this;
|
|
95
97
|
return __generator(this, function (_a) {
|
|
96
98
|
switch (_a.label) {
|
|
97
99
|
case 0:
|
|
98
|
-
if (!this.elementRef) return [3 /*break*/, 2];
|
|
100
|
+
if (!(this.elementRef instanceof ElementQueryNode_1.ElementQueryNode)) return [3 /*break*/, 2];
|
|
99
101
|
return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
|
|
100
102
|
case 1:
|
|
101
103
|
tags = _a.sent();
|
|
102
|
-
return [3 /*break*/,
|
|
104
|
+
return [3 /*break*/, 5];
|
|
103
105
|
case 2:
|
|
106
|
+
if (!(this.elementRef instanceof IndexNode_1.IndexNode)) return [3 /*break*/, 4];
|
|
107
|
+
return [4 /*yield*/, this.elementRef.evaluate(scope, dom, tag, true)];
|
|
108
|
+
case 3:
|
|
109
|
+
indexResult = _a.sent();
|
|
110
|
+
if (indexResult instanceof List_1.TagList) {
|
|
111
|
+
tags = indexResult;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
tags = new List_1.TagList(indexResult);
|
|
115
|
+
}
|
|
116
|
+
return [3 /*break*/, 5];
|
|
117
|
+
case 4:
|
|
104
118
|
if (tag) {
|
|
105
119
|
tags = new List_1.TagList(tag);
|
|
106
120
|
}
|
|
107
121
|
else {
|
|
108
122
|
return [2 /*return*/];
|
|
109
123
|
}
|
|
110
|
-
_a.label =
|
|
111
|
-
case
|
|
124
|
+
_a.label = 5;
|
|
125
|
+
case 5:
|
|
112
126
|
if (tags.length === 1)
|
|
113
127
|
return [2 /*return*/, tags[0].scope.get("@" + this.attributeName)];
|
|
114
128
|
return [2 /*return*/, tags.map(function (tag) { return tag.scope.get("@" + _this.attributeName); })];
|
|
@@ -137,7 +151,7 @@ var ElementAttributeNode = /** @class */ (function (_super) {
|
|
|
137
151
|
case 3:
|
|
138
152
|
if (!(_i < tags_1.length)) return [3 /*break*/, 6];
|
|
139
153
|
t = tags_1[_i];
|
|
140
|
-
return [4 /*yield*/, t.watchAttribute(this.attributeName)];
|
|
154
|
+
return [4 /*yield*/, (t === null || t === void 0 ? void 0 : t.watchAttribute(this.attributeName))];
|
|
141
155
|
case 4:
|
|
142
156
|
_a.sent();
|
|
143
157
|
_a.label = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oCAAoC;AAEpC,+BAA4B;
|
|
1
|
+
{"version":3,"file":"ElementAttributeNode.js","sourceRoot":"","sources":["../../src/AST/ElementAttributeNode.ts"],"names":[],"mappings":"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"}
|
package/dist/Component.js
CHANGED
|
@@ -32,6 +32,7 @@ var Component = /** @class */ (function (_super) {
|
|
|
32
32
|
else {
|
|
33
33
|
template = Registry_1.Registry.instance.templates.getSynchronous(_this.tagName.toLowerCase());
|
|
34
34
|
}
|
|
35
|
+
_this.setAttribute('vsn-ref', '');
|
|
35
36
|
_this.shadow.appendChild(template.content.cloneNode(true));
|
|
36
37
|
DOM_1.DOM.instance.buildFrom(_this.shadow);
|
|
37
38
|
return _this;
|
package/dist/Component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,6BAA0B;AAE1B;IAA+B,6BAAW;IAGtC;QAAA,YACI,iBAAO,
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,6BAA0B;AAE1B;IAA+B,6BAAW;IAGtC;QAAA,YACI,iBAAO,SAiBV;QAhBG,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAEjD,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QAChD,IAAM,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,QAA6B,CAAC;QAElC,IAAI,UAAU,EAAE;YACZ,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAwB,CAAC;SACzE;aAAM;YACH,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;SACrF;QAED,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,SAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;;IACxC,CAAC;IACL,gBAAC;AAAD,CAAC,AAtBD,CAA+B,WAAW,GAsBzC;AAtBY,8BAAS"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.84";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import {Node} from "./Node";
|
|
|
7
7
|
import {ElementQueryNode} from "./ElementQueryNode";
|
|
8
8
|
import {LiteralNode} from "./LiteralNode";
|
|
9
9
|
import {DOMObject} from "../DOM/DOMObject";
|
|
10
|
+
import {IndexNode} from "./IndexNode";
|
|
10
11
|
|
|
11
12
|
export class ElementAttributeNode extends Node implements TreeNode {
|
|
12
13
|
protected requiresPrep: boolean = true;
|
|
@@ -37,8 +38,15 @@ export class ElementAttributeNode extends Node implements TreeNode {
|
|
|
37
38
|
|
|
38
39
|
async evaluate(scope: Scope, dom: DOM, tag: Tag = null) {
|
|
39
40
|
let tags: TagList;
|
|
40
|
-
if (this.elementRef) {
|
|
41
|
+
if (this.elementRef instanceof ElementQueryNode) {
|
|
41
42
|
tags = await this.elementRef.evaluate(scope, dom, tag, true);
|
|
43
|
+
} else if (this.elementRef as any instanceof IndexNode) {
|
|
44
|
+
const indexResult = await (this.elementRef as any).evaluate(scope, dom, tag, true);
|
|
45
|
+
if (indexResult instanceof TagList) {
|
|
46
|
+
tags = indexResult;
|
|
47
|
+
} else {
|
|
48
|
+
tags = new TagList(indexResult);
|
|
49
|
+
}
|
|
42
50
|
} else if (tag) {
|
|
43
51
|
tags = new TagList(tag)
|
|
44
52
|
} else {
|
|
@@ -57,7 +65,7 @@ export class ElementAttributeNode extends Node implements TreeNode {
|
|
|
57
65
|
const tags: any = await this.elementRef.evaluate(scope, dom, tag, true);
|
|
58
66
|
if (tags instanceof TagList) {
|
|
59
67
|
for (const t of tags)
|
|
60
|
-
await t
|
|
68
|
+
await t?.watchAttribute(this.attributeName);
|
|
61
69
|
} else if (tags instanceof DOMObject) {
|
|
62
70
|
await (tags as DOMObject).watchAttribute(this.attributeName);
|
|
63
71
|
}
|
package/src/Component.ts
CHANGED
|
@@ -18,6 +18,8 @@ export class Component extends HTMLElement {
|
|
|
18
18
|
template = Registry.instance.templates.getSynchronous(this.tagName.toLowerCase());
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
this.setAttribute('vsn-ref', '');
|
|
22
|
+
|
|
21
23
|
this.shadow.appendChild(template.content.cloneNode(true));
|
|
22
24
|
DOM.instance.buildFrom(this.shadow);
|
|
23
25
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.1.
|
|
1
|
+
export const VERSION = '0.1.84';
|
|
2
2
|
|