@danielx/civet 0.7.35 → 0.8.0

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
@@ -1125,17 +1125,24 @@ function parenthesizeType(type) {
1125
1125
  return ["(", type, ")"];
1126
1126
  }
1127
1127
  function wrapIIFE(expressions, asyncFlag, generator) {
1128
- let prefix;
1128
+ let awaitPrefix;
1129
1129
  const async = [];
1130
1130
  if (asyncFlag) {
1131
1131
  async.push("async ");
1132
1132
  } else if (hasAwait(expressions)) {
1133
1133
  async.push("async ");
1134
- prefix = {
1134
+ awaitPrefix = {
1135
1135
  type: "Await",
1136
1136
  children: ["await "]
1137
1137
  };
1138
1138
  }
1139
+ let yieldWrap = false;
1140
+ if (!generator) {
1141
+ if (hasYield(expressions)) {
1142
+ generator = "*";
1143
+ yieldWrap = true;
1144
+ }
1145
+ }
1139
1146
  const block = makeNode({
1140
1147
  type: "BlockStatement",
1141
1148
  expressions,
@@ -1190,12 +1197,27 @@ function wrapIIFE(expressions, asyncFlag, generator) {
1190
1197
  children[children.length - 1] = (ref4 = parameters.children)[ref4.length - 1] = "(arguments)";
1191
1198
  }
1192
1199
  }
1193
- const exp = makeNode({
1200
+ let exp = makeNode({
1194
1201
  type: "CallExpression",
1195
1202
  children
1196
1203
  });
1197
- if (prefix) {
1198
- return makeLeftHandSideExpression([prefix, exp]);
1204
+ if (yieldWrap) {
1205
+ exp = makeLeftHandSideExpression(makeNode({
1206
+ type: "YieldExpression",
1207
+ star: "*",
1208
+ expression: exp,
1209
+ children: [
1210
+ {
1211
+ type: "Yield",
1212
+ children: ["yield"]
1213
+ },
1214
+ "*",
1215
+ " ",
1216
+ exp
1217
+ ]
1218
+ }));
1219
+ } else if (awaitPrefix) {
1220
+ exp = makeLeftHandSideExpression([awaitPrefix, exp]);
1199
1221
  }
1200
1222
  return exp;
1201
1223
  }
@@ -2277,6 +2299,9 @@ function expressionizeIteration(exp) {
2277
2299
  function skipImplicitArguments(args) {
2278
2300
  if (args.length === 1) {
2279
2301
  let arg0 = args[0];
2302
+ if (arg0.type === "Argument") {
2303
+ arg0 = arg0.expression;
2304
+ }
2280
2305
  if (arg0.type === "StatementExpression") {
2281
2306
  arg0 = arg0.statement;
2282
2307
  }
@@ -6391,6 +6416,7 @@ function processProgram(root) {
6391
6416
  assert.equal(state2.forbidBracedApplication.length, 1, "forbidBracedApplication");
6392
6417
  assert.equal(state2.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
6393
6418
  assert.equal(state2.forbidIndentedApplication.length, 1, "forbidIndentedApplication");
6419
+ assert.equal(state2.forbidNestedBinaryOp.length, 1, "forbidNestedBinaryOp");
6394
6420
  assert.equal(state2.forbidNewlineBinaryOp.length, 1, "forbidNewlineBinaryOp");
6395
6421
  assert.equal(state2.forbidTrailingMemberProperty.length, 1, "forbidTrailingMemberProperty");
6396
6422
  assert.equal(state2.JSXTagStack.length, 1, "JSXTagStack");
@@ -6564,6 +6590,10 @@ function processPlaceholders(statements) {
6564
6590
  let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
6565
6591
  let outer;
6566
6592
  switch (parent?.type) {
6593
+ case "Argument": {
6594
+ outer = ancestor === parent.expression;
6595
+ break;
6596
+ }
6567
6597
  case "Call": {
6568
6598
  outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
6569
6599
  break;
@@ -6783,12 +6813,10 @@ var grammar = {
6783
6813
  NestedTopLevelStatements,
6784
6814
  TopLevelSingleLineStatements,
6785
6815
  TopLevelStatement,
6786
- ExtendedCommaExpression,
6787
- ExtendedExpression,
6788
- SingleLineExtendedExpression,
6789
- NonPipelineExtendedExpression,
6790
- NonAssignmentExtendedExpression,
6791
- NestedNonAssignmentExtendedExpression,
6816
+ Expression,
6817
+ SingleLineExpression,
6818
+ NonPipelineExpression,
6819
+ NestedExpressionizedStatement,
6792
6820
  ExpressionizedStatementWithTrailingCallExpressions,
6793
6821
  ExpressionizedStatement,
6794
6822
  StatementExpression,
@@ -6807,14 +6835,13 @@ var grammar = {
6807
6835
  AllowedTrailingCallExpressions,
6808
6836
  CommaDelimiter,
6809
6837
  ArgumentList,
6810
- NonPipelineArgumentList,
6811
6838
  NestedArgumentList,
6812
6839
  NestedArgument,
6813
6840
  SingleLineArgumentExpressions,
6814
6841
  WArgumentPart,
6815
6842
  ArgumentPart,
6816
- NonPipelineArgumentPart,
6817
6843
  BinaryOpExpression,
6844
+ BinaryOpNotDedented,
6818
6845
  BinaryOpRHS,
6819
6846
  IsLike,
6820
6847
  WRHS,
@@ -6847,12 +6874,15 @@ var grammar = {
6847
6874
  FatArrowToken,
6848
6875
  TrailingDeclaration,
6849
6876
  TrailingPipe,
6877
+ TrailingPostfix,
6850
6878
  FatArrowBody,
6851
6879
  ConditionalExpression,
6852
6880
  TernaryRest,
6853
6881
  NestedTernaryRest,
6854
6882
  ShortCircuitExpression,
6855
6883
  PipelineExpression,
6884
+ PipelineExpressionBody,
6885
+ PipelineExpressionBodySameLine,
6856
6886
  PipelineHeadItem,
6857
6887
  PipelineTailItem,
6858
6888
  PrimaryExpression,
@@ -7062,7 +7092,6 @@ var grammar = {
7062
7092
  PostfixedNoCommaStatement,
7063
7093
  PostfixedExpression,
7064
7094
  PostfixedCommaExpression,
7065
- NonPipelinePostfixedExpression,
7066
7095
  PostfixStatement,
7067
7096
  _PostfixStatement,
7068
7097
  Statement,
@@ -7140,10 +7169,18 @@ var grammar = {
7140
7169
  AllowTrailingMemberProperty,
7141
7170
  RestoreTrailingMemberProperty,
7142
7171
  TrailingMemberPropertyAllowed,
7172
+ AllowNestedBinaryOp,
7173
+ ForbidNestedBinaryOp,
7174
+ RestoreNestedBinaryOp,
7175
+ NestedBinaryOpAllowed,
7143
7176
  AllowNewlineBinaryOp,
7144
7177
  ForbidNewlineBinaryOp,
7145
7178
  RestoreNewlineBinaryOp,
7146
7179
  NewlineBinaryOpAllowed,
7180
+ AllowPipeline,
7181
+ ForbidPipeline,
7182
+ RestorePipeline,
7183
+ PipelineAllowed,
7147
7184
  AllowAll,
7148
7185
  RestoreAll,
7149
7186
  CommaExpressionStatement,
@@ -7154,11 +7191,11 @@ var grammar = {
7154
7191
  Break,
7155
7192
  Continue,
7156
7193
  Debugger,
7157
- MaybeNestedNonPipelineExtendedExpression,
7194
+ MaybeNestedNonPipelineExpression,
7158
7195
  MaybeNestedPostfixedExpression,
7159
- MaybeNestedExtendedExpression,
7160
- NestedExtendedExpression,
7161
- MaybeParenNestedExtendedExpression,
7196
+ MaybeNestedExpression,
7197
+ NestedExpression,
7198
+ MaybeParenNestedExpression,
7162
7199
  ImportDeclaration,
7163
7200
  ImpliedImport,
7164
7201
  ImportClause,
@@ -7982,39 +8019,19 @@ var TopLevelStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
7982
8019
  function TopLevelStatement(ctx, state2) {
7983
8020
  return (0, import_lib3.$EVENT)(ctx, state2, "TopLevelStatement", TopLevelStatement$0);
7984
8021
  }
7985
- var ExtendedCommaExpression$0 = NonAssignmentExtendedExpression;
7986
- var ExtendedCommaExpression$1 = CommaExpression;
7987
- var ExtendedCommaExpression$$ = [ExtendedCommaExpression$0, ExtendedCommaExpression$1];
7988
- function ExtendedCommaExpression(ctx, state2) {
7989
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedCommaExpression", ExtendedCommaExpression$$);
7990
- }
7991
- var ExtendedExpression$0 = NonAssignmentExtendedExpression;
7992
- var ExtendedExpression$1 = AssignmentExpression;
7993
- var ExtendedExpression$$ = [ExtendedExpression$0, ExtendedExpression$1];
7994
- function ExtendedExpression(ctx, state2) {
7995
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedExpression", ExtendedExpression$$);
7996
- }
7997
- var SingleLineExtendedExpression$0 = NonAssignmentExtendedExpression;
7998
- var SingleLineExtendedExpression$1 = SingleLineAssignmentExpression;
7999
- var SingleLineExtendedExpression$$ = [SingleLineExtendedExpression$0, SingleLineExtendedExpression$1];
8000
- function SingleLineExtendedExpression(ctx, state2) {
8001
- return (0, import_lib3.$EVENT_C)(ctx, state2, "SingleLineExtendedExpression", SingleLineExtendedExpression$$);
8002
- }
8003
- var NonPipelineExtendedExpression$0 = NonAssignmentExtendedExpression;
8004
- var NonPipelineExtendedExpression$1 = NonPipelineAssignmentExpression;
8005
- var NonPipelineExtendedExpression$$ = [NonPipelineExtendedExpression$0, NonPipelineExtendedExpression$1];
8006
- function NonPipelineExtendedExpression(ctx, state2) {
8007
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineExtendedExpression", NonPipelineExtendedExpression$$);
8008
- }
8009
- var NonAssignmentExtendedExpression$0 = NestedNonAssignmentExtendedExpression;
8010
- var NonAssignmentExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatementWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
8011
- return prepend($1, $2);
8012
- });
8013
- var NonAssignmentExtendedExpression$$ = [NonAssignmentExtendedExpression$0, NonAssignmentExtendedExpression$1];
8014
- function NonAssignmentExtendedExpression(ctx, state2) {
8015
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonAssignmentExtendedExpression", NonAssignmentExtendedExpression$$);
8022
+ var Expression$0 = AssignmentExpression;
8023
+ function Expression(ctx, state2) {
8024
+ return (0, import_lib3.$EVENT)(ctx, state2, "Expression", Expression$0);
8025
+ }
8026
+ var SingleLineExpression$0 = SingleLineAssignmentExpression;
8027
+ function SingleLineExpression(ctx, state2) {
8028
+ return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpression", SingleLineExpression$0);
8016
8029
  }
8017
- var NestedNonAssignmentExtendedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExpressionizedStatementWithTrailingCallExpressions)), PopIndent, (0, import_lib3.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8030
+ var NonPipelineExpression$0 = NonPipelineAssignmentExpression;
8031
+ function NonPipelineExpression(ctx, state2) {
8032
+ return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineExpression", NonPipelineExpression$0);
8033
+ }
8034
+ var NestedExpressionizedStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExpressionizedStatementWithTrailingCallExpressions)), PopIndent, (0, import_lib3.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8018
8035
  var expression = $3;
8019
8036
  var trailing = $5;
8020
8037
  if (!expression)
@@ -8026,8 +8043,8 @@ var NestedNonAssignmentExtendedExpression$0 = (0, import_lib3.$TS)((0, import_li
8026
8043
  children: [expression, ...trailing.flat()]
8027
8044
  };
8028
8045
  });
8029
- function NestedNonAssignmentExtendedExpression(ctx, state2) {
8030
- return (0, import_lib3.$EVENT)(ctx, state2, "NestedNonAssignmentExtendedExpression", NestedNonAssignmentExtendedExpression$0);
8046
+ function NestedExpressionizedStatement(ctx, state2) {
8047
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedExpressionizedStatement", NestedExpressionizedStatement$0);
8031
8048
  }
8032
8049
  var ExpressionizedStatementWithTrailingCallExpressions$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExpressionizedStatement, (0, import_lib3.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2) {
8033
8050
  if (!$2)
@@ -8092,11 +8109,13 @@ var Arguments$$ = [Arguments$0, Arguments$1];
8092
8109
  function Arguments(ctx, state2) {
8093
8110
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Arguments", Arguments$$);
8094
8111
  }
8095
- var ImplicitArguments$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ApplicationStart, InsertOpenParen, (0, import_lib3.$E)(Trimmed_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8112
+ var ImplicitArguments$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ApplicationStart, InsertOpenParen, (0, import_lib3.$E)(Trimmed_), ForbidNestedBinaryOp, ForbidPipeline, (0, import_lib3.$E)(ArgumentList), RestorePipeline, RestoreNestedBinaryOp, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8096
8113
  var open = $2;
8097
8114
  var ws = $3;
8098
- var args = $4;
8099
- var close = $5;
8115
+ var args = $6;
8116
+ var close = $9;
8117
+ if (!args)
8118
+ return $skip;
8100
8119
  if (skipImplicitArguments(args))
8101
8120
  return $skip;
8102
8121
  args = stripTrailingImplicitComma(args);
@@ -8209,33 +8228,7 @@ var CommaDelimiter$0 = (0, import_lib3.$S)(NotDedented, Comma);
8209
8228
  function CommaDelimiter(ctx, state2) {
8210
8229
  return (0, import_lib3.$EVENT)(ctx, state2, "CommaDelimiter", CommaDelimiter$0);
8211
8230
  }
8212
- var ArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$N)(EOS), (0, import_lib3.$E)(_), ArgumentPart)), (0, import_lib3.$P)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
8213
- return [
8214
- $1,
8215
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
8216
- ...$3.flatMap(
8217
- ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
8218
- )
8219
- ];
8220
- });
8221
- var ArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedBulletedArray), function($skip, $loc, $0, $1) {
8222
- return [trimFirstSpace($1)];
8223
- });
8224
- var ArgumentList$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
8225
- return [trimFirstSpace($1)];
8226
- });
8227
- var ArgumentList$3 = NestedArgumentList;
8228
- var ArgumentList$4 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$E)(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
8229
- return [
8230
- prepend($1, $2),
8231
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8232
- ];
8233
- });
8234
- var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3, ArgumentList$4];
8235
- function ArgumentList(ctx, state2) {
8236
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8237
- }
8238
- var NonPipelineArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$N)(EOS), (0, import_lib3.$E)(_), NonPipelineArgumentPart)), (0, import_lib3.$P)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3, $4) {
8231
+ var ArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$N)(EOS), (0, import_lib3.$E)(_), ArgumentPart)), (0, import_lib3.$P)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3, $4) {
8239
8232
  return [
8240
8233
  $2,
8241
8234
  ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
@@ -8244,7 +8237,7 @@ var NonPipelineArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, imp
8244
8237
  )
8245
8238
  ];
