vsn 0.1.49 → 0.1.50

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.
@@ -1,13 +1,15 @@
1
1
  import { Scope } from "../Scope";
2
2
  import { DOM } from "../DOM";
3
3
  import { Tag } from "../Tag";
4
- import { TreeNode } from "../AST";
4
+ import { Token, TreeNode } from "../AST";
5
5
  import { Node } from "./Node";
6
6
  export declare class ElementQueryNode extends Node implements TreeNode {
7
7
  readonly query: string;
8
8
  readonly first: boolean;
9
+ readonly global: boolean;
9
10
  protected requiresPrep: boolean;
10
- constructor(query: string, first?: boolean);
11
+ constructor(query: string, first?: boolean, global?: boolean);
11
12
  evaluate(scope: Scope, dom: DOM, tag?: Tag, forceList?: boolean): Promise<any>;
12
13
  prepare(scope: Scope, dom: DOM, tag?: Tag): Promise<void>;
14
+ static parse(lastNode: any, token: any, tokens: Token[]): ElementQueryNode;
13
15
  }
@@ -55,11 +55,13 @@ exports.ElementQueryNode = void 0;
55
55
  var Node_1 = require("./Node");
56
56
  var ElementQueryNode = /** @class */ (function (_super) {
57
57
  __extends(ElementQueryNode, _super);
58
- function ElementQueryNode(query, first) {
58
+ function ElementQueryNode(query, first, global) {
59
59
  if (first === void 0) { first = false; }
60
+ if (global === void 0) { global = false; }
60
61
  var _this = _super.call(this) || this;
61
62
  _this.query = query;
62
63
  _this.first = first;
64
+ _this.global = global;
63
65
  _this.requiresPrep = true;
64
66
  return _this;
65
67
  }
@@ -79,7 +81,7 @@ var ElementQueryNode = /** @class */ (function (_super) {
79
81
  _b.label = 2;
80
82
  case 2:
81
83
  tag = _a;
82
- return [4 /*yield*/, dom.get(this.query, true, tag)];
84
+ return [4 /*yield*/, dom.get(this.query, true, this.global ? null : tag)];
83
85
  case 3:
84
86
  elements = _b.sent();
85
87
  return [2 /*return*/, this.first && !forceList ? elements[0] : elements];
@@ -110,6 +112,10 @@ var ElementQueryNode = /** @class */ (function (_super) {
110
112
  });
111
113
  });
112
114
  };
115
+ ElementQueryNode.parse = function (lastNode, token, tokens) {
116
+ tokens.shift();
117
+ return new ElementQueryNode(token.value, false, !token.full.startsWith('?>'));
118
+ };
113
119
  return ElementQueryNode;
114
120
  }(Node_1.Node));
115
121
  exports.ElementQueryNode = ElementQueryNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ElementQueryNode.js","sourceRoot":"","sources":["../../src/AST/ElementQueryNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+BAA4B;AAE5B;IAAsC,oCAAI;IAGtC,0BACoB,KAAa,EACb,KAAsB;QAAtB,sBAAA,EAAA,aAAsB;QAF1C,YAII,iBAAO,SACV;QAJmB,WAAK,GAAL,KAAK,CAAQ;QACb,WAAK,GAAL,KAAK,CAAiB;QAJhC,kBAAY,GAAY,IAAI,CAAC;;IAOvC,CAAC;IAEK,mCAAQ,GAAd,UAAe,KAAY,EAAE,GAAQ,EAAE,GAAe,EAAE,SAA0B;QAA3C,oBAAA,EAAA,UAAe;QAAE,0BAAA,EAAA,iBAA0B;;;;;;wBACxE,KAAA,GAAG,CAAA;gCAAH,wBAAG;wBAAI,qBAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA;;8BAA/B,SAA+B;;;wBAA5C,GAAG,KAAyC,CAAC;wBAC5B,qBAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAA;;wBAA/C,QAAQ,GAAG,SAAoC;wBACrD,sBAAO,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAC;;;;KAC5D;IAEK,kCAAO,GAAb,UAAc,KAAY,EAAE,GAAQ,EAAE,GAAe;QAAf,oBAAA,EAAA,UAAe;;;;;;wBAC3C,KAAA,GAAG,CAAA;gCAAH,wBAAG;wBAAI,qBAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA;;8BAA/B,SAA+B;;;wBAA5C,GAAG,KAAyC,CAAC;wBAC7C,qBAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAA;;wBAApC,SAAoC,CAAC;;;;;KACxC;IACL,uBAAC;AAAD,CAAC,AApBD,CAAsC,WAAI,GAoBzC;AApBY,4CAAgB"}
