meriyah 4.3.9 → 4.4.1

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.
@@ -4369,7 +4369,9 @@
4369
4369
  !specDeviation) {
4370
4370
  report(parser, 28, KeywordDescTable[parser.token & 255]);
4371
4371
  }
4372
- consumeOpt(parser, context, 1074790417);
4372
+ if (!consumeOpt(parser, context, 1074790417)) {
4373
+ parser.onInsertedSemicolon?.(parser.startPos);
4374
+ }
4373
4375
  }
4374
4376
  function isValidStrictMode(parser, index, tokenPos, tokenValue) {
4375
4377
  if (index - tokenPos < 13 && tokenValue === 'use strict') {
@@ -4711,7 +4713,7 @@
4711
4713
  report(parser, 0);
4712
4714
  }
4713
4715
 
4714
- function create(source, sourceFile, onComment, onToken) {
4716
+ function create(source, sourceFile, onComment, onToken, onInsertedSemicolon) {
4715
4717
  return {
4716
4718
  source,
4717
4719
  flags: 0,
@@ -4737,12 +4739,14 @@
4737
4739
  destructible: 0,
4738
4740
  onComment,
4739
4741
  onToken,
4742
+ onInsertedSemicolon,
4740
4743
  leadingDecorators: []
4741
4744
  };
4742
4745
  }
4743
4746
  function parseSource(source, options, context) {
4744
4747
  let sourceFile = '';
4745
4748
  let onComment;
4749
+ let onInsertedSemicolon;
4746
4750
  let onToken;
4747
4751
  if (options != null) {
4748
4752
  if (options.module)
@@ -4780,11 +4784,13 @@
4780
4784
  if (options.onComment != null) {
4781
4785
  onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment;
4782
4786
  }
4787
+ if (options.onInsertedSemicolon != null)
4788
+ onInsertedSemicolon = options.onInsertedSemicolon;
4783
4789
  if (options.onToken != null) {
4784
4790
  onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken;
4785
4791
  }
4786
4792
  }
4787
- const parser = create(source, sourceFile, onComment, onToken);
4793
+ const parser = create(source, sourceFile, onComment, onToken, onInsertedSemicolon);
4788
4794
  if (context & 1)
4789
4795
  skipHashBang(parser);
4790
4796
  const scope = context & 64 ? createScope() : void 0;
@@ -5055,10 +5061,11 @@
5055
5061
  parser.assignable = 1;
5056
5062
  }
5057
5063
  expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);
5058
- if (parser.token === 18)
5059
- expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);
5060
5064
  expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);
5061
5065
  parser.assignable = 1;
5066
+ if (parser.token === 18) {
5067
+ expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);
5068
+ }
5062
5069
  return parseExpressionStatement(parser, context, expr, start, line, column);
5063
5070
  }
5064
5071
  function parseDirective(parser, context, expression, token, start, line, column) {
@@ -5670,6 +5677,9 @@
5670
5677
  }), start, line, column);
5671
5678
  expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);
5672
5679
  expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);
5680
+ if (parser.token === 18) {
5681
+ expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);
5682
+ }
5673
5683
  return parseExpressionStatement(parser, context, expr, start, line, column);
5674
5684
  }
5675
5685
  function parseImportCallDeclaration(parser, context, start, line, column) {
@@ -6003,6 +6013,7 @@
6003
6013
  report(parser, 49);
6004
6014
  return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column);
6005
6015
  }
6016
+ parser.assignable = 1;
6006
6017
  return expr;
6007
6018
  }
6008
6019
  function parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) {
@@ -8823,7 +8834,7 @@
8823
8834
  __proto__: null
8824
8835
  });
8825
8836
 
8826
- var version$1 = "4.3.9";
8837
+ var version$1 = "4.4.1";
8827
8838
 
8828
8839
  const version = version$1;
8829
8840
  function parseScript(source, options) {