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.
@@ -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*/, 3];
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 = 3;
111
- case 3:
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":"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"}
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;
@@ -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,SAeV;QAdG,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,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,AApBD,CAA+B,WAAW,GAoBzC;AApBY,8BAAS"}
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.83";
1
+ export declare const VERSION = "0.1.84";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.1.83';
4
+ exports.VERSION = '0.1.84';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.83",
3
+ "version": "0.1.84",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -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.watchAttribute(this.attributeName);
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.83';
1
+ export const VERSION = '0.1.84';
2
2
 
@@ -2,7 +2,6 @@ import {DOM} from "../../src/DOM";
2
2
  import {ClassNode} from "../../src/AST/ClassNode";
3
3
  import {Registry} from "../../src/Registry";
4
4
  import {TagList} from "../../src/Tag/List";
5
- import {Tag} from "../../src/Tag";
6
5
 
7
6
 
8
7
  describe('ClassNode', () => {