8246
8239
  });
8247
- var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral), (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2) {
8240
+ var ArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral), (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$C)(NestedBulletedArray, NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2) {
8248
8241
  return [
8249
8242
  trimFirstSpace($1),
8250
8243
  ...$2.flatMap(
@@ -8252,19 +8245,19 @@ var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, imp
8252
8245
  )
8253
8246
  ];
8254
8247
  });
8255
- var NonPipelineArgumentList$2 = NestedArgumentList;
8256
- var NonPipelineArgumentList$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$E)(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2) {
8248
+ var ArgumentList$2 = NestedArgumentList;
8249
+ var ArgumentList$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ArgumentPart, (0, import_lib3.$Q)((0, import_lib3.$S)(CommaDelimiter, (0, import_lib3.$E)(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
8257
8250
  return [
8258
- $1,
8259
- ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8251
+ prepend($1, $2),
8252
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8260
8253
  ];
8261
8254
  });
8262
- var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
8263
- function NonPipelineArgumentList(ctx, state2) {
8264
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentList", NonPipelineArgumentList$$);
8255
+ var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
8256
+ function ArgumentList(ctx, state2) {
8257
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8265
8258
  }
8266
- var NestedArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedArgument), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8267
- var args = $2;
8259
+ var NestedArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, AllowPipeline, AllowTrailingMemberProperty, (0, import_lib3.$Q)(NestedArgument), RestoreTrailingMemberProperty, RestorePipeline, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8260
+ var args = $4;
8268
8261
  if (!args.length)
8269
8262
  return $skip;
8270
8263
  return args.flat();
@@ -8295,7 +8288,7 @@ var WArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$
8295
8288
  function WArgumentPart(ctx, state2) {
8296
8289
  return (0, import_lib3.$EVENT)(ctx, state2, "WArgumentPart", WArgumentPart$0);
8297
8290
  }
8298
- var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2) {
8291
+ var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, Expression), function($skip, $loc, $0, $1, $2) {
8299
8292
  var spread = $1;
8300
8293
  var expression = $2;
8301
8294
  return {
@@ -8305,7 +8298,7 @@ var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, Extende
8305
8298
  spread
8306
8299
  };
8307
8300
  });
