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
@@ -2,8 +2,8 @@
2
2
  * @license
3
3
  * Portions Copyright (c) 2013, the Dart project authors.
4
4
  */
5
- import { BINARY_OPERATORS, KEYWORDS, POSTFIX_PRECEDENCE, UNARY_OPERATORS, } from './constants.js';
6
- import { Kind, Tokenizer } from './tokenizer.js';
5
+ import { BINARY_OPERATORS, KEYWORDS, POSTFIX_PRECEDENCE, UNARY_OPERATORS } from "./constants.js";
6
+ import { Kind, Tokenizer } from "./tokenizer.js";
7
7
  export const parse = (expr, astFactory) => new Parser(expr, astFactory).parse();
8
8
  export class Parser {
9
9
  _kind;
@@ -47,25 +47,25 @@ export class Parser {
47
47
  // http://en.wikipedia.org/wiki/Operator-precedence_parser#Precedence_climbing_method
48
48
  _parsePrecedence(left, precedence) {
49
49
  if (left === undefined) {
50
- throw new Error('Expected left to be defined.');
50
+ throw new Error("Expected left to be defined.");
51
51
  }
52
52
  while (this._token) {
53
- if (this._matches(Kind.GROUPER, '(')) {
53
+ if (this._matches(Kind.GROUPER, "(")) {
54
54
  const args = this._parseArguments();
55
55
  left = this._ast.invoke(left, undefined, args);
56
56
  }
57
- else if (this._matches(Kind.GROUPER, '[')) {
57
+ else if (this._matches(Kind.GROUPER, "[")) {
58
58
  const indexExpr = this._parseIndex();
59
59
  left = this._ast.index(left, indexExpr);
60
60
  }
61
61
  else if (this._matches(Kind.DOT) || this._matches(Kind.OPTIONAL_DOT)) {
62
62
  const optional = this._kind === Kind.OPTIONAL_DOT;
63
63
  this._advance();
64
- if (optional && this._matches(Kind.GROUPER, '[')) {
64
+ if (optional && this._matches(Kind.GROUPER, "[")) {
65
65
  const indexExpr = this._parseIndex();
66
66
  left = this._ast.index(left, indexExpr, true);
67
67
  }
68
- else if (optional && this._matches(Kind.GROUPER, '(')) {
68
+ else if (optional && this._matches(Kind.GROUPER, "(")) {
69
69
  const args = this._parseArguments();
70
70
  left = this._ast.invoke(left, undefined, args, true);
71
71
  }
@@ -77,12 +77,9 @@ export class Parser {
77
77
  else if (this._matches(Kind.KEYWORD)) {
78
78
  break;
79
79
  }
80
- else if (this._matches(Kind.OPERATOR) &&
81
- this._token.precedence >= precedence) {
80
+ else if (this._matches(Kind.OPERATOR) && this._token.precedence >= precedence) {
82
81
  left =
83
- this._value === '?'
84
- ? this._parseTernary(left)
85
- : this._parseBinary(left, this._token);
82
+ this._value === "?" ? this._parseTernary(left) : this._parseBinary(left, this._token);
86
83
  }
87
84
  else {
88
85
  break;
@@ -92,13 +89,12 @@ export class Parser {
92
89
  }
93
90
  _makeInvokeOrGetter(left, right, optional) {
94
91
  if (right === undefined) {
95
- throw new Error('expected identifier');
92
+ throw new Error("expected identifier");
96
93
  }
97
- if (right.type === 'ID') {
94
+ if (right.type === "ID") {
98
95
  return this._ast.getter(left, right.value, optional);
99
96
  }
100
- else if (right.type === 'Invoke' &&
101
- right.receiver.type === 'ID') {
97
+ else if (right.type === "Invoke" && right.receiver.type === "ID") {
102
98
  const method = right.receiver;
103
99
  return this._ast.invoke(left, method.value, right.arguments, optional);
104
100
  }
@@ -112,9 +108,7 @@ export class Parser {
112
108
  }
113
109
  this._advance();
114
110
  let right = this._parseUnary();
115
- while ((this._kind === Kind.OPERATOR ||
116
- this._kind === Kind.DOT ||
117
- this._kind === Kind.GROUPER) &&
111
+ while ((this._kind === Kind.OPERATOR || this._kind === Kind.DOT || this._kind === Kind.GROUPER) &&
118
112
  this._token.precedence > op.precedence) {
119
113
  right = this._parsePrecedence(right, this._token.precedence);
120
114
  }
@@ -125,17 +119,17 @@ export class Parser {
125
119
  }
126
120
  _parseUnary() {
127
121
  // Handle keyword-based unary operators like 'typeof'.
128
- if (this._matches(Kind.KEYWORD, 'typeof')) {
122
+ if (this._matches(Kind.KEYWORD, "typeof")) {
129
123
  this._advance();
130
124
  const expr = this._parsePrecedence(this._parsePrimary(), POSTFIX_PRECEDENCE);
131
- return this._ast.unary('typeof', expr);
125
+ return this._ast.unary("typeof", expr);
132
126
  }
133
127
  if (this._matches(Kind.OPERATOR)) {
134
128
  const value = this._value;
135
129
  this._advance();
136
130
  // Handle unary + and - on numbers as part of the literal, not as a
137
131
  // unary operator.
138
- if (value === '+' || value === '-') {
132
+ if (value === "+" || value === "-") {
139
133
  if (this._matches(Kind.INTEGER)) {
140
134
  return this._parseInteger(value);
141
135
  }
@@ -151,7 +145,7 @@ export class Parser {
151
145
  return this._parsePrimary();
152
146
  }
153
147
  _parseTernary(condition) {
154
- this._advance(Kind.OPERATOR, '?');
148
+ this._advance(Kind.OPERATOR, "?");
155
149
  const trueExpr = this._parseExpression();
156
150
  this._advance(Kind.COLON);
157
151
  const falseExpr = this._parseExpression();
@@ -161,7 +155,7 @@ export class Parser {
161
155
  switch (this._kind) {
162
156
  case Kind.KEYWORD:
163
157
  const keyword = this._value;
164
- if (keyword === 'this') {
158
+ if (keyword === "this") {
165
159
  this._advance();
166
160
  // TODO(justin): return keyword node
167
161
  return this._ast.id(keyword);
@@ -179,13 +173,13 @@ export class Parser {
179
173
  case Kind.DECIMAL:
180
174
  return this._parseDecimal();
181
175
  case Kind.GROUPER:
182
- if (this._value === '(') {
176
+ if (this._value === "(") {
183
177
  return this._parseParenOrFunction();
184
178
  }
185
- else if (this._value === '{') {
179
+ else if (this._value === "{") {
186
180
  return this._parseMap();
187
181
  }
188
- else if (this._value === '[') {
182
+ else if (this._value === "[") {
189
183
  return this._parseList();
190
184
  }
191
185
  return undefined;
@@ -199,7 +193,7 @@ export class Parser {
199
193
  const items = [];
200
194
  do {
201
195
  this._advance();
202
- if (this._matches(Kind.GROUPER, ']'))
196
+ if (this._matches(Kind.GROUPER, "]"))
203
197
  break;
204
198
  if (this._matches(Kind.SPREAD)) {
205
199
  this._advance();
@@ -212,14 +206,14 @@ export class Parser {
212
206
  items.push(this._parseExpression());
213
207
  }
214
208
  } while (this._matches(Kind.COMMA));
215
- this._advance(Kind.GROUPER, ']');
209
+ this._advance(Kind.GROUPER, "]");
216
210
  return this._ast.list(items);
217
211
  }
218
212
  _parseMap() {
219
213
  const properties = [];
220
214
  do {
221
215
  this._advance();
222
- if (this._matches(Kind.GROUPER, '}'))
216
+ if (this._matches(Kind.GROUPER, "}"))
223
217
  break;
224
218
  if (this._matches(Kind.SPREAD)) {
225
219
  this._advance();
@@ -233,31 +227,37 @@ export class Parser {
233
227
  if (this._matches(Kind.STRING) || this._matches(Kind.IDENTIFIER)) {
234
228
  this._advance();
235
229
  }
236
- this._advance(Kind.COLON);
237
- const value = this._parseExpression();
238
- if (value) {
239
- properties.push(this._ast.property(key, value));
230
+ if (this._matches(Kind.COLON)) {
231
+ this._advance(Kind.COLON);
232
+ const value = this._parseExpression();
233
+ if (value) {
234
+ properties.push(this._ast.property(key, value));
235
+ }
236
+ }
237
+ else {
238
+ // Shorthand property
239
+ properties.push(this._ast.property(key, this._ast.id(key)));
240
240
  }
241
241
  }
242
242
  } while (this._matches(Kind.COMMA));
243
- this._advance(Kind.GROUPER, '}');
243
+ this._advance(Kind.GROUPER, "}");
244
244
  return this._ast.map(properties);
245
245
  }
246
246
  _parseInvokeOrIdentifier() {
247
247
  const value = this._value;
248
- if (value === 'true') {
248
+ if (value === "true") {
249
249
  this._advance();
250
250
  return this._ast.literal(true);
251
251
  }
252
- if (value === 'false') {
252
+ if (value === "false") {
253
253
  this._advance();
254
254
  return this._ast.literal(false);
255
255
  }
256
- if (value === 'null') {
256
+ if (value === "null") {
257
257
  this._advance();
258
258
  return this._ast.literal(null);
259
259
  }
260
- if (value === 'undefined') {
260
+ if (value === "undefined") {
261
261
  this._advance();
262
262
  return this._ast.literal(undefined);
263
263
  }
@@ -274,13 +274,13 @@ export class Parser {
274
274
  return this._ast.id(value);
275
275
  }
276
276
  _parseArguments() {
277
- if (!this._matches(Kind.GROUPER, '(')) {
277
+ if (!this._matches(Kind.GROUPER, "(")) {
278
278
  return undefined;
279
279
  }
280
280
  const args = [];
281
281
  do {
282
282
  this._advance();
283
- if (this._matches(Kind.GROUPER, ')')) {
283
+ if (this._matches(Kind.GROUPER, ")")) {
284
284
  break;
285
285
  }
286
286
  if (this._matches(Kind.SPREAD)) {
@@ -295,14 +295,14 @@ export class Parser {
295
295
  args.push(expr);
296
296
  }
297
297
  } while (this._matches(Kind.COMMA));
298
- this._advance(Kind.GROUPER, ')');
298
+ this._advance(Kind.GROUPER, ")");
299
299
  return args;
300
300
  }
301
301
  _parseIndex() {
302
302
  // console.assert(this._matches(Kind.GROUPER, '['));
303
303
  this._advance();
304
304
  const expr = this._parseExpression();
305
- this._advance(Kind.GROUPER, ']');
305
+ this._advance(Kind.GROUPER, "]");
306
306
  return expr;
307
307
  }
308
308
  _parseParenOrFunction() {
@@ -322,12 +322,12 @@ export class Parser {
322
322
  this._advance();
323
323
  return value;
324
324
  }
325
- _parseInteger(prefix = '') {
325
+ _parseInteger(prefix = "") {
326
326
  const value = this._ast.literal(parseInt(`${prefix}${this._value}`, 10));
327
327
  this._advance();
328
328
  return value;
329
329
  }
330
- _parseDecimal(prefix = '') {
330
+ _parseDecimal(prefix = "") {
331
331
  const value = this._ast.literal(parseFloat(`${prefix}${this._value}`));
332
332
  this._advance();
333
333
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/expressions/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/expressions/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,IAAI,EAAS,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,IAAY,EACZ,UAAyB,EACT,EAAE,CAAC,IAAI,MAAM,CAAI,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;AAE5D,MAAM,OAAO,MAAM;IACV,KAAK,CAAQ;IACb,UAAU,CAAY;IACtB,IAAI,CAAgB;IACpB,MAAM,CAAS;IACf,MAAM,CAAU;IAExB,YAAY,KAAa,EAAE,UAAyB;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACxB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,iCAAiC;QACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,QAAQ,CAAC,IAAW,EAAE,KAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACd,iBAAiB,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CACpF,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,IAAW,EAAE,KAAc;QACnC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,gBAAgB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sEAAsE;IACtE,6BAA6B;IAC7B,qFAAqF;IAC7E,gBAAgB,CAAC,IAAmB,EAAE,UAAkB;QAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC;gBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oBACpC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACP,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACxD,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM;YACP,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;gBACjF,IAAI;oBACH,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACP,MAAM;YACP,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,mBAAmB,CAAC,IAAO,EAAE,KAAoB,EAAE,QAAkB;QAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAG,KAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAK,KAAgB,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAChF,MAAM,MAAM,GAAI,KAAgB,CAAC,QAAc,CAAC;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAG,KAAgB,CAAC,SAAgB,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAEO,YAAY,CAAC,IAAO,EAAE,EAAS;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,OACC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,MAAO,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,EACtC,CAAC;YACF,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAEO,WAAW;QAClB,sDAAsD;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,mEAAmE;YACnE,kBAAkB;YAClB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,aAAa,CAAC,SAAY;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAEO,aAAa;QACpB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,OAAO;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAO,CAAC;gBAC7B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,oCAAoC;oBACpC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,UAAU;gBACnB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,MAAM;gBACf,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,OAAO;gBAChB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,OAAO;gBAChB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,OAAO;gBAChB,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACrC,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzB,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,SAAS,CAAC;YAClB,KAAK,IAAI,CAAC,KAAK;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACzC;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;IAEO,UAAU;QACjB,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,GAAG,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,MAAM;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACrC,CAAC;QACF,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,SAAS;QAChB,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,GAAG,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,MAAM;YAE5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,GAAG,IAAI,CAAC,MAAO,CAAC;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBACX,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;oBACjD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,qBAAqB;oBACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;QACF,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAiB,CAAC,CAAC;IACzC,CAAC;IAEO,wBAAwB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAEO,gBAAgB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAM,CAAC,CAAC;IAC7B,CAAC;IAEO,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAyB,EAAE,CAAC;QACtC,GAAG,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM;YACP,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,WAAW;QAClB,oDAAoD;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,qBAAqB;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
1
  import { assert } from "../test_utils.js";
2
- import { parse } from './parser.js';
3
- import { DefaultAstFactory } from './ast_factory.js';
2
+ import { parse } from "./parser.js";
3
+ import { DefaultAstFactory } from "./ast_factory.js";
4
4
  describe("Parser", () => {
5
5
  const factory = new DefaultAstFactory();
6
6
  const parseExpr = (expr) => parse(expr, factory);
@@ -61,6 +61,47 @@ describe("Parser", () => {
61
61
  factory.property("b", factory.literal(2)),
62
62
  ]));
63
63
  });
64
+ it("should parse object literals with shorthand properties", () => {
65
+ assert.deepEqual(parseExpr("{obj}"), factory.map([factory.property("obj", factory.id("obj"))]));
66
+ assert.deepEqual(parseExpr("{a, b}"), factory.map([factory.property("a", factory.id("a")), factory.property("b", factory.id("b"))]));
67
+ });
68
+ it("should parse object literals with mixed shorthand and full properties", () => {
69
+ assert.deepEqual(parseExpr("{a: 1, b, c: 2}"), factory.map([
70
+ factory.property("a", factory.literal(1)),
71
+ factory.property("b", factory.id("b")),
72
+ factory.property("c", factory.literal(2)),
73
+ ]));
74
+ });
75
+ it("should parse object literals with trailing commas", () => {
76
+ assert.deepEqual(parseExpr("{a: 1,}"), factory.map([factory.property("a", factory.literal(1))]));
77
+ assert.deepEqual(parseExpr("{a: 1, b: 2,}"), factory.map([
78
+ factory.property("a", factory.literal(1)),
79
+ factory.property("b", factory.literal(2)),
80
+ ]));
81
+ });
82
+ it("should parse object literals with trailing commas and whitespace", () => {
83
+ assert.deepEqual(parseExpr("{a: 1, }"), factory.map([factory.property("a", factory.literal(1))]));
84
+ assert.deepEqual(parseExpr("{ a: 1 , }"), factory.map([factory.property("a", factory.literal(1))]));
85
+ });
86
+ it("should parse multiline object literals", () => {
87
+ assert.deepEqual(parseExpr(`{
88
+ a: 1,
89
+ b: 2
90
+ }`), factory.map([
91
+ factory.property("a", factory.literal(1)),
92
+ factory.property("b", factory.literal(2)),
93
+ ]));
94
+ });
95
+ it("should parse array literals with trailing commas", () => {
96
+ assert.deepEqual(parseExpr("[1,]"), factory.list([factory.literal(1)]));
97
+ assert.deepEqual(parseExpr("[1, 2,]"), factory.list([factory.literal(1), factory.literal(2)]));
98
+ });
99
+ it("should parse multiline array literals", () => {
100
+ assert.deepEqual(parseExpr(`[
101
+ 1,
102
+ 2
103
+ ]`), factory.list([factory.literal(1), factory.literal(2)]));
104
+ });
64
105
  it("should parse spread operator in array", () => {
65
106
  assert.deepEqual(parseExpr("[...arr]"), factory.list([factory.spreadElement(factory.id("arr"))]));
66
107
  assert.deepEqual(parseExpr("[1, ...arr, 2]"), factory.list([
@@ -1 +1 @@
1
- {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/expressions/parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/expressions/parser.test.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * @license
3
3
  * Portions Copyright (c) 2013, the Dart project authors.
4
4
  */
5
- import { KEYWORDS, POSTFIX_PRECEDENCE, PRECEDENCE, WORD_OPERATORS } from './constants.js';
6
- const _TWO_CHAR_OPS = new Set(['==', '!=', '<=', '>=', '||', '&&', '??', '?.']);
7
- const _THREE_CHAR_OPS = new Set(['===', '!==']);
5
+ import { KEYWORDS, POSTFIX_PRECEDENCE, PRECEDENCE, WORD_OPERATORS } from "./constants.js";
6
+ const _TWO_CHAR_OPS = new Set(["==", "!=", "<=", ">=", "||", "&&", "??", "?."]);
7
+ const _THREE_CHAR_OPS = new Set(["===", "!=="]);
8
8
  export var Kind;
9
9
  (function (Kind) {
10
10
  Kind[Kind["STRING"] = 1] = "STRING";
@@ -26,10 +26,7 @@ export const token = (kind, value, precedence = 0) => ({
26
26
  value,
27
27
  precedence,
28
28
  });
29
- const _isWhitespace = (ch) => ch === 9 /* \t */ ||
30
- ch === 10 /* \n */ ||
31
- ch === 13 /* \r */ ||
32
- ch === 32; /* space */
29
+ const _isWhitespace = (ch) => ch === 9 /* \t */ || ch === 10 /* \n */ || ch === 13 /* \r */ || ch === 32; /* space */
33
30
  // TODO(justinfagnani): allow code points > 127
34
31
  const _isIdentOrKeywordStart = (ch) => ch === 95 /* _ */ ||
35
32
  ch === 36 /* $ */ ||
@@ -63,16 +60,16 @@ const _isGrouper = (ch) => ch === 40 /* ( */ ||
63
60
  ch === 125; /* } */
64
61
  const _escapeString = (str) => str.replace(/\\(.)/g, (_match, group) => {
65
62
  switch (group) {
66
- case 'n':
67
- return '\n';
68
- case 'r':
69
- return '\r';
70
- case 't':
71
- return '\t';
72
- case 'b':
73
- return '\b';
74
- case 'f':
75
- return '\f';
63
+ case "n":
64
+ return "\n";
65
+ case "r":
66
+ return "\r";
67
+ case "t":
68
+ return "\t";
69
+ case "b":
70
+ return "\b";
71
+ case "f":
72
+ return "\f";
76
73
  default:
77
74
  return group;
78
75
  }
@@ -137,7 +134,7 @@ export class Tokenizer {
137
134
  this._tokenStart = this._index;
138
135
  }
139
136
  _tokenizeString() {
140
- const _us = 'unterminated string';
137
+ const _us = "unterminated string";
141
138
  const quoteChar = this._next;
142
139
  this._advance(true);
143
140
  while (this._next !== quoteChar) {
@@ -187,20 +184,20 @@ export class Tokenizer {
187
184
  if (this._next === 46 /* . */) {
188
185
  this._advance();
189
186
  this._clearValue();
190
- return token(Kind.SPREAD, '...');
187
+ return token(Kind.SPREAD, "...");
191
188
  }
192
- throw new Error('Unexpected token ..');
189
+ throw new Error("Unexpected token ..");
193
190
  }
194
191
  this._clearValue();
195
- return token(Kind.DOT, '.', POSTFIX_PRECEDENCE);
192
+ return token(Kind.DOT, ".", POSTFIX_PRECEDENCE);
196
193
  }
197
194
  _tokenizeComma() {
198
195
  this._advance(true);
199
- return token(Kind.COMMA, ',');
196
+ return token(Kind.COMMA, ",");
200
197
  }
201
198
  _tokenizeColon() {
202
199
  this._advance(true);
203
- return token(Kind.COLON, ':');
200
+ return token(Kind.COLON, ":");
204
201
  }
205
202
  _tokenizeFraction() {
206
203
  // This do/while loops assumes _isNumber(this._next!), so it must only
@@ -221,7 +218,7 @@ export class Tokenizer {
221
218
  else {
222
219
  // Check for 2-char operator
223
220
  op = this._getValue(1);
224
- if (op === '=>') {
221
+ if (op === "=>") {
225
222
  this._advance();
226
223
  return token(Kind.ARROW, op);
227
224
  }
@@ -238,7 +235,7 @@ export class Tokenizer {
238
235
  // If we advanced correctly, _getValue() without arg should return the token string.
239
236
  // Re-read op to be sure, using current _index
240
237
  op = this._getValue();
241
- if (op === '?.') {
238
+ if (op === "?.") {
242
239
  return token(Kind.OPTIONAL_DOT, op, POSTFIX_PRECEDENCE);
243
240
  }
244
241
  return token(Kind.OPERATOR, op, PRECEDENCE[op]);
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/expressions/tokenizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/expressions/tokenizer.ts"],"names":[],"mappings":"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"}