mancha 0.17.3 → 0.17.5

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 (70) hide show
  1. package/.github/workflows/ci.yml +8 -8
  2. package/.prettierrc +2 -2
  3. package/.vscode/extensions.json +1 -1
  4. package/.vscode/launch.json +33 -43
  5. package/README.md +94 -94
  6. package/dist/browser.js.map +1 -1
  7. package/dist/cli.js.map +1 -1
  8. package/dist/css_gen_basic.js.map +1 -1
  9. package/dist/css_gen_utils.d.ts +786 -0
  10. package/dist/css_gen_utils.js +63 -23
  11. package/dist/css_gen_utils.js.map +1 -1
  12. package/dist/dome.js.map +1 -1
  13. package/dist/expressions/ast.d.ts +16 -16
  14. package/dist/expressions/ast.test.js +89 -64
  15. package/dist/expressions/ast.test.js.map +1 -1
  16. package/dist/expressions/ast_factory.d.ts +1 -1
  17. package/dist/expressions/ast_factory.js +17 -17
  18. package/dist/expressions/ast_factory.js.map +1 -1
  19. package/dist/expressions/ast_factory.test.js +42 -36
  20. package/dist/expressions/ast_factory.test.js.map +1 -1
  21. package/dist/expressions/constants.js +56 -56
  22. package/dist/expressions/constants.js.map +1 -1
  23. package/dist/expressions/constants.test.js +57 -57
  24. package/dist/expressions/constants.test.js.map +1 -1
  25. package/dist/expressions/eval.d.ts +17 -17
  26. package/dist/expressions/eval.js +58 -60
  27. package/dist/expressions/eval.js.map +1 -1
  28. package/dist/expressions/eval.test.js +11 -8
  29. package/dist/expressions/eval.test.js.map +1 -1
  30. package/dist/expressions/expressions.test.d.ts +6 -6
  31. package/dist/expressions/expressions.test.js +6 -6
  32. package/dist/expressions/index.d.ts +6 -6
  33. package/dist/expressions/index.js +6 -6
  34. package/dist/expressions/parser.d.ts +3 -3
  35. package/dist/expressions/parser.js +37 -42
  36. package/dist/expressions/parser.js.map +1 -1
  37. package/dist/expressions/parser.test.js +3 -6
  38. package/dist/expressions/parser.test.js.map +1 -1
  39. package/dist/expressions/tokenizer.js +22 -25
  40. package/dist/expressions/tokenizer.js.map +1 -1
  41. package/dist/expressions/tokenizer.test.js +40 -15
  42. package/dist/expressions/tokenizer.test.js.map +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/iterator.js.map +1 -1
  45. package/dist/mancha.js.map +1 -1
  46. package/dist/plugins.js +2 -2
  47. package/dist/plugins.js.map +1 -1
  48. package/dist/query.js.map +1 -1
  49. package/dist/renderer.js.map +1 -1
  50. package/dist/safe_browser.js.map +1 -1
  51. package/dist/store.js +1 -1
  52. package/dist/store.js.map +1 -1
  53. package/dist/test_utils.js.map +1 -1
  54. package/dist/trusted_attributes.js.map +1 -1
  55. package/dist/type_checker.js +11 -7
  56. package/dist/type_checker.js.map +1 -1
  57. package/dist/worker.js.map +1 -1
  58. package/docs/css.md +419 -0
  59. package/docs/quickstart.md +305 -296
  60. package/global.d.ts +2 -2
  61. package/gulpfile.ts +44 -0
  62. package/package.json +86 -84
  63. package/scripts/generate-css-docs.ts +374 -0
  64. package/tsconfig.json +42 -19
  65. package/tsec_exemptions.json +8 -3
  66. package/webpack.config.esmodule.ts +26 -0
  67. package/webpack.config.ts +21 -0
  68. package/gulpfile.js +0 -44
  69. package/webpack.config.esmodule.js +0 -23
  70. package/webpack.config.js +0 -18
@@ -1,121 +1,146 @@
1
1
  import { assert } from "../test_utils.js";