8308
- var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8301
+ var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8309
8302
  var expression = $1;
8310
8303
  var spread = $2;
8311
8304
  return {
@@ -8319,17 +8312,6 @@ var ArgumentPart$$ = [ArgumentPart$0, ArgumentPart$1];
8319
8312
  function ArgumentPart(ctx, state2) {
8320
8313
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentPart", ArgumentPart$$);
8321
8314
  }
8322
- var NonPipelineArgumentPart$0 = (0, import_lib3.$S)(DotDotDot, NonPipelineExtendedExpression);
8323
- var NonPipelineArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8324
- if ($2) {
8325
- return [$2, $1];
8326
- }
8327
- return $1;
8328
- });
8329
- var NonPipelineArgumentPart$$ = [NonPipelineArgumentPart$0, NonPipelineArgumentPart$1];
8330
- function NonPipelineArgumentPart(ctx, state2) {
8331
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentPart", NonPipelineArgumentPart$$);
8332
- }
8333
8315
  var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpression, (0, import_lib3.$Q)(BinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
8334
8316
  if (!$2.length)
8335
8317
  return $1;
@@ -8338,7 +8320,13 @@ var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpress
8338
8320
  function BinaryOpExpression(ctx, state2) {
8339
8321
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8340
8322
  }
8341
- var BinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NotDedented, IsLike, (0, import_lib3.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
8323
+ var BinaryOpNotDedented$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$C)(NestedBinaryOpAllowed, (0, import_lib3.$N)(Nested)), NotDedented), function(value) {
8324
+ return value[1];
8325
+ });
8326
+ function BinaryOpNotDedented(ctx, state2) {
8327
+ return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8328
+ }
8329
+ var BinaryOpRHS$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(BinaryOpNotDedented, IsLike, (0, import_lib3.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
8342
8330
  var ws1 = $1;
8343
8331
  var op = $2;
8344
8332
  var ws2 = $3;
@@ -8433,7 +8421,7 @@ var UnaryBody$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeDoEnabled, Do,
8433
8421
  var UnaryBody$1 = ParenthesizedAssignment;
8434
8422
  var UnaryBody$2 = ExpressionizedStatementWithTrailingCallExpressions;
8435
8423
  var UnaryBody$3 = UpdateExpression;
8436
- var UnaryBody$4 = NestedNonAssignmentExtendedExpression;
8424
+ var UnaryBody$4 = NestedExpressionizedStatement;
8437
8425
  var UnaryBody$$ = [UnaryBody$0, UnaryBody$1, UnaryBody$2, UnaryBody$3, UnaryBody$4];
8438
8426
  function UnaryBody(ctx, state2) {
8439
8427
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryBody", UnaryBody$$);
@@ -8450,14 +8438,14 @@ function MaybeNestedCoffeeDoBody(ctx, state2) {
8450
8438
  }
8451
8439
  var CoffeeDoBody$0 = ArrowFunction;
8452
8440
  var CoffeeDoBody$1 = (0, import_lib3.$S)(LeftHandSideExpression, (0, import_lib3.$N)((0, import_lib3.$S)(__, AssignmentOpSymbol)));
8453
- var CoffeeDoBody$2 = ExtendedExpression;
8441
+ var CoffeeDoBody$2 = Expression;
8454
8442
  var CoffeeDoBody$$ = [CoffeeDoBody$0, CoffeeDoBody$1, CoffeeDoBody$2];
8455
8443
  function CoffeeDoBody(ctx, state2) {
8456
8444
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeDoBody", CoffeeDoBody$$);
8457
8445
  }
8458
8446
  var UnaryWithoutParenthesizedAssignmentBody$0 = UpdateExpression;
8459
8447
  var UnaryWithoutParenthesizedAssignmentBody$1 = ExpressionizedStatementWithTrailingCallExpressions;
8460
- var UnaryWithoutParenthesizedAssignmentBody$2 = NestedNonAssignmentExtendedExpression;
8448
+ var UnaryWithoutParenthesizedAssignmentBody$2 = NestedExpressionizedStatement;
8461
8449
  var UnaryWithoutParenthesizedAssignmentBody$$ = [UnaryWithoutParenthesizedAssignmentBody$0, UnaryWithoutParenthesizedAssignmentBody$1, UnaryWithoutParenthesizedAssignmentBody$2];
8462
8450
  function UnaryWithoutParenthesizedAssignmentBody(ctx, state2) {
8463
8451
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
@@ -8597,7 +8585,7 @@ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail
8597
8585
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
8598
8586
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
8599
8587
  }
8600
- var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2) {
8588
+ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedExpression), function($skip, $loc, $0, $1, $2) {
8601
8589
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8602
8590
  $0 = [$1, $2];
8603
8591
  return {
@@ -8614,7 +8602,7 @@ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
8614
8602
  function ActualAssignment(ctx, state2) {
8615
8603
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
8616
8604
  }
8617
- var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedNonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
8605
+ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, UpdateExpression, WAssignmentOp)), MaybeNestedNonPipelineExpression), function($skip, $loc, $0, $1, $2) {
8618
8606
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8619
8607
  $0 = [$1, $2];
8620
8608
  return {
@@ -8631,7 +8619,7 @@ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0,
8631
8619
  function NonPipelineActualAssignment(ctx, state2) {
8632
8620
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
8633
8621
  }
8634
- var YieldExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Yield, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), Star)), MaybeParenNestedExtendedExpression))), function($skip, $loc, $0, $1, $2) {
8622
+ var YieldExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Yield, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), Star)), MaybeParenNestedExpression))), function($skip, $loc, $0, $1, $2) {
8635
8623
  if ($2) {
8636
8624
  const [star, expression] = $2;
8637
8625
  return {
@@ -8701,7 +8689,11 @@ var TrailingPipe$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), Pipe);
8701
8689
  function TrailingPipe(ctx, state2) {
8702
8690
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPipe", TrailingPipe$0);
8703
8691
  }
8704
- var FatArrowBody$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), (0, import_lib3.$N)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatement)), NonPipelinePostfixedExpression, (0, import_lib3.$N)(TrailingDeclaration), (0, import_lib3.$N)(TrailingPipe), (0, import_lib3.$N)(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8692
+ var TrailingPostfix$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement);
8693
+ function TrailingPostfix(ctx, state2) {
8694
+ return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPostfix", TrailingPostfix$0);
8695
+ }
8696
+ var FatArrowBody$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), (0, import_lib3.$N)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatement)), NonPipelineExpression, (0, import_lib3.$N)(TrailingDeclaration), (0, import_lib3.$N)(TrailingPipe), (0, import_lib3.$N)(TrailingPostfix), (0, import_lib3.$N)(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8705
8697
  var exp = $3;
8706
8698
  if (exp.type === "ObjectExpression") {
8707
8699
  exp = makeLeftHandSideExpression(exp);
@@ -8730,15 +8722,15 @@ function ConditionalExpression(ctx, state2) {
8730
8722
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8731
8723
  }
8732
8724
  var TernaryRest$0 = NestedTernaryRest;
8733
- var TernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeBinaryExistentialEnabled), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, MaybeNestedExtendedExpression, __, Colon, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8725
+ var TernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeBinaryExistentialEnabled), (0, import_lib3.$Y)((0, import_lib3.$EXPECT)($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, MaybeNestedExpression, __, Colon, MaybeNestedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
8734
8726
  return $0.slice(2);
8735
8727
  });
