@danielx/civet 0.6.73 → 0.6.75

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/main.mjs CHANGED
@@ -1241,15 +1241,15 @@ function hoistRefDecs(statements) {
1241
1241
  }
1242
1242
  function insertHoistDec(block, node, dec) {
1243
1243
  const { expressions } = block;
1244
- const index = expressions.findIndex((exp) => exp === node || Array.isArray(exp) && exp[1] === node);
1245
- if (index < 0)
1244
+ const index = expressions.findIndex((exp) => {
1245
+ return exp === node || Array.isArray(exp) && exp[1] === node;
1246
+ });
1247
+ if (index < 0) {
1246
1248
  throw new Error("Couldn't find expression in block for hoistable declaration.");
1247
- if (expressions[index] === node) {
1248
- expressions.splice(index, 0, ["", dec, ";"]);
1249
- } else {
1250
- const indent = expressions[index][0];
1251
- expressions.splice(index, 0, [indent, dec, ";"]);
1252
1249
  }
1250
+ const statement = [expressions[index][0], dec, ";"];
1251
+ expressions[index][0] = "";
1252
+ expressions.splice(index, 0, statement);
1253
1253
  addParentPointers(dec, block);
1254
1254
  }
1255
1255
  function patternAsValue(pattern) {
@@ -1415,6 +1415,9 @@ function isPromiseVoidType(t) {
1415
1415
  function isGeneratorVoidType(t) {
1416
1416
  return t?.type === "IdentifierType" && (t.raw === "Iterator" || t.raw === "Generator") && t.args?.types?.length >= 2 && isVoidType(t.args.types[1]);
1417
1417
  }
1418
+ function isAsyncGeneratorVoidType(t) {
1419
+ return t?.type === "IdentifierType" && (t.raw === "AsyncIterator" || t.raw === "AsyncGenerator") && t.args?.types?.length >= 2 && isVoidType(t.args.types[1]);
1420
+ }
1418
1421
  function isWhitespaceOrEmpty(node) {
1419
1422
  if (!node)
1420
1423
  return true;
@@ -1817,6 +1820,7 @@ function makeLeftHandSideExpression(expression) {
1817
1820
  case "IterationExpression":
1818
1821
  case "CallExpression":
1819
1822
  case "MemberExpression":
1823
+ case "NewExpression":
1820
1824
  case "ParenthesizedExpression":
1821
1825
  case "IfExpression":
1822
1826
  case "DebuggerExpression":
@@ -1864,6 +1868,9 @@ function quoteString(str) {
1864
1868
  }
1865
1869
  }
1866
1870
  function lastAccessInCallExpression(exp) {
1871
+ if (exp.type === "Identifier") {
1872
+ return exp;
1873
+ }
1867
1874
  let children, i;
1868
1875
  do {
1869
1876
  ({ children } = exp);
@@ -2066,7 +2073,7 @@ function processCoffeeInterpolation(s, parts, e, $loc) {
2066
2073
  children: [s, parts, e]
2067
2074
  };
2068
2075
  }
2069
- function processAssignmentDeclaration(decl, id, suffix, ws, assign, e) {
2076
+ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
2070
2077
  decl = {
2071
2078
  ...decl,
2072
2079
  $loc: {
@@ -2074,23 +2081,23 @@ function processAssignmentDeclaration(decl, id, suffix, ws, assign, e) {
2074
2081
  length: assign.$loc.length + 1
2075
2082
  }
2076
2083
  };
2077
- let [splices, thisAssignments] = gatherBindingCode(id);
2084
+ let [splices, assignments] = gatherBindingCode(pattern);
2078
2085
  splices = splices.map((s) => [", ", s]);
2079
- thisAssignments = thisAssignments.map((a) => ["", a, ";"]);
2086
+ const thisAssignments = assignments.map((a) => ["", a, ";"]);
2080
2087
  const initializer = [ws, assign, e];
2081
2088
  const binding = makeNode({
2082
2089
  type: "Binding",
2083
- pattern: id,
2090
+ pattern,
2084
2091
  initializer,
2085
2092
  splices,
2086
2093
  suffix,
2087
2094
  thisAssignments,
2088
- children: [id, suffix, initializer]
2095
+ children: [pattern, suffix, initializer]
2089
2096
  });
2090
2097
  const children = [decl, binding];
2091
2098
  return makeNode({
2092
2099
  type: "Declaration",
2093
- names: id.names,
2100
+ names: pattern.names,
2094
2101
  decl,
2095
2102
  bindings: [binding],
2096
2103
  splices,
@@ -2203,9 +2210,7 @@ function processDeclarationConditionStatement(s) {
2203
2210
  }
2204
2211
  }
2205
2212
  function processDeclarations(statements) {
2206
- gatherRecursiveAll(statements, (n) => {
2207
- return n.type === "Declaration";
2208
- }).forEach(({ bindings }) => {
2213
+ gatherRecursiveAll(statements, ($) => $.type === "Declaration").forEach(({ bindings }) => {
2209
2214
  return bindings?.forEach((binding) => {
2210
2215
  const suffix = binding.suffix;
2211
2216
  if (suffix && suffix.optional && suffix.t) {
@@ -2251,7 +2256,7 @@ function processReturn(f, implicitReturns) {
2251
2256
  const { async, generator, set } = modifier;
2252
2257
  const isMethod = f.type === "MethodDefinition";
2253
2258
  const isConstructor = isMethod && name === "constructor";
2254
- const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2259
+ const isVoid = isVoidType(returnType2?.t) || async && (isPromiseVoidType(returnType2?.t) || generator && isAsyncGeneratorVoidType(returnType2?.t)) || !async && generator && isGeneratorVoidType(returnType2?.t);
2255
2260
  if (block?.type === "BlockStatement") {
2256
2261
  if (isVoid || set || isConstructor) {
2257
2262
  if (block.bare && block.implicitlyReturned) {
@@ -2410,7 +2415,7 @@ function processAssignments(statements) {
2410
2415
  }
2411
2416
  function processBlocks(statements) {
2412
2417
  insertSemicolon(statements);
2413
- gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(function({ expressions }) {
2418
+ gatherRecursive(statements, ($3) => $3.type === "BlockStatement").forEach(function({ expressions }) {
2414
2419
  return processBlocks(expressions);
2415
2420
  });
2416
2421
  }
@@ -2669,8 +2674,8 @@ function nonMatcherBindings(pattern) {
2669
2674
  }
2670
2675
  }
2671
2676
  function aggregateDuplicateBindings(bindings, ReservedWord) {
2672
- const props = gatherRecursiveAll(bindings, ($3) => $3.type === "BindingProperty");
2673
- const arrayBindings = gatherRecursiveAll(bindings, ($4) => $4.type === "ArrayBindingPattern");
2677
+ const props = gatherRecursiveAll(bindings, ($4) => $4.type === "BindingProperty");
2678
+ const arrayBindings = gatherRecursiveAll(bindings, ($5) => $5.type === "ArrayBindingPattern");
2674
2679
  arrayBindings.forEach((a) => {
2675
2680
  const { elements } = a;
2676
2681
  return elements.forEach((element) => {
@@ -2728,7 +2733,7 @@ function aggregateDuplicateBindings(bindings, ReservedWord) {
2728
2733
  return declarations;
2729
2734
  }
2730
2735
  function processPatternMatching(statements, ReservedWord) {
2731
- gatherRecursiveAll(statements, ($5) => $5.type === "SwitchStatement").forEach((s) => {
2736
+ gatherRecursiveAll(statements, ($6) => $6.type === "SwitchStatement").forEach((s) => {
2732
2737
  const { caseBlock } = s;
2733
2738
  const { clauses } = caseBlock;
2734
2739
  for (const c of clauses) {
@@ -2742,7 +2747,7 @@ function processPatternMatching(statements, ReservedWord) {
2742
2747
  }
2743
2748
  let errors = false;
2744
2749
  let isPattern = false;
2745
- if (clauses.some(($6) => $6.type === "PatternClause")) {
2750
+ if (clauses.some(($7) => $7.type === "PatternClause")) {
2746
2751
  isPattern = true;
2747
2752
  clauses.forEach((c) => {
2748
2753
  if (!(c.type === "PatternClause" || c.type === "DefaultClause")) {
@@ -2970,7 +2975,7 @@ function processPipelineExpressions(statements) {
2970
2975
  };
2971
2976
  }
2972
2977
  children.push(arg);
2973
- if (!children.some(($7) => $7?.type === "ReturnStatement") && children.some(($8) => $8 === ",")) {
2978
+ if (!children.some(($8) => $8?.type === "ReturnStatement") && children.some(($9) => $9 === ",")) {
2974
2979
  const { parent } = s;
2975
2980
  const parenthesizedExpression = makeLeftHandSideExpression({ ...s });
2976
2981
  Object.assign(s, parenthesizedExpression, {
@@ -3093,7 +3098,7 @@ function createVarDecs(statements, scopes, pushVar) {
3093
3098
  scopes.push(decs);
3094
3099
  const varIds = [];
3095
3100
  const assignmentStatements = findAssignments(statements, scopes);
3096
- const undeclaredIdentifiers = assignmentStatements.flatMap(($9) => $9?.names || []);
3101
+ const undeclaredIdentifiers = assignmentStatements.flatMap(($10) => $10?.names || []);
3097
3102
  undeclaredIdentifiers.filter((x, i, a) => {
3098
3103
  if (!hasDec(x))
3099
3104
  return a.indexOf(x) === i;
@@ -4471,6 +4476,7 @@ var require_parser = __commonJS({
4471
4476
  LexicalDeclaration,
4472
4477
  ConstAssignment,
4473
4478
  LetAssignment,
4479
+ TypeAssignment,
4474
4480
  LexicalBinding,
4475
4481
  Initializer,
4476
4482
  VariableStatement,
@@ -4746,7 +4752,7 @@ var require_parser = __commonJS({
4746
4752
  InlineBasicInterfaceProperty,
4747
4753
  InlineInterfacePropertyDelimiter,
4748
4754
  TypeBinaryOp,
4749
- FunctionType,
4755
+ TypeFunction,
4750
4756
  TypeArrowFunction,
4751
4757
  TypeArguments,
4752
4758
  TypeArgument,
@@ -4788,6 +4794,7 @@ var require_parser = __commonJS({
4788
4794
  InsertDot,
4789
4795
  InsertBreak,
4790
4796
  InsertVar,
4797
+ InsertType,
4791
4798
  CoffeeBinaryExistentialEnabled,
4792
4799
  CoffeeBooleansEnabled,
4793
4800
  CoffeeClassesEnabled,
@@ -4834,100 +4841,100 @@ var require_parser = __commonJS({
4834
4841
  var $L17 = $L("implements");
4835
4842
  var $L18 = $L("<:");
4836
4843
  var $L19 = $L("import");
4837
- var $L20 = $L("!");
4838
- var $L21 = $L("^");
4839
- var $L22 = $L("-");
4840
- var $L23 = $L("import.meta");
4841
- var $L24 = $L("return.value");
4842
- var $L25 = $L(",");
4843
- var $L26 = $L("(&)");
4844
- var $L27 = $L("->");
4845
- var $L28 = $L("\u2192");
4846
- var $L29 = $L("}");
4847
- var $L30 = $L("null");
4848
- var $L31 = $L("true");
4849
- var $L32 = $L("false");
4850
- var $L33 = $L("yes");
4851
- var $L34 = $L("on");
4852
- var $L35 = $L("no");
4853
- var $L36 = $L("off");
4854
- var $L37 = $L(">");
4855
- var $L38 = $L("]");
4856
- var $L39 = $L("**=");
4857
- var $L40 = $L("*=");
4858
- var $L41 = $L("/=");
4859
- var $L42 = $L("%=");
4860
- var $L43 = $L("+=");
4861
- var $L44 = $L("-=");
4862
- var $L45 = $L("<<=");
4863
- var $L46 = $L(">>>=");
4864
- var $L47 = $L(">>=");
4865
- var $L48 = $L("&&=");
4866
- var $L49 = $L("&=");
4867
- var $L50 = $L("^=");
4868
- var $L51 = $L("||=");
4869
- var $L52 = $L("|=");
4870
- var $L53 = $L("??=");
4871
- var $L54 = $L("?=");
4872
- var $L55 = $L("and=");
4873
- var $L56 = $L("or=");
4874
- var $L57 = $L("**");
4875
- var $L58 = $L("*");
4876
- var $L59 = $L("/");
4877
- var $L60 = $L("%%");
4878
- var $L61 = $L("%");
4879
- var $L62 = $L("+");
4880
- var $L63 = $L("<=");
4881
- var $L64 = $L("\u2264");
4882
- var $L65 = $L(">=");
4883
- var $L66 = $L("\u2265");
4884
- var $L67 = $L("<?");
4885
- var $L68 = $L("!<?");
4886
- var $L69 = $L("<<");
4887
- var $L70 = $L("\xAB");
4888
- var $L71 = $L(">>>");
4889
- var $L72 = $L("\u22D9");
4890
- var $L73 = $L(">>");
4891
- var $L74 = $L("\xBB");
4892
- var $L75 = $L("!==");
4893
- var $L76 = $L("\u2262");
4894
- var $L77 = $L("!=");
4895
- var $L78 = $L("\u2260");
4896
- var $L79 = $L("isnt");
4897
- var $L80 = $L("===");
4898
- var $L81 = $L("\u2263");
4899
- var $L82 = $L("\u2A76");
4900
- var $L83 = $L("==");
4901
- var $L84 = $L("\u2261");
4902
- var $L85 = $L("\u2A75");
4903
- var $L86 = $L("and");
4904
- var $L87 = $L("&&");
4905
- var $L88 = $L("or");
4906
- var $L89 = $L("||");
4907
- var $L90 = $L("\u2016");
4908
- var $L91 = $L("^^");
4909
- var $L92 = $L("xor");
4910
- var $L93 = $L("xnor");
4911
- var $L94 = $L("??");
4912
- var $L95 = $L("\u2047");
4913
- var $L96 = $L("instanceof");
4914
- var $L97 = $L("\u2208");
4915
- var $L98 = $L("\u220B");
4916
- var $L99 = $L("\u220C");
4917
- var $L100 = $L("\u2209");
4918
- var $L101 = $L("&");
4919
- var $L102 = $L("|");
4920
- var $L103 = $L("$:");
4921
- var $L104 = $L(";");
4922
- var $L105 = $L("break");
4923
- var $L106 = $L("continue");
4924
- var $L107 = $L("debugger");
4925
- var $L108 = $L("require");
4926
- var $L109 = $L("with");
4927
- var $L110 = $L("assert");
4928
- var $L111 = $L(":=");
4929
- var $L112 = $L("\u2254");
4930
- var $L113 = $L(".=");
4844
+ var $L20 = $L("^");
4845
+ var $L21 = $L("-");
4846
+ var $L22 = $L("import.meta");
4847
+ var $L23 = $L("return.value");
4848
+ var $L24 = $L(",");
4849
+ var $L25 = $L("(&)");
4850
+ var $L26 = $L("->");
4851
+ var $L27 = $L("\u2192");
4852
+ var $L28 = $L("}");
4853
+ var $L29 = $L("null");
4854
+ var $L30 = $L("true");
4855
+ var $L31 = $L("false");
4856
+ var $L32 = $L("yes");
4857
+ var $L33 = $L("on");
4858
+ var $L34 = $L("no");
4859
+ var $L35 = $L("off");
4860
+ var $L36 = $L(">");
4861
+ var $L37 = $L("]");
4862
+ var $L38 = $L("**=");
4863
+ var $L39 = $L("*=");
4864
+ var $L40 = $L("/=");
4865
+ var $L41 = $L("%=");
4866
+ var $L42 = $L("+=");
4867
+ var $L43 = $L("-=");
4868
+ var $L44 = $L("<<=");
4869
+ var $L45 = $L(">>>=");
4870
+ var $L46 = $L(">>=");
4871
+ var $L47 = $L("&&=");
4872
+ var $L48 = $L("&=");
4873
+ var $L49 = $L("^=");
4874
+ var $L50 = $L("||=");
4875
+ var $L51 = $L("|=");
4876
+ var $L52 = $L("??=");
4877
+ var $L53 = $L("?=");
4878
+ var $L54 = $L("and=");
4879
+ var $L55 = $L("or=");
4880
+ var $L56 = $L("**");
4881
+ var $L57 = $L("*");
4882
+ var $L58 = $L("/");
4883
+ var $L59 = $L("%%");
4884
+ var $L60 = $L("%");
4885
+ var $L61 = $L("+");
4886
+ var $L62 = $L("<=");
4887
+ var $L63 = $L("\u2264");
4888
+ var $L64 = $L(">=");
4889
+ var $L65 = $L("\u2265");
4890
+ var $L66 = $L("<?");
4891
+ var $L67 = $L("!<?");
4892
+ var $L68 = $L("<<");
4893
+ var $L69 = $L("\xAB");
4894
+ var $L70 = $L(">>>");
4895
+ var $L71 = $L("\u22D9");
4896
+ var $L72 = $L(">>");
4897
+ var $L73 = $L("\xBB");
4898
+ var $L74 = $L("!==");
4899
+ var $L75 = $L("\u2262");
4900
+ var $L76 = $L("!=");
4901
+ var $L77 = $L("\u2260");
4902
+ var $L78 = $L("isnt");
4903
+ var $L79 = $L("===");
4904
+ var $L80 = $L("\u2263");
4905
+ var $L81 = $L("\u2A76");
4906
+ var $L82 = $L("==");
4907
+ var $L83 = $L("\u2261");
4908
+ var $L84 = $L("\u2A75");
4909
+ var $L85 = $L("and");
4910
+ var $L86 = $L("&&");
4911
+ var $L87 = $L("or");
4912
+ var $L88 = $L("||");
4913
+ var $L89 = $L("\u2016");
4914
+ var $L90 = $L("^^");
4915
+ var $L91 = $L("xor");
4916
+ var $L92 = $L("xnor");
4917
+ var $L93 = $L("??");
4918
+ var $L94 = $L("\u2047");
4919
+ var $L95 = $L("instanceof");
4920
+ var $L96 = $L("\u2208");
4921
+ var $L97 = $L("\u220B");
4922
+ var $L98 = $L("\u220C");
4923
+ var $L99 = $L("\u2209");
4924
+ var $L100 = $L("&");
4925
+ var $L101 = $L("|");
4926
+ var $L102 = $L("$:");
4927
+ var $L103 = $L(";");
4928
+ var $L104 = $L("break");
4929
+ var $L105 = $L("continue");
4930
+ var $L106 = $L("debugger");
4931
+ var $L107 = $L("require");
4932
+ var $L108 = $L("with");
4933
+ var $L109 = $L("assert");
4934
+ var $L110 = $L(":=");
4935
+ var $L111 = $L("\u2254");
4936
+ var $L112 = $L(".=");
4937
+ var $L113 = $L("::=");
4931
4938
  var $L114 = $L("/*");
4932
4939
  var $L115 = $L("*/");
4933
4940
  var $L116 = $L("\\");
@@ -4956,80 +4963,81 @@ var require_parser = __commonJS({
4956
4963
  var $L139 = $L('"');
4957
4964
  var $L140 = $L("each");
4958
4965
  var $L141 = $L("else");
4959
- var $L142 = $L("export");
4960
- var $L143 = $L("extends");
4961
- var $L144 = $L("finally");
4962
- var $L145 = $L("for");
4963
- var $L146 = $L("from");
4964
- var $L147 = $L("function");
4965
- var $L148 = $L("get");
4966
- var $L149 = $L("set");
4967
- var $L150 = $L("#");
4968
- var $L151 = $L("if");
4969
- var $L152 = $L("in");
4970
- var $L153 = $L("infer");
4971
- var $L154 = $L("let");
4972
- var $L155 = $L("const");
4973
- var $L156 = $L("is");
4974
- var $L157 = $L("loop");
4975
- var $L158 = $L("new");
4976
- var $L159 = $L("not");
4977
- var $L160 = $L("of");
4978
- var $L161 = $L("[");
4979
- var $L162 = $L("operator");
4980
- var $L163 = $L("own");
4981
- var $L164 = $L("public");
4982
- var $L165 = $L("private");
4983
- var $L166 = $L("protected");
4984
- var $L167 = $L("||>");
4985
- var $L168 = $L("|\u25B7");
4986
- var $L169 = $L("|>=");
4987
- var $L170 = $L("\u25B7=");
4988
- var $L171 = $L("|>");
4989
- var $L172 = $L("\u25B7");
4990
- var $L173 = $L("readonly");
4991
- var $L174 = $L("return");
4992
- var $L175 = $L("satisfies");
4993
- var $L176 = $L("'");
4994
- var $L177 = $L("static");
4995
- var $L178 = $L("${");
4996
- var $L179 = $L("super");
4997
- var $L180 = $L("switch");
4998
- var $L181 = $L("target");
4999
- var $L182 = $L("then");
5000
- var $L183 = $L("this");
5001
- var $L184 = $L("throw");
5002
- var $L185 = $L('"""');
5003
- var $L186 = $L("'''");
5004
- var $L187 = $L("///");
5005
- var $L188 = $L("```");
5006
- var $L189 = $L("try");
5007
- var $L190 = $L("typeof");
5008
- var $L191 = $L("unless");
5009
- var $L192 = $L("until");
5010
- var $L193 = $L("using");
5011
- var $L194 = $L("var");
5012
- var $L195 = $L("void");
5013
- var $L196 = $L("when");
5014
- var $L197 = $L("while");
5015
- var $L198 = $L("yield");
5016
- var $L199 = $L("/>");
5017
- var $L200 = $L("</");
5018
- var $L201 = $L("<>");
5019
- var $L202 = $L("</>");
5020
- var $L203 = $L("<!--");
5021
- var $L204 = $L("-->");
5022
- var $L205 = $L("type");
5023
- var $L206 = $L("enum");
5024
- var $L207 = $L("interface");
5025
- var $L208 = $L("global");
5026
- var $L209 = $L("module");
5027
- var $L210 = $L("namespace");
5028
- var $L211 = $L("asserts");
5029
- var $L212 = $L("keyof");
5030
- var $L213 = $L("???");
5031
- var $L214 = $L("[]");
5032
- var $L215 = $L("civet");
4966
+ var $L142 = $L("!");
4967
+ var $L143 = $L("export");
4968
+ var $L144 = $L("extends");
4969
+ var $L145 = $L("finally");
4970
+ var $L146 = $L("for");
4971
+ var $L147 = $L("from");
4972
+ var $L148 = $L("function");
4973
+ var $L149 = $L("get");
4974
+ var $L150 = $L("set");
4975
+ var $L151 = $L("#");
4976
+ var $L152 = $L("if");
4977
+ var $L153 = $L("in");
4978
+ var $L154 = $L("infer");
4979
+ var $L155 = $L("let");
4980
+ var $L156 = $L("const");
4981
+ var $L157 = $L("is");
4982
+ var $L158 = $L("loop");
4983
+ var $L159 = $L("new");
4984
+ var $L160 = $L("not");
4985
+ var $L161 = $L("of");
4986
+ var $L162 = $L("[");
4987
+ var $L163 = $L("operator");
4988
+ var $L164 = $L("own");
4989
+ var $L165 = $L("public");
4990
+ var $L166 = $L("private");
4991
+ var $L167 = $L("protected");
4992
+ var $L168 = $L("||>");
4993
+ var $L169 = $L("|\u25B7");
4994
+ var $L170 = $L("|>=");
4995
+ var $L171 = $L("\u25B7=");
4996
+ var $L172 = $L("|>");
4997
+ var $L173 = $L("\u25B7");
4998
+ var $L174 = $L("readonly");
4999
+ var $L175 = $L("return");
5000
+ var $L176 = $L("satisfies");
5001
+ var $L177 = $L("'");
5002
+ var $L178 = $L("static");
5003
+ var $L179 = $L("${");
5004
+ var $L180 = $L("super");
5005
+ var $L181 = $L("switch");
5006
+ var $L182 = $L("target");
5007
+ var $L183 = $L("then");
5008
+ var $L184 = $L("this");
5009
+ var $L185 = $L("throw");
5010
+ var $L186 = $L('"""');
5011
+ var $L187 = $L("'''");
5012
+ var $L188 = $L("///");
5013
+ var $L189 = $L("```");
5014
+ var $L190 = $L("try");
5015
+ var $L191 = $L("typeof");
5016
+ var $L192 = $L("unless");
5017
+ var $L193 = $L("until");
5018
+ var $L194 = $L("using");
5019
+ var $L195 = $L("var");
5020
+ var $L196 = $L("void");
5021
+ var $L197 = $L("when");
5022
+ var $L198 = $L("while");
5023
+ var $L199 = $L("yield");
5024
+ var $L200 = $L("/>");
5025
+ var $L201 = $L("</");
5026
+ var $L202 = $L("<>");
5027
+ var $L203 = $L("</>");
5028
+ var $L204 = $L("<!--");
5029
+ var $L205 = $L("-->");
5030
+ var $L206 = $L("type");
5031
+ var $L207 = $L("enum");
5032
+ var $L208 = $L("interface");
5033
+ var $L209 = $L("global");
5034
+ var $L210 = $L("module");
5035
+ var $L211 = $L("namespace");
5036
+ var $L212 = $L("asserts");
5037
+ var $L213 = $L("keyof");
5038
+ var $L214 = $L("???");
5039
+ var $L215 = $L("[]");
5040
+ var $L216 = $L("civet");
5033
5041
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
5034
5042
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
5035
5043
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -5047,70 +5055,70 @@ var require_parser = __commonJS({
5047
5055
  var $R14 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5048
5056
  var $R15 = $R(new RegExp("(?=\\[)", "suy"));
5049
5057
  var $R16 = $R(new RegExp("[!+-]", "suy"));
5050
- var $R17 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
5051
- var $R18 = $R(new RegExp("!\\^\\^?", "suy"));
5052
- var $R19 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
5053
- var $R20 = $R(new RegExp("[:.]", "suy"));
5054
- var $R21 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
5055
- var $R22 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
5056
- var $R23 = $R(new RegExp("(?=[\\s\\),])", "suy"));
5057
- var $R24 = $R(new RegExp('[^;"\\s]+', "suy"));
5058
- var $R25 = $R(new RegExp("(?=[0-9.])", "suy"));
5059
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
5060
- var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
5061
- var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
5062
- var $R29 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
5063
- var $R30 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
5064
- var $R31 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
5065
- var $R32 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
5066
- var $R33 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
5067
- var $R34 = $R(new RegExp("(?=[0-9])", "suy"));
5068
- var $R35 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
5069
- var $R36 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
5070
- var $R37 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
5071
- var $R38 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
5072
- var $R39 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
5073
- var $R40 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
5074
- var $R41 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
5075
- var $R42 = $R(new RegExp("(?:\\\\.)", "suy"));
5076
- var $R43 = $R(new RegExp("[\\s]+", "suy"));
5077
- var $R44 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
5078
- var $R45 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
5079
- var $R46 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
5080
- var $R47 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
5081
- var $R48 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5082
- var $R49 = $R(new RegExp("(?=[`'\"])", "suy"));
5083
- var $R50 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
5084
- var $R51 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
5085
- var $R52 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
5086
- var $R53 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
5087
- var $R54 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
5088
- var $R55 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
5089
- var $R56 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
5090
- var $R57 = $R(new RegExp("(?=\\/|#)", "suy"));
5091
- var $R58 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
5092
- var $R59 = $R(new RegExp(".", "suy"));
5093
- var $R60 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
5094
- var $R61 = $R(new RegExp("[^]*?###", "suy"));
5095
- var $R62 = $R(new RegExp("###(?!#)", "suy"));
5096
- var $R63 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5097
- var $R64 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5098
- var $R65 = $R(new RegExp("[ \\t]+", "suy"));
5099
- var $R66 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5100
- var $R67 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5101
- var $R68 = $R(new RegExp("['\u2019]s", "suy"));
5102
- var $R69 = $R(new RegExp("\\s", "suy"));
5103
- var $R70 = $R(new RegExp("(?=[<])", "suy"));
5104
- var $R71 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5105
- var $R72 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5106
- var $R73 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5107
- var $R74 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5108
- var $R75 = $R(new RegExp("[<>]", "suy"));
5109
- var $R76 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5110
- var $R77 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5111
- var $R78 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5112
- var $R79 = $R(new RegExp("[+-]?", "suy"));
5113
- var $R80 = $R(new RegExp("[+-]", "suy"));
5058
+ var $R17 = $R(new RegExp("[+-]", "suy"));
5059
+ var $R18 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
5060
+ var $R19 = $R(new RegExp("!\\^\\^?", "suy"));
5061
+ var $R20 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
5062
+ var $R21 = $R(new RegExp("[:.]", "suy"));
5063
+ var $R22 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
5064
+ var $R23 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
5065
+ var $R24 = $R(new RegExp("(?=[\\s\\),])", "suy"));
5066
+ var $R25 = $R(new RegExp('[^;"\\s]+', "suy"));
5067
+ var $R26 = $R(new RegExp("(?=[0-9.])", "suy"));
5068
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
5069
+ var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
5070
+ var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
5071
+ var $R30 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
5072
+ var $R31 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
5073
+ var $R32 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
5074
+ var $R33 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
5075
+ var $R34 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
5076
+ var $R35 = $R(new RegExp("(?=[0-9])", "suy"));
5077
+ var $R36 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
5078
+ var $R37 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
5079
+ var $R38 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
5080
+ var $R39 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
5081
+ var $R40 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
5082
+ var $R41 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
5083
+ var $R42 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
5084
+ var $R43 = $R(new RegExp("(?:\\\\.)", "suy"));
5085
+ var $R44 = $R(new RegExp("[\\s]+", "suy"));
5086
+ var $R45 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
5087
+ var $R46 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
5088
+ var $R47 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
5089
+ var $R48 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
5090
+ var $R49 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
5091
+ var $R50 = $R(new RegExp("(?=[`'\"])", "suy"));
5092
+ var $R51 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
5093
+ var $R52 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
5094
+ var $R53 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
5095
+ var $R54 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
5096
+ var $R55 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
5097
+ var $R56 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
5098
+ var $R57 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
5099
+ var $R58 = $R(new RegExp("(?=\\/|#)", "suy"));
5100
+ var $R59 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
5101
+ var $R60 = $R(new RegExp(".", "suy"));
5102
+ var $R61 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
5103
+ var $R62 = $R(new RegExp("[^]*?###", "suy"));
5104
+ var $R63 = $R(new RegExp("###(?!#)", "suy"));
5105
+ var $R64 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5106
+ var $R65 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5107
+ var $R66 = $R(new RegExp("[ \\t]+", "suy"));
5108
+ var $R67 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5109
+ var $R68 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5110
+ var $R69 = $R(new RegExp("['\u2019]s", "suy"));
5111
+ var $R70 = $R(new RegExp("\\s", "suy"));
5112
+ var $R71 = $R(new RegExp("(?=[<])", "suy"));
5113
+ var $R72 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5114
+ var $R73 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5115
+ var $R74 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5116
+ var $R75 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5117
+ var $R76 = $R(new RegExp("[<>]", "suy"));
5118
+ var $R77 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5119
+ var $R78 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5120
+ var $R79 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5121
+ var $R80 = $R(new RegExp("[+-]?", "suy"));
5114
5122
  var $R81 = $R(new RegExp("(?=if|unless)", "suy"));
5115
5123
  var $R82 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5116
5124
  var $R83 = $R(new RegExp("[\\t ]*", "suy"));
@@ -6259,7 +6267,14 @@ var require_parser = __commonJS({
6259
6267
  function AtThis(ctx, state) {
6260
6268
  return $EVENT(ctx, state, "AtThis", AtThis$0);
6261
6269
  }
6262
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L14, 'LeftHandSideExpression ":"'))), __)), CallExpression);
6270
+ var LeftHandSideExpression$0 = $TS($S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L14, 'LeftHandSideExpression ":"'))), __)), CallExpression), function($skip, $loc, $0, $1, $2) {
6271
+ var expression = $2;
6272
+ return {
6273
+ type: "NewExpression",
6274
+ children: $0,
6275
+ expression
6276
+ };
6277
+ });
6263
6278
  var LeftHandSideExpression$1 = CallExpression;
6264
6279
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
6265
6280
  function LeftHandSideExpression(ctx, state) {
@@ -6322,10 +6337,8 @@ var require_parser = __commonJS({
6322
6337
  children: $0
6323
6338
  };
6324
6339
  });
6325
- var OptionalShorthand$1 = NonNullAssertion;
6326
- var OptionalShorthand$$ = [OptionalShorthand$0, OptionalShorthand$1];
6327
6340
  function OptionalShorthand(ctx, state) {
6328
- return $EVENT_C(ctx, state, "OptionalShorthand", OptionalShorthand$$);
6341
+ return $EVENT(ctx, state, "OptionalShorthand", OptionalShorthand$0);
6329
6342
  }
6330
6343
  var OptionalDot$0 = $S($Q(InlineComment), Dot);
6331
6344
  var OptionalDot$1 = InsertDot;
@@ -6333,8 +6346,8 @@ var require_parser = __commonJS({
6333
6346
  function OptionalDot(ctx, state) {
6334
6347
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
6335
6348
  }
6336
- var NonNullAssertion$0 = $T($S($EXPECT($L20, 'NonNullAssertion "!"'), $N($EXPECT($L21, 'NonNullAssertion "^"'))), function(value) {
6337
- return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
6349
+ var NonNullAssertion$0 = $T($S(ExclamationPoint, $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
6350
+ return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
6338
6351
  });
6339
6352
  function NonNullAssertion(ctx, state) {
6340
6353
  return $EVENT(ctx, state, "NonNullAssertion", NonNullAssertion$0);
@@ -6386,13 +6399,15 @@ var require_parser = __commonJS({
6386
6399
  var dot = $1;
6387
6400
  var comments = $2;
6388
6401
  var content = $3;
6402
+ if (!dot && !comments.length)
6403
+ return content;
6389
6404
  if (dot) {
6390
6405
  if (dot.type === "Optional" && content.type === "SliceExpression") {
6391
6406
  return [...dot.children.slice(0, -1), ...comments, content];
6392
6407
  }
6393
- return $0.flat();
6408
+ return [dot, ...comments, content];
6394
6409
  }
6395
- return content;
6410
+ return [...comments, content];
6396
6411
  });
6397
6412
  var MemberExpressionRestBody$1 = PropertyAccess;
6398
6413
  var MemberExpressionRestBody$2 = PropertyGlob;
@@ -6528,7 +6543,7 @@ var require_parser = __commonJS({
6528
6543
  ]
6529
6544
  };
6530
6545
  });
6531
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L22, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6546
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6532
6547
  var dot = $1;
6533
6548
  var neg = $2;
6534
6549
  var num = $3;
@@ -6604,7 +6619,7 @@ var require_parser = __commonJS({
6604
6619
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6605
6620
  }
6606
6621
  var MetaProperty$0 = $S(New, Dot, Target);
6607
- var MetaProperty$1 = $TS($S($EXPECT($L23, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6622
+ var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6608
6623
  return { $loc, token: $1 };
6609
6624
  });
6610
6625
  var MetaProperty$2 = ReturnValue;
@@ -6612,7 +6627,7 @@ var require_parser = __commonJS({
6612
6627
  function MetaProperty(ctx, state) {
6613
6628
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6614
6629
  }
6615
- var ReturnValue$0 = $TV($C($S($EXPECT($L24, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6630
+ var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6616
6631
  return { type: "ReturnValue", children: [$1[0]] };
6617
6632
  });
6618
6633
  function ReturnValue(ctx, state) {
@@ -7125,7 +7140,7 @@ var require_parser = __commonJS({
7125
7140
  children: [ws, binding]
7126
7141
  };
7127
7142
  });
7128
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L25, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7143
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
7129
7144
  return {
7130
7145
  children: [{
7131
7146
  type: "ElisionElement",
@@ -7251,7 +7266,7 @@ var require_parser = __commonJS({
7251
7266
  block
7252
7267
  };
7253
7268
  });
7254
- var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7269
+ var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7255
7270
  return makeAmpersandFunction();
7256
7271
  });
7257
7272
  var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
@@ -7352,22 +7367,7 @@ var require_parser = __commonJS({
7352
7367
  };
7353
7368
  });
7354
7369
  var FunctionExpression$5 = AmpersandFunctionExpression;
7355
- var FunctionExpression$6 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7356
- var id = $1;
7357
- var ws = $4;
7358
- var fn = $5;
7359
- return {
7360
- ...fn,
7361
- id,
7362
- children: [
7363
- ...fn.children.slice(0, 3),
7364
- insertTrimmingSpace(ws, " "),
7365
- id,
7366
- ...fn.children.slice(3)
7367
- ]
7368
- };
7369
- });
7370
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5, FunctionExpression$6];
7370
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5];
7371
7371
  function FunctionExpression(ctx, state) {
7372
7372
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
7373
7373
  }
@@ -7597,7 +7597,7 @@ var require_parser = __commonJS({
7597
7597
  function ThinArrowFunction(ctx, state) {
7598
7598
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7599
7599
  }
7600
- var Arrow$0 = $TV($C($EXPECT($L27, 'Arrow "->"'), $EXPECT($L28, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7600
+ var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7601
7601
  return { $loc, token: "->" };
7602
7602
  });
7603
7603
  function Arrow(ctx, state) {
@@ -7897,7 +7897,7 @@ var require_parser = __commonJS({
7897
7897
  }
7898
7898
  var BracedContent$0 = NestedBlockStatements;
7899
7899
  var BracedContent$1 = SingleLineStatements;
7900
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L29, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7900
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7901
7901
  const expressions = [];
7902
7902
  return {
7903
7903
  type: "BlockStatement",
@@ -7967,7 +7967,7 @@ var require_parser = __commonJS({
7967
7967
  function LiteralContent(ctx, state) {
7968
7968
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7969
7969
  }
7970
- var NullLiteral$0 = $TS($S($EXPECT($L30, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7970
+ var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7971
7971
  return { $loc, token: $1 };
7972
7972
  });
7973
7973
  function NullLiteral(ctx, state) {
@@ -7982,17 +7982,17 @@ var require_parser = __commonJS({
7982
7982
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7983
7983
  return value[1];
7984
7984
  });
7985
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L31, '_BooleanLiteral "true"'), $EXPECT($L32, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7985
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7986
7986
  return { $loc, token: $1 };
7987
7987
  });
7988
7988
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7989
7989
  function _BooleanLiteral(ctx, state) {
7990
7990
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7991
7991
  }
7992
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7992
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7993
7993
  return { $loc, token: "true" };
7994
7994
  });
7995
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L35, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L36, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7995
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7996
7996
  return { $loc, token: "false" };
7997
7997
  });
7998
7998
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
@@ -8024,7 +8024,7 @@ var require_parser = __commonJS({
8024
8024
  function IdentifierReference(ctx, state) {
8025
8025
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
8026
8026
  }
8027
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L37, 'UpcomingAssignment ">"')))));
8027
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
8028
8028
  function UpcomingAssignment(ctx, state) {
8029
8029
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
8030
8030
  }
@@ -8182,7 +8182,7 @@ var require_parser = __commonJS({
8182
8182
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
8183
8183
  }
8184
8184
  var ArrayElementDelimiter$0 = $S(__, Comma);
8185
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L38, 'ArrayElementDelimiter "]"')));
8185
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
8186
8186
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8187
8187
  return value[1];
8188
8188
  });
@@ -8436,7 +8436,7 @@ var require_parser = __commonJS({
8436
8436
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
8437
8437
  }
8438
8438
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8439
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L29, 'ObjectPropertyDelimiter "}"')));
8439
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
8440
8440
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
8441
8441
  return value[1];
8442
8442
  });
@@ -8492,22 +8492,26 @@ var require_parser = __commonJS({
8492
8492
  value: exp
8493
8493
  };
8494
8494
  });
8495
- var PropertyDefinition$4 = $TS($S($E(_), $N(EOS), CallExpression), function($skip, $loc, $0, $1, $2, $3) {
8495
+ var PropertyDefinition$4 = $TS($S($E(_), $N(EOS), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8496
8496
  var ws = $1;
8497
- var value = $3;
8498
- switch (value.type) {
8499
- case "Identifier":
8500
- return { ...value, children: [ws, ...value.children] };
8501
- case "ObjectExpression":
8502
- let first = value.properties[0];
8503
- if (first) {
8504
- first = {
8505
- ...first,
8506
- children: [ws, ...first.children],
8507
- hoistDec: value.hoistDec
8508
- };
8509
- }
8510
- return [first, ...value.properties.slice(1)];
8497
+ var pre = $3;
8498
+ var value = $4;
8499
+ var post = $5;
8500
+ if (!pre.length && !post) {
8501
+ switch (value.type) {
8502
+ case "Identifier":
8503
+ return { ...value, children: [ws, ...value.children] };
8504
+ case "ObjectExpression":
8505
+ let first = value.properties[0];
8506
+ if (first) {
8507
+ first = {
8508
+ ...first,
8509
+ children: [ws, ...first.children],
8510
+ hoistDec: value.hoistDec
8511
+ };
8512
+ }
8513
+ return [first, ...value.properties.slice(1)];
8514
+ }
8511
8515
  }
8512
8516
  const last = lastAccessInCallExpression(value);
8513
8517
  if (!last)
@@ -8555,7 +8559,7 @@ var require_parser = __commonJS({
8555
8559
  name = name.slice(1);
8556
8560
  return {
8557
8561
  type: "Property",
8558
- children: [ws, name, ": ", value],
8562
+ children: [ws, name, ": ", processUnaryExpression(pre, value, post)],
8559
8563
  name,
8560
8564
  names: [],
8561
8565
  value,
@@ -8624,7 +8628,7 @@ var require_parser = __commonJS({
8624
8628
  implicit: true
8625
8629
  };
8626
8630
  });
8627
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L22, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8631
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R17, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8628
8632
  const expression = [$2, $3];
8629
8633
  return {
8630
8634
  type: "ComputedPropertyName",
@@ -8662,7 +8666,7 @@ var require_parser = __commonJS({
8662
8666
  ts: true
8663
8667
  };
8664
8668
  });
8665
- var MethodDefinition$1 = $TS($S(MethodSignature, $N(PropertyAccess), $E(BracedBlock)), function($skip, $loc, $0, $1, $2, $3) {
8669
+ var MethodDefinition$1 = $TS($S(MethodSignature, $N($C(PropertyAccess, UnaryPostfix, NonNullAssertion)), $E(BracedBlock)), function($skip, $loc, $0, $1, $2, $3) {
8666
8670
  var signature = $1;
8667
8671
  var block = $3;
8668
8672
  let children = $0;
@@ -8929,10 +8933,10 @@ var require_parser = __commonJS({
8929
8933
  function OperatorAssignmentOp(ctx, state) {
8930
8934
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8931
8935
  }
8932
- var AssignmentOpSymbol$0 = $EXPECT($L39, 'AssignmentOpSymbol "**="');
8933
- var AssignmentOpSymbol$1 = $EXPECT($L40, 'AssignmentOpSymbol "*="');
8934
- var AssignmentOpSymbol$2 = $EXPECT($L41, 'AssignmentOpSymbol "/="');
8935
- var AssignmentOpSymbol$3 = $EXPECT($L42, 'AssignmentOpSymbol "%="');
8936
+ var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8937
+ var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8938
+ var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8939
+ var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8936
8940
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8937
8941
  return {
8938
8942
  special: true,
@@ -8941,18 +8945,18 @@ var require_parser = __commonJS({
8941
8945
  children: [$2]
8942
8946
  };
8943
8947
  });
8944
- var AssignmentOpSymbol$5 = $EXPECT($L43, 'AssignmentOpSymbol "+="');
8945
- var AssignmentOpSymbol$6 = $EXPECT($L44, 'AssignmentOpSymbol "-="');
8946
- var AssignmentOpSymbol$7 = $EXPECT($L45, 'AssignmentOpSymbol "<<="');
8947
- var AssignmentOpSymbol$8 = $EXPECT($L46, 'AssignmentOpSymbol ">>>="');
8948
- var AssignmentOpSymbol$9 = $EXPECT($L47, 'AssignmentOpSymbol ">>="');
8949
- var AssignmentOpSymbol$10 = $EXPECT($L48, 'AssignmentOpSymbol "&&="');
8950
- var AssignmentOpSymbol$11 = $EXPECT($L49, 'AssignmentOpSymbol "&="');
8951
- var AssignmentOpSymbol$12 = $EXPECT($L50, 'AssignmentOpSymbol "^="');
8952
- var AssignmentOpSymbol$13 = $EXPECT($L51, 'AssignmentOpSymbol "||="');
8953
- var AssignmentOpSymbol$14 = $EXPECT($L52, 'AssignmentOpSymbol "|="');
8954
- var AssignmentOpSymbol$15 = $EXPECT($L53, 'AssignmentOpSymbol "??="');
8955
- var AssignmentOpSymbol$16 = $T($EXPECT($L54, 'AssignmentOpSymbol "?="'), function(value) {
8948
+ var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8949
+ var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8950
+ var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8951
+ var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8952
+ var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8953
+ var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8954
+ var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8955
+ var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8956
+ var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8957
+ var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8958
+ var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8959
+ var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8956
8960
  return "??=";
8957
8961
  });
8958
8962
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -8965,10 +8969,10 @@ var require_parser = __commonJS({
8965
8969
  function AssignmentOpSymbol(ctx, state) {
8966
8970
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8967
8971
  }
8968
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "and="'), function(value) {
8972
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8969
8973
  return "&&=";
8970
8974
  });
8971
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L56, 'CoffeeWordAssignmentOp "or="'), function(value) {
8975
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8972
8976
  return "||=";
8973
8977
  });
8974
8978
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -9002,7 +9006,7 @@ var require_parser = __commonJS({
9002
9006
  function IdentifierBinaryOp(ctx, state) {
9003
9007
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
9004
9008
  }
9005
- var BinaryOp$0 = $T($S($EXPECT($R17, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
9009
+ var BinaryOp$0 = $T($S($EXPECT($R18, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
9006
9010
  var op = value[1];
9007
9011
  return op;
9008
9012
  });
@@ -9037,33 +9041,33 @@ var require_parser = __commonJS({
9037
9041
  function _BinaryOp(ctx, state) {
9038
9042
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
9039
9043
  }
9040
- var BinaryOpSymbol$0 = $EXPECT($L57, 'BinaryOpSymbol "**"');
9041
- var BinaryOpSymbol$1 = $EXPECT($L58, 'BinaryOpSymbol "*"');
9042
- var BinaryOpSymbol$2 = $EXPECT($L59, 'BinaryOpSymbol "/"');
9043
- var BinaryOpSymbol$3 = $TV($EXPECT($L60, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9044
+ var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
9045
+ var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
9046
+ var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
9047
+ var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
9044
9048
  return {
9045
9049
  call: module.getRef("modulo"),
9046
9050
  special: true
9047
9051
  };
9048
9052
  });
9049
- var BinaryOpSymbol$4 = $EXPECT($L61, 'BinaryOpSymbol "%"');
9053
+ var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
9050
9054
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
9051
9055
  return {
9052
9056
  method: "concat",
9053
9057
  special: true
9054
9058
  };
9055
9059
  });
9056
- var BinaryOpSymbol$6 = $EXPECT($L62, 'BinaryOpSymbol "+"');
9057
- var BinaryOpSymbol$7 = $EXPECT($L22, 'BinaryOpSymbol "-"');
9058
- var BinaryOpSymbol$8 = $EXPECT($L63, 'BinaryOpSymbol "<="');
9059
- var BinaryOpSymbol$9 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2264"'), function(value) {
9060
+ var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
9061
+ var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
9062
+ var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
9063
+ var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
9060
9064
  return "<=";
9061
9065
  });
9062
- var BinaryOpSymbol$10 = $EXPECT($L65, 'BinaryOpSymbol ">="');
9063
- var BinaryOpSymbol$11 = $T($EXPECT($L66, 'BinaryOpSymbol "\u2265"'), function(value) {
9066
+ var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
9067
+ var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
9064
9068
  return ">=";
9065
9069
  });
9066
- var BinaryOpSymbol$12 = $TV($EXPECT($L67, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9070
+ var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
9067
9071
  return {
9068
9072
  $loc,
9069
9073
  token: "instanceof",
@@ -9071,7 +9075,7 @@ var require_parser = __commonJS({
9071
9075
  special: true
9072
9076
  };
9073
9077
  });
9074
- var BinaryOpSymbol$13 = $TV($EXPECT($L68, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9078
+ var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
9075
9079
  return {
9076
9080
  $loc,
9077
9081
  token: "instanceof",
@@ -9080,74 +9084,74 @@ var require_parser = __commonJS({
9080
9084
  negated: true
9081
9085
  };
9082
9086
  });
9083
- var BinaryOpSymbol$14 = $EXPECT($L69, 'BinaryOpSymbol "<<"');
9084
- var BinaryOpSymbol$15 = $T($EXPECT($L70, 'BinaryOpSymbol "\xAB"'), function(value) {
9087
+ var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
9088
+ var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
9085
9089
  return "<<";
9086
9090
  });
9087
9091
  var BinaryOpSymbol$16 = $EXPECT($L16, 'BinaryOpSymbol "<"');
9088
- var BinaryOpSymbol$17 = $EXPECT($L71, 'BinaryOpSymbol ">>>"');
9089
- var BinaryOpSymbol$18 = $T($EXPECT($L72, 'BinaryOpSymbol "\u22D9"'), function(value) {
9092
+ var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
9093
+ var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
9090
9094
  return ">>>";
9091
9095
  });
9092
- var BinaryOpSymbol$19 = $EXPECT($L73, 'BinaryOpSymbol ">>"');
9093
- var BinaryOpSymbol$20 = $T($EXPECT($L74, 'BinaryOpSymbol "\xBB"'), function(value) {
9096
+ var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
9097
+ var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
9094
9098
  return ">>";
9095
9099
  });
9096
- var BinaryOpSymbol$21 = $EXPECT($L37, 'BinaryOpSymbol ">"');
9097
- var BinaryOpSymbol$22 = $EXPECT($L75, 'BinaryOpSymbol "!=="');
9098
- var BinaryOpSymbol$23 = $T($EXPECT($L76, 'BinaryOpSymbol "\u2262"'), function(value) {
9100
+ var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
9101
+ var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
9102
+ var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
9099
9103
  return "!==";
9100
9104
  });
9101
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L77, 'BinaryOpSymbol "!="'), $EXPECT($L78, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9105
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
9102
9106
  if (module.config.coffeeEq)
9103
9107
  return "!==";
9104
9108
  return "!=";
9105
9109
  });
9106
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L79, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9110
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9107
9111
  if (module.config.coffeeIsnt)
9108
9112
  return "!==";
9109
9113
  return $skip;
9110
9114
  });
9111
- var BinaryOpSymbol$26 = $EXPECT($L80, 'BinaryOpSymbol "==="');
9112
- var BinaryOpSymbol$27 = $T($C($EXPECT($L81, 'BinaryOpSymbol "\u2263"'), $EXPECT($L82, 'BinaryOpSymbol "\u2A76"')), function(value) {
9115
+ var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
9116
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
9113
9117
  return "===";
9114
9118
  });
9115
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L83, 'BinaryOpSymbol "=="'), $EXPECT($L84, 'BinaryOpSymbol "\u2261"'), $EXPECT($L85, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9119
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
9116
9120
  if (module.config.coffeeEq)
9117
9121
  return "===";
9118
9122
  return "==";
9119
9123
  });
9120
- var BinaryOpSymbol$29 = $T($S($EXPECT($L86, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9124
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
9121
9125
  return "&&";
9122
9126
  });
9123
- var BinaryOpSymbol$30 = $EXPECT($L87, 'BinaryOpSymbol "&&"');
9124
- var BinaryOpSymbol$31 = $T($S($EXPECT($L88, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9127
+ var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
9128
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
9125
9129
  return "||";
9126
9130
  });
9127
- var BinaryOpSymbol$32 = $EXPECT($L89, 'BinaryOpSymbol "||"');
9128
- var BinaryOpSymbol$33 = $T($EXPECT($L90, 'BinaryOpSymbol "\u2016"'), function(value) {
9131
+ var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
9132
+ var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
9129
9133
  return "||";
9130
9134
  });
9131
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L91, 'BinaryOpSymbol "^^"'), $S($EXPECT($L92, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9135
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9132
9136
  return {
9133
9137
  call: module.getRef("xor"),
9134
9138
  special: true
9135
9139
  };
9136
9140
  });
9137
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R18, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L93, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9141
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R19, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
9138
9142
  return {
9139
9143
  call: module.getRef("xnor"),
9140
9144
  special: true
9141
9145
  };
9142
9146
  });
9143
- var BinaryOpSymbol$36 = $EXPECT($L94, 'BinaryOpSymbol "??"');
9144
- var BinaryOpSymbol$37 = $T($EXPECT($L95, 'BinaryOpSymbol "\u2047"'), function(value) {
9147
+ var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
9148
+ var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
9145
9149
  return "??";
9146
9150
  });
9147
9151
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
9148
9152
  return "??";
9149
9153
  });
9150
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L96, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9154
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9151
9155
  return {
9152
9156
  $loc,
9153
9157
  token: $1,
@@ -9164,7 +9168,7 @@ var require_parser = __commonJS({
9164
9168
  var op = $3;
9165
9169
  return { ...op, $loc };
9166
9170
  });
9167
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L97, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9171
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
9168
9172
  return {
9169
9173
  method: "includes",
9170
9174
  relational: true,
@@ -9172,14 +9176,14 @@ var require_parser = __commonJS({
9172
9176
  special: true
9173
9177
  };
9174
9178
  });
9175
- var BinaryOpSymbol$43 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9179
+ var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
9176
9180
  return {
9177
9181
  method: "includes",
9178
9182
  relational: true,
9179
9183
  special: true
9180
9184
  };
9181
9185
  });
9182
- var BinaryOpSymbol$44 = $TV($EXPECT($L99, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9186
+ var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
9183
9187
  return {
9184
9188
  method: "includes",
9185
9189
  relational: true,
@@ -9187,7 +9191,7 @@ var require_parser = __commonJS({
9187
9191
  negated: true
9188
9192
  };
9189
9193
  });
9190
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L100, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9194
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
9191
9195
  return {
9192
9196
  method: "includes",
9193
9197
  relational: true,
@@ -9220,9 +9224,9 @@ var require_parser = __commonJS({
9220
9224
  return "===";
9221
9225
  });
9222
9226
  var BinaryOpSymbol$48 = In;
9223
- var BinaryOpSymbol$49 = $EXPECT($L101, 'BinaryOpSymbol "&"');
9224
- var BinaryOpSymbol$50 = $EXPECT($L21, 'BinaryOpSymbol "^"');
9225
- var BinaryOpSymbol$51 = $EXPECT($L102, 'BinaryOpSymbol "|"');
9227
+ var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
9228
+ var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
9229
+ var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
9226
9230
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
9227
9231
  function BinaryOpSymbol(ctx, state) {
9228
9232
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -9260,7 +9264,7 @@ var require_parser = __commonJS({
9260
9264
  function CoffeeOfOp(ctx, state) {
9261
9265
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
9262
9266
  }
9263
- var NotOp$0 = $TS($S($EXPECT($L96, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9267
+ var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9264
9268
  return {
9265
9269
  $loc,
9266
9270
  token: "instanceof",
@@ -9281,24 +9285,24 @@ var require_parser = __commonJS({
9281
9285
  function NotOp(ctx, state) {
9282
9286
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
9283
9287
  }
9284
- var Xor$0 = $EXPECT($L91, 'Xor "^^"');
9285
- var Xor$1 = $S($EXPECT($L92, 'Xor "xor"'), NonIdContinue);
9288
+ var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9289
+ var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
9286
9290
  var Xor$$ = [Xor$0, Xor$1];
9287
9291
  function Xor(ctx, state) {
9288
9292
  return $EVENT_C(ctx, state, "Xor", Xor$$);
9289
9293
  }
9290
- var Xnor$0 = $R$0($EXPECT($R18, "Xnor /!\\^\\^?/"));
9291
- var Xnor$1 = $EXPECT($L93, 'Xnor "xnor"');
9294
+ var Xnor$0 = $R$0($EXPECT($R19, "Xnor /!\\^\\^?/"));
9295
+ var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
9292
9296
  var Xnor$$ = [Xnor$0, Xnor$1];
9293
9297
  function Xnor(ctx, state) {
9294
9298
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
9295
9299
  }
9296
- var UnaryOp$0 = $TR($EXPECT($R19, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9300
+ var UnaryOp$0 = $TR($EXPECT($R20, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9297
9301
  return { $loc, token: $0 };
9298
9302
  });
9299
9303
  var UnaryOp$1 = AwaitOp;
9300
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R20, "UnaryOp /[:.]/"))), $E(_));
9301
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R20, "UnaryOp /[:.]/")), $E($EXPECT($L15, 'UnaryOp " "')), $E(_)), function(value) {
9304
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R21, "UnaryOp /[:.]/"))), $E(_));
9305
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R21, "UnaryOp /[:.]/")), $E($EXPECT($L15, 'UnaryOp " "')), $E(_)), function(value) {
9302
9306
  return [value[0], value[3]];
9303
9307
  });
9304
9308
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -9329,7 +9333,7 @@ var require_parser = __commonJS({
9329
9333
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9330
9334
  }
9331
9335
  var StatementListItem$0 = Declaration;
9332
- var StatementListItem$1 = $TS($S($N($EXPECT($L103, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9336
+ var StatementListItem$1 = $TS($S($N($EXPECT($L102, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9333
9337
  return makeLeftHandSideExpression($2);
9334
9338
  });
9335
9339
  var StatementListItem$2 = PostfixedStatement;
@@ -9396,7 +9400,7 @@ var require_parser = __commonJS({
9396
9400
  function NonPipelinePostfixedExpression(ctx, state) {
9397
9401
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
9398
9402
  }
9399
- var PostfixStatement$0 = $T($S($EXPECT($R21, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9403
+ var PostfixStatement$0 = $T($S($EXPECT($R22, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9400
9404
  return value[1];
9401
9405
  });
9402
9406
  function PostfixStatement(ctx, state) {
@@ -9439,7 +9443,7 @@ var require_parser = __commonJS({
9439
9443
  function NoCommaStatement(ctx, state) {
9440
9444
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9441
9445
  }
9442
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L104, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9446
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L103, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9443
9447
  return { type: "EmptyStatement", children: $1 || [] };
9444
9448
  });
9445
9449
  function EmptyStatement(ctx, state) {
@@ -9470,7 +9474,7 @@ var require_parser = __commonJS({
9470
9474
  var w = $3;
9471
9475
  return [id, colon, w];
9472
9476
  });
9473
- var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
9477
+ var Label$1 = $S($EXPECT($L102, 'Label "$:"'), Whitespace);
9474
9478
  var Label$$ = [Label$0, Label$1];
9475
9479
  function Label(ctx, state) {
9476
9480
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9643,7 +9647,7 @@ var require_parser = __commonJS({
9643
9647
  function BlockExpressionPart(ctx, state) {
9644
9648
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9645
9649
  }
9646
- var IterationStatement$0 = $T($S($EXPECT($R22, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9650
+ var IterationStatement$0 = $T($S($EXPECT($R23, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9647
9651
  return value[1];
9648
9652
  });
9649
9653
  function IterationStatement(ctx, state) {
@@ -9996,7 +10000,7 @@ var require_parser = __commonJS({
9996
10000
  names: binding.names
9997
10001
  };
9998
10002
  });
9999
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R23, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
10003
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R24, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
10000
10004
  var c = $1;
10001
10005
  var binding = $2;
10002
10006
  return {
@@ -10331,8 +10335,8 @@ var require_parser = __commonJS({
10331
10335
  function Condition(ctx, state) {
10332
10336
  return $EVENT_C(ctx, state, "Condition", Condition$$);
10333
10337
  }
10334
- var DeclarationCondition$0 = $TS($S(ForbidIndentedApplication, $E(LexicalDeclaration), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3) {
10335
- var declaration = $2;
10338
+ var DeclarationCondition$0 = $TS($S(ForbidBracedApplication, ForbidIndentedApplication, ForbidNewlineBinaryOp, $E(LexicalDeclaration), RestoreNewlineBinaryOp, RestoreBracedApplication, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10339
+ var declaration = $4;
10336
10340
  if (!declaration)
10337
10341
  return $skip;
10338
10342
  return {
@@ -10579,19 +10583,19 @@ var require_parser = __commonJS({
10579
10583
  function ThrowStatement(ctx, state) {
10580
10584
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10581
10585
  }
10582
- var Break$0 = $TS($S($EXPECT($L105, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10586
+ var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10583
10587
  return { $loc, token: $1 };
10584
10588
  });
10585
10589
  function Break(ctx, state) {
10586
10590
  return $EVENT(ctx, state, "Break", Break$0);
10587
10591
  }
10588
- var Continue$0 = $TS($S($EXPECT($L106, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10592
+ var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10589
10593
  return { $loc, token: $1 };
10590
10594
  });
10591
10595
  function Continue(ctx, state) {
10592
10596
  return $EVENT(ctx, state, "Continue", Continue$0);
10593
10597
  }
10594
- var Debugger$0 = $TS($S($EXPECT($L107, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10598
+ var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10595
10599
  return { $loc, token: $1 };
10596
10600
  });
10597
10601
  function Debugger(ctx, state) {
@@ -10628,7 +10632,7 @@ var require_parser = __commonJS({
10628
10632
  function MaybeNestedExpression(ctx, state) {
10629
10633
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10630
10634
  }
10631
- var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L108, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10635
+ var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L107, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10632
10636
  const imp = [
10633
10637
  { ...$1, ts: true },
10634
10638
  { ...$1, token: "const", js: true }
@@ -10722,7 +10726,7 @@ var require_parser = __commonJS({
10722
10726
  function FromClause(ctx, state) {
10723
10727
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10724
10728
  }
10725
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L109, 'ImportAssertion "with"'), $EXPECT($L110, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10729
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L108, 'ImportAssertion "with"'), $EXPECT($L109, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10726
10730
  function ImportAssertion(ctx, state) {
10727
10731
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10728
10732
  }
@@ -10817,7 +10821,7 @@ var require_parser = __commonJS({
10817
10821
  function UnprocessedModuleSpecifier(ctx, state) {
10818
10822
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10819
10823
  }
10820
- var UnquotedSpecifier$0 = $TV($EXPECT($R24, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10824
+ var UnquotedSpecifier$0 = $TV($EXPECT($R25, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10821
10825
  var spec = $0;
10822
10826
  return { $loc, token: `"${spec}"` };
10823
10827
  });
@@ -10970,34 +10974,34 @@ var require_parser = __commonJS({
10970
10974
  thisAssignments: bindings.flatMap((b) => b.thisAssignments)
10971
10975
  };
10972
10976
  });
10973
- var LexicalDeclaration$1 = $TS($S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10977
+ var LexicalDeclaration$1 = $TS($S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10974
10978
  return processAssignmentDeclaration(...$0);
10975
10979
  });
10976
- var LexicalDeclaration$2 = $TS($S(InsertLet, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, LetAssignment, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10977
- var l = $1;
10978
- var id = $2;
10979
- var suffix = $3;
10980
- var ws = $4;
10981
- var la = $5;
10982
- var e = $6;
10980
+ var LexicalDeclaration$2 = $TS($S(InsertLet, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, LetAssignment, PostfixedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10983
10981
  return processAssignmentDeclaration(...$0);
10984
10982
  });
10985
10983
  var LexicalDeclaration$$ = [LexicalDeclaration$0, LexicalDeclaration$1, LexicalDeclaration$2];
10986
10984
  function LexicalDeclaration(ctx, state) {
10987
10985
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10988
10986
  }
10989
- var ConstAssignment$0 = $TV($C($EXPECT($L111, 'ConstAssignment ":="'), $EXPECT($L112, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10987
+ var ConstAssignment$0 = $TV($C($EXPECT($L110, 'ConstAssignment ":="'), $EXPECT($L111, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10990
10988
  return { $loc, token: "=" };
10991
10989
  });
10992
10990
  function ConstAssignment(ctx, state) {
10993
10991
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10994
10992
  }
10995
- var LetAssignment$0 = $TV($EXPECT($L113, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10993
+ var LetAssignment$0 = $TV($EXPECT($L112, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10996
10994
  return { $loc, token: "=" };
10997
10995
  });
10998
10996
  function LetAssignment(ctx, state) {
10999
10997
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
11000
10998
  }
10999
+ var TypeAssignment$0 = $TV($EXPECT($L113, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
11000
+ return { $loc, token: "=" };
11001
+ });
11002
+ function TypeAssignment(ctx, state) {
11003
+ return $EVENT(ctx, state, "TypeAssignment", TypeAssignment$0);
11004
+ }
11001
11005
  var LexicalBinding$0 = $TS($S(BindingPattern, $E(TypeSuffix), Initializer), function($skip, $loc, $0, $1, $2, $3) {
11002
11006
  var pattern = $1;
11003
11007
  var suffix = $2;
@@ -11061,7 +11065,7 @@ var require_parser = __commonJS({
11061
11065
  function VariableDeclarationList(ctx, state) {
11062
11066
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
11063
11067
  }
11064
- var NumericLiteral$0 = $TS($S($EXPECT($R25, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
11068
+ var NumericLiteral$0 = $TS($S($EXPECT($R26, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
11065
11069
  var token = $2;
11066
11070
  return { type: "NumericLiteral", $loc, token };
11067
11071
  });
@@ -11077,36 +11081,36 @@ var require_parser = __commonJS({
11077
11081
  function NumericLiteralKind(ctx, state) {
11078
11082
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
11079
11083
  }
11080
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R26, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
11084
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R27, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
11081
11085
  function DecimalBigIntegerLiteral(ctx, state) {
11082
11086
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
11083
11087
  }
11084
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
11088
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R28, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
11085
11089
  return $1 + ".";
11086
11090
  });
11087
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
11088
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R29, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
11091
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
11092
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
11089
11093
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
11090
11094
  function DecimalLiteral(ctx, state) {
11091
11095
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
11092
11096
  }
11093
- var ExponentPart$0 = $R$0($EXPECT($R30, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
11097
+ var ExponentPart$0 = $R$0($EXPECT($R31, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
11094
11098
  function ExponentPart(ctx, state) {
11095
11099
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
11096
11100
  }
11097
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R31, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
11101
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R32, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
11098
11102
  function BinaryIntegerLiteral(ctx, state) {
11099
11103
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
11100
11104
  }
11101
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R32, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
11105
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R33, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
11102
11106
  function OctalIntegerLiteral(ctx, state) {
11103
11107
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
11104
11108
  }
11105
- var HexIntegerLiteral$0 = $R$0($EXPECT($R33, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
11109
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R34, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
11106
11110
  function HexIntegerLiteral(ctx, state) {
11107
11111
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
11108
11112
  }
11109
- var IntegerLiteral$0 = $TS($S($EXPECT($R34, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
11113
+ var IntegerLiteral$0 = $TS($S($EXPECT($R35, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
11110
11114
  var token = $2;
11111
11115
  return { $loc, token };
11112
11116
  });
@@ -11122,7 +11126,7 @@ var require_parser = __commonJS({
11122
11126
  function IntegerLiteralKind(ctx, state) {
11123
11127
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
11124
11128
  }
11125
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R35, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
11129
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R36, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
11126
11130
  function DecimalIntegerLiteral(ctx, state) {
11127
11131
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
11128
11132
  }
@@ -11146,25 +11150,25 @@ var require_parser = __commonJS({
11146
11150
  function StringLiteral(ctx, state) {
11147
11151
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
11148
11152
  }
11149
- var DoubleStringCharacters$0 = $TR($EXPECT($R36, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11153
+ var DoubleStringCharacters$0 = $TR($EXPECT($R37, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11150
11154
  return { $loc, token: $0 };
11151
11155
  });
11152
11156
  function DoubleStringCharacters(ctx, state) {
11153
11157
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
11154
11158
  }
11155
- var SingleStringCharacters$0 = $TR($EXPECT($R37, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11159
+ var SingleStringCharacters$0 = $TR($EXPECT($R38, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11156
11160
  return { $loc, token: $0 };
11157
11161
  });
11158
11162
  function SingleStringCharacters(ctx, state) {
11159
11163
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
11160
11164
  }
11161
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R38, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11165
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R39, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11162
11166
  return { $loc, token: $0 };
11163
11167
  });
11164
11168
  function TripleDoubleStringCharacters(ctx, state) {
11165
11169
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
11166
11170
  }
11167
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R39, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11171
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R40, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11168
11172
  return { $loc, token: $0 };
11169
11173
  });
11170
11174
  function TripleSingleStringCharacters(ctx, state) {
@@ -11183,14 +11187,14 @@ var require_parser = __commonJS({
11183
11187
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
11184
11188
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
11185
11189
  }
11186
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R40, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11190
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R41, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11187
11191
  return { $loc, token: $0 };
11188
11192
  });
11189
11193
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
11190
11194
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
11191
11195
  }
11192
11196
  var RegularExpressionLiteral$0 = HeregexLiteral;
11193
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L59, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L59, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11197
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
11194
11198
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
11195
11199
  });
11196
11200
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -11203,7 +11207,7 @@ var require_parser = __commonJS({
11203
11207
  function RegularExpressionClass(ctx, state) {
11204
11208
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
11205
11209
  }
11206
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R41, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11210
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R42, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11207
11211
  return { $loc, token: $0 };
11208
11212
  });
11209
11213
  function RegularExpressionClassCharacters(ctx, state) {
@@ -11260,7 +11264,7 @@ var require_parser = __commonJS({
11260
11264
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
11261
11265
  return { "type": "Substitution", "children": value[0] };
11262
11266
  });
11263
- var HeregexPart$3 = $TR($EXPECT($R42, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11267
+ var HeregexPart$3 = $TR($EXPECT($R43, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11264
11268
  let token = $0;
11265
11269
  switch ($0[1]) {
11266
11270
  case "\n":
@@ -11278,13 +11282,13 @@ var require_parser = __commonJS({
11278
11282
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
11279
11283
  return { $loc, token: "" };
11280
11284
  });
11281
- var HeregexPart$5 = $TR($EXPECT($R43, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11285
+ var HeregexPart$5 = $TR($EXPECT($R44, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11282
11286
  return { $loc, token: "" };
11283
11287
  });
11284
- var HeregexPart$6 = $TR($EXPECT($R44, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11288
+ var HeregexPart$6 = $TR($EXPECT($R45, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11285
11289
  return { $loc, token: "\\/" };
11286
11290
  });
11287
- var HeregexPart$7 = $TR($EXPECT($R45, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11291
+ var HeregexPart$7 = $TR($EXPECT($R46, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11288
11292
  return { $loc, token: $0 };
11289
11293
  });
11290
11294
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -11297,7 +11301,7 @@ var require_parser = __commonJS({
11297
11301
  function HeregexComment(ctx, state) {
11298
11302
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
11299
11303
  }
11300
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R46, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
11304
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R47, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
11301
11305
  function RegularExpressionBody(ctx, state) {
11302
11306
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
11303
11307
  }
@@ -11307,15 +11311,15 @@ var require_parser = __commonJS({
11307
11311
  function RegExpPart(ctx, state) {
11308
11312
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
11309
11313
  }
11310
- var RegExpCharacter$0 = $R$0($EXPECT($R47, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
11314
+ var RegExpCharacter$0 = $R$0($EXPECT($R48, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
11311
11315
  function RegExpCharacter(ctx, state) {
11312
11316
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
11313
11317
  }
11314
- var RegularExpressionFlags$0 = $R$0($EXPECT($R48, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
11318
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R49, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
11315
11319
  function RegularExpressionFlags(ctx, state) {
11316
11320
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
11317
11321
  }
11318
- var TemplateLiteral$0 = $T($S($EXPECT($R49, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
11322
+ var TemplateLiteral$0 = $T($S($EXPECT($R50, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
11319
11323
  return value[1];
11320
11324
  });
11321
11325
  function TemplateLiteral(ctx, state) {
@@ -11351,28 +11355,28 @@ var require_parser = __commonJS({
11351
11355
  function TemplateSubstitution(ctx, state) {
11352
11356
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
11353
11357
  }
11354
- var TemplateCharacters$0 = $TR($EXPECT($R50, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11358
+ var TemplateCharacters$0 = $TR($EXPECT($R51, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11355
11359
  return { $loc, token: $0 };
11356
11360
  });
11357
11361
  function TemplateCharacters(ctx, state) {
11358
11362
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
11359
11363
  }
11360
- var TemplateBlockCharacters$0 = $TR($EXPECT($R51, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11364
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R52, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11361
11365
  return { $loc, token: $0 };
11362
11366
  });
11363
11367
  function TemplateBlockCharacters(ctx, state) {
11364
11368
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
11365
11369
  }
11366
- var ReservedWord$0 = $S($R$0($EXPECT($R52, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11367
- var ReservedWord$1 = $S($R$0($EXPECT($R53, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11368
- var ReservedWord$2 = $S($R$0($EXPECT($R54, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11369
- var ReservedWord$3 = $S($R$0($EXPECT($R55, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11370
- var ReservedWord$4 = $R$0($EXPECT($R56, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11370
+ var ReservedWord$0 = $S($R$0($EXPECT($R53, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11371
+ var ReservedWord$1 = $S($R$0($EXPECT($R54, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11372
+ var ReservedWord$2 = $S($R$0($EXPECT($R55, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11373
+ var ReservedWord$3 = $S($R$0($EXPECT($R56, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11374
+ var ReservedWord$4 = $R$0($EXPECT($R57, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11371
11375
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
11372
11376
  function ReservedWord(ctx, state) {
11373
11377
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
11374
11378
  }
11375
- var Comment$0 = $T($S($EXPECT($R57, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11379
+ var Comment$0 = $T($S($EXPECT($R58, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11376
11380
  return value[1];
11377
11381
  });
11378
11382
  function Comment(ctx, state) {
@@ -11390,7 +11394,7 @@ var require_parser = __commonJS({
11390
11394
  function SingleLineComment(ctx, state) {
11391
11395
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
11392
11396
  }
11393
- var JSSingleLineComment$0 = $TR($EXPECT($R58, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11397
+ var JSSingleLineComment$0 = $TR($EXPECT($R59, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11394
11398
  return { type: "Comment", $loc, token: $0 };
11395
11399
  });
11396
11400
  function JSSingleLineComment(ctx, state) {
@@ -11402,30 +11406,30 @@ var require_parser = __commonJS({
11402
11406
  function MultiLineComment(ctx, state) {
11403
11407
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11404
11408
  }
11405
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L114, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L115, 'JSMultiLineComment "*/"')), $EXPECT($R59, "JSMultiLineComment /./"))), $EXPECT($L115, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11409
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L114, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L115, 'JSMultiLineComment "*/"')), $EXPECT($R60, "JSMultiLineComment /./"))), $EXPECT($L115, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11406
11410
  return { type: "Comment", $loc, token: $1 };
11407
11411
  });
11408
11412
  function JSMultiLineComment(ctx, state) {
11409
11413
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
11410
11414
  }
11411
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R60, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11415
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R61, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11412
11416
  return { type: "Comment", $loc, token: `//${$1}` };
11413
11417
  });
11414
11418
  function CoffeeSingleLineComment(ctx, state) {
11415
11419
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
11416
11420
  }
11417
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R61, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11421
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R62, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11418
11422
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
11419
11423
  return { type: "Comment", $loc, token: `/*${$2}*/` };
11420
11424
  });
11421
11425
  function CoffeeMultiLineComment(ctx, state) {
11422
11426
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
11423
11427
  }
11424
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R62, "CoffeeHereCommentStart /###(?!#)/"));
11428
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R63, "CoffeeHereCommentStart /###(?!#)/"));
11425
11429
  function CoffeeHereCommentStart(ctx, state) {
11426
11430
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
11427
11431
  }
11428
- var InlineComment$0 = $TR($EXPECT($R63, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11432
+ var InlineComment$0 = $TR($EXPECT($R64, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11429
11433
  return { $loc, token: $0 };
11430
11434
  });
11431
11435
  function InlineComment(ctx, state) {
@@ -11439,13 +11443,13 @@ var require_parser = __commonJS({
11439
11443
  function TrailingComment(ctx, state) {
11440
11444
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
11441
11445
  }
11442
- var _$0 = $T($S($EXPECT($R64, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11446
+ var _$0 = $T($S($EXPECT($R65, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11443
11447
  return value[1];
11444
11448
  });
11445
11449
  function _(ctx, state) {
11446
11450
  return $EVENT(ctx, state, "_", _$0);
11447
11451
  }
11448
- var NonNewlineWhitespace$0 = $TR($EXPECT($R65, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11452
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R66, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11449
11453
  return { $loc, token: $0 };
11450
11454
  });
11451
11455
  var NonNewlineWhitespace$1 = $T($S($EXPECT($L116, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
@@ -11462,7 +11466,7 @@ var require_parser = __commonJS({
11462
11466
  function Trimmed_(ctx, state) {
11463
11467
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
11464
11468
  }
11465
- var __$0 = $T($S($EXPECT($R66, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11469
+ var __$0 = $T($S($EXPECT($R67, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11466
11470
  return value[1];
11467
11471
  });
11468
11472
  var __$1 = $EXPECT($L0, '__ ""');
@@ -11470,7 +11474,7 @@ var require_parser = __commonJS({
11470
11474
  function __(ctx, state) {
11471
11475
  return $EVENT_C(ctx, state, "__", __$$);
11472
11476
  }
11473
- var Whitespace$0 = $TR($EXPECT($R43, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11477
+ var Whitespace$0 = $TR($EXPECT($R44, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11474
11478
  return { $loc, token: $0 };
11475
11479
  });
11476
11480
  function Whitespace(ctx, state) {
@@ -11494,7 +11498,7 @@ var require_parser = __commonJS({
11494
11498
  }
11495
11499
  var StatementDelimiter$0 = $Y(EOS);
11496
11500
  var StatementDelimiter$1 = SemicolonDelimiter;
11497
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L117, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11501
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L117, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
11498
11502
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11499
11503
  function StatementDelimiter(ctx, state) {
11500
11504
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11508,7 +11512,7 @@ var require_parser = __commonJS({
11508
11512
  function SemicolonDelimiter(ctx, state) {
11509
11513
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
11510
11514
  }
11511
- var NonIdContinue$0 = $R$0($EXPECT($R67, "NonIdContinue /(?!\\p{ID_Continue})/"));
11515
+ var NonIdContinue$0 = $R$0($EXPECT($R68, "NonIdContinue /(?!\\p{ID_Continue})/"));
11512
11516
  function NonIdContinue(ctx, state) {
11513
11517
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
11514
11518
  }
@@ -11524,7 +11528,7 @@ var require_parser = __commonJS({
11524
11528
  function Abstract(ctx, state) {
11525
11529
  return $EVENT(ctx, state, "Abstract", Abstract$0);
11526
11530
  }
11527
- var Ampersand$0 = $TV($EXPECT($L101, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11531
+ var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11528
11532
  return { $loc, token: $1 };
11529
11533
  });
11530
11534
  function Ampersand(ctx, state) {
@@ -11572,7 +11576,7 @@ var require_parser = __commonJS({
11572
11576
  function By(ctx, state) {
11573
11577
  return $EVENT(ctx, state, "By", By$0);
11574
11578
  }
11575
- var Caret$0 = $TV($EXPECT($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
11579
+ var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
11576
11580
  return { $loc, token: $1 };
11577
11581
  });
11578
11582
  function Caret(ctx, state) {
@@ -11596,19 +11600,19 @@ var require_parser = __commonJS({
11596
11600
  function Class(ctx, state) {
11597
11601
  return $EVENT(ctx, state, "Class", Class$0);
11598
11602
  }
11599
- var CloseAngleBracket$0 = $TV($EXPECT($L37, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11603
+ var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11600
11604
  return { $loc, token: $1 };
11601
11605
  });
11602
11606
  function CloseAngleBracket(ctx, state) {
11603
11607
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
11604
11608
  }
11605
- var CloseBrace$0 = $TV($EXPECT($L29, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11609
+ var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11606
11610
  return { $loc, token: $1 };
11607
11611
  });
11608
11612
  function CloseBrace(ctx, state) {
11609
11613
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11610
11614
  }
11611
- var CloseBracket$0 = $TV($EXPECT($L38, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11615
+ var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11612
11616
  return { $loc, token: $1 };
11613
11617
  });
11614
11618
  function CloseBracket(ctx, state) {
@@ -11632,7 +11636,7 @@ var require_parser = __commonJS({
11632
11636
  function Colon(ctx, state) {
11633
11637
  return $EVENT(ctx, state, "Colon", Colon$0);
11634
11638
  }
11635
- var Comma$0 = $TV($EXPECT($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
11639
+ var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11636
11640
  return { $loc, token: $1 };
11637
11641
  });
11638
11642
  function Comma(ctx, state) {
@@ -11671,7 +11675,7 @@ var require_parser = __commonJS({
11671
11675
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11672
11676
  return { $loc, token: $1 };
11673
11677
  });
11674
- var Dot$1 = $TS($S($EXPECT($R68, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11678
+ var Dot$1 = $TS($S($EXPECT($R69, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11675
11679
  var ws = $2;
11676
11680
  return [
11677
11681
  { $loc, token: "." },
@@ -11732,97 +11736,97 @@ var require_parser = __commonJS({
11732
11736
  function Equals(ctx, state) {
11733
11737
  return $EVENT(ctx, state, "Equals", Equals$0);
11734
11738
  }
11735
- var ExclamationPoint$0 = $TV($EXPECT($L20, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11739
+ var ExclamationPoint$0 = $TV($EXPECT($L142, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11736
11740
  return { $loc, token: $1 };
11737
11741
  });
11738
11742
  function ExclamationPoint(ctx, state) {
11739
11743
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11740
11744
  }
11741
- var Export$0 = $TS($S($EXPECT($L142, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
+ var Export$0 = $TS($S($EXPECT($L143, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11742
11746
  return { $loc, token: $1 };
11743
11747
  });
11744
11748
  function Export(ctx, state) {
11745
11749
  return $EVENT(ctx, state, "Export", Export$0);
11746
11750
  }
11747
- var Extends$0 = $TS($S($EXPECT($L143, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11751
+ var Extends$0 = $TS($S($EXPECT($L144, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11748
11752
  return { $loc, token: $1 };
11749
11753
  });
11750
11754
  function Extends(ctx, state) {
11751
11755
  return $EVENT(ctx, state, "Extends", Extends$0);
11752
11756
  }
11753
- var Finally$0 = $TS($S($EXPECT($L144, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
+ var Finally$0 = $TS($S($EXPECT($L145, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11754
11758
  return { $loc, token: $1 };
11755
11759
  });
11756
11760
  function Finally(ctx, state) {
11757
11761
  return $EVENT(ctx, state, "Finally", Finally$0);
11758
11762
  }
11759
- var For$0 = $TS($S($EXPECT($L145, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11763
+ var For$0 = $TS($S($EXPECT($L146, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11760
11764
  return { $loc, token: $1 };
11761
11765
  });
11762
11766
  function For(ctx, state) {
11763
11767
  return $EVENT(ctx, state, "For", For$0);
11764
11768
  }
11765
- var From$0 = $TS($S($EXPECT($L146, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11769
+ var From$0 = $TS($S($EXPECT($L147, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11766
11770
  return { $loc, token: $1 };
11767
11771
  });
11768
11772
  function From(ctx, state) {
11769
11773
  return $EVENT(ctx, state, "From", From$0);
11770
11774
  }
11771
- var Function$0 = $TS($S($EXPECT($L147, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11775
+ var Function$0 = $TS($S($EXPECT($L148, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11772
11776
  return { $loc, token: $1 };
11773
11777
  });
11774
11778
  function Function(ctx, state) {
11775
11779
  return $EVENT(ctx, state, "Function", Function$0);
11776
11780
  }
11777
- var GetOrSet$0 = $TS($S($C($EXPECT($L148, 'GetOrSet "get"'), $EXPECT($L149, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11781
+ var GetOrSet$0 = $TS($S($C($EXPECT($L149, 'GetOrSet "get"'), $EXPECT($L150, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11778
11782
  return { $loc, token: $1, type: "GetOrSet" };
11779
11783
  });
11780
11784
  function GetOrSet(ctx, state) {
11781
11785
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11782
11786
  }
11783
- var Hash$0 = $TV($EXPECT($L150, 'Hash "#"'), function($skip, $loc, $0, $1) {
11787
+ var Hash$0 = $TV($EXPECT($L151, 'Hash "#"'), function($skip, $loc, $0, $1) {
11784
11788
  return { $loc, token: $1 };
11785
11789
  });
11786
11790
  function Hash(ctx, state) {
11787
11791
  return $EVENT(ctx, state, "Hash", Hash$0);
11788
11792
  }
11789
- var If$0 = $TV($TEXT($S($EXPECT($L151, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11793
+ var If$0 = $TV($TEXT($S($EXPECT($L152, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11790
11794
  return { $loc, token: $1 };
11791
11795
  });
11792
11796
  function If(ctx, state) {
11793
11797
  return $EVENT(ctx, state, "If", If$0);
11794
11798
  }
11795
- var Import$0 = $TS($S($EXPECT($L19, 'Import "import"'), $Y($EXPECT($R69, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11799
+ var Import$0 = $TS($S($EXPECT($L19, 'Import "import"'), $Y($EXPECT($R70, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11796
11800
  return { $loc, token: $1 };
11797
11801
  });
11798
11802
  function Import(ctx, state) {
11799
11803
  return $EVENT(ctx, state, "Import", Import$0);
11800
11804
  }
11801
- var In$0 = $TS($S($EXPECT($L152, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11805
+ var In$0 = $TS($S($EXPECT($L153, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11802
11806
  return { $loc, token: $1 };
11803
11807
  });
11804
11808
  function In(ctx, state) {
11805
11809
  return $EVENT(ctx, state, "In", In$0);
11806
11810
  }
11807
- var Infer$0 = $TS($S($EXPECT($L153, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11811
+ var Infer$0 = $TS($S($EXPECT($L154, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11808
11812
  return { $loc, token: $1 };
11809
11813
  });
11810
11814
  function Infer(ctx, state) {
11811
11815
  return $EVENT(ctx, state, "Infer", Infer$0);
11812
11816
  }
11813
- var LetOrConst$0 = $TS($S($C($EXPECT($L154, 'LetOrConst "let"'), $EXPECT($L155, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11817
+ var LetOrConst$0 = $TS($S($C($EXPECT($L155, 'LetOrConst "let"'), $EXPECT($L156, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11814
11818
  return { $loc, token: $1 };
11815
11819
  });
11816
11820
  function LetOrConst(ctx, state) {
11817
11821
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11818
11822
  }
11819
- var Const$0 = $TS($S($EXPECT($L155, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11823
+ var Const$0 = $TS($S($EXPECT($L156, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11820
11824
  return { $loc, token: $1 };
11821
11825
  });
11822
11826
  function Const(ctx, state) {
11823
11827
  return $EVENT(ctx, state, "Const", Const$0);
11824
11828
  }
11825
- var Is$0 = $TS($S($EXPECT($L156, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11829
+ var Is$0 = $TS($S($EXPECT($L157, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11826
11830
  return { $loc, token: $1 };
11827
11831
  });
11828
11832
  function Is(ctx, state) {
@@ -11834,25 +11838,25 @@ var require_parser = __commonJS({
11834
11838
  function LetOrConstOrVar(ctx, state) {
11835
11839
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11836
11840
  }
11837
- var Loop$0 = $TS($S($EXPECT($L157, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11841
+ var Loop$0 = $TS($S($EXPECT($L158, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11838
11842
  return { $loc, token: "while(true)" };
11839
11843
  });
11840
11844
  function Loop(ctx, state) {
11841
11845
  return $EVENT(ctx, state, "Loop", Loop$0);
11842
11846
  }
11843
- var New$0 = $TS($S($EXPECT($L158, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11847
+ var New$0 = $TS($S($EXPECT($L159, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11844
11848
  return { $loc, token: $1 };
11845
11849
  });
11846
11850
  function New(ctx, state) {
11847
11851
  return $EVENT(ctx, state, "New", New$0);
11848
11852
  }
11849
- var Not$0 = $TS($S($EXPECT($L159, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11853
+ var Not$0 = $TS($S($EXPECT($L160, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11850
11854
  return { $loc, token: "!" };
11851
11855
  });
11852
11856
  function Not(ctx, state) {
11853
11857
  return $EVENT(ctx, state, "Not", Not$0);
11854
11858
  }
11855
- var Of$0 = $TS($S($EXPECT($L160, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11859
+ var Of$0 = $TS($S($EXPECT($L161, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11856
11860
  return { $loc, token: $1 };
11857
11861
  });
11858
11862
  function Of(ctx, state) {
@@ -11870,7 +11874,7 @@ var require_parser = __commonJS({
11870
11874
  function OpenBrace(ctx, state) {
11871
11875
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11872
11876
  }
11873
- var OpenBracket$0 = $TV($EXPECT($L161, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11877
+ var OpenBracket$0 = $TV($EXPECT($L162, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11874
11878
  return { $loc, token: $1 };
11875
11879
  });
11876
11880
  function OpenBracket(ctx, state) {
@@ -11882,43 +11886,43 @@ var require_parser = __commonJS({
11882
11886
  function OpenParen(ctx, state) {
11883
11887
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11884
11888
  }
11885
- var Operator$0 = $TS($S($EXPECT($L162, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11889
+ var Operator$0 = $TS($S($EXPECT($L163, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11886
11890
  return { $loc, token: $1 };
11887
11891
  });
11888
11892
  function Operator(ctx, state) {
11889
11893
  return $EVENT(ctx, state, "Operator", Operator$0);
11890
11894
  }
11891
- var Own$0 = $TS($S($EXPECT($L163, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11895
+ var Own$0 = $TS($S($EXPECT($L164, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11892
11896
  return { $loc, token: $1 };
11893
11897
  });
11894
11898
  function Own(ctx, state) {
11895
11899
  return $EVENT(ctx, state, "Own", Own$0);
11896
11900
  }
11897
- var Public$0 = $TS($S($EXPECT($L164, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11901
+ var Public$0 = $TS($S($EXPECT($L165, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11898
11902
  return { $loc, token: $1 };
11899
11903
  });
11900
11904
  function Public(ctx, state) {
11901
11905
  return $EVENT(ctx, state, "Public", Public$0);
11902
11906
  }
11903
- var Private$0 = $TS($S($EXPECT($L165, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11907
+ var Private$0 = $TS($S($EXPECT($L166, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11904
11908
  return { $loc, token: $1 };
11905
11909
  });
11906
11910
  function Private(ctx, state) {
11907
11911
  return $EVENT(ctx, state, "Private", Private$0);
11908
11912
  }
11909
- var Protected$0 = $TS($S($EXPECT($L166, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11913
+ var Protected$0 = $TS($S($EXPECT($L167, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11910
11914
  return { $loc, token: $1 };
11911
11915
  });
11912
11916
  function Protected(ctx, state) {
11913
11917
  return $EVENT(ctx, state, "Protected", Protected$0);
11914
11918
  }
11915
- var Pipe$0 = $TV($C($EXPECT($L167, 'Pipe "||>"'), $EXPECT($L168, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11919
+ var Pipe$0 = $TV($C($EXPECT($L168, 'Pipe "||>"'), $EXPECT($L169, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11916
11920
  return { $loc, token: "||>" };
11917
11921
  });
11918
- var Pipe$1 = $TV($C($EXPECT($L169, 'Pipe "|>="'), $EXPECT($L170, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11922
+ var Pipe$1 = $TV($C($EXPECT($L170, 'Pipe "|>="'), $EXPECT($L171, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11919
11923
  return { $loc, token: "|>=" };
11920
11924
  });
11921
- var Pipe$2 = $TV($C($EXPECT($L171, 'Pipe "|>"'), $EXPECT($L172, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11925
+ var Pipe$2 = $TV($C($EXPECT($L172, 'Pipe "|>"'), $EXPECT($L173, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11922
11926
  return { $loc, token: "|>" };
11923
11927
  });
11924
11928
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11931,43 +11935,43 @@ var require_parser = __commonJS({
11931
11935
  function QuestionMark(ctx, state) {
11932
11936
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11933
11937
  }
11934
- var Readonly$0 = $TS($S($EXPECT($L173, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11938
+ var Readonly$0 = $TS($S($EXPECT($L174, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11935
11939
  return { $loc, token: $1, ts: true };
11936
11940
  });
11937
11941
  function Readonly(ctx, state) {
11938
11942
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11939
11943
  }
11940
- var Return$0 = $TS($S($EXPECT($L174, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11944
+ var Return$0 = $TS($S($EXPECT($L175, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11941
11945
  return { $loc, token: $1 };
11942
11946
  });
11943
11947
  function Return(ctx, state) {
11944
11948
  return $EVENT(ctx, state, "Return", Return$0);
11945
11949
  }
11946
- var Satisfies$0 = $TS($S($EXPECT($L175, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11950
+ var Satisfies$0 = $TS($S($EXPECT($L176, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11947
11951
  return { $loc, token: $1 };
11948
11952
  });
11949
11953
  function Satisfies(ctx, state) {
11950
11954
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11951
11955
  }
11952
- var Semicolon$0 = $TV($EXPECT($L104, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11956
+ var Semicolon$0 = $TV($EXPECT($L103, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11953
11957
  return { $loc, token: $1 };
11954
11958
  });
11955
11959
  function Semicolon(ctx, state) {
11956
11960
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11957
11961
  }
11958
- var SingleQuote$0 = $TV($EXPECT($L176, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11962
+ var SingleQuote$0 = $TV($EXPECT($L177, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11959
11963
  return { $loc, token: $1 };
11960
11964
  });
11961
11965
  function SingleQuote(ctx, state) {
11962
11966
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11963
11967
  }
11964
- var Star$0 = $TV($EXPECT($L58, 'Star "*"'), function($skip, $loc, $0, $1) {
11968
+ var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11965
11969
  return { $loc, token: $1 };
11966
11970
  });
11967
11971
  function Star(ctx, state) {
11968
11972
  return $EVENT(ctx, state, "Star", Star$0);
11969
11973
  }
11970
- var Static$0 = $TS($S($EXPECT($L177, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11974
+ var Static$0 = $TS($S($EXPECT($L178, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11971
11975
  return { $loc, token: $1 };
11972
11976
  });
11973
11977
  var Static$1 = $TS($S($EXPECT($L120, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L120, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
@@ -11977,127 +11981,127 @@ var require_parser = __commonJS({
11977
11981
  function Static(ctx, state) {
11978
11982
  return $EVENT_C(ctx, state, "Static", Static$$);
11979
11983
  }
11980
- var SubstitutionStart$0 = $TV($EXPECT($L178, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11984
+ var SubstitutionStart$0 = $TV($EXPECT($L179, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11981
11985
  return { $loc, token: $1 };
11982
11986
  });
11983
11987
  function SubstitutionStart(ctx, state) {
11984
11988
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11985
11989
  }
11986
- var Super$0 = $TS($S($EXPECT($L179, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11990
+ var Super$0 = $TS($S($EXPECT($L180, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11987
11991
  return { $loc, token: $1 };
11988
11992
  });
11989
11993
  function Super(ctx, state) {
11990
11994
  return $EVENT(ctx, state, "Super", Super$0);
11991
11995
  }
11992
- var Switch$0 = $TS($S($EXPECT($L180, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11996
+ var Switch$0 = $TS($S($EXPECT($L181, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11993
11997
  return { $loc, token: $1 };
11994
11998
  });
11995
11999
  function Switch(ctx, state) {
11996
12000
  return $EVENT(ctx, state, "Switch", Switch$0);
11997
12001
  }
11998
- var Target$0 = $TS($S($EXPECT($L181, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12002
+ var Target$0 = $TS($S($EXPECT($L182, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11999
12003
  return { $loc, token: $1 };
12000
12004
  });
12001
12005
  function Target(ctx, state) {
12002
12006
  return $EVENT(ctx, state, "Target", Target$0);
12003
12007
  }
12004
- var Then$0 = $TS($S(__, $EXPECT($L182, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12008
+ var Then$0 = $TS($S(__, $EXPECT($L183, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12005
12009
  return { $loc, token: "" };
12006
12010
  });
12007
12011
  function Then(ctx, state) {
12008
12012
  return $EVENT(ctx, state, "Then", Then$0);
12009
12013
  }
12010
- var This$0 = $TS($S($EXPECT($L183, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12014
+ var This$0 = $TS($S($EXPECT($L184, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12011
12015
  return { $loc, token: $1 };
12012
12016
  });
12013
12017
  function This(ctx, state) {
12014
12018
  return $EVENT(ctx, state, "This", This$0);
12015
12019
  }
12016
- var Throw$0 = $TS($S($EXPECT($L184, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12020
+ var Throw$0 = $TS($S($EXPECT($L185, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12017
12021
  return { $loc, token: $1 };
12018
12022
  });
12019
12023
  function Throw(ctx, state) {
12020
12024
  return $EVENT(ctx, state, "Throw", Throw$0);
12021
12025
  }
12022
- var TripleDoubleQuote$0 = $TV($EXPECT($L185, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12026
+ var TripleDoubleQuote$0 = $TV($EXPECT($L186, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12023
12027
  return { $loc, token: "`" };
12024
12028
  });
12025
12029
  function TripleDoubleQuote(ctx, state) {
12026
12030
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
12027
12031
  }
12028
- var TripleSingleQuote$0 = $TV($EXPECT($L186, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12032
+ var TripleSingleQuote$0 = $TV($EXPECT($L187, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12029
12033
  return { $loc, token: "`" };
12030
12034
  });
12031
12035
  function TripleSingleQuote(ctx, state) {
12032
12036
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
12033
12037
  }
12034
- var TripleSlash$0 = $TV($EXPECT($L187, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12038
+ var TripleSlash$0 = $TV($EXPECT($L188, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12035
12039
  return { $loc, token: "/" };
12036
12040
  });
12037
12041
  function TripleSlash(ctx, state) {
12038
12042
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
12039
12043
  }
12040
- var TripleTick$0 = $TV($EXPECT($L188, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12044
+ var TripleTick$0 = $TV($EXPECT($L189, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12041
12045
  return { $loc, token: "`" };
12042
12046
  });
12043
12047
  function TripleTick(ctx, state) {
12044
12048
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
12045
12049
  }
12046
- var Try$0 = $TS($S($EXPECT($L189, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12050
+ var Try$0 = $TS($S($EXPECT($L190, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12047
12051
  return { $loc, token: $1 };
12048
12052
  });
12049
12053
  function Try(ctx, state) {
12050
12054
  return $EVENT(ctx, state, "Try", Try$0);
12051
12055
  }
12052
- var Typeof$0 = $TS($S($EXPECT($L190, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12056
+ var Typeof$0 = $TS($S($EXPECT($L191, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12053
12057
  return { $loc, token: $1 };
12054
12058
  });
12055
12059
  function Typeof(ctx, state) {
12056
12060
  return $EVENT(ctx, state, "Typeof", Typeof$0);
12057
12061
  }
12058
- var Unless$0 = $TS($S($EXPECT($L191, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12062
+ var Unless$0 = $TS($S($EXPECT($L192, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12059
12063
  return { $loc, token: $1, negated: true };
12060
12064
  });
12061
12065
  function Unless(ctx, state) {
12062
12066
  return $EVENT(ctx, state, "Unless", Unless$0);
12063
12067
  }
12064
- var Until$0 = $TS($S($EXPECT($L192, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12068
+ var Until$0 = $TS($S($EXPECT($L193, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12065
12069
  return { $loc, token: $1 };
12066
12070
  });
12067
12071
  function Until(ctx, state) {
12068
12072
  return $EVENT(ctx, state, "Until", Until$0);
12069
12073
  }
12070
- var Using$0 = $TS($S($EXPECT($L193, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12074
+ var Using$0 = $TS($S($EXPECT($L194, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12071
12075
  return { $loc, token: $1 };
12072
12076
  });
12073
12077
  function Using(ctx, state) {
12074
12078
  return $EVENT(ctx, state, "Using", Using$0);
12075
12079
  }
12076
- var Var$0 = $TS($S($EXPECT($L194, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12080
+ var Var$0 = $TS($S($EXPECT($L195, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12077
12081
  return { $loc, token: $1 };
12078
12082
  });
12079
12083
  function Var(ctx, state) {
12080
12084
  return $EVENT(ctx, state, "Var", Var$0);
12081
12085
  }
12082
- var Void$0 = $TS($S($EXPECT($L195, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12086
+ var Void$0 = $TS($S($EXPECT($L196, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12083
12087
  return { $loc, token: $1 };
12084
12088
  });
12085
12089
  function Void(ctx, state) {
12086
12090
  return $EVENT(ctx, state, "Void", Void$0);
12087
12091
  }
12088
- var When$0 = $TS($S($EXPECT($L196, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12092
+ var When$0 = $TS($S($EXPECT($L197, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12089
12093
  return { $loc, token: "case" };
12090
12094
  });
12091
12095
  function When(ctx, state) {
12092
12096
  return $EVENT(ctx, state, "When", When$0);
12093
12097
  }
12094
- var While$0 = $TS($S($EXPECT($L197, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12098
+ var While$0 = $TS($S($EXPECT($L198, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12095
12099
  return { $loc, token: $1 };
12096
12100
  });
12097
12101
  function While(ctx, state) {
12098
12102
  return $EVENT(ctx, state, "While", While$0);
12099
12103
  }
12100
- var Yield$0 = $TS($S($EXPECT($L198, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12104
+ var Yield$0 = $TS($S($EXPECT($L199, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12101
12105
  return { $loc, token: $1, type: "Yield" };
12102
12106
  });
12103
12107
  function Yield(ctx, state) {
@@ -12126,7 +12130,7 @@ var require_parser = __commonJS({
12126
12130
  function JSXImplicitFragment(ctx, state) {
12127
12131
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
12128
12132
  }
12129
- var JSXTag$0 = $T($S($EXPECT($R70, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
12133
+ var JSXTag$0 = $T($S($EXPECT($R71, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
12130
12134
  return value[1];
12131
12135
  });
12132
12136
  function JSXTag(ctx, state) {
@@ -12176,7 +12180,7 @@ var require_parser = __commonJS({
12176
12180
  function JSXElement(ctx, state) {
12177
12181
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12178
12182
  }
12179
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L199, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12183
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L200, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12180
12184
  return { type: "JSXElement", children: $0, tag: $2 };
12181
12185
  });
12182
12186
  function JSXSelfClosingElement(ctx, state) {
@@ -12195,7 +12199,7 @@ var require_parser = __commonJS({
12195
12199
  function PopJSXStack(ctx, state) {
12196
12200
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
12197
12201
  }
12198
- var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L37, 'JSXOpeningElement ">"'));
12202
+ var JSXOpeningElement$0 = $S($EXPECT($L16, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
12199
12203
  function JSXOpeningElement(ctx, state) {
12200
12204
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
12201
12205
  }
@@ -12210,7 +12214,7 @@ var require_parser = __commonJS({
12210
12214
  function JSXOptionalClosingElement(ctx, state) {
12211
12215
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12212
12216
  }
12213
- var JSXClosingElement$0 = $S($EXPECT($L200, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12217
+ var JSXClosingElement$0 = $S($EXPECT($L201, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
12214
12218
  function JSXClosingElement(ctx, state) {
12215
12219
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12216
12220
  }
@@ -12231,7 +12235,7 @@ var require_parser = __commonJS({
12231
12235
  ];
12232
12236
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12233
12237
  });
12234
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L201, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12238
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L202, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12235
12239
  var children = $3;
12236
12240
  $0 = $0.slice(1);
12237
12241
  return {
@@ -12244,7 +12248,7 @@ var require_parser = __commonJS({
12244
12248
  function JSXFragment(ctx, state) {
12245
12249
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12246
12250
  }
12247
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L201, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12251
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L202, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12248
12252
  module.JSXTagStack.push("");
12249
12253
  return $1;
12250
12254
  });
@@ -12261,11 +12265,11 @@ var require_parser = __commonJS({
12261
12265
  function JSXOptionalClosingFragment(ctx, state) {
12262
12266
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12263
12267
  }
12264
- var JSXClosingFragment$0 = $EXPECT($L202, 'JSXClosingFragment "</>"');
12268
+ var JSXClosingFragment$0 = $EXPECT($L203, 'JSXClosingFragment "</>"');
12265
12269
  function JSXClosingFragment(ctx, state) {
12266
12270
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12267
12271
  }
12268
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L150, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12272
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L151, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12269
12273
  return module.config.defaultElement;
12270
12274
  });
12271
12275
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12273,7 +12277,7 @@ var require_parser = __commonJS({
12273
12277
  function JSXElementName(ctx, state) {
12274
12278
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
12275
12279
  }
12276
- var JSXIdentifierName$0 = $R$0($EXPECT($R71, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
12280
+ var JSXIdentifierName$0 = $R$0($EXPECT($R72, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
12277
12281
  function JSXIdentifierName(ctx, state) {
12278
12282
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
12279
12283
  }
@@ -12443,7 +12447,7 @@ var require_parser = __commonJS({
12443
12447
  }
12444
12448
  return $skip;
12445
12449
  });
12446
- var JSXAttribute$5 = $TS($S($EXPECT($L150, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12450
+ var JSXAttribute$5 = $TS($S($EXPECT($L151, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12447
12451
  return [" ", "id=", $2];
12448
12452
  });
12449
12453
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12462,11 +12466,11 @@ var require_parser = __commonJS({
12462
12466
  function JSXAttribute(ctx, state) {
12463
12467
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
12464
12468
  }
12465
- var JSXAttributeSpace$0 = $R$0($EXPECT($R72, "JSXAttributeSpace /[\\s>]|\\/>/"));
12469
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R73, "JSXAttributeSpace /[\\s>]|\\/>/"));
12466
12470
  function JSXAttributeSpace(ctx, state) {
12467
12471
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
12468
12472
  }
12469
- var JSXShorthandString$0 = $TR($EXPECT($R73, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12473
+ var JSXShorthandString$0 = $TR($EXPECT($R74, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12470
12474
  return quoteString($0);
12471
12475
  });
12472
12476
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -12500,7 +12504,7 @@ var require_parser = __commonJS({
12500
12504
  }
12501
12505
  return [open, value, close];
12502
12506
  });
12503
- var JSXAttributeValue$4 = $R$0($EXPECT($R74, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12507
+ var JSXAttributeValue$4 = $R$0($EXPECT($R75, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12504
12508
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
12505
12509
  function JSXAttributeValue(ctx, state) {
12506
12510
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -12513,7 +12517,7 @@ var require_parser = __commonJS({
12513
12517
  function InlineJSXAttributeValue(ctx, state) {
12514
12518
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
12515
12519
  }
12516
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R75, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12520
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R76, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12517
12521
  var op = $2;
12518
12522
  var rhs = $3;
12519
12523
  return [[], op, [], rhs];
@@ -12530,7 +12534,7 @@ var require_parser = __commonJS({
12530
12534
  function InlineJSXUnaryExpression(ctx, state) {
12531
12535
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
12532
12536
  }
12533
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R76, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12537
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R77, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12534
12538
  return { $loc, token: $0 };
12535
12539
  });
12536
12540
  function InlineJSXUnaryOp(ctx, state) {
@@ -12620,14 +12624,19 @@ var require_parser = __commonJS({
12620
12624
  function InlineJSXMemberExpression(ctx, state) {
12621
12625
  return $EVENT(ctx, state, "InlineJSXMemberExpression", InlineJSXMemberExpression$0);
12622
12626
  }
12623
- var InlineJSXMemberExpressionRest$0 = $TS($S($E(OptionalShorthand), MemberBracketContent), function($skip, $loc, $0, $1, $2) {
12624
- if ($1) {
12625
- if ($1.type === "Optional" && $2.type === "SliceExpression") {
12626
- return [$1.children[0], $2];
12627
+ var InlineJSXMemberExpressionRest$0 = $TS($S($E(OptionalShorthand), $Q(InlineComment), MemberBracketContent), function($skip, $loc, $0, $1, $2, $3) {
12628
+ var dot = $1;
12629
+ var comments = $2;
12630
+ var content = $3;
12631
+ if (!dot && !comments.length)
12632
+ return content;
12633
+ if (dot) {
12634
+ if (dot.type === "Optional" && content.type === "SliceExpression") {
12635
+ return [...dot.children.slice(0, -1), ...comments, content];
12627
12636
  }
12628
- return $0;
12637
+ return [dot, ...comments, content];
12629
12638
  }
12630
- return $2;
12639
+ return [...comments, content];
12631
12640
  });
12632
12641
  var InlineJSXMemberExpressionRest$1 = PropertyAccess;
12633
12642
  var InlineJSXMemberExpressionRest$2 = PropertyGlob;
@@ -12680,7 +12689,7 @@ var require_parser = __commonJS({
12680
12689
  }
12681
12690
  return $skip;
12682
12691
  });
12683
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L29, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12692
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12684
12693
  return { children: [], jsxChildren: [] };
12685
12694
  });
12686
12695
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12735,19 +12744,19 @@ var require_parser = __commonJS({
12735
12744
  function JSXChild(ctx, state) {
12736
12745
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12737
12746
  }
12738
- var JSXComment$0 = $TS($S($EXPECT($L203, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L204, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12747
+ var JSXComment$0 = $TS($S($EXPECT($L204, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L205, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12739
12748
  return ["{/*", $2, "*/}"];
12740
12749
  });
12741
12750
  function JSXComment(ctx, state) {
12742
12751
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12743
12752
  }
12744
- var JSXCommentContent$0 = $TR($EXPECT($R77, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12753
+ var JSXCommentContent$0 = $TR($EXPECT($R78, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12745
12754
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12746
12755
  });
12747
12756
  function JSXCommentContent(ctx, state) {
12748
12757
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12749
12758
  }
12750
- var JSXText$0 = $TR($EXPECT($R78, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12759
+ var JSXText$0 = $TR($EXPECT($R79, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12751
12760
  return {
12752
12761
  type: "JSXText",
12753
12762
  token: $0,
@@ -12846,7 +12855,7 @@ var require_parser = __commonJS({
12846
12855
  function TypeDeclarationRest(ctx, state) {
12847
12856
  return $EVENT_C(ctx, state, "TypeDeclarationRest", TypeDeclarationRest$$);
12848
12857
  }
12849
- var TypeAliasDeclaration$0 = $TS($S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), OptionalEquals, $C($S($E(_), Type), $S(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12858
+ var TypeAliasDeclaration$0 = $TS($S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), OptionalEquals, $C(MaybeIndentedType, $S(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12850
12859
  var id = $3;
12851
12860
  return {
12852
12861
  type: "TypeDeclaration",
@@ -12855,8 +12864,18 @@ var require_parser = __commonJS({
12855
12864
  ts: true
12856
12865
  };
12857
12866
  });
12867
+ var TypeAliasDeclaration$1 = $TS($S(InsertType, IdentifierName, $E(TypeParameters), __, TypeAssignment, $C(MaybeIndentedType, $S(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12868
+ var id = $2;
12869
+ return {
12870
+ type: "TypeDeclaration",
12871
+ id,
12872
+ children: $0,
12873
+ ts: true
12874
+ };
12875
+ });
12876
+ var TypeAliasDeclaration$$ = [TypeAliasDeclaration$0, TypeAliasDeclaration$1];
12858
12877
  function TypeAliasDeclaration(ctx, state) {
12859
- return $EVENT(ctx, state, "TypeAliasDeclaration", TypeAliasDeclaration$0);
12878
+ return $EVENT_C(ctx, state, "TypeAliasDeclaration", TypeAliasDeclaration$$);
12860
12879
  }
12861
12880
  var InterfaceDeclaration$0 = $TS($S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12862
12881
  var id = $3;
@@ -12912,37 +12931,37 @@ var require_parser = __commonJS({
12912
12931
  function InterfaceExtendsTarget(ctx, state) {
12913
12932
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12914
12933
  }
12915
- var TypeKeyword$0 = $TS($S($EXPECT($L205, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12934
+ var TypeKeyword$0 = $TS($S($EXPECT($L206, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12916
12935
  return { $loc, token: $1 };
12917
12936
  });
12918
12937
  function TypeKeyword(ctx, state) {
12919
12938
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12920
12939
  }
12921
- var Enum$0 = $TS($S($EXPECT($L206, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12940
+ var Enum$0 = $TS($S($EXPECT($L207, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12922
12941
  return { $loc, token: $1 };
12923
12942
  });
12924
12943
  function Enum(ctx, state) {
12925
12944
  return $EVENT(ctx, state, "Enum", Enum$0);
12926
12945
  }
12927
- var Interface$0 = $TS($S($EXPECT($L207, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12946
+ var Interface$0 = $TS($S($EXPECT($L208, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12928
12947
  return { $loc, token: $1 };
12929
12948
  });
12930
12949
  function Interface(ctx, state) {
12931
12950
  return $EVENT(ctx, state, "Interface", Interface$0);
12932
12951
  }
12933
- var Global$0 = $TS($S($EXPECT($L208, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12952
+ var Global$0 = $TS($S($EXPECT($L209, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12934
12953
  return { $loc, token: $1 };
12935
12954
  });
12936
12955
  function Global(ctx, state) {
12937
12956
  return $EVENT(ctx, state, "Global", Global$0);
12938
12957
  }
12939
- var Module$0 = $TS($S($EXPECT($L209, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12958
+ var Module$0 = $TS($S($EXPECT($L210, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12940
12959
  return { $loc, token: $1 };
12941
12960
  });
12942
12961
  function Module(ctx, state) {
12943
12962
  return $EVENT(ctx, state, "Module", Module$0);
12944
12963
  }
12945
- var Namespace$0 = $TS($S($EXPECT($L210, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12964
+ var Namespace$0 = $TS($S($EXPECT($L211, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12946
12965
  return { $loc, token: $1 };
12947
12966
  });
12948
12967
  function Namespace(ctx, state) {
@@ -13158,7 +13177,7 @@ var require_parser = __commonJS({
13158
13177
  function TypeProperty(ctx, state) {
13159
13178
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
13160
13179
  }
13161
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R79, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R80, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
13180
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R80, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R17, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
13162
13181
  function TypeIndexSignature(ctx, state) {
13163
13182
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
13164
13183
  }
@@ -13216,7 +13235,7 @@ var require_parser = __commonJS({
13216
13235
  function ReturnTypeSuffix(ctx, state) {
13217
13236
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13218
13237
  }
13219
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L211, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13238
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L212, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13220
13239
  var asserts = $1;
13221
13240
  var t = $2;
13222
13241
  if (asserts) {
@@ -13237,7 +13256,7 @@ var require_parser = __commonJS({
13237
13256
  function ReturnType(ctx, state) {
13238
13257
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13239
13258
  }
13240
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L156, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13259
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L157, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13241
13260
  var lhs = $1;
13242
13261
  var rhs = $2;
13243
13262
  if (!rhs)
@@ -13295,8 +13314,8 @@ var require_parser = __commonJS({
13295
13314
  function TypeUnarySuffix(ctx, state) {
13296
13315
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13297
13316
  }
13298
- var TypeUnaryOp$0 = $S($EXPECT($L212, 'TypeUnaryOp "keyof"'), NonIdContinue);
13299
- var TypeUnaryOp$1 = $S($EXPECT($L173, 'TypeUnaryOp "readonly"'), NonIdContinue);
13317
+ var TypeUnaryOp$0 = $S($EXPECT($L213, 'TypeUnaryOp "keyof"'), NonIdContinue);
13318
+ var TypeUnaryOp$1 = $S($EXPECT($L174, 'TypeUnaryOp "readonly"'), NonIdContinue);
13300
13319
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13301
13320
  function TypeUnaryOp(ctx, state) {
13302
13321
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13326,7 +13345,7 @@ var require_parser = __commonJS({
13326
13345
  function TypeIndexedAccess(ctx, state) {
13327
13346
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13328
13347
  }
13329
- var UnknownAlias$0 = $TV($EXPECT($L213, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13348
+ var UnknownAlias$0 = $TV($EXPECT($L214, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13330
13349
  return { $loc, token: "unknown" };
13331
13350
  });
13332
13351
  function UnknownAlias(ctx, state) {
@@ -13343,7 +13362,7 @@ var require_parser = __commonJS({
13343
13362
  return { ...$2, children: [$1, ...$2.children] };
13344
13363
  });
13345
13364
  var TypePrimary$3 = InterfaceBlock;
13346
- var TypePrimary$4 = $S($E(_), FunctionType);
13365
+ var TypePrimary$4 = $S($E(_), TypeFunction);
13347
13366
  var TypePrimary$5 = $S($E(_), InlineInterfaceLiteral);
13348
13367
  var TypePrimary$6 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
13349
13368
  var t = $2;
@@ -13532,10 +13551,10 @@ var require_parser = __commonJS({
13532
13551
  }
13533
13552
  var TypeLiteral$0 = TypeTemplateLiteral;
13534
13553
  var TypeLiteral$1 = Literal;
13535
- var TypeLiteral$2 = $TS($S($EXPECT($L195, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13554
+ var TypeLiteral$2 = $TS($S($EXPECT($L196, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13536
13555
  return { type: "VoidType", $loc, token: $1 };
13537
13556
  });
13538
- var TypeLiteral$3 = $TV($EXPECT($L214, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13557
+ var TypeLiteral$3 = $TV($EXPECT($L215, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13539
13558
  return { $loc, token: "[]" };
13540
13559
  });
13541
13560
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13554,33 +13573,33 @@ var require_parser = __commonJS({
13554
13573
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13555
13574
  return value[1];
13556
13575
  });
13557
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L117, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13576
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L117, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
13558
13577
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13559
13578
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13560
13579
  function InlineInterfacePropertyDelimiter(ctx, state) {
13561
13580
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
13562
13581
  }
13563
- var TypeBinaryOp$0 = $TV($EXPECT($L102, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13582
+ var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13564
13583
  return { $loc, token: "|" };
13565
13584
  });
13566
- var TypeBinaryOp$1 = $TV($EXPECT($L101, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13585
+ var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13567
13586
  return { $loc, token: "&" };
13568
13587
  });
13569
13588
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
13570
13589
  function TypeBinaryOp(ctx, state) {
13571
13590
  return $EVENT_C(ctx, state, "TypeBinaryOp", TypeBinaryOp$$);
13572
13591
  }
13573
- var FunctionType$0 = $TS($S($E($S($E($S(Abstract, $E(_))), New, $E(_))), Parameters, __, TypeArrowFunction, $E(ReturnType)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13592
+ var TypeFunction$0 = $TS($S($E($S($E($S(Abstract, $E(_))), New, $E(_))), Parameters, __, TypeArrowFunction, $E(ReturnType)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13574
13593
  var type = $5;
13575
13594
  if (type) {
13576
13595
  return $0;
13577
13596
  }
13578
13597
  return [...$0, "void"];
13579
13598
  });
13580
- function FunctionType(ctx, state) {
13581
- return $EVENT(ctx, state, "FunctionType", FunctionType$0);
13599
+ function TypeFunction(ctx, state) {
13600
+ return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
13582
13601
  }
13583
- var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L27, 'TypeArrowFunction "->"'), $EXPECT($L28, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13602
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L12, 'TypeArrowFunction "=>"'), $EXPECT($L13, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13584
13603
  return { $loc, token: "=>" };
13585
13604
  });
13586
13605
  function TypeArrowFunction(ctx, state) {
@@ -13606,8 +13625,8 @@ var require_parser = __commonJS({
13606
13625
  function TypeArgumentDelimiter(ctx, state) {
13607
13626
  return $EVENT(ctx, state, "TypeArgumentDelimiter", TypeArgumentDelimiter$0);
13608
13627
  }
13609
- var TypeParameters$0 = $TS($S($E(_), OpenAngleBracket, $P(TypeParameter), __, CloseAngleBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13610
- var parameters = $3;
13628
+ var TypeParameters$0 = $TS($S(OpenAngleBracket, $P(TypeParameter), __, CloseAngleBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
13629
+ var parameters = $2;
13611
13630
  return {
13612
13631
  type: "TypeParameters",
13613
13632
  parameters,
@@ -13618,11 +13637,11 @@ var require_parser = __commonJS({
13618
13637
  function TypeParameters(ctx, state) {
13619
13638
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13620
13639
  }
13621
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L155, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13640
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L156, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13622
13641
  function TypeParameter(ctx, state) {
13623
13642
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13624
13643
  }
13625
- var TypeConstraint$0 = $S(__, $EXPECT($L143, 'TypeConstraint "extends"'), NonIdContinue, Type);
13644
+ var TypeConstraint$0 = $S(__, ExtendsToken, Type);
13626
13645
  function TypeConstraint(ctx, state) {
13627
13646
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
13628
13647
  }
@@ -13631,7 +13650,7 @@ var require_parser = __commonJS({
13631
13650
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
13632
13651
  }
13633
13652
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
13634
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L37, 'TypeParameterDelimiter ">"')));
13653
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
13635
13654
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
13636
13655
  return value[1];
13637
13656
  });
@@ -13661,7 +13680,7 @@ var require_parser = __commonJS({
13661
13680
  function CivetPrologue(ctx, state) {
13662
13681
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13663
13682
  }
13664
- var CivetPrologueContent$0 = $TS($S($EXPECT($L215, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13683
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L216, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13665
13684
  var options = $3;
13666
13685
  return {
13667
13686
  type: "CivetPrologue",
@@ -13845,6 +13864,12 @@ var require_parser = __commonJS({
13845
13864
  function InsertVar(ctx, state) {
13846
13865
  return $EVENT(ctx, state, "InsertVar", InsertVar$0);
13847
13866
  }
13867
+ var InsertType$0 = $TV($EXPECT($L0, 'InsertType ""'), function($skip, $loc, $0, $1) {
13868
+ return { $loc, token: "type " };
13869
+ });
13870
+ function InsertType(ctx, state) {
13871
+ return $EVENT(ctx, state, "InsertType", InsertType$0);
13872
+ }
13848
13873
  var CoffeeBinaryExistentialEnabled$0 = $TV($EXPECT($L0, 'CoffeeBinaryExistentialEnabled ""'), function($skip, $loc, $0, $1) {
13849
13874
  if (module.config.coffeeBinaryExistential)
13850
13875
  return;
@@ -14064,9 +14089,9 @@ var require_parser = __commonJS({
14064
14089
  hasProp(hasPropRef) {
14065
14090
  const typeSuffix = {
14066
14091
  ts: true,
14067
- children: [": <T>(object: T, prop: keyof T) => boolean"]
14092
+ children: [": <T>(object: T, prop: PropertyKey) => boolean"]
14068
14093
  };
14069
- module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = {}.constructor.hasOwn", asAny, ";\n"]]);
14094
+ module.prelude.push(["", [preludeVar, hasPropRef, typeSuffix, " = ({}.constructor", asAny, ").hasOwn;\n"]]);
14070
14095
  },
14071
14096
  is(isRef) {
14072
14097
  const typeSuffix = {
@@ -14756,6 +14781,7 @@ var require_parser = __commonJS({
14756
14781
  exports.LexicalDeclaration = LexicalDeclaration;
14757
14782
  exports.ConstAssignment = ConstAssignment;
14758
14783
  exports.LetAssignment = LetAssignment;
14784
+ exports.TypeAssignment = TypeAssignment;
14759
14785
  exports.LexicalBinding = LexicalBinding;
14760
14786
  exports.Initializer = Initializer;
14761
14787
  exports.VariableStatement = VariableStatement;
@@ -15031,7 +15057,7 @@ var require_parser = __commonJS({
15031
15057
  exports.InlineBasicInterfaceProperty = InlineBasicInterfaceProperty;
15032
15058
  exports.InlineInterfacePropertyDelimiter = InlineInterfacePropertyDelimiter;
15033
15059
  exports.TypeBinaryOp = TypeBinaryOp;
15034
- exports.FunctionType = FunctionType;
15060
+ exports.TypeFunction = TypeFunction;
15035
15061
  exports.TypeArrowFunction = TypeArrowFunction;
15036
15062
  exports.TypeArguments = TypeArguments;
15037
15063
  exports.TypeArgument = TypeArgument;
@@ -15073,6 +15099,7 @@ var require_parser = __commonJS({
15073
15099
  exports.InsertDot = InsertDot;
15074
15100
  exports.InsertBreak = InsertBreak;
15075
15101
  exports.InsertVar = InsertVar;
15102
+ exports.InsertType = InsertType;
15076
15103
  exports.CoffeeBinaryExistentialEnabled = CoffeeBinaryExistentialEnabled;
15077
15104
  exports.CoffeeBooleansEnabled = CoffeeBooleansEnabled;
15078
15105
  exports.CoffeeClassesEnabled = CoffeeClassesEnabled;