mancha 0.17.3 → 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 (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 +309 -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 +263 -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
@@ -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"}
@@ -1,5 +1,5 @@
1
- import * as ast from './ast.js';
2
- import { AstFactory } from './ast_factory.js';
1
+ import * as ast from "./ast.js";
2
+ import { AstFactory } from "./ast_factory.js";
3
3
  export interface Scope {
4
4
  [key: string]: unknown;
5
5
  }
@@ -9,76 +9,76 @@ export interface Evaluatable {
9
9
  }
10
10
  export type Expression = Literal | Empty | ID | Unary | Binary | Getter | Invoke | Index | Ternary | Map | List | ArrowFunction | SpreadProperty | SpreadElement | Property;
11
11
  export interface Literal extends Evaluatable {
12
- type: 'Literal';
12
+ type: "Literal";
13
13
  value: ast.LiteralValue;
14
14
  }
15
15
  export interface Empty extends Evaluatable {
16
- type: 'Empty';
16
+ type: "Empty";
17
17
  }
18
18
  export interface ID extends Evaluatable {
19
- type: 'ID';
19
+ type: "ID";
20
20
  value: string;
21
21
  }
22
22
  export interface Unary extends Evaluatable {
23
- type: 'Unary';
23
+ type: "Unary";
24
24
  operator: string;
25
25
  child: Expression;
26
26
  }
27
27
  export interface Binary extends Evaluatable {
28
- type: 'Binary';
28
+ type: "Binary";
29
29
  operator: string;
30
30
  left: Expression;
31
31
  right: Expression;
32
32
  }
33
33
  export interface Getter extends Evaluatable {
34
- type: 'Getter';
34
+ type: "Getter";
35
35
  receiver: Expression;
36
36
  name: string;
37
37
  optional?: boolean;
38
38
  }
39
39
  export interface Invoke extends Evaluatable {
40
- type: 'Invoke';
40
+ type: "Invoke";
41
41
  receiver: Expression;
42
42
  method: string | undefined;
43
43
  arguments: Array<Expression> | undefined;
44
44
  optional?: boolean;
45
45
  }
46
46
  export interface Index extends Evaluatable {
47
- type: 'Index';
47
+ type: "Index";
48
48
  receiver: Expression;
49
49
  argument: Expression;
50
50
  optional?: boolean;
51
51
  }
52
52
  export interface Ternary extends Evaluatable {
53
- type: 'Ternary';
53
+ type: "Ternary";
54
54
  condition: Expression;
55
55
  trueExpr: Expression;
56
56
  falseExpr: Expression;
57
57
  }
58
58
  export interface Map extends Evaluatable {
59
- type: 'Map';
59
+ type: "Map";
60
60
  properties?: Array<Property | SpreadProperty> | undefined;
61
61
  }
62
62
  export interface Property extends Evaluatable {
63
- type: 'Property';
63
+ type: "Property";
64
64
  key: string;
65
65
  value: Expression;
66
66
  }
67
67
  export interface List extends Evaluatable {
68
- type: 'List';
68
+ type: "List";
69
69
  items: Array<Expression> | undefined;
70
70
  }
71
71
  export interface ArrowFunction extends Evaluatable {
72
- type: 'ArrowFunction';
72
+ type: "ArrowFunction";
73
73
  params: Array<string>;
74
74
  body: Expression;
75
75
  }
76
76
  export interface SpreadProperty extends Evaluatable {
77
- type: 'SpreadProperty';
77
+ type: "SpreadProperty";
78
78
  expression: Expression;
79
79
  }
80
80
  export interface SpreadElement extends Evaluatable {
81
- type: 'SpreadElement';
81
+ type: "SpreadElement";
82
82
  expression: Expression;
83
83
  }
84
84
  export declare class EvalAstFactory implements AstFactory<Expression> {