8736
8728
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8737
8729
  function TernaryRest(ctx, state2) {
8738
8730
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8739
8731
  }
8740
- var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExtendedExpression, Nested, Colon, MaybeNestedExtendedExpression);
8741
- var NestedTernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExtendedExpression, Nested, Colon, MaybeNestedExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8732
+ var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExpression, Nested, Colon, MaybeNestedExpression);
8733
+ var NestedTernaryRest$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExpression, Nested, Colon, MaybeNestedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8742
8734
  if ($2)
8743
8735
  return $2;
8744
8736
  return $skip;
@@ -8751,10 +8743,10 @@ var ShortCircuitExpression$0 = BinaryOpExpression;
8751
8743
  function ShortCircuitExpression(ctx, state2) {
8752
8744
  return (0, import_lib3.$EVENT)(ctx, state2, "ShortCircuitExpression", ShortCircuitExpression$0);
8753
8745
  }
8754
- var PipelineExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), PipelineHeadItem, (0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, Pipe, __, PipelineTailItem))), function($skip, $loc, $0, $1, $2, $3) {
8755
- var ws = $1;
8756
- var head = $2;
8757
- var body = $3;
8746
+ var PipelineExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PipelineAllowed, (0, import_lib3.$E)(_), PipelineHeadItem, PipelineExpressionBody), function($skip, $loc, $0, $1, $2, $3, $4) {
8747
+ var ws = $2;
8748
+ var head = $3;
8749
+ var body = $4;
8758
8750
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
8759
8751
  const expressions = [{
8760
8752
  type: "PipelineExpression",
@@ -8776,7 +8768,26 @@ var PipelineExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
8776
8768
  function PipelineExpression(ctx, state2) {
8777
8769
  return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpression", PipelineExpression$0);
8778
8770
  }
8779
- var PipelineHeadItem$0 = NonPipelineExtendedExpression;
8771
+ var PipelineExpressionBody$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PipelineExpressionBodySameLine, PushIndent, (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$S)(Nested, Pipe, __, PipelineTailItem), PipelineExpressionBodySameLine)), PopIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
8772
+ var first = $1;
8773
+ var rest = $3;
8774
+ if (!rest.length)
8775
+ return $skip;
8776
+ return [
8777
+ ...first,
8778
+ ...rest.map(([nested, line]) => [nested, ...line]).flat()
8779
+ ];
8780
+ });
8781
+ var PipelineExpressionBody$1 = (0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, Pipe, __, PipelineTailItem));
8782
+ var PipelineExpressionBody$$ = [PipelineExpressionBody$0, PipelineExpressionBody$1];
8783
+ function PipelineExpressionBody(ctx, state2) {
8784
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "PipelineExpressionBody", PipelineExpressionBody$$);
8785
+ }
8786
+ var PipelineExpressionBodySameLine$0 = (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$E)(_), Pipe, __, PipelineTailItem));
8787
+ function PipelineExpressionBodySameLine(ctx, state2) {
8788
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpressionBodySameLine", PipelineExpressionBodySameLine$0);
8789
+ }
8790
+ var PipelineHeadItem$0 = NonPipelineExpression;
8780
8791
  var PipelineHeadItem$1 = ParenthesizedExpression;
8781
8792
  var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
8782
8793
  function PipelineHeadItem(ctx, state2) {
@@ -9201,7 +9212,7 @@ var FieldDefinition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeClassesEn
9201
9212
  };
9202
9213
  }
9203
9214
  });
9204
- var FieldDefinition$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertReadonly, ClassElementName, (0, import_lib3.$E)(TypeSuffix), __, ConstAssignment, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9215
+ var FieldDefinition$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertReadonly, ClassElementName, (0, import_lib3.$E)(TypeSuffix), __, ConstAssignment, MaybeNestedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9205
9216
  var r = $1;
9206
9217
  var ca = $5;
9207
9218
  r.children[0].$loc = {
@@ -9504,7 +9515,7 @@ var MemberBracketContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBracke
9504
9515
  function MemberBracketContent(ctx, state2) {
9505
9516
  return (0, import_lib3.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9506
9517
  }
9507
- var SliceParameters$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, __, (0, import_lib3.$C)(DotDotDot, DotDot), (0, import_lib3.$E)(ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
9518
+ var SliceParameters$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, __, (0, import_lib3.$C)(DotDotDot, DotDot), (0, import_lib3.$E)(Expression)), function($skip, $loc, $0, $1, $2, $3, $4) {
9508
9519
  var start = $1;
9509
9520
  var ws = $2;
9510
9521
  var sep = $3;
@@ -9528,7 +9539,7 @@ var SliceParameters$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpress
9528
9539
  children
9529
9540
  };
9530
9541
  });
9531
- var SliceParameters$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, (0, import_lib3.$C)(DotDotDot, DotDot), ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
9542
+ var SliceParameters$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, (0, import_lib3.$C)(DotDotDot, DotDot), Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
9532
9543
  var l = $1;
9533
9544
  var ws = $2;