1
+ {"version":3,"file":"ElementQueryNode.js","sourceRoot":"","sources":["../../src/AST/ElementQueryNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,+BAA4B;AAE5B;IAAsC,oCAAI;IAGtC,0BACoB,KAAa,EACb,KAAsB,EACtB,MAAuB;QADvB,sBAAA,EAAA,aAAsB;QACtB,uBAAA,EAAA,cAAuB;QAH3C,YAKI,iBAAO,SACV;QALmB,WAAK,GAAL,KAAK,CAAQ;QACb,WAAK,GAAL,KAAK,CAAiB;QACtB,YAAM,GAAN,MAAM,CAAiB;QALjC,kBAAY,GAAY,IAAI,CAAC;;IAQvC,CAAC;IAEK,mCAAQ,GAAd,UAAe,KAAY,EAAE,GAAQ,EAAE,GAAe,EAAE,SAA0B;QAA3C,oBAAA,EAAA,UAAe;QAAE,0BAAA,EAAA,iBAA0B;;;;;;wBACxE,KAAA,GAAG,CAAA;gCAAH,wBAAG;wBAAI,qBAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA;;8BAA/B,SAA+B;;;wBAA5C,GAAG,KAAyC,CAAC;wBAC5B,qBAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAA;;wBAApE,QAAQ,GAAG,SAAyD;wBAC1E,sBAAO,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAC;;;;KAC5D;IAEK,kCAAO,GAAb,UAAc,KAAY,EAAE,GAAQ,EAAE,GAAe;QAAf,oBAAA,EAAA,UAAe;;;;;;wBAC3C,KAAA,GAAG,CAAA;gCAAH,wBAAG;wBAAI,qBAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA;;8BAA/B,SAA+B;;;wBAA5C,GAAG,KAAyC,CAAC;wBAC7C,qBAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAA;;wBAApC,SAAoC,CAAC;;;;;KACxC;IAEa,sBAAK,GAAnB,UAAoB,QAAQ,EAAE,KAAK,EAAE,MAAe;QAChD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IACL,uBAAC;AAAD,CAAC,AA1BD,CAAsC,WAAI,GA0BzC;AA1BY,4CAAgB"}
package/dist/AST.d.ts CHANGED
@@ -9,6 +9,8 @@ import { BlockNode } from "./AST/BlockNode";
9
9
  export interface Token {
10
10
  type: TokenType;
11
11
  value: string;
12
+ full: string;
13
+ groups: string[];
12
14
  }
13
15
  export declare enum BlockType {
14
16
  BRACE = 0,
package/dist/AST.js CHANGED
@@ -229,7 +229,7 @@ var TOKEN_PATTERNS = [
229
229
  },
230
230
  {
231
231
  type: TokenType.ELEMENT_QUERY,
232
- pattern: /^\?\(([#.\[\]:,=\-_a-zA-Z0-9*\s]*[\]_a-zA-Z0-9*])\)/
232
+ pattern: /^\?>?\(([#.\[\]:,=\-_a-zA-Z0-9*\s]*[\]_a-zA-Z0-9*])\)/
233
233
  },
234
234
  {
235
235
  type: TokenType.NAME,
@@ -468,7 +468,9 @@ var Tree = /** @class */ (function () {
468
468
  if (match) {
469
469
  tokens.push({
470
470
  type: tp.type,
471
- value: match[match.length - 1]
471
+ value: match[match.length - 1],
472
+ full: match[0],
473
+ groups: match
472
474
  });
473
475
  code = code.substring(match[0].length);
474
476
  foundToken = true;
@@ -532,8 +534,7 @@ var Tree = /** @class */ (function () {
532
534
  tokens.shift();
533
535
  }
534
536
  else if (tokens[0].type === TokenType.ELEMENT_QUERY) {
535
- node = new ElementQueryNode_1.ElementQueryNode(tokens[0].value);
536
- tokens.shift();
537
+ node = ElementQueryNode_1.ElementQueryNode.parse(node, tokens[0], tokens);
537
538
  }
538
539
  else if (tokens[0].type === TokenType.L_BRACKET) {
539
540
  if (node) {
package/dist/AST.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.49",
3
+ "version": "0.1.50",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -1,7 +1,7 @@
1
1
  import {Scope} from "../Scope";
2
2
  import {DOM} from "../DOM";
3
3
  import {Tag} from "../Tag";
4
- import {TreeNode} from "../AST";
4
+ import {Token, TreeNode} from "../AST";
5
5
  import {Node} from "./Node";
6
6
 
7
7
  export class ElementQueryNode extends Node implements TreeNode {
@@ -9,14 +9,15 @@ export class ElementQueryNode extends Node implements TreeNode {
9
9
 
10
10
  constructor(
11
11
  public readonly query: string,
12
- public readonly first: boolean = false
12
+ public readonly first: boolean = false,
13
+ public readonly global: boolean = false,
13
14
  ) {
14
15
  super();
15
16
  }
16
17
 
17
18
  async evaluate(scope: Scope, dom: DOM, tag: Tag = null, forceList: boolean = false): Promise<any> {
18
19
  tag = tag || await dom.getTagForScope(scope);
19
- const elements = await dom.get(this.query, true, tag);
20
+ const elements = await dom.get(this.query, true, this.global ? null : tag);
20
21
  return this.first && !forceList ? elements[0] : elements;
21
22
  }
22
23
 
@@ -24,4 +25,9 @@ export class ElementQueryNode extends Node implements TreeNode {
24
25
  tag = tag || await dom.getTagForScope(scope);
25
26
  await dom.get(this.query, true, tag);
26
27
  }
28
+
29
+ public static parse(lastNode, token, tokens: Token[]): ElementQueryNode {
30
+ tokens.shift();
31
+ return new ElementQueryNode(token.value, false, !token.full.startsWith('?>'));
32
+ }
27
33
  }
package/src/AST.ts CHANGED
@@ -38,7 +38,9 @@ interface TokenPattern {
38
38
 
39
39
  export interface Token {
40
40
  type: TokenType,
41
- value: string
41
+ value: string,
42
+ full: string,
43
+ groups: string[]
42
44
  }
43
45
 
44
46
  export enum BlockType {
@@ -206,7 +208,7 @@ const TOKEN_PATTERNS: TokenPattern[] = [
206
208
  },
207
209
  {
208
210
  type: TokenType.ELEMENT_QUERY,
209
- pattern: /^\?\(([#.\[\]:,=\-_a-zA-Z0-9*\s]*[\]_a-zA-Z0-9*])\)/
211
+ pattern: /^\?>?\(([#.\[\]:,=\-_a-zA-Z0-9*\s]*[\]_a-zA-Z0-9*])\)/
210
212
  },
211
213
  {
212
214
  type: TokenType.NAME,
@@ -426,7 +428,9 @@ export class Tree {
426
428
  if (match) {
427
429
  tokens.push({
428
430
  type: tp.type,
429
- value: match[match.length - 1]
431
+ value: match[match.length - 1],
432
+ full: match[0],
433
+ groups: match
430
434
  });
431
435
 
432
436
  code = code.substring(match[0].length);
@@ -491,8 +495,7 @@ export class Tree {
491
495
  node = new ElementQueryNode(tokens[0].value, true);
492
496
  tokens.shift()
493
497
  } else if (tokens[0].type === TokenType.ELEMENT_QUERY) {
494
- node = new ElementQueryNode(tokens[0].value);
495
- tokens.shift()
498
+ node = ElementQueryNode.parse(node, tokens[0], tokens);
496
499
  } else if (tokens[0].type === TokenType.L_BRACKET) {
497
500
  if (node) {
498
501
  node = IndexNode.parse(node, token, tokens);