mancha 0.17.0 → 0.17.4

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.
Files changed (86) hide show
  1. package/.github/workflows/ci.yml +11 -10
  2. package/.prettierrc +2 -2
  3. package/.vscode/extensions.json +1 -1
  4. package/.vscode/launch.json +33 -43
  5. package/README.md +144 -84
  6. package/dist/browser.d.ts +2 -0
  7. package/dist/browser.js +1 -1
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/css_gen_basic.js.map +1 -1
  11. package/dist/css_gen_utils.d.ts +786 -0
  12. package/dist/css_gen_utils.js +350 -399
  13. package/dist/css_gen_utils.js.map +1 -1
  14. package/dist/dome.d.ts +1 -0
  15. package/dist/dome.js +15 -0
  16. package/dist/dome.js.map +1 -1
  17. package/dist/expressions/ast.d.ts +16 -16
  18. package/dist/expressions/ast.test.js +89 -64
  19. package/dist/expressions/ast.test.js.map +1 -1
  20. package/dist/expressions/ast_factory.d.ts +1 -1
  21. package/dist/expressions/ast_factory.js +17 -17
  22. package/dist/expressions/ast_factory.js.map +1 -1
  23. package/dist/expressions/ast_factory.test.js +42 -36
  24. package/dist/expressions/ast_factory.test.js.map +1 -1
  25. package/dist/expressions/constants.js +56 -56
  26. package/dist/expressions/constants.js.map +1 -1
  27. package/dist/expressions/constants.test.js +57 -57
  28. package/dist/expressions/constants.test.js.map +1 -1
  29. package/dist/expressions/eval.d.ts +17 -17
  30. package/dist/expressions/eval.js +58 -60
  31. package/dist/expressions/eval.js.map +1 -1
  32. package/dist/expressions/eval.test.js +11 -8
  33. package/dist/expressions/eval.test.js.map +1 -1
  34. package/dist/expressions/expressions.test.d.ts +6 -6
  35. package/dist/expressions/expressions.test.js +6 -6
  36. package/dist/expressions/index.d.ts +6 -6
  37. package/dist/expressions/index.js +6 -6
  38. package/dist/expressions/parser.d.ts +3 -3
  39. package/dist/expressions/parser.js +45 -45
  40. package/dist/expressions/parser.js.map +1 -1
  41. package/dist/expressions/parser.test.js +43 -2
  42. package/dist/expressions/parser.test.js.map +1 -1
  43. package/dist/expressions/tokenizer.js +22 -25
  44. package/dist/expressions/tokenizer.js.map +1 -1
  45. package/dist/expressions/tokenizer.test.js +40 -15
  46. package/dist/expressions/tokenizer.test.js.map +1 -1
  47. package/dist/index.d.ts +2 -0
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/interfaces.d.ts +1 -1
  51. package/dist/iterator.js.map +1 -1
  52. package/dist/mancha.js +1 -1
  53. package/dist/mancha.js.map +1 -1
  54. package/dist/plugins.js +96 -25
  55. package/dist/plugins.js.map +1 -1
  56. package/dist/query.js.map +1 -1
  57. package/dist/renderer.js +4 -2
  58. package/dist/renderer.js.map +1 -1
  59. package/dist/safe_browser.js +1 -1
  60. package/dist/safe_browser.js.map +1 -1
  61. package/dist/store.d.ts +10 -4
  62. package/dist/store.js +26 -10
  63. package/dist/store.js.map +1 -1
  64. package/dist/test_utils.d.ts +2 -0
  65. package/dist/test_utils.js +14 -1
  66. package/dist/test_utils.js.map +1 -1
  67. package/dist/trusted_attributes.js +2 -0
  68. package/dist/trusted_attributes.js.map +1 -1
  69. package/dist/type_checker.js +57 -22
  70. package/dist/type_checker.js.map +1 -1
  71. package/dist/worker.d.ts +2 -0
  72. package/dist/worker.js +1 -0
  73. package/dist/worker.js.map +1 -1
  74. package/docs/css.md +309 -0
  75. package/docs/quickstart.md +414 -241
  76. package/global.d.ts +2 -2
  77. package/gulpfile.ts +44 -0
  78. package/package.json +86 -84
  79. package/scripts/generate-css-docs.ts +263 -0
  80. package/tsconfig.json +42 -19
  81. package/tsec_exemptions.json +8 -3
  82. package/webpack.config.esmodule.ts +26 -0
  83. package/webpack.config.ts +21 -0
  84. package/gulpfile.js +0 -44
  85. package/webpack.config.esmodule.js +0 -23
  86. package/webpack.config.js +0 -18