9534
9545
  var sep = $3;
@@ -11234,7 +11245,7 @@ var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2];
11234
11245
  function _ArrayLiteral(ctx, state2) {
11235
11246
  return (0, import_lib3.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11236
11247
  }
11237
- var RangeExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, __, (0, import_lib3.$C)(DotDotDot, DotDot), ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
11248
+ var RangeExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, __, (0, import_lib3.$C)(DotDotDot, DotDot), Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
11238
11249
  var s = $1;
11239
11250
  var ws = $2;
11240
11251
  var range = $3;
@@ -11298,7 +11309,7 @@ var RangeExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpress
11298
11309
  end: e
11299
11310
  };
11300
11311
  });
11301
- var RangeExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, __, DotDot, (0, import_lib3.$Y)((0, import_lib3.$S)(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
11312
+ var RangeExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, __, DotDot, (0, import_lib3.$Y)((0, import_lib3.$S)(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
11302
11313
  var s = $1;
11303
11314
  var ws = $2;
11304
11315
  return {
@@ -11406,7 +11417,7 @@ var ArrayElementExpression$0 = JSXTag;
11406
11417
  var ArrayElementExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)(ImplicitObjectLiteral, (0, import_lib3.$Y)(ArrayElementDelimiter)), function(value) {
11407
11418
  return value[0];
11408
11419
  });
11409
- var ArrayElementExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, (0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$Y)(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
11420
+ var ArrayElementExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, (0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$Y)(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
11410
11421
  var exp = $1;
11411
11422
  var ws = $2;
11412
11423
  var dots = $3;
@@ -11449,10 +11460,10 @@ var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression
11449
11460
  function ArrayElementExpression(ctx, state2) {
11450
11461
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArrayElementExpression", ArrayElementExpression$$);
11451
11462
  }
11452
- var NestedBulletedArray$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$S)(InsertSpace, InsertOpenBracket), PushIndent, (0, import_lib3.$Q)(NestedArrayBullet), InsertCloseBracket, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11463
+ var NestedBulletedArray$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$S)(InsertSpace, InsertOpenBracket), PushIndent, AllowPipeline, (0, import_lib3.$Q)(NestedArrayBullet), RestorePipeline, InsertCloseBracket, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
11453
11464
  var open = $1;
11454
- var content = $3;
11455
- var close = $4;
11465
+ var content = $4;
11466
+ var close = $6;
11456
11467
  if (!content.length)
11457
11468
  return $skip;
11458
11469
  content = content.flat();
@@ -11619,8 +11630,8 @@ var BracedObjectLiteralContent$$ = [BracedObjectLiteralContent$0, BracedObjectLi
11619
11630
  function BracedObjectLiteralContent(ctx, state2) {
11620
11631
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
11621
11632
  }
11622
- var NestedImplicitObjectLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenBrace, PushIndent, (0, import_lib3.$E)(NestedImplicitPropertyDefinitions), PopIndent, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
11623
- var properties = $3;
11633
+ var NestedImplicitObjectLiteral$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenBrace, PushIndent, AllowPipeline, (0, import_lib3.$E)(NestedImplicitPropertyDefinitions), RestorePipeline, PopIndent, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11634
+ var properties = $4;
11624
11635
  if (!properties)
11625
11636
  return $skip;
11626
11637
  return {
@@ -11776,7 +11787,7 @@ var PropertyDefinition$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
11776
11787
  return $skip;
11777
11788
  return prepend(ws, def);
11778
11789
  });
11779
- var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
11790
+ var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, Expression), function($skip, $loc, $0, $1, $2, $3) {
11780
11791
  var ws = $1;
11781
11792
  var dots = $2;
11782
11793
  var exp = $3;
@@ -11872,7 +11883,7 @@ var NamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, (0,
11872
11883
  function NamedProperty(ctx, state2) {
11873
11884
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
11874
11885
  }
11875
- var SnugNamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, Colon, MaybeNestedExtendedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement), (0, import_lib3.$Y)((0, import_lib3.$S)(Nested, NamedProperty))))), function($skip, $loc, $0, $1, $2, $3, $4) {
11886
+ var SnugNamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, Colon, MaybeNestedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement), (0, import_lib3.$Y)((0, import_lib3.$S)(Nested, NamedProperty))))), function($skip, $loc, $0, $1, $2, $3, $4) {
11876
11887
  var name = $1;
11877
11888
  var colon = $2;
11878
11889
  var expression = $3;
@@ -12313,18 +12324,23 @@ function CoffeeWordAssignmentOp(ctx, state2) {
12313
12324
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeWordAssignmentOp", CoffeeWordAssignmentOp$$);
12314
12325
  }
12315
12326
  var NotDedentedBinaryOp$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(IndentedFurther), (0, import_lib3.$E)(_), BinaryOp), function($skip, $loc, $0, $1, $2, $3) {
12327
+ var ws1 = $1;
12328
+ var ws2 = $2;
12329
+ var op = $3;
12316
12330
  const ws = [];
12317
- if ($1)
12318
- ws.push(...$1);
12319
- if ($2)
12320
- ws.push(...$2);
12321
- return [ws, $3];
12331
+ if (ws1)
12332
+ ws.push(...ws1);
12333
+ if (ws2)
12334
+ ws.push(...ws2);
12335
+ return [ws, op];
12322
12336
  });
12323
- var NotDedentedBinaryOp$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Nested, (0, import_lib3.$E)(_), (0, import_lib3.$N)(Identifier), (0, import_lib3.$C)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($L75, 'NotDedentedBinaryOp "*"')), (0, import_lib3.$N)(ImportDeclaration)), BinaryOp), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12324
- var op = $5;
12325
- const ws = [...$1];
12326
- if ($2)
12327
- ws.push(...$2);
12337
+ var NotDedentedBinaryOp$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedBinaryOpAllowed, Nested, (0, import_lib3.$E)(_), (0, import_lib3.$N)(Identifier), (0, import_lib3.$C)((0, import_lib3.$N)((0, import_lib3.$EXPECT)($L75, 'NotDedentedBinaryOp "*"')), (0, import_lib3.$N)(ImportDeclaration)), BinaryOp), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12338
+ var ws1 = $2;
12339
+ var ws2 = $3;
12340
+ var op = $6;
12341
+ const ws = [...ws1];
12342
+ if (ws2)
12343
+ ws.push(...ws2);
12328
12344
  return [ws, op];
12329
12345
  });
12330
12346
  var NotDedentedBinaryOp$$ = [NotDedentedBinaryOp$0, NotDedentedBinaryOp$1];
@@ -12729,7 +12745,7 @@ var PostfixedNoCommaStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NoCom
12729
12745
  function PostfixedNoCommaStatement(ctx, state2) {
12730
12746
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedNoCommaStatement", PostfixedNoCommaStatement$0);
12731
12747
  }
12732
- var PostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
12748
+ var PostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
12733
12749
  var expression = $1;
12734
12750
  var post = $2;
12735
12751
  if (post)
@@ -12752,16 +12768,6 @@ var PostfixedCommaExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Postfi
12752
12768
  function PostfixedCommaExpression(ctx, state2) {
12753
12769
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12754
12770
  }
12755
- var NonPipelinePostfixedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineExtendedExpression, (0, import_lib3.$E)((0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement))), function($skip, $loc, $0, $1, $2) {
12756
- var expression = $1;
12757
- var post = $2;
12758
- if (post)
12759
- return attachPostfixStatementAsExpression(expression, post);
12760
- return expression;
12761
- });
12762
- function NonPipelinePostfixedExpression(ctx, state2) {
12763
- return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
12764
- }
12765
12771
  var PostfixStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($R29, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
12766
12772
  return value[1];
12767
12773
  });