2
2
  describe("AST Node Interfaces", () => {
3
3
  it("should define Literal node correctly", () => {
4
- const node = { type: 'Literal', value: 123 };
5
- assert.equal(node.type, 'Literal');
4
+ const node = { type: "Literal", value: 123 };
5
+ assert.equal(node.type, "Literal");
6
6
  assert.equal(node.value, 123);
7
7
  });
8
8
  it("should define ID node correctly", () => {
9
- const node = { type: 'ID', value: 'myVar' };
10
- assert.equal(node.type, 'ID');
11
- assert.equal(node.value, 'myVar');
9
+ const node = { type: "ID", value: "myVar" };
10
+ assert.equal(node.type, "ID");
11
+ assert.equal(node.value, "myVar");
12
12
  });
13
13
  it("should define Unary node correctly", () => {
14
- const node = { type: 'Unary', operator: '-', child: { type: 'ID', value: 'x' } };
15
- assert.equal(node.type, 'Unary');
16
- assert.equal(node.operator, '-');
17
- assert.equal(node.child.value, 'x');
14
+ const node = { type: "Unary", operator: "-", child: { type: "ID", value: "x" } };
15
+ assert.equal(node.type, "Unary");
16
+ assert.equal(node.operator, "-");
17
+ assert.equal(node.child.value, "x");
18
18
  });
19
19
  it("should define Binary node correctly", () => {
20
20
  const node = {
21
- type: 'Binary',
22
- operator: '+',
23
- left: { type: 'ID', value: 'x' },
24
- right: { type: 'ID', value: 'y' },
21
+ type: "Binary",
22
+ operator: "+",
23
+ left: { type: "ID", value: "x" },
24
+ right: { type: "ID", value: "y" },
25
25
  };
26
- assert.equal(node.type, 'Binary');
27
- assert.equal(node.operator, '+');
28
- assert.equal(node.left.value, 'x');
29
- assert.equal(node.right.value, 'y');
26
+ assert.equal(node.type, "Binary");
27
+ assert.equal(node.operator, "+");
28
+ assert.equal(node.left.value, "x");
29
+ assert.equal(node.right.value, "y");
30
30
  });
31
31
  it("should define Getter node correctly", () => {
32
- const node = { type: 'Getter', receiver: { type: 'ID', value: 'obj' }, name: 'prop', optional: true };
33
- assert.equal(node.type, 'Getter');
34
- assert.equal(node.receiver.value, 'obj');
35
- assert.equal(node.name, 'prop');
32
+ const node = {
33
+ type: "Getter",
34
+ receiver: { type: "ID", value: "obj" },
35
+ name: "prop",
36
+ optional: true,
37
+ };
38
+ assert.equal(node.type, "Getter");
39
+ assert.equal(node.receiver.value, "obj");
40
+ assert.equal(node.name, "prop");
36
41
  assert.equal(node.optional, true);
37
42
  });
38
43
  it("should define Invoke node correctly", () => {
39
44
  const node = {
40
- type: 'Invoke',
41
- receiver: { type: 'ID', value: 'fn' },
42
- method: 'callMe',
43
- arguments: [{ type: 'Literal', value: 1 }],
45
+ type: "Invoke",
46
+ receiver: { type: "ID", value: "fn" },
47
+ method: "callMe",
48
+ arguments: [{ type: "Literal", value: 1 }],
44
49
  optional: true,
45
50
  };
46
- assert.equal(node.type, 'Invoke');
47
- assert.equal(node.receiver.value, 'fn');
48
- assert.equal(node.method, 'callMe');
51
+ assert.equal(node.type, "Invoke");
52
+ assert.equal(node.receiver.value, "fn");
53
+ assert.equal(node.method, "callMe");
49
54
  assert.equal(node.arguments[0].value, 1);
50
55
  assert.equal(node.optional, true);
51
56
  });
52
57
  it("should define Index node correctly", () => {
53
- const node = { type: 'Index', receiver: { type: 'ID', value: 'arr' }, argument: { type: 'Literal', value: 0 }, optional: true };
54
- assert.equal(node.type, 'Index');
55
- assert.equal(node.receiver.value, 'arr');
58
+ const node = {
59
+ type: "Index",
60
+ receiver: { type: "ID", value: "arr" },
61
+ argument: { type: "Literal", value: 0 },
62
+ optional: true,
63
+ };
64
+ assert.equal(node.type, "Index");
65
+ assert.equal(node.receiver.value, "arr");
56
66
  assert.equal(node.argument.value, 0);
57
67
  assert.equal(node.optional, true);
58
68
  });
59
69
  it("should define Ternary node correctly", () => {
60
70
  const node = {
61
- type: 'Ternary',
62
- condition: { type: 'ID', value: 'x' },
63
- trueExpr: { type: 'Literal', value: 1 },
64
- falseExpr: { type: 'Literal', value: 0 },
71
+ type: "Ternary",
72
+ condition: { type: "ID", value: "x" },
73
+ trueExpr: { type: "Literal", value: 1 },
74
+ falseExpr: { type: "Literal", value: 0 },
65
75
  };
66
- assert.equal(node.type, 'Ternary');
67
- assert.equal(node.condition.value, 'x');
76
+ assert.equal(node.type, "Ternary");
77
+ assert.equal(node.condition.value, "x");
68
78
  });
69
79
  it("should define Map node correctly", () => {
70
80
  const node = {
71
- type: 'Map',
81
+ type: "Map",
72
82
  properties: [
73
- { type: 'Property', key: 'a', value: { type: 'Literal', value: 1 } },
74
- { type: 'SpreadProperty', expression: { type: 'ID', value: 'obj' } },
83
+ { type: "Property", key: "a", value: { type: "Literal", value: 1 } },
84
+ { type: "SpreadProperty", expression: { type: "ID", value: "obj" } },
75
85
  ],
76
86
  };
77
- assert.equal(node.type, 'Map');
87
+ assert.equal(node.type, "Map");
78
88
  assert.equal(node.properties?.length, 2);
79
- assert.equal(node.properties[0].type, 'Property');
80
- assert.equal(node.properties[1].type, 'SpreadProperty');
89
+ assert.equal(node.properties[0].type, "Property");
90
+ assert.equal(node.properties[1].type, "SpreadProperty");
81
91
  });
82
92
  it("should define List node correctly", () => {
83
93
  const node = {
84
- type: 'List',
94
+ type: "List",
85
95
  items: [
86
- { type: 'Literal', value: 1 },
87
- { type: 'SpreadElement', expression: { type: 'ID', value: 'arr' } },
96
+ { type: "Literal", value: 1 },
97
+ { type: "SpreadElement", expression: { type: "ID", value: "arr" } },
88
98
  ],
89
99
  };
90
- assert.equal(node.type, 'List');
100
+ assert.equal(node.type, "List");
91
101
  assert.equal(node.items?.length, 2);
92
- assert.equal(node.items[0]?.type, 'Literal');
93
- assert.equal(node.items[1]?.type, 'SpreadElement');
102
+ assert.equal(node.items[0]?.type, "Literal");
103
+ assert.equal(node.items[1]?.type, "SpreadElement");
94
104
  });
95
105
  it("should define ArrowFunction node correctly", () => {
96
106
  const node = {
97
- type: 'ArrowFunction',
98
- params: ['x', 'y'],
99
- body: { type: 'Binary', operator: '+', left: { type: 'ID', value: 'x' }, right: { type: 'ID', value: 'y' } },
107
+ type: "ArrowFunction",
108
+ params: ["x", "y"],
109
+ body: {
110
+ type: "Binary",
111
+ operator: "+",
112
+ left: { type: "ID", value: "x" },
113
+ right: { type: "ID", value: "y" },
114
+ },
100
115
  };
101
- assert.equal(node.type, 'ArrowFunction');
102
- assert.deepEqual(node.params, ['x', 'y']);
103
- assert.equal(node.body.type, 'Binary');
116
+ assert.equal(node.type, "ArrowFunction");
117
+ assert.deepEqual(node.params, ["x", "y"]);
118
+ assert.equal(node.body.type, "Binary");
104
119
  });
105
120
  it("should define SpreadProperty node correctly", () => {
106
- const node = { type: 'SpreadProperty', expression: { type: 'ID', value: 'obj' } };
107
- assert.equal(node.type, 'SpreadProperty');
108
- assert.equal(node.expression.value, 'obj');
121
+ const node = {
122
+ type: "SpreadProperty",
123
+ expression: { type: "ID", value: "obj" },
124
+ };
125
+ assert.equal(node.type, "SpreadProperty");
126
+ assert.equal(node.expression.value, "obj");
109
127
  });
110
128
  it("should define SpreadElement node correctly", () => {
111
- const node = { type: 'SpreadElement', expression: { type: 'ID', value: 'arr' } };
112
- assert.equal(node.type, 'SpreadElement');
113
- assert.equal(node.expression.value, 'arr');
129
+ const node = {
130
+ type: "SpreadElement",
131
+ expression: { type: "ID", value: "arr" },
132
+ };
133
+ assert.equal(node.type, "SpreadElement");
134
+ assert.equal(node.expression.value, "arr");
114
135
  });
115
136
  it("should define Property node correctly", () => {
116
- const node = { type: 'Property', key: 'key', value: { type: 'Literal', value: 1 } };
117
- assert.equal(node.type, 'Property');
118
- assert.equal(node.key, 'key');
137
+ const node = {
138
+ type: "Property",
139
+ key: "key",
140
+ value: { type: "Literal", value: 1 },
141
+ };
142
+ assert.equal(node.type, "Property");
143
+ assert.equal(node.key, "key");
119
144
  assert.equal(node.value.value, 1);
120
145
  });
121
146
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ast.test.js","sourceRoot":"","sources":["../../src/expressions/ast.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.test.js","sourceRoot":"","sources":["../../src/expressions/ast.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as ast from './ast.js';
1
+ import * as ast from "./ast.js";
2
2
  export interface AstFactory<E extends ast.Expression> {
3
3
  empty(): E;
4
4
  literal(value: ast.LiteralValue): E;
@@ -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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"}