meriyah 7.1.1 → 7.1.2

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.
package/dist/meriyah.mjs CHANGED
@@ -1,4 +1,6 @@
1
- var version$1 = "7.1.1";
1
+ var version$1 = "7.1.2";
2
+ var packageJson = {
3
+ version: version$1};
2
4
 
3
5
  const unicodeLookup = ((compressed, lookup) => {
4
6
  const result = new Uint32Array(69632);
@@ -1518,12 +1520,14 @@ function parseEscape(parser, context, first, isTemplate = 0) {
1518
1520
  const ch = advanceChar(parser);
1519
1521
  if (parser.currentChar === 123) {
1520
1522
  let code = 0;
1523
+ let digits = 0;
1521
1524
  while ((CharTypes[advanceChar(parser)] & 64) !== 0) {
1522
1525
  code = (code << 4) | toHex(parser.currentChar);
1523
1526
  if (code > 1114111)
1524
1527
  return -5;
1528
+ digits++;
1525
1529
  }
1526
- if (parser.currentChar < 1 || parser.currentChar !== 125) {
1530
+ if (digits === 0 || parser.currentChar < 1 || parser.currentChar !== 125) {
1527
1531
  return -4;
1528
1532
  }
1529
1533
  return code;
@@ -4930,7 +4934,7 @@ function parseSource(source, rawOptions = {}, context = 0) {
4930
4934
  context |= 1;
4931
4935
  skipHashBang(parser);
4932
4936
  const scope = parser.createScopeIfLexical();
4933
- let body = [];
4937
+ let body;
4934
4938
  let sourceType = 'script';
4935
4939
  if (context & 2) {
4936
4940
  sourceType = 'module';
@@ -5423,7 +5427,6 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
5423
5427
  }
5424
5428
  function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
5425
5429
  let param = null;
5426
- let additionalScope = scope;
5427
5430
  if (consumeOpt(parser, context, 67174411)) {
5428
5431
  scope = scope?.createChildScope(4);
5429
5432
  param = parseBindingPattern(parser, context, scope, privateScope, (parser.getToken() & 2097152) === 2097152
@@ -5437,7 +5440,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
5437
5440
  }
5438
5441
  consume(parser, context | 32, 16);
5439
5442
  }
5440
- additionalScope = scope?.createChildScope(32);
5443
+ const additionalScope = scope?.createChildScope(32);
5441
5444
  const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
5442
5445
  return parser.finishNode({
5443
5446
  type: 'CatchClause',
@@ -5475,7 +5478,8 @@ function parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateS
5475
5478
  const { tokenValue, tokenStart } = parser;
5476
5479
  const token = parser.getToken();
5477
5480
  let expr = parseIdentifier(parser, context);
5478
- if (parser.getToken() & (143360 | 2097152)) {
5481
+ if (parser.getToken() & (143360 | 2097152) &&
5482
+ (parser.getToken() & 20480) !== 20480) {
5479
5483
  const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 8, 0);
5480
5484
  matchOrInsertSemicolon(parser, context | 32);
5481
5485
  return parser.finishNode({
@@ -5588,18 +5592,13 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
5588
5592
  if (isVarDecl) {
5589
5593
  if (token === 241737) {
5590
5594
  init = parseIdentifier(parser, context);
5591
- if (parser.getToken() & (143360 | 2097152)) {
5592
- if (parser.getToken() === 8673330) {
5593
- if (context & 1)
5594
- parser.report(67);
5595
- }
5596
- else {
5597
- init = parser.finishNode({
5598
- type: 'VariableDeclaration',
5599
- kind: 'let',
5600
- declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
5601
- }, tokenStart);
5602
- }
5595
+ if (parser.getToken() & (143360 | 2097152) &&
5596
+ (parser.getToken() & 20480) !== 20480) {
5597
+ init = parser.finishNode({
5598
+ type: 'VariableDeclaration',
5599
+ kind: 'let',
5600
+ declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
5601
+ }, tokenStart);
5603
5602
  parser.assignable = 1;
5604
5603
  }
5605
5604
  else if (context & 1) {
@@ -5720,7 +5719,7 @@ function parseRestrictedIdentifier(parser, context, scope) {
5720
5719
  function parseImportDeclaration(parser, context, scope) {
5721
5720
  const start = parser.tokenStart;
5722
5721
  nextToken(parser, context);
5723
- let source = null;
5722
+ let source;
5724
5723
  const { tokenStart } = parser;
5725
5724
  let specifiers = [];
5726
5725
  if (parser.getToken() === 134283267) {
@@ -6813,6 +6812,7 @@ function parseTemplate(parser, context, privateScope) {
6813
6812
  consume(parser, context, 67174409);
6814
6813
  quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true));
6815
6814
  }
6815
+ parser.assignable = 2;
6816
6816
  return parser.finishNode({
6817
6817
  type: 'TemplateLiteral',
6818
6818
  expressions,
@@ -8446,7 +8446,7 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
8446
8446
  }, start);
8447
8447
  }
8448
8448
  let destructible = 0;
8449
- let expr = null;
8449
+ let expr;
8450
8450
  let isNonSimpleParameterList = 0;
8451
8451
  parser.destructible =
8452
8452
  (parser.destructible | 256 | 128) ^
@@ -8756,6 +8756,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8756
8756
  break;
8757
8757
  case 209008:
8758
8758
  if (parser.getToken() !== 67174411) {
8759
+ if (parser.getToken() === 8391476 && parser.flags & 1) {
8760
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8761
+ }
8759
8762
  if ((parser.getToken() & 1073741824) === 1073741824) {
8760
8763
  return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8761
8764
  }
@@ -8764,6 +8767,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8764
8767
  break;
8765
8768
  case 209009:
8766
8769
  if (parser.getToken() !== 67174411) {
8770
+ if (parser.getToken() === 8391476 && parser.flags & 1) {
8771
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8772
+ }
8767
8773
  if ((parser.getToken() & 1073741824) === 1073741824) {
8768
8774
  return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8769
8775
  }
@@ -9226,7 +9232,7 @@ function parseJSXExpressionContainer(parser, context, privateScope, inJSXChild,
9226
9232
  const { tokenStart } = parser;
9227
9233
  if (parser.getToken() === 14)
9228
9234
  return parseJSXSpreadChild(parser, context, privateScope, start);
9229
- let expression = null;
9235
+ let expression;
9230
9236
  if (parser.getToken() === 1074790415) {
9231
9237
  if (isAttr)
9232
9238
  parser.report(157);
@@ -9280,7 +9286,7 @@ function parseJSXIdentifier(parser, context) {
9280
9286
  }, start);
9281
9287
  }
9282
9288
 
9283
- const version = version$1;
9289
+ const { version } = packageJson;
9284
9290
  function parseScript(source, options) {
9285
9291
  return parseSource(source, { ...options, sourceType: 'script' });
9286
9292
  }
@@ -4,7 +4,9 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
- var version$1 = "7.1.1";
7
+ var version$1 = "7.1.2";
8
+ var packageJson = {
9
+ version: version$1};
8
10
 
9
11
  const unicodeLookup = ((compressed, lookup) => {
10
12
  const result = new Uint32Array(69632);
@@ -1524,12 +1526,14 @@
1524
1526
  const ch = advanceChar(parser);
1525
1527
  if (parser.currentChar === 123) {
1526
1528
  let code = 0;
1529
+ let digits = 0;
1527
1530
  while ((CharTypes[advanceChar(parser)] & 64) !== 0) {
1528
1531
  code = (code << 4) | toHex(parser.currentChar);
1529
1532
  if (code > 1114111)
1530
1533
  return -5;
1534
+ digits++;
1531
1535
  }
1532
- if (parser.currentChar < 1 || parser.currentChar !== 125) {
1536
+ if (digits === 0 || parser.currentChar < 1 || parser.currentChar !== 125) {
1533
1537
  return -4;
1534
1538
  }
1535
1539
  return code;
@@ -4936,7 +4940,7 @@
4936
4940
  context |= 1;
4937
4941
  skipHashBang(parser);
4938
4942
  const scope = parser.createScopeIfLexical();
4939
- let body = [];
4943
+ let body;
4940
4944
  let sourceType = 'script';
4941
4945
  if (context & 2) {
4942
4946
  sourceType = 'module';
@@ -5429,7 +5433,6 @@
5429
5433
  }
5430
5434
  function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
5431
5435
  let param = null;
5432
- let additionalScope = scope;
5433
5436
  if (consumeOpt(parser, context, 67174411)) {
5434
5437
  scope = scope?.createChildScope(4);
5435
5438
  param = parseBindingPattern(parser, context, scope, privateScope, (parser.getToken() & 2097152) === 2097152
@@ -5443,7 +5446,7 @@
5443
5446
  }
5444
5447
  consume(parser, context | 32, 16);
5445
5448
  }
5446
- additionalScope = scope?.createChildScope(32);
5449
+ const additionalScope = scope?.createChildScope(32);
5447
5450
  const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
5448
5451
  return parser.finishNode({
5449
5452
  type: 'CatchClause',
@@ -5481,7 +5484,8 @@
5481
5484
  const { tokenValue, tokenStart } = parser;
5482
5485
  const token = parser.getToken();
5483
5486
  let expr = parseIdentifier(parser, context);
5484
- if (parser.getToken() & (143360 | 2097152)) {
5487
+ if (parser.getToken() & (143360 | 2097152) &&
5488
+ (parser.getToken() & 20480) !== 20480) {
5485
5489
  const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 8, 0);
5486
5490
  matchOrInsertSemicolon(parser, context | 32);
5487
5491
  return parser.finishNode({
@@ -5594,18 +5598,13 @@
5594
5598
  if (isVarDecl) {
5595
5599
  if (token === 241737) {
5596
5600
  init = parseIdentifier(parser, context);
5597
- if (parser.getToken() & (143360 | 2097152)) {
5598
- if (parser.getToken() === 8673330) {
5599
- if (context & 1)
5600
- parser.report(67);
5601
- }
5602
- else {
5603
- init = parser.finishNode({
5604
- type: 'VariableDeclaration',
5605
- kind: 'let',
5606
- declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
5607
- }, tokenStart);
5608
- }
5601
+ if (parser.getToken() & (143360 | 2097152) &&
5602
+ (parser.getToken() & 20480) !== 20480) {
5603
+ init = parser.finishNode({
5604
+ type: 'VariableDeclaration',
5605
+ kind: 'let',
5606
+ declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
5607
+ }, tokenStart);
5609
5608
  parser.assignable = 1;
5610
5609
  }
5611
5610
  else if (context & 1) {
@@ -5726,7 +5725,7 @@
5726
5725
  function parseImportDeclaration(parser, context, scope) {
5727
5726
  const start = parser.tokenStart;
5728
5727
  nextToken(parser, context);
5729
- let source = null;
5728
+ let source;
5730
5729
  const { tokenStart } = parser;
5731
5730
  let specifiers = [];
5732
5731
  if (parser.getToken() === 134283267) {
@@ -6819,6 +6818,7 @@
6819
6818
  consume(parser, context, 67174409);
6820
6819
  quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true));
6821
6820
  }
6821
+ parser.assignable = 2;
6822
6822
  return parser.finishNode({
6823
6823
  type: 'TemplateLiteral',
6824
6824
  expressions,
@@ -8452,7 +8452,7 @@
8452
8452
  }, start);
8453
8453
  }
8454
8454
  let destructible = 0;
8455
- let expr = null;
8455
+ let expr;
8456
8456
  let isNonSimpleParameterList = 0;
8457
8457
  parser.destructible =
8458
8458
  (parser.destructible | 256 | 128) ^
@@ -8762,6 +8762,9 @@
8762
8762
  break;
8763
8763
  case 209008:
8764
8764
  if (parser.getToken() !== 67174411) {
8765
+ if (parser.getToken() === 8391476 && parser.flags & 1) {
8766
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8767
+ }
8765
8768
  if ((parser.getToken() & 1073741824) === 1073741824) {
8766
8769
  return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8767
8770
  }
@@ -8770,6 +8773,9 @@
8770
8773
  break;
8771
8774
  case 209009:
8772
8775
  if (parser.getToken() !== 67174411) {
8776
+ if (parser.getToken() === 8391476 && parser.flags & 1) {
8777
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8778
+ }
8773
8779
  if ((parser.getToken() & 1073741824) === 1073741824) {
8774
8780
  return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8775
8781
  }
@@ -9232,7 +9238,7 @@
9232
9238
  const { tokenStart } = parser;
9233
9239
  if (parser.getToken() === 14)
9234
9240
  return parseJSXSpreadChild(parser, context, privateScope, start);
9235
- let expression = null;
9241
+ let expression;
9236
9242
  if (parser.getToken() === 1074790415) {
9237
9243
  if (isAttr)
9238
9244
  parser.report(157);
@@ -9286,7 +9292,7 @@
9286
9292
  }, start);
9287
9293
  }
9288
9294
 
9289
- const version = version$1;
9295
+ const { version } = packageJson;
9290
9296
  function parseScript(source, options) {
9291
9297
  return parseSource(source, { ...options, sourceType: 'script' });
9292
9298
  }