@@ -13645,7 +13651,7 @@ var Condition$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, Decl
13645
13651
  expression
13646
13652
  };
13647
13653
  });
13648
- var Condition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, InsertOpenParen, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExtendedExpression)), InsertCloseParen, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13654
+ var Condition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, InsertOpenParen, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Expression)), InsertCloseParen, PopIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13649
13655
  var open = $2;
13650
13656
  var expression = $3;
13651
13657
  var close = $4;
@@ -13674,7 +13680,7 @@ var Condition$$ = [Condition$0, Condition$1, Condition$2, Condition$3, Condition
13674
13680
  function Condition(ctx, state2) {
13675
13681
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Condition", Condition$$);
13676
13682
  }
13677
- var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13683
+ var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, Expression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13678
13684
  var open = $1;
13679
13685
  var expression = $2;
13680
13686
  var close = $3;
@@ -13703,7 +13709,7 @@ var DeclarationCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidBrac
13703
13709
  function DeclarationCondition(ctx, state2) {
13704
13710
  return (0, import_lib3.$EVENT)(ctx, state2, "DeclarationCondition", DeclarationCondition$0);
13705
13711
  }
13706
- var ExpressionWithIndentedApplicationForbidden$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidIndentedApplication, ForbidNewlineBinaryOp, (0, import_lib3.$E)(ExtendedExpression), RestoreNewlineBinaryOp, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13712
+ var ExpressionWithIndentedApplicationForbidden$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidIndentedApplication, ForbidNewlineBinaryOp, (0, import_lib3.$E)(Expression), RestoreNewlineBinaryOp, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13707
13713
  var exp = $3;
13708
13714
  if (exp)
13709
13715
  return exp;
@@ -13721,7 +13727,7 @@ var SingleLineExpressionWithIndentedApplicationForbidden$0 = (0, import_lib3.$TS
13721
13727
  function SingleLineExpressionWithIndentedApplicationForbidden(ctx, state2) {
13722
13728
  return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpressionWithIndentedApplicationForbidden", SingleLineExpressionWithIndentedApplicationForbidden$0);
13723
13729
  }
13724
- var ExpressionWithObjectApplicationForbidden$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidBracedApplication, ForbidIndentedApplication, ForbidNewlineBinaryOp, (0, import_lib3.$E)(ExtendedExpression), RestoreNewlineBinaryOp, RestoreBracedApplication, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13730
+ var ExpressionWithObjectApplicationForbidden$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidBracedApplication, ForbidIndentedApplication, ForbidNewlineBinaryOp, (0, import_lib3.$E)(Expression), RestoreNewlineBinaryOp, RestoreBracedApplication, RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13725
13731
  var exp = $4;
13726
13732
  if (exp)
13727
13733
  return exp;
@@ -13851,6 +13857,34 @@ var TrailingMemberPropertyAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPE
13851
13857
  function TrailingMemberPropertyAllowed(ctx, state2) {
13852
13858
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingMemberPropertyAllowed", TrailingMemberPropertyAllowed$0);
13853
13859
  }
13860
+ var AllowNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13861
+ state.forbidNestedBinaryOp.push(false);
13862
+ });
13863
+ function AllowNestedBinaryOp(ctx, state2) {
13864
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowNestedBinaryOp", AllowNestedBinaryOp$0);
13865
+ }
13866
+ var ForbidNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13867
+ state.forbidNestedBinaryOp.push(true);
13868
+ });
13869
+ function ForbidNestedBinaryOp(ctx, state2) {
13870
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidNestedBinaryOp", ForbidNestedBinaryOp$0);
13871
+ }
13872
+ var RestoreNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestoreNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13873
+ state.forbidNestedBinaryOp.pop();
13874
+ });
13875
+ function RestoreNestedBinaryOp(ctx, state2) {
13876
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestoreNestedBinaryOp", RestoreNestedBinaryOp$0);
13877
+ }
13878
+ var NestedBinaryOpAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'NestedBinaryOpAllowed ""'), function($skip, $loc, $0, $1) {
13879
+ if (config.verbose) {
13880
+ console.log("forbidNestedBinaryOp:", state.forbidNestedBinaryOp);
13881
+ }
13882
+ if (state.nestedBinaryOpForbidden)
13883
+ return $skip;
13884
+ });
13885
+ function NestedBinaryOpAllowed(ctx, state2) {
13886
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedBinaryOpAllowed", NestedBinaryOpAllowed$0);
13887
+ }
13854
13888
  var AllowNewlineBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNewlineBinaryOp ""'), function($skip, $loc, $0, $1) {
13855
13889
  state.forbidNewlineBinaryOp.push(false);
13856
13890
  });
@@ -13879,11 +13913,39 @@ var NewlineBinaryOpAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0
13879
13913
  function NewlineBinaryOpAllowed(ctx, state2) {
13880
13914
  return (0, import_lib3.$EVENT)(ctx, state2, "NewlineBinaryOpAllowed", NewlineBinaryOpAllowed$0);
13881
13915
  }
13882
- var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNewlineBinaryOp);
13916
+ var AllowPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowPipeline ""'), function($skip, $loc, $0, $1) {
13917
+ state.forbidPipeline.push(false);
13918
+ });
13919
+ function AllowPipeline(ctx, state2) {
13920
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowPipeline", AllowPipeline$0);
13921
+ }
13922
+ var ForbidPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidPipeline ""'), function($skip, $loc, $0, $1) {
13923
+ state.forbidPipeline.push(true);
13924
+ });
13925
+ function ForbidPipeline(ctx, state2) {
13926
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidPipeline", ForbidPipeline$0);
13927
+ }
13928
+ var RestorePipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestorePipeline ""'), function($skip, $loc, $0, $1) {
13929
+ state.forbidPipeline.pop();
13930
+ });
13931
+ function RestorePipeline(ctx, state2) {
13932
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestorePipeline", RestorePipeline$0);
13933
+ }
13934
+ var PipelineAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PipelineAllowed ""'), function($skip, $loc, $0, $1) {
13935
+ if (config.verbose) {
13936
+ console.log("forbidPipeline:", state.forbidPipeline);
13937
+ }
13938
+ if (state.pipelineForbidden)
13939
+ return $skip;
13940
+ });
13941
+ function PipelineAllowed(ctx, state2) {
13942
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineAllowed", PipelineAllowed$0);
13943
+ }
13944
+ var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNestedBinaryOp, AllowNewlineBinaryOp, AllowPipeline);
13883
13945
  function AllowAll(ctx, state2) {
13884
13946
  return (0, import_lib3.$EVENT)(ctx, state2, "AllowAll", AllowAll$0);
13885
13947
  }
13886
- var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNewlineBinaryOp);
13948
+ var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNestedBinaryOp, RestoreNewlineBinaryOp, RestorePipeline);
13887
13949
  function RestoreAll(ctx, state2) {
13888
13950
  return (0, import_lib3.$EVENT)(ctx, state2, "RestoreAll", RestoreAll$0);
13889
13951
  }
@@ -13901,7 +13963,7 @@ var ExpressionStatement$$ = [ExpressionStatement$0, ExpressionStatement$1];
13901
13963
  function ExpressionStatement(ctx, state2) {
13902
13964
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExpressionStatement", ExpressionStatement$$);
13903
13965
  }