@@ -4,31 +4,31 @@
4
4
  */
5
5
  export class DefaultAstFactory {
6
6
  empty() {
7
- return { type: 'Empty' };
7
+ return { type: "Empty" };
8
8
  }
9
9
  // TODO(justinfagnani): just use a JS literal?
10
10
  literal(value) {
11
11
  return {
12
- type: 'Literal',
12
+ type: "Literal",
13
13
  value,
14
14
  };
15
15
  }
16
16
  id(value) {
17
17
  return {
18
- type: 'ID',
18
+ type: "ID",
19
19
  value,
20
20
  };
21
21
  }
22
22
  unary(operator, child) {
23
23
  return {
24
- type: 'Unary',
24
+ type: "Unary",
25
25
  operator,
26
26
  child,
27
27
  };
28
28
  }
29
29
  binary(left, operator, right) {
30
30
  return {
31
- type: 'Binary',
31
+ type: "Binary",
32
32
  operator,
33
33
  left,
34
34
  right,
@@ -36,7 +36,7 @@ export class DefaultAstFactory {
36
36
  }
37
37
  getter(receiver, name, optional) {
38
38
  return {
39
- type: 'Getter',
39
+ type: "Getter",
40
40
  receiver,
41
41
  name,
42
42
  optional,
@@ -45,10 +45,10 @@ export class DefaultAstFactory {
45
45
  invoke(receiver, method, args, optional) {
46
46
  // TODO(justinfagnani): do this assertion in the parser
47
47
  if (args === undefined) {
48
- throw new Error('args');
48
+ throw new Error("args");
49
49
  }
50
50
  return {
51
- type: 'Invoke',
51
+ type: "Invoke",
52
52
  receiver,
53
53
  method,
54
54
  arguments: args,
@@ -57,13 +57,13 @@ export class DefaultAstFactory {
57
57
  }
58
58
  paren(child) {
59
59
  return {
60
- type: 'Paren',
60
+ type: "Paren",
61
61
  child,
62
62
  };
63
63
  }
64
64
  index(receiver, argument, optional) {
65
65
  return {
66
- type: 'Index',
66
+ type: "Index",
67
67
  receiver,
68
68
  argument,
69
69
  optional,
@@ -71,7 +71,7 @@ export class DefaultAstFactory {
71
71
  }
72
72
  ternary(condition, trueExpr, falseExpr) {
73
73
  return {
74
- type: 'Ternary',
74
+ type: "Ternary",
75
75
  condition,
76
76
  trueExpr,
77
77
  falseExpr,
@@ -79,39 +79,39 @@ export class DefaultAstFactory {
79
79
  }
80
80
  map(properties) {
81
81
  return {
82
- type: 'Map',
82
+ type: "Map",
83
83
  properties,
84
84
  };
85
85
  }
86
86
  list(items) {
87
87
  return {
88
- type: 'List',
88
+ type: "List",
89
89
  items,
90
90
  };
91
91
  }
92
92
  property(key, value) {
93
93
  return {
94
- type: 'Property',
94
+ type: "Property",
95
95
  key,
96
96
  value,
97
97
  };
98
98
  }
99
99
  arrowFunction(params, body) {
100
100
  return {
101
- type: 'ArrowFunction',
101
+ type: "ArrowFunction",
102
102
  params,
103
103
  body,
104
104
  };
105
105
  }
106
106
  spreadProperty(expression) {
107
107
  return {
108
- type: 'SpreadProperty',
108
+ type: "SpreadProperty",
109
109
  expression,
110
110
  };
111
111
  }
112
112
  spreadElement(expression) {
113
113
  return {
114
- type: 'SpreadElement',
114
+ type: "SpreadElement",
115
115
  expression,
116
116
  };
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ast_factory.js","sourceRoot":"","sources":["../../src/expressions/ast_factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,MAAM,OAAO,iBAAiB;IAC5B,KAAK;QACH,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;IACzB,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,KAAuB;QAC7B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,KAAa;QACd,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,KAAqB;QAC3C,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,IAAoB,EACpB,QAAgB,EAChB,KAAqB;QAErB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAwB,EAAE,IAAY,EAAE,QAAkB;QAC/D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,QAAwB,EACxB,MAA0B,EAC1B,IAAuC,EACvC,QAAkB;QAElB,uDAAuD;QACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,IAAI;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAqB;QACzB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CACH,QAAwB,EACxB,QAAoC,EACpC,QAAkB;QAElB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO,CACL,SAAyB,EACzB,QAAwB,EACxB,SAAyB;QAEzB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,SAAS;YACT,QAAQ;YACR,SAAS;SACV,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,UAAoD;QACtD,OAAO;YACL,IAAI,EAAE,KAAK;YACX,UAAU;SACX,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAA4B;QAC/B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK;SACN,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAqB;QACzC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,GAAG;YACH,KAAK;SACN,CAAC;IACJ,CAAC;IAED,aAAa,CACX,MAAqB,EACrB,IAAoB;QAEpB,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,MAAM;YACN,IAAI;SACL,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,UAA0B;QACvC,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,UAAU;SACX,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,UAA0B;QACtC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,UAAU;SACX,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ast_factory.js","sourceRoot":"","sources":["../../src/expressions/ast_factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,MAAM,OAAO,iBAAiB;IAC7B,KAAK;QACJ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,KAAuB;QAC9B,OAAO;YACN,IAAI,EAAE,SAAS;YACf,KAAK;SACL,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAa;QACf,OAAO;YACN,IAAI,EAAE,IAAI;YACV,KAAK;SACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,KAAqB;QAC5C,OAAO;YACN,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,KAAK;SACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAoB,EAAE,QAAgB,EAAE,KAAqB;QACnE,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,IAAI;YACJ,KAAK;SACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAwB,EAAE,IAAY,EAAE,QAAkB;QAChE,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,IAAI;YACJ,QAAQ;SACR,CAAC;IACH,CAAC;IAED,MAAM,CACL,QAAwB,EACxB,MAA0B,EAC1B,IAAuC,EACvC,QAAkB;QAElB,uDAAuD;QACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,IAAI;YACf,QAAQ;SACR,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAqB;QAC1B,OAAO;YACN,IAAI,EAAE,OAAO;YACb,KAAK;SACL,CAAC;IACH,CAAC;IAED,KAAK,CACJ,QAAwB,EACxB,QAAoC,EACpC,QAAkB;QAElB,OAAO;YACN,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;SACR,CAAC;IACH,CAAC;IAED,OAAO,CACN,SAAyB,EACzB,QAAwB,EACxB,SAAyB;QAEzB,OAAO;YACN,IAAI,EAAE,SAAS;YACf,SAAS;YACT,QAAQ;YACR,SAAS;SACT,CAAC;IACH,CAAC;IAED,GAAG,CAAC,UAAoD;QACvD,OAAO;YACN,IAAI,EAAE,KAAK;YACX,UAAU;SACV,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAA4B;QAChC,OAAO;YACN,IAAI,EAAE,MAAM;YACZ,KAAK;SACL,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAqB;QAC1C,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,GAAG;YACH,KAAK;SACL,CAAC;IACH,CAAC;IAED,aAAa,CAAC,MAAqB,EAAE,IAAoB;QACxD,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,MAAM;YACN,IAAI;SACJ,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAA0B;QACxC,OAAO;YACN,IAAI,EAAE,gBAAgB;YACtB,UAAU;SACV,CAAC;IACH,CAAC;IAED,aAAa,CAAC,UAA0B;QACvC,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,UAAU;SACV,CAAC;IACH,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
1
  import { assert } from "../test_utils.js";
2
- import { DefaultAstFactory } from './ast_factory.js';
2
+ import { DefaultAstFactory } from "./ast_factory.js";
3
3
  describe("DefaultAstFactory", () => {
4
4
  let factory;
5
5
  beforeEach(() => {
@@ -7,82 +7,88 @@ describe("DefaultAstFactory", () => {
7
7
  });
8
8
  it("should create Literal nodes", () => {
9
9
  const node = factory.literal(123);
10
- assert.deepEqual(node, { type: 'Literal', value: 123 });
10
+ assert.deepEqual(node, { type: "Literal", value: 123 });
11
11
  });
12
12
  it("should create ID nodes", () => {
13
- const node = factory.id('myVar');
14
- assert.deepEqual(node, { type: 'ID', value: 'myVar' });
13
+ const node = factory.id("myVar");
14
+ assert.deepEqual(node, { type: "ID", value: "myVar" });
15
15
  });
16
16
  it("should create Unary nodes", () => {
17
- const child = factory.id('x');
18
- const node = factory.unary('-', child);
19
- assert.deepEqual(node, { type: 'Unary', operator: '-', child });
17
+ const child = factory.id("x");
18
+ const node = factory.unary("-", child);
19
+ assert.deepEqual(node, { type: "Unary", operator: "-", child });
20
20
  });
21
21
  it("should create Binary nodes", () => {
22
- const left = factory.id('x');
23
- const right = factory.id('y');
24
- const node = factory.binary(left, '+', right);
25
- assert.deepEqual(node, { type: 'Binary', operator: '+', left, right });
22
+ const left = factory.id("x");
23
+ const right = factory.id("y");
24
+ const node = factory.binary(left, "+", right);
25
+ assert.deepEqual(node, { type: "Binary", operator: "+", left, right });
26
26
  });
27
27
  it("should create Getter nodes", () => {
28
- const receiver = factory.id('obj');
29
- const node = factory.getter(receiver, 'prop', true);
30
- assert.deepEqual(node, { type: 'Getter', receiver, name: 'prop', optional: true });
28
+ const receiver = factory.id("obj");
29
+ const node = factory.getter(receiver, "prop", true);
30
+ assert.deepEqual(node, { type: "Getter", receiver, name: "prop", optional: true });
31
31
  });
32
32
  it("should create Invoke nodes", () => {
33
- const receiver = factory.id('fn');
33
+ const receiver = factory.id("fn");
34
34
  const arg = factory.literal(1);
35
- const node = factory.invoke(receiver, 'callMe', [arg], true);
36
- assert.deepEqual(node, { type: 'Invoke', receiver, method: 'callMe', arguments: [arg], optional: true });
35
+ const node = factory.invoke(receiver, "callMe", [arg], true);
36
+ assert.deepEqual(node, {
37
+ type: "Invoke",
38
+ receiver,
39
+ method: "callMe",
40
+ arguments: [arg],
41
+ optional: true,
42
+ });
37
43
  });
38
44
  it("should create Index nodes", () => {
39
- const receiver = factory.id('arr');
45
+ const receiver = factory.id("arr");
40
46
  const argument = factory.literal(0);
41
47
  const node = factory.index(receiver, argument, true);
42
- assert.deepEqual(node, { type: 'Index', receiver, argument, optional: true });
48
+ assert.deepEqual(node, { type: "Index", receiver, argument, optional: true });
43
49
  });
44
50
  it("should create Ternary nodes", () => {
45
- const condition = factory.id('x');
51
+ const condition = factory.id("x");
46
52
  const trueExpr = factory.literal(1);
47
53
  const falseExpr = factory.literal(0);
48
54
  const node = factory.ternary(condition, trueExpr, falseExpr);
49
- assert.deepEqual(node, { type: 'Ternary', condition, trueExpr, falseExpr });
55
+ assert.deepEqual(node, { type: "Ternary", condition, trueExpr, falseExpr });
50
56
  });
51
57
  it("should create Map nodes", () => {
52
- const prop1 = factory.property('a', factory.literal(1));
53
- const prop2 = factory.spreadProperty(factory.id('obj'));
58
+ const prop1 = factory.property("a", factory.literal(1));
59
+ const prop2 = factory.spreadProperty(factory.id("obj"));
54
60
  const node = factory.map([prop1, prop2]);
55
- assert.deepEqual(node, { type: 'Map', properties: [prop1, prop2] });
61
+ assert.deepEqual(node, { type: "Map", properties: [prop1, prop2] });
56
62
  });
57
63
  it("should create List nodes", () => {
58
64
  const item1 = factory.literal(1);
59
- const item2 = factory.spreadElement(factory.id('arr'));
65
+ const item2 = factory.spreadElement(factory.id("arr"));
60
66
  const node = factory.list([item1, item2]);
61
- assert.deepEqual(node, { type: 'List', items: [item1, item2] });
67
+ assert.deepEqual(node, { type: "List", items: [item1, item2] });
62
68
  });
63
69
  it("should create ArrowFunction nodes", () => {
64
- const body = factory.binary(factory.id('x'), '+', factory.id('y'));
65
- const node = factory.arrowFunction(['x', 'y'], body);
66
- assert.deepEqual(node, { type: 'ArrowFunction', params: ['x', 'y'], body });
70
+ const body = factory.binary(factory.id("x"), "+", factory.id("y"));
71
+ const node = factory.arrowFunction(["x", "y"], body);
72
+ assert.deepEqual(node, { type: "ArrowFunction", params: ["x", "y"], body });
67
73
  });
68
74
  it("should create SpreadProperty nodes", () => {
69
- const expr = factory.id('obj');
75
+ const expr = factory.id("obj");
70
76
  const node = factory.spreadProperty(expr);
71
- assert.deepEqual(node, { type: 'SpreadProperty', expression: expr });
77
+ assert.deepEqual(node, { type: "SpreadProperty", expression: expr });
72
78
  });
73
79
  it("should create SpreadElement nodes", () => {
74
- const expr = factory.id('arr');
80
+ const expr = factory.id("arr");
75
81
  const node = factory.spreadElement(expr);
76
- assert.deepEqual(node, { type: 'SpreadElement', expression: expr });
82
+ assert.deepEqual(node, { type: "SpreadElement", expression: expr });
77
83
  });
78
84
  it("should create Property nodes", () => {
79
85
  const value = factory.literal(1);
80
- const node = factory.property('key', value);
81
- assert.deepEqual(node, { type: 'Property', key: 'key', value });
86
+ const node = factory.property("key", value);
87
+ assert.deepEqual(node, { type: "Property", key: "key", value });
82
88
  });
83
89
  it("should create Empty node", () => {
84
90
  const node = factory.empty();
85
- assert.deepEqual(node, { type: 'Empty' });
91
+ assert.deepEqual(node, { type: "Empty" });
86
92
  });
87
93
  });
88
94
  //# sourceMappingURL=ast_factory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast_factory.test.js","sourceRoot":"","sources":["../../src/expressions/ast_factory.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast_factory.test.js","sourceRoot":"","sources":["../../src/expressions/ast_factory.test.ts"],"names":[],"mappings":"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"}
@@ -2,71 +2,71 @@
2
2
  * @license
3
3
  * Portions Copyright (c) 2013, the Dart project authors.
4
4
  */
5
- export const KEYWORDS = new Set(['this', 'typeof']);
5
+ export const KEYWORDS = new Set(["this", "typeof"]);
6
6
  // Word-based operators (alphabetic tokens that are operators, not keywords)
7
- export const WORD_OPERATORS = new Set(['in']);
8
- export const UNARY_OPERATORS = new Set(['+', '-', '!', 'typeof']);
7
+ export const WORD_OPERATORS = new Set(["in"]);
8
+ export const UNARY_OPERATORS = new Set(["+", "-", "!", "typeof"]);
9
9
  export const BINARY_OPERATORS = new Set([
10
- '=',
11
- '+',
12
- '-',
13
- '*',
14
- '/',
15
- '%',
16
- '^',
17
- '==',
18
- '!=',
19
- '>',
20
- '<',
21
- '>=',
22
- '<=',
23
- '||',
24
- '&&',
25
- '??',
26
- '&',
27
- '===',
28
- '!==',
29
- '|',
30
- 'in',
10
+ "=",
11
+ "+",
12
+ "-",
13
+ "*",
14
+ "/",
15
+ "%",
16
+ "^",
17
+ "==",
18
+ "!=",
19
+ ">",
20
+ "<",
21
+ ">=",
22
+ "<=",
23
+ "||",
24
+ "&&",
25
+ "??",
26
+ "&",
27
+ "===",
28
+ "!==",
29
+ "|",
30
+ "in",
31
31
  ]);
32
32
  export const PRECEDENCE = {
33
- '!': 0,
34
- ':': 0,
35
- ',': 0,
36
- ')': 0,
37
- ']': 0,
38
- '}': 0,
39
- '?': 2,
40
- '??': 3,
41
- '||': 4,
42
- '&&': 5,
43
- '|': 6,
44
- '^': 7,
45
- '&': 8,
33
+ "!": 0,
34
+ ":": 0,
35
+ ",": 0,
36
+ ")": 0,
37
+ "]": 0,
38
+ "}": 0,
39
+ "?": 2,
40
+ "??": 3,
41
+ "||": 4,
42
+ "&&": 5,
43
+ "|": 6,
44
+ "^": 7,
45
+ "&": 8,
46
46
  // equality
47
- '!=': 9,
48
- '==': 9,
49
- '!==': 9,
50
- '===': 9,
47
+ "!=": 9,
48
+ "==": 9,
49
+ "!==": 9,
50
+ "===": 9,
51
51
  // relational
52
- '>=': 10,
53
- '>': 10,
54
- '<=': 10,
55
- '<': 10,
56
- 'in': 10,
52
+ ">=": 10,
53
+ ">": 10,
54
+ "<=": 10,
55
+ "<": 10,
56
+ in: 10,
57
57
  // additive
58
- '+': 11,
59
- '-': 11,
58
+ "+": 11,
59
+ "-": 11,
60
60
  // multiplicative
61
- '%': 12,
62
- '/': 12,
63
- '*': 12,
61
+ "%": 12,
62
+ "/": 12,
63
+ "*": 12,
64
64
  // postfix
65
- '(': 13,
66
- '[': 13,
67
- '.': 13,
68
- '?.': 13,
69
- '{': 13, // not sure this is correct
65
+ "(": 13,
66
+ "[": 13,
67
+ ".": 13,
68
+ "?.": 13,
69
+ "{": 13, // not sure this is correct
70
70
  };
71
71
  export const POSTFIX_PRECEDENCE = 13;
72
72
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/expressions/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,KAAK;IACL,KAAK;IACL,GAAG;IACH,IAAI;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IAEN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IAEN,WAAW;IACX,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IAER,aAAa;IACb,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IAER,WAAW;IACX,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IAEP,iBAAiB;IACjB,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IAEP,UAAU;IACV,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE,EAAE,2BAA2B;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/expressions/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACvC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,KAAK;IACL,KAAK;IACL,GAAG;IACH,IAAI;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAA2B;IACjD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IAEN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IAEN,WAAW;IACX,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IAER,aAAa;IACb,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,EAAE,EAAE,EAAE;IAEN,WAAW;IACX,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IAEP,iBAAiB;IACjB,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IAEP,UAAU;IACV,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE,EAAE,2BAA2B;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
@@ -1,79 +1,79 @@
1
1
  import { assert } from "../test_utils.js";
2
- import { KEYWORDS, WORD_OPERATORS, UNARY_OPERATORS, BINARY_OPERATORS, PRECEDENCE, POSTFIX_PRECEDENCE, } from './constants.js';
2
+ import { KEYWORDS, WORD_OPERATORS, UNARY_OPERATORS, BINARY_OPERATORS, PRECEDENCE, POSTFIX_PRECEDENCE, } from "./constants.js";
3
3
  describe("Expression Constants", () => {
4
4
  it("should define KEYWORDS correctly", () => {
5
- assert.deepEqual(KEYWORDS, new Set(['this', 'typeof']));
5
+ assert.deepEqual(KEYWORDS, new Set(["this", "typeof"]));
6
6
  });
7
7
  it("should define WORD_OPERATORS correctly", () => {
8
- assert.deepEqual(WORD_OPERATORS, new Set(['in']));
8
+ assert.deepEqual(WORD_OPERATORS, new Set(["in"]));
9
9
  });
10
10
  it("should define UNARY_OPERATORS correctly", () => {
11
- assert.deepEqual(UNARY_OPERATORS, new Set(['+', '-', '!', 'typeof']));
11
+ assert.deepEqual(UNARY_OPERATORS, new Set(["+", "-", "!", "typeof"]));
12
12
  });
13
13
  it("should define BINARY_OPERATORS correctly", () => {
14
14
  assert.deepEqual(BINARY_OPERATORS, new Set([
15
- '=',
16
- '+',
17
- '-',
18
- '*',
19
- '/',
20
- '%',
21
- '^',
22
- '==',
23
- '!=',
24
- '>',
25
- '<',
26
- '>=',
27
- '<=',
28
- '||',
29
- '&&',
30
- '??',
31
- '&',
32
- '===',
33
- '!==',
34
- '|',
35
- 'in',
15
+ "=",
16
+ "+",
17
+ "-",
18
+ "*",
19
+ "/",
20
+ "%",
21
+ "^",
22
+ "==",
23
+ "!=",
24
+ ">",
25
+ "<",
26
+ ">=",
27
+ "<=",
28
+ "||",
29
+ "&&",
30
+ "??",
31
+ "&",
32
+ "===",
33
+ "!==",
34
+ "|",
35
+ "in",
36
36
  ]));
37
37
  });
38
38
  it("should define PRECEDENCE correctly", () => {
39
39
  const expectedPrecedence = {
40
- '!': 0,
41
- ':': 0,
42
- ',': 0,
43
- ')': 0,
44
- ']': 0,
45
- '}': 0,
46
- '?': 2,
47
- '??': 3,
48
- '||': 4,
49
- '&&': 5,
50
- '|': 6,
51
- '^': 7,
52
- '&': 8,
40
+ "!": 0,
41
+ ":": 0,
42
+ ",": 0,
43
+ ")": 0,
44
+ "]": 0,
45
+ "}": 0,
46
+ "?": 2,
47
+ "??": 3,
48
+ "||": 4,
49
+ "&&": 5,
50
+ "|": 6,
51
+ "^": 7,
52
+ "&": 8,
53
53
  // equality
54
- '!=': 9,
55
- '==': 9,
56
- '!==': 9,
57
- '===': 9,
54
+ "!=": 9,
55
+ "==": 9,
56
+ "!==": 9,
57
+ "===": 9,
58
58
  // relational
59
- '>=': 10,
60
- '>': 10,
61
- '<=': 10,
62
- '<': 10,
63
- 'in': 10,
59
+ ">=": 10,
60
+ ">": 10,
61
+ "<=": 10,
62
+ "<": 10,
63
+ in: 10,
64
64
  // additive
65
- '+': 11,
66
- '-': 11,
65
+ "+": 11,
66
+ "-": 11,
67
67
  // multiplicative
68
- '%': 12,
69
- '/': 12,
70
- '*': 12,
68
+ "%": 12,
69
+ "/": 12,
70
+ "*": 12,
71
71
  // postfix
72
- '(': 13,
73
- '[': 13,
74
- '.': 13,
75
- '?.': 13,
76
- '{': 13,
72
+ "(": 13,
73
+ "[": 13,
74
+ ".": 13,
75
+ "?.": 13,
76
+ "{": 13,
77
77
  };
78
78
  assert.deepEqual(PRECEDENCE, expectedPrecedence);
79
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../src/expressions/constants.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,GAAG,CAAC;YACzC,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,KAAK;YACL,KAAK;YACL,GAAG;YACH,IAAI;SACL,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,kBAAkB,GAA2B;YACjD,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YAEN,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YAEN,WAAW;YACX,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YAER,aAAa;YACb,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YAER,WAAW;YACX,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YAEP,iBAAiB;YACjB,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YAEP,UAAU;YACV,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACR,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../src/expressions/constants.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,SAAS,CACf,gBAAgB,EAChB,IAAI,GAAG,CAAC;YACP,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,KAAK;YACL,KAAK;YACL,GAAG;YACH,IAAI;SACJ,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC7C,MAAM,kBAAkB,GAA2B;YAClD,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YAEN,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YAEN,WAAW;YACX,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YAER,aAAa;YACb,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;YACP,EAAE,EAAE,EAAE;YAEN,WAAW;YACX,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YAEP,iBAAiB;YACjB,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YAEP,UAAU;YACV,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACP,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}