13904
- var KeywordStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Break, (0, import_lib3.$E)((0, import_lib3.$S)(_, LabelIdentifier)), (0, import_lib3.$E)((0, import_lib3.$S)(_, With, MaybeNestedExtendedExpression))), function($skip, $loc, $0, $1, $2, $3) {
13966
+ var KeywordStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Break, (0, import_lib3.$E)((0, import_lib3.$S)(_, LabelIdentifier)), (0, import_lib3.$E)((0, import_lib3.$S)(_, With, MaybeNestedExpression))), function($skip, $loc, $0, $1, $2, $3) {
13905
13967
  const children = [$1];
13906
13968
  if ($2)
13907
13969
  children.push($2);
@@ -13925,7 +13987,7 @@ var KeywordStatement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, _, S
13925
13987
  children: []
13926
13988
  };
13927
13989
  });
13928
- var KeywordStatement$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0, import_lib3.$E)((0, import_lib3.$S)(_, LabelIdentifier)), (0, import_lib3.$E)((0, import_lib3.$S)(_, With, MaybeNestedExtendedExpression))), function($skip, $loc, $0, $1, $2, $3) {
13990
+ var KeywordStatement$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0, import_lib3.$E)((0, import_lib3.$S)(_, LabelIdentifier)), (0, import_lib3.$E)((0, import_lib3.$S)(_, With, MaybeNestedExpression))), function($skip, $loc, $0, $1, $2, $3) {
13929
13991
  const children = [$1];
13930
13992
  if ($2)
13931
13993
  children.push($2);
@@ -13943,7 +14005,7 @@ var KeywordStatement$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0,
13943
14005
  };
13944
14006
  });
13945
14007
  var KeywordStatement$3 = DebuggerStatement;
13946
- var KeywordStatement$4 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeParenNestedExtendedExpression)), function(value) {
14008
+ var KeywordStatement$4 = (0, import_lib3.$T)((0, import_lib3.$S)(Return, (0, import_lib3.$N)((0, import_lib3.$C)((0, import_lib3.$EXPECT)($L16, 'KeywordStatement ":"'), (0, import_lib3.$EXPECT)($L7, 'KeywordStatement "."'), AfterReturnShorthand)), (0, import_lib3.$E)(MaybeParenNestedExpression)), function(value) {
13947
14009
  var expression = value[2];
13948
14010
  return { "type": "ReturnStatement", "expression": expression, "children": value };
13949
14011
  });
@@ -13958,7 +14020,7 @@ var DebuggerStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Debugger), fun
13958
14020
  function DebuggerStatement(ctx, state2) {
13959
14021
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
13960
14022
  }
13961
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
14023
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExpression), function(value) {
13962
14024
  return { "type": "ThrowStatement", "children": value };
13963
14025
  });
13964
14026
  function ThrowStatement(ctx, state2) {
@@ -13982,16 +14044,16 @@ var Debugger$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPEC
13982
14044
  function Debugger(ctx, state2) {
13983
14045
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
13984
14046
  }
13985
- var MaybeNestedNonPipelineExtendedExpression$0 = NestedBulletedArray;
13986
- var MaybeNestedNonPipelineExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, NonPipelineExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
14047
+ var MaybeNestedNonPipelineExpression$0 = NestedBulletedArray;
14048
+ var MaybeNestedNonPipelineExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, NonPipelineExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13987
14049
  if ($3)
13988
14050
  return $3;
13989
14051
  return $skip;
13990
14052
  });
13991
- var MaybeNestedNonPipelineExtendedExpression$2 = NonPipelineExtendedExpression;
13992
- var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1, MaybeNestedNonPipelineExtendedExpression$2];
13993
- function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
13994
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
14053
+ var MaybeNestedNonPipelineExpression$2 = NonPipelineExpression;
14054
+ var MaybeNestedNonPipelineExpression$$ = [MaybeNestedNonPipelineExpression$0, MaybeNestedNonPipelineExpression$1, MaybeNestedNonPipelineExpression$2];
14055
+ function MaybeNestedNonPipelineExpression(ctx, state2) {
14056
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExpression", MaybeNestedNonPipelineExpression$$);
13995
14057
  }
13996
14058
  var MaybeNestedPostfixedExpression$0 = NestedBulletedArray;
13997
14059
  var MaybeNestedPostfixedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, PostfixedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
@@ -14004,42 +14066,42 @@ var MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeN
14004
14066
  function MaybeNestedPostfixedExpression(ctx, state2) {
14005
14067
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
14006
14068
  }
14007
- var MaybeNestedExtendedExpression$0 = NestedBulletedArray;
14008
- var MaybeNestedExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
14069
+ var MaybeNestedExpression$0 = NestedBulletedArray;
14070
+ var MaybeNestedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Expression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
14009
14071
  if ($3)
14010
14072
  return $3;
14011
14073
  return $skip;
14012
14074
  });
14013
- var MaybeNestedExtendedExpression$2 = ExtendedExpression;
14014
- var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1, MaybeNestedExtendedExpression$2];
14015
- function MaybeNestedExtendedExpression(ctx, state2) {
14016
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
14075
+ var MaybeNestedExpression$2 = Expression;
14076
+ var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
14077
+ function MaybeNestedExpression(ctx, state2) {
14078
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
14017
14079
  }
14018
- var NestedExtendedExpression$0 = NestedBulletedArray;
14019
- var NestedExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, ExtendedExpression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
14080
+ var NestedExpression$0 = NestedBulletedArray;
14081
+ var NestedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Expression)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
14020
14082
  if ($3)
14021
14083
  return $3;
14022
14084
  return $skip;
14023
14085
  });
14024
- var NestedExtendedExpression$$ = [NestedExtendedExpression$0, NestedExtendedExpression$1];
14025
- function NestedExtendedExpression(ctx, state2) {
14026
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExtendedExpression", NestedExtendedExpression$$);
14086
+ var NestedExpression$$ = [NestedExpression$0, NestedExpression$1];
14087
+ function NestedExpression(ctx, state2) {
14088
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExpression", NestedExpression$$);
14027
14089
  }
14028
- var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
14090
+ var MaybeParenNestedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Expression), function(value) {
14029
14091
  return value[1];
14030
14092
  });
14031
- var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14093
+ var MaybeParenNestedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14032
14094
  return value[1];
14033
14095
  });
14034
- var MaybeParenNestedExtendedExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, (0, import_lib3.$S)(Nested, ExtendedExpression), PopIndent, InsertNewline, InsertIndent, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14096
+ var MaybeParenNestedExpression$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), InsertSpace, InsertOpenParen, PushIndent, (0, import_lib3.$S)(Nested, Expression), PopIndent, InsertNewline, InsertIndent, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14035
14097
  var exp = $5;
14036
14098
  if (!exp)
14037
14099
  return $skip;
14038
14100
  return $0.slice(1);
14039
14101
  });
14040
- var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
14041
- function MaybeParenNestedExtendedExpression(ctx, state2) {
14042
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
14102
+ var MaybeParenNestedExpression$$ = [MaybeParenNestedExpression$0, MaybeParenNestedExpression$1, MaybeParenNestedExpression$2];
14103
+ function MaybeParenNestedExpression(ctx, state2) {
14104
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExpression", MaybeParenNestedExpression$$);
14043
14105
  }
14044
14106
  var ImportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Import, _, Identifier, (0, import_lib3.$E)(_), Equals, __, (0, import_lib3.$EXPECT)($L123, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14045
14107
  const imp = [
@@ -14336,7 +14398,7 @@ var ImportedBinding$0 = BindingIdentifier;
14336
14398
  function ImportedBinding(ctx, state2) {
14337
14399
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
14338
14400
  }
14339
- var ExportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Export, (0, import_lib3.$E)(_), Equals, MaybeNestedExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
14401
+ var ExportDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Export, (0, import_lib3.$E)(_), Equals, MaybeNestedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
14340
14402
  const exp = [
14341
14403
  { ...$1, ts: true },
14342
14404
  { ...$1, token: "module.exports", js: true }
@@ -14373,7 +14435,7 @@ var ExportDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
14373
14435
  }
14374
14436
  ];
14375
14437
  });
14376
- var ExportDeclaration$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), Export, __, Default, __, (0, import_lib3.$C)(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, MaybeNestedExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14438
+ var ExportDeclaration$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(Decorators), Export, __, Default, __, (0, import_lib3.$C)(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, MaybeNestedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14377
14439
  var declaration = $6;
14378
14440
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
14379
14441
  });
@@ -14553,7 +14615,7 @@ var LexicalBinding$$ = [LexicalBinding$0, LexicalBinding$1];
14553
14615
  function LexicalBinding(ctx, state2) {
14554
14616
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
14555
14617
  }
14556
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
14618
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExpression), function(value) {
14557
14619
  var expression = value[2];
14558
14620
  return { "type": "Initializer", "expression": expression, "children": value };
14559
14621
  });
@@ -16884,7 +16946,7 @@ var NestedEnumPropertyLine$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, impo
16884
16946
  function NestedEnumPropertyLine(ctx, state2) {
16885
16947
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
16886
16948
  }
16887
- var EnumProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Identifier, (0, import_lib3.$E)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
16949
+ var EnumProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Identifier, (0, import_lib3.$E)((0, import_lib3.$S)(__, Equals, MaybeNestedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
16888
16950
  var name = $1;
16889
16951
  var initializer = $2;
16890
16952
  return {
@@ -18053,7 +18115,9 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
18053
18115
  state.forbidIndentedApplication = [false];
18054
18116
  state.forbidBracedApplication = [false];
18055
18117
  state.forbidTrailingMemberProperty = [false];
18118
+ state.forbidNestedBinaryOp = [false];
18056
18119
  state.forbidNewlineBinaryOp = [false];
18120
+ state.forbidPipeline = [false];
18057
18121
  state.JSXTagStack = [void 0];
18058
18122
  state.operators = /* @__PURE__ */ new Map();
18059
18123
  state.helperRefs = {};
@@ -18324,12 +18388,24 @@ Object.defineProperties(state, {
18324
18388
  return s[s.length - 1];
18325
18389
  }
18326
18390
  },
18391
+ nestedBinaryOpForbidden: {
18392
+ get() {
18393
+ const { forbidNestedBinaryOp: s } = state;
18394
+ return s[s.length - 1];
18395
+ }
18396
+ },
18327
18397
  newlineBinaryOpForbidden: {
18328
18398
  get() {
18329
18399
  const { forbidNewlineBinaryOp: s } = state;
18330
18400
  return s[s.length - 1];
18331
18401
  }
18332
18402
  },
18403
+ pipelineForbidden: {
18404
+ get() {
18405
+ const { forbidPipeline: s } = state;
18406
+ return s[s.length - 1];
18407
+ }
18408
+ },
18333
18409
  currentJSXTag: {
18334
18410
  get() {
18335
18411
  const { JSXTagStack: s } = state;
@@ -18338,12 +18414,12 @@ Object.defineProperties(state, {
18338
18414
  }
18339
18415
  });
18340
18416
  function getStateKey() {
18341
- const stateInt = state.currentIndent.level % 256 << 8 | state.classImplicitCallForbidden << 7 | state.indentedApplicationForbidden << 6 | state.bracedApplicationForbidden << 5 | state.trailingMemberPropertyForbidden << 4 | state.newlineBinaryOpForbidden << 3 | // This is slightly different than the rest of the state,
18417
+ const stateInt = state.currentIndent.level % 256 << 8 | state.classImplicitCallForbidden << 7 | state.indentedApplicationForbidden << 6 | state.bracedApplicationForbidden << 5 | state.trailingMemberPropertyForbidden << 4 | state.nestedBinaryOpForbidden << 3 | state.newlineBinaryOpForbidden << 2 | state.pipelineForbidden << 1 | // This is slightly different than the rest of the state,
18342
18418
  // since it is affected by the directive prologue and may be hit
18343
18419
  // by the EOL rule early in the parse. Later if we wanted to
18344
18420
  // allow block scoping of the compat directives we would need to
18345
18421
  // add them all here.
18346
- config.coffeeComment << 2;
18422
+ config.coffeeComment << 0;
18347
18423
  return [stateInt, state.currentJSXTag];
18348
18424
  }
18349
18425
  function parseProgram(input, options) {
@@ -18743,21 +18819,27 @@ var uncacheable = /* @__PURE__ */ new Set([
18743
18819
  "AllowBracedApplication",
18744
18820
  "AllowIndentedApplication",
18745
18821
  "AllowMultiLineImplicitObjectLiteral",
18822
+ "AllowNestedBinaryOp",
18746
18823
  "AllowNewlineBinaryOp",
18747
18824
  "AllowTrailingMemberProperty",
18825
+ "AllowPipeline",
18748
18826
  "ForbidClassImplicitCall",
18749
18827
  "ForbidBracedApplication",
18750
18828
  "ForbidIndentedApplication",
18751
18829
  "ForbidMultiLineImplicitObjectLiteral",
18830
+ "ForbidNestedBinaryOp",
18752
18831
  "ForbidNewlineBinaryOp",
18753
18832
  "ForbidTrailingMemberProperty",
18833
+ "ForbidPipeline",
18754
18834
  "RestoreAll",
18755
18835
  "RestoreClassImplicitCall",
18756
18836
  "RestoreMultiLineImplicitObjectLiteral",
18757
18837
  "RestoreBracedApplication",
18758
18838
  "RestoreIndentedApplication",
18759
18839
  "RestoreTrailingMemberProperty",
18760
- "RestoreNewlineBinaryOp"
18840
+ "RestoreNestedBinaryOp",
18841
+ "RestoreNewlineBinaryOp",
18842
+ "RestorePipeline"
18761
18843
  ]);
18762
18844
  function compile(src, options) {
18763
18845
  if (!options) {
@@ -18902,13 +18984,16 @@ var makeCache = function({ hits, trace } = {}) {
18902
18984
  };
18903
18985
  }
18904
18986
  if (trace) {
18905
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u2192");
18987
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "{");
18906
18988
  stack.push(ruleName);
18907
18989
  }
18908
18990
  return;
18909
18991
  },
18910
18992
  exit: function(ruleName, state2, result) {
18911
18993
  if (uncacheable.has(ruleName)) {
18994
+ if (trace) {
18995
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u26A0\uFE0F " + (result ? "\u2705" : "\u274C"));
18996
+ }
18912
18997
  return;
18913
18998
  }
18914
18999
  const [stateKey, tagKey] = getStateKey();
@@ -18922,7 +19007,7 @@ var makeCache = function({ hits, trace } = {}) {
18922
19007
  }
18923
19008
  if (trace) {
18924
19009
  stack.pop();
18925
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + " " + (result ? "\u2705" : "\u274C"));
19010
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "} " + (result ? "\u2705" : "\u274C"));
18926
19011
  }
18927
19012
  return;
18928
19013
  }