@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.js CHANGED
@@ -1145,17 +1145,24 @@ function parenthesizeType(type) {
1145
1145
  return ["(", type, ")"];
1146
1146
  }
1147
1147
  function wrapIIFE(expressions, asyncFlag, generator) {
1148
- let prefix;
1148
+ let awaitPrefix;
1149
1149
  const async = [];
1150
1150
  if (asyncFlag) {
1151
1151
  async.push("async ");
1152
1152
  } else if (hasAwait(expressions)) {
1153
1153
  async.push("async ");
1154
- prefix = {
1154
+ awaitPrefix = {
1155
1155
  type: "Await",
1156
1156
  children: ["await "]
1157
1157
  };
1158
1158
  }
1159
+ let yieldWrap = false;
1160
+ if (!generator) {
1161
+ if (hasYield(expressions)) {
1162
+ generator = "*";
1163
+ yieldWrap = true;
1164
+ }
1165
+ }
1159
1166
  const block = makeNode({
1160
1167
  type: "BlockStatement",
1161
1168
  expressions,
@@ -1210,12 +1217,27 @@ function wrapIIFE(expressions, asyncFlag, generator) {
1210
1217
  children[children.length - 1] = (ref4 = parameters.children)[ref4.length - 1] = "(arguments)";
1211
1218
  }
1212
1219
  }
1213
- const exp = makeNode({
1220
+ let exp = makeNode({
1214
1221
  type: "CallExpression",
1215
1222
  children
1216
1223
  });
1217
- if (prefix) {
1218
- return makeLeftHandSideExpression([prefix, exp]);
1224
+ if (yieldWrap) {
1225
+ exp = makeLeftHandSideExpression(makeNode({
1226
+ type: "YieldExpression",
1227
+ star: "*",
1228
+ expression: exp,
1229
+ children: [
1230
+ {
1231
+ type: "Yield",
1232
+ children: ["yield"]
1233
+ },
1234
+ "*",
1235
+ " ",
1236
+ exp
1237
+ ]
1238
+ }));
1239
+ } else if (awaitPrefix) {
1240
+ exp = makeLeftHandSideExpression([awaitPrefix, exp]);
1219
1241
  }
1220
1242
  return exp;
1221
1243
  }
@@ -2297,6 +2319,9 @@ function expressionizeIteration(exp) {
2297
2319
  function skipImplicitArguments(args) {
2298
2320
  if (args.length === 1) {
2299
2321
  let arg0 = args[0];
2322
+ if (arg0.type === "Argument") {
2323
+ arg0 = arg0.expression;
2324
+ }
2300
2325
  if (arg0.type === "StatementExpression") {
2301
2326
  arg0 = arg0.statement;
2302
2327
  }
@@ -6411,6 +6436,7 @@ function processProgram(root) {
6411
6436
  assert.equal(state2.forbidBracedApplication.length, 1, "forbidBracedApplication");
6412
6437
  assert.equal(state2.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
6413
6438
  assert.equal(state2.forbidIndentedApplication.length, 1, "forbidIndentedApplication");
6439
+ assert.equal(state2.forbidNestedBinaryOp.length, 1, "forbidNestedBinaryOp");
6414
6440
  assert.equal(state2.forbidNewlineBinaryOp.length, 1, "forbidNewlineBinaryOp");
6415
6441
  assert.equal(state2.forbidTrailingMemberProperty.length, 1, "forbidTrailingMemberProperty");
6416
6442
  assert.equal(state2.JSXTagStack.length, 1, "JSXTagStack");
@@ -6584,6 +6610,10 @@ function processPlaceholders(statements) {
6584
6610
  let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
6585
6611
  let outer;
6586
6612
  switch (parent?.type) {
6613
+ case "Argument": {
6614
+ outer = ancestor === parent.expression;
6615
+ break;
6616
+ }
6587
6617
  case "Call": {
6588
6618
  outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
6589
6619
  break;
@@ -6803,12 +6833,10 @@ var grammar = {
6803
6833
  NestedTopLevelStatements,
6804
6834
  TopLevelSingleLineStatements,
6805
6835
  TopLevelStatement,
6806
- ExtendedCommaExpression,
6807
- ExtendedExpression,
6808
- SingleLineExtendedExpression,
6809
- NonPipelineExtendedExpression,
6810
- NonAssignmentExtendedExpression,
6811
- NestedNonAssignmentExtendedExpression,
6836
+ Expression,
6837
+ SingleLineExpression,
6838
+ NonPipelineExpression,
6839
+ NestedExpressionizedStatement,
6812
6840
  ExpressionizedStatementWithTrailingCallExpressions,
6813
6841
  ExpressionizedStatement,
6814
6842
  StatementExpression,
@@ -6827,14 +6855,13 @@ var grammar = {
6827
6855
  AllowedTrailingCallExpressions,
6828
6856
  CommaDelimiter,
6829
6857
  ArgumentList,
6830
- NonPipelineArgumentList,
6831
6858
  NestedArgumentList,
6832
6859
  NestedArgument,
6833
6860
  SingleLineArgumentExpressions,
6834
6861
  WArgumentPart,
6835
6862
  ArgumentPart,
6836
- NonPipelineArgumentPart,
6837
6863
  BinaryOpExpression,
6864
+ BinaryOpNotDedented,
6838
6865
  BinaryOpRHS,
6839
6866
  IsLike,
6840
6867
  WRHS,
@@ -6867,12 +6894,15 @@ var grammar = {
6867
6894
  FatArrowToken,
6868
6895
  TrailingDeclaration,
6869
6896
  TrailingPipe,
6897
+ TrailingPostfix,
6870
6898
  FatArrowBody,
6871
6899
  ConditionalExpression,
6872
6900
  TernaryRest,
6873
6901
  NestedTernaryRest,
6874
6902
  ShortCircuitExpression,
6875
6903
  PipelineExpression,
6904
+ PipelineExpressionBody,
6905
+ PipelineExpressionBodySameLine,
6876
6906
  PipelineHeadItem,
6877
6907
  PipelineTailItem,
6878
6908
  PrimaryExpression,
@@ -7082,7 +7112,6 @@ var grammar = {
7082
7112
  PostfixedNoCommaStatement,
7083
7113
  PostfixedExpression,
7084
7114
  PostfixedCommaExpression,
7085
- NonPipelinePostfixedExpression,
7086
7115
  PostfixStatement,
7087
7116
  _PostfixStatement,
7088
7117
  Statement,
@@ -7160,10 +7189,18 @@ var grammar = {
7160
7189
  AllowTrailingMemberProperty,
7161
7190
  RestoreTrailingMemberProperty,
7162
7191
  TrailingMemberPropertyAllowed,
7192
+ AllowNestedBinaryOp,
7193
+ ForbidNestedBinaryOp,
7194
+ RestoreNestedBinaryOp,
7195
+ NestedBinaryOpAllowed,
7163
7196
  AllowNewlineBinaryOp,
7164
7197
  ForbidNewlineBinaryOp,
7165
7198
  RestoreNewlineBinaryOp,
7166
7199
  NewlineBinaryOpAllowed,
7200
+ AllowPipeline,
7201
+ ForbidPipeline,
7202
+ RestorePipeline,
7203
+ PipelineAllowed,
7167
7204
  AllowAll,
7168
7205
  RestoreAll,
7169
7206
  CommaExpressionStatement,
@@ -7174,11 +7211,11 @@ var grammar = {
7174
7211
  Break,
7175
7212
  Continue,
7176
7213
  Debugger,
7177
- MaybeNestedNonPipelineExtendedExpression,
7214
+ MaybeNestedNonPipelineExpression,
7178
7215
  MaybeNestedPostfixedExpression,
7179
- MaybeNestedExtendedExpression,
7180
- NestedExtendedExpression,
7181
- MaybeParenNestedExtendedExpression,
7216
+ MaybeNestedExpression,
7217
+ NestedExpression,
7218
+ MaybeParenNestedExpression,
7182
7219
  ImportDeclaration,
7183
7220
  ImpliedImport,
7184
7221
  ImportClause,
@@ -8002,39 +8039,19 @@ var TopLevelStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
8002
8039
  function TopLevelStatement(ctx, state2) {
8003
8040
  return (0, import_lib3.$EVENT)(ctx, state2, "TopLevelStatement", TopLevelStatement$0);
8004
8041
  }
8005
- var ExtendedCommaExpression$0 = NonAssignmentExtendedExpression;
8006
- var ExtendedCommaExpression$1 = CommaExpression;
8007
- var ExtendedCommaExpression$$ = [ExtendedCommaExpression$0, ExtendedCommaExpression$1];
8008
- function ExtendedCommaExpression(ctx, state2) {
8009
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedCommaExpression", ExtendedCommaExpression$$);
8010
- }
8011
- var ExtendedExpression$0 = NonAssignmentExtendedExpression;
8012
- var ExtendedExpression$1 = AssignmentExpression;
8013
- var ExtendedExpression$$ = [ExtendedExpression$0, ExtendedExpression$1];
8014
- function ExtendedExpression(ctx, state2) {
8015
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedExpression", ExtendedExpression$$);
8016
- }
8017
- var SingleLineExtendedExpression$0 = NonAssignmentExtendedExpression;
8018
- var SingleLineExtendedExpression$1 = SingleLineAssignmentExpression;
8019
- var SingleLineExtendedExpression$$ = [SingleLineExtendedExpression$0, SingleLineExtendedExpression$1];
8020
- function SingleLineExtendedExpression(ctx, state2) {
8021
- return (0, import_lib3.$EVENT_C)(ctx, state2, "SingleLineExtendedExpression", SingleLineExtendedExpression$$);
8022
- }
8023
- var NonPipelineExtendedExpression$0 = NonAssignmentExtendedExpression;
8024
- var NonPipelineExtendedExpression$1 = NonPipelineAssignmentExpression;
8025
- var NonPipelineExtendedExpression$$ = [NonPipelineExtendedExpression$0, NonPipelineExtendedExpression$1];
8026
- function NonPipelineExtendedExpression(ctx, state2) {
8027
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineExtendedExpression", NonPipelineExtendedExpression$$);
8028
- }
8029
- var NonAssignmentExtendedExpression$0 = NestedNonAssignmentExtendedExpression;
8030
- var NonAssignmentExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatementWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
8031
- return prepend($1, $2);
8032
- });
8033
- var NonAssignmentExtendedExpression$$ = [NonAssignmentExtendedExpression$0, NonAssignmentExtendedExpression$1];
8034
- function NonAssignmentExtendedExpression(ctx, state2) {
8035
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonAssignmentExtendedExpression", NonAssignmentExtendedExpression$$);
8042
+ var Expression$0 = AssignmentExpression;
8043
+ function Expression(ctx, state2) {
8044
+ return (0, import_lib3.$EVENT)(ctx, state2, "Expression", Expression$0);
8045
+ }
8046
+ var SingleLineExpression$0 = SingleLineAssignmentExpression;
8047
+ function SingleLineExpression(ctx, state2) {
8048
+ return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpression", SingleLineExpression$0);
8036
8049
  }
8037
- 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) {
8050
+ var NonPipelineExpression$0 = NonPipelineAssignmentExpression;
8051
+ function NonPipelineExpression(ctx, state2) {
8052
+ return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineExpression", NonPipelineExpression$0);
8053
+ }
8054
+ 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) {
8038
8055
  var expression = $3;
8039
8056
  var trailing = $5;
8040
8057
  if (!expression)
@@ -8046,8 +8063,8 @@ var NestedNonAssignmentExtendedExpression$0 = (0, import_lib3.$TS)((0, import_li
8046
8063
  children: [expression, ...trailing.flat()]
8047
8064
  };
8048
8065
  });
8049
- function NestedNonAssignmentExtendedExpression(ctx, state2) {
8050
- return (0, import_lib3.$EVENT)(ctx, state2, "NestedNonAssignmentExtendedExpression", NestedNonAssignmentExtendedExpression$0);
8066
+ function NestedExpressionizedStatement(ctx, state2) {
8067
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedExpressionizedStatement", NestedExpressionizedStatement$0);
8051
8068
  }
8052
8069
  var ExpressionizedStatementWithTrailingCallExpressions$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExpressionizedStatement, (0, import_lib3.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2) {
8053
8070
  if (!$2)
@@ -8112,11 +8129,13 @@ var Arguments$$ = [Arguments$0, Arguments$1];
8112
8129
  function Arguments(ctx, state2) {
8113
8130
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Arguments", Arguments$$);
8114
8131
  }
8115
- 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) {
8132
+ 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) {
8116
8133
  var open = $2;
8117
8134
  var ws = $3;
8118
- var args = $4;
8119
- var close = $5;
8135
+ var args = $6;
8136
+ var close = $9;
8137
+ if (!args)
8138
+ return $skip;
8120
8139
  if (skipImplicitArguments(args))
8121
8140
  return $skip;
8122
8141
  args = stripTrailingImplicitComma(args);
@@ -8229,33 +8248,7 @@ var CommaDelimiter$0 = (0, import_lib3.$S)(NotDedented, Comma);
8229
8248
  function CommaDelimiter(ctx, state2) {
8230
8249
  return (0, import_lib3.$EVENT)(ctx, state2, "CommaDelimiter", CommaDelimiter$0);
8231
8250
  }
8232
- 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) {
8233
- return [
8234
- $1,
8235
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
8236
- ...$3.flatMap(
8237
- ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
8238
- )
8239
- ];
8240
- });
8241
- var ArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedBulletedArray), function($skip, $loc, $0, $1) {
8242
- return [trimFirstSpace($1)];
8243
- });
8244
- var ArgumentList$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
8245
- return [trimFirstSpace($1)];
8246
- });
8247
- var ArgumentList$3 = NestedArgumentList;
8248
- 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) {
8249
- return [
8250
- prepend($1, $2),
8251
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8252
- ];
8253
- });
8254
- var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3, ArgumentList$4];
8255
- function ArgumentList(ctx, state2) {
8256
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8257
- }
8258
- 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) {
8251
+ 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) {
8259
8252
  return [
8260
8253
  $2,
8261
8254
  ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
@@ -8264,7 +8257,7 @@ var NonPipelineArgumentList$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, imp
8264
8257
  )
8265
8258
  ];
8266
8259
  });
8267
- 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) {
8260
+ 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) {
8268
8261
  return [
8269
8262
  trimFirstSpace($1),
8270
8263
  ...$2.flatMap(
@@ -8272,19 +8265,19 @@ var NonPipelineArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, imp
8272
8265
  )
8273
8266
  ];
8274
8267
  });
8275
- var NonPipelineArgumentList$2 = NestedArgumentList;
8276
- 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) {
8268
+ var ArgumentList$2 = NestedArgumentList;
8269
+ 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) {
8277
8270
  return [
8278
- $1,
8279
- ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8271
+ prepend($1, $2),
8272
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8280
8273
  ];
8281
8274
  });
8282
- var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
8283
- function NonPipelineArgumentList(ctx, state2) {
8284
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentList", NonPipelineArgumentList$$);
8275
+ var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
8276
+ function ArgumentList(ctx, state2) {
8277
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8285
8278
  }
8286
- 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) {
8287
- var args = $2;
8279
+ 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) {
8280
+ var args = $4;
8288
8281
  if (!args.length)
8289
8282
  return $skip;
8290
8283
  return args.flat();
@@ -8315,7 +8308,7 @@ var WArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$
8315
8308
  function WArgumentPart(ctx, state2) {
8316
8309
  return (0, import_lib3.$EVENT)(ctx, state2, "WArgumentPart", WArgumentPart$0);
8317
8310
  }
8318
- var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2) {
8311
+ var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, Expression), function($skip, $loc, $0, $1, $2) {
8319
8312
  var spread = $1;
8320
8313
  var expression = $2;
8321
8314
  return {
@@ -8325,7 +8318,7 @@ var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, Extende
8325
8318
  spread
8326
8319
  };
8327
8320
  });
8328
- var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8321
+ var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8329
8322
  var expression = $1;
8330
8323
  var spread = $2;
8331
8324
  return {
@@ -8339,17 +8332,6 @@ var ArgumentPart$$ = [ArgumentPart$0, ArgumentPart$1];
8339
8332
  function ArgumentPart(ctx, state2) {
8340
8333
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentPart", ArgumentPart$$);
8341
8334
  }
8342
- var NonPipelineArgumentPart$0 = (0, import_lib3.$S)(DotDotDot, NonPipelineExtendedExpression);
8343
- var NonPipelineArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8344
- if ($2) {
8345
- return [$2, $1];
8346
- }
8347
- return $1;
8348
- });
8349
- var NonPipelineArgumentPart$$ = [NonPipelineArgumentPart$0, NonPipelineArgumentPart$1];
8350
- function NonPipelineArgumentPart(ctx, state2) {
8351
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentPart", NonPipelineArgumentPart$$);
8352
- }
8353
8335
  var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpression, (0, import_lib3.$Q)(BinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
8354
8336
  if (!$2.length)
8355
8337
  return $1;
@@ -8358,7 +8340,13 @@ var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpress
8358
8340
  function BinaryOpExpression(ctx, state2) {
8359
8341
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8360
8342
  }
8361
- 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) {
8343
+ var BinaryOpNotDedented$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$C)(NestedBinaryOpAllowed, (0, import_lib3.$N)(Nested)), NotDedented), function(value) {
8344
+ return value[1];
8345
+ });
8346
+ function BinaryOpNotDedented(ctx, state2) {
8347
+ return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8348
+ }
8349
+ 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) {
8362
8350
  var ws1 = $1;
8363
8351
  var op = $2;
8364
8352
  var ws2 = $3;
@@ -8453,7 +8441,7 @@ var UnaryBody$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeDoEnabled, Do,
8453
8441
  var UnaryBody$1 = ParenthesizedAssignment;
8454
8442
  var UnaryBody$2 = ExpressionizedStatementWithTrailingCallExpressions;
8455
8443
  var UnaryBody$3 = UpdateExpression;
8456
- var UnaryBody$4 = NestedNonAssignmentExtendedExpression;
8444
+ var UnaryBody$4 = NestedExpressionizedStatement;
8457
8445
  var UnaryBody$$ = [UnaryBody$0, UnaryBody$1, UnaryBody$2, UnaryBody$3, UnaryBody$4];
8458
8446
  function UnaryBody(ctx, state2) {
8459
8447
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryBody", UnaryBody$$);
@@ -8470,14 +8458,14 @@ function MaybeNestedCoffeeDoBody(ctx, state2) {
8470
8458
  }
8471
8459
  var CoffeeDoBody$0 = ArrowFunction;
8472
8460
  var CoffeeDoBody$1 = (0, import_lib3.$S)(LeftHandSideExpression, (0, import_lib3.$N)((0, import_lib3.$S)(__, AssignmentOpSymbol)));
8473
- var CoffeeDoBody$2 = ExtendedExpression;
8461
+ var CoffeeDoBody$2 = Expression;
8474
8462
  var CoffeeDoBody$$ = [CoffeeDoBody$0, CoffeeDoBody$1, CoffeeDoBody$2];
8475
8463
  function CoffeeDoBody(ctx, state2) {
8476
8464
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeDoBody", CoffeeDoBody$$);
8477
8465
  }
8478
8466
  var UnaryWithoutParenthesizedAssignmentBody$0 = UpdateExpression;
8479
8467
  var UnaryWithoutParenthesizedAssignmentBody$1 = ExpressionizedStatementWithTrailingCallExpressions;
8480
- var UnaryWithoutParenthesizedAssignmentBody$2 = NestedNonAssignmentExtendedExpression;
8468
+ var UnaryWithoutParenthesizedAssignmentBody$2 = NestedExpressionizedStatement;
8481
8469
  var UnaryWithoutParenthesizedAssignmentBody$$ = [UnaryWithoutParenthesizedAssignmentBody$0, UnaryWithoutParenthesizedAssignmentBody$1, UnaryWithoutParenthesizedAssignmentBody$2];
8482
8470
  function UnaryWithoutParenthesizedAssignmentBody(ctx, state2) {
8483
8471
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
@@ -8617,7 +8605,7 @@ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail
8617
8605
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
8618
8606
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
8619
8607
  }
8620
- 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) {
8608
+ 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) {
8621
8609
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8622
8610
  $0 = [$1, $2];
8623
8611
  return {
@@ -8634,7 +8622,7 @@ var ActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
8634
8622
  function ActualAssignment(ctx, state2) {
8635
8623
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
8636
8624
  }
8637
- 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) {
8625
+ 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) {
8638
8626
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8639
8627
  $0 = [$1, $2];
8640
8628
  return {
@@ -8651,7 +8639,7 @@ var NonPipelineActualAssignment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0,
8651
8639
  function NonPipelineActualAssignment(ctx, state2) {
8652
8640
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
8653
8641
  }
8654
- 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) {
8642
+ 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) {
8655
8643
  if ($2) {
8656
8644
  const [star, expression] = $2;
8657
8645
  return {
@@ -8721,7 +8709,11 @@ var TrailingPipe$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), Pipe);
8721
8709
  function TrailingPipe(ctx, state2) {
8722
8710
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPipe", TrailingPipe$0);
8723
8711
  }
8724
- 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) {
8712
+ var TrailingPostfix$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement);
8713
+ function TrailingPostfix(ctx, state2) {
8714
+ return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPostfix", TrailingPostfix$0);
8715
+ }
8716
+ 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) {
8725
8717
  var exp = $3;
8726
8718
  if (exp.type === "ObjectExpression") {
8727
8719
  exp = makeLeftHandSideExpression(exp);
@@ -8750,15 +8742,15 @@ function ConditionalExpression(ctx, state2) {
8750
8742
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8751
8743
  }
8752
8744
  var TernaryRest$0 = NestedTernaryRest;
8753
- 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) {
8745
+ 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) {
8754
8746
  return $0.slice(2);
8755
8747
  });
8756
8748
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8757
8749
  function TernaryRest(ctx, state2) {
8758
8750
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8759
8751
  }
8760
- var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExtendedExpression, Nested, Colon, MaybeNestedExtendedExpression);
8761
- 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) {
8752
+ var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExpression, Nested, Colon, MaybeNestedExpression);
8753
+ 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) {
8762
8754
  if ($2)
8763
8755
  return $2;
8764
8756
  return $skip;
@@ -8771,10 +8763,10 @@ var ShortCircuitExpression$0 = BinaryOpExpression;
8771
8763
  function ShortCircuitExpression(ctx, state2) {
8772
8764
  return (0, import_lib3.$EVENT)(ctx, state2, "ShortCircuitExpression", ShortCircuitExpression$0);
8773
8765
  }
8774
- 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) {
8775
- var ws = $1;
8776
- var head = $2;
8777
- var body = $3;
8766
+ 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) {
8767
+ var ws = $2;
8768
+ var head = $3;
8769
+ var body = $4;
8778
8770
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
8779
8771
  const expressions = [{
8780
8772
  type: "PipelineExpression",
@@ -8796,7 +8788,26 @@ var PipelineExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
8796
8788
  function PipelineExpression(ctx, state2) {
8797
8789
  return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpression", PipelineExpression$0);
8798
8790
  }
8799
- var PipelineHeadItem$0 = NonPipelineExtendedExpression;
8791
+ 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) {
8792
+ var first = $1;
8793
+ var rest = $3;
8794
+ if (!rest.length)
8795
+ return $skip;
8796
+ return [
8797
+ ...first,
8798
+ ...rest.map(([nested, line]) => [nested, ...line]).flat()
8799
+ ];
8800
+ });
8801
+ var PipelineExpressionBody$1 = (0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, Pipe, __, PipelineTailItem));
8802
+ var PipelineExpressionBody$$ = [PipelineExpressionBody$0, PipelineExpressionBody$1];
8803
+ function PipelineExpressionBody(ctx, state2) {
8804
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "PipelineExpressionBody", PipelineExpressionBody$$);
8805
+ }
8806
+ var PipelineExpressionBodySameLine$0 = (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$E)(_), Pipe, __, PipelineTailItem));
8807
+ function PipelineExpressionBodySameLine(ctx, state2) {
8808
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpressionBodySameLine", PipelineExpressionBodySameLine$0);
8809
+ }
8810
+ var PipelineHeadItem$0 = NonPipelineExpression;
8800
8811
  var PipelineHeadItem$1 = ParenthesizedExpression;
8801
8812
  var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
8802
8813
  function PipelineHeadItem(ctx, state2) {
@@ -9221,7 +9232,7 @@ var FieldDefinition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(CoffeeClassesEn
9221
9232
  };
9222
9233
  }
9223
9234
  });
9224
- 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) {
9235
+ 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) {
9225
9236
  var r = $1;
9226
9237
  var ca = $5;
9227
9238
  r.children[0].$loc = {
@@ -9524,7 +9535,7 @@ var MemberBracketContent$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBracke
9524
9535
  function MemberBracketContent(ctx, state2) {
9525
9536
  return (0, import_lib3.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9526
9537
  }
9527
- 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) {
9538
+ 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) {
9528
9539
  var start = $1;
9529
9540
  var ws = $2;
9530
9541
  var sep = $3;
@@ -9548,7 +9559,7 @@ var SliceParameters$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpress
9548
9559
  children
9549
9560
  };
9550
9561
  });
9551
- 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) {
9562
+ 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) {
9552
9563
  var l = $1;
9553
9564
  var ws = $2;
9554
9565
  var sep = $3;
@@ -11254,7 +11265,7 @@ var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2];
11254
11265
  function _ArrayLiteral(ctx, state2) {
11255
11266
  return (0, import_lib3.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11256
11267
  }
11257
- 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) {
11268
+ 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) {
11258
11269
  var s = $1;
11259
11270
  var ws = $2;
11260
11271
  var range = $3;
@@ -11318,7 +11329,7 @@ var RangeExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpress
11318
11329
  end: e
11319
11330
  };
11320
11331
  });
11321
- 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) {
11332
+ 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) {
11322
11333
  var s = $1;
11323
11334
  var ws = $2;
11324
11335
  return {
@@ -11426,7 +11437,7 @@ var ArrayElementExpression$0 = JSXTag;
11426
11437
  var ArrayElementExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)(ImplicitObjectLiteral, (0, import_lib3.$Y)(ArrayElementDelimiter)), function(value) {
11427
11438
  return value[0];
11428
11439
  });
11429
- 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) {
11440
+ 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) {
11430
11441
  var exp = $1;
11431
11442
  var ws = $2;
11432
11443
  var dots = $3;
@@ -11469,10 +11480,10 @@ var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression
11469
11480
  function ArrayElementExpression(ctx, state2) {
11470
11481
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArrayElementExpression", ArrayElementExpression$$);
11471
11482
  }
11472
- 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) {
11483
+ 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) {
11473
11484
  var open = $1;
11474
- var content = $3;
11475
- var close = $4;
11485
+ var content = $4;
11486
+ var close = $6;
11476
11487
  if (!content.length)
11477
11488
  return $skip;
11478
11489
  content = content.flat();
@@ -11639,8 +11650,8 @@ var BracedObjectLiteralContent$$ = [BracedObjectLiteralContent$0, BracedObjectLi
11639
11650
  function BracedObjectLiteralContent(ctx, state2) {
11640
11651
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
11641
11652
  }
11642
- 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) {
11643
- var properties = $3;
11653
+ 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) {
11654
+ var properties = $4;
11644
11655
  if (!properties)
11645
11656
  return $skip;
11646
11657
  return {
@@ -11796,7 +11807,7 @@ var PropertyDefinition$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
11796
11807
  return $skip;
11797
11808
  return prepend(ws, def);
11798
11809
  });
11799
- var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
11810
+ var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, Expression), function($skip, $loc, $0, $1, $2, $3) {
11800
11811
  var ws = $1;
11801
11812
  var dots = $2;
11802
11813
  var exp = $3;
@@ -11892,7 +11903,7 @@ var NamedProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PropertyName, (0,
11892
11903
  function NamedProperty(ctx, state2) {
11893
11904
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
11894
11905
  }
11895
- 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) {
11906
+ 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) {
11896
11907
  var name = $1;
11897
11908
  var colon = $2;
11898
11909
  var expression = $3;
@@ -12333,18 +12344,23 @@ function CoffeeWordAssignmentOp(ctx, state2) {
12333
12344
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeWordAssignmentOp", CoffeeWordAssignmentOp$$);
12334
12345
  }
12335
12346
  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) {
12347
+ var ws1 = $1;
12348
+ var ws2 = $2;
12349
+ var op = $3;
12336
12350
  const ws = [];
12337
- if ($1)
12338
- ws.push(...$1);
12339
- if ($2)
12340
- ws.push(...$2);
12341
- return [ws, $3];
12351
+ if (ws1)
12352
+ ws.push(...ws1);
12353
+ if (ws2)
12354
+ ws.push(...ws2);
12355
+ return [ws, op];
12342
12356
  });
12343
- 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) {
12344
- var op = $5;
12345
- const ws = [...$1];
12346
- if ($2)
12347
- ws.push(...$2);
12357
+ 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) {
12358
+ var ws1 = $2;
12359
+ var ws2 = $3;
12360
+ var op = $6;
12361
+ const ws = [...ws1];
12362
+ if (ws2)
12363
+ ws.push(...ws2);
12348
12364
  return [ws, op];
12349
12365
  });
12350
12366
  var NotDedentedBinaryOp$$ = [NotDedentedBinaryOp$0, NotDedentedBinaryOp$1];
@@ -12749,7 +12765,7 @@ var PostfixedNoCommaStatement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(NoCom
12749
12765
  function PostfixedNoCommaStatement(ctx, state2) {
12750
12766
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedNoCommaStatement", PostfixedNoCommaStatement$0);
12751
12767
  }
12752
- 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) {
12768
+ 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) {
12753
12769
  var expression = $1;
12754
12770
  var post = $2;
12755
12771
  if (post)
@@ -12772,16 +12788,6 @@ var PostfixedCommaExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Postfi
12772
12788
  function PostfixedCommaExpression(ctx, state2) {
12773
12789
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12774
12790
  }
12775
- 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) {
12776
- var expression = $1;
12777
- var post = $2;
12778
- if (post)
12779
- return attachPostfixStatementAsExpression(expression, post);
12780
- return expression;
12781
- });
12782
- function NonPipelinePostfixedExpression(ctx, state2) {
12783
- return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
12784
- }
12785
12791
  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) {
12786
12792
  return value[1];
12787
12793
  });
@@ -13665,7 +13671,7 @@ var Condition$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, Decl
13665
13671
  expression
13666
13672
  };
13667
13673
  });
13668
- 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) {
13674
+ 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) {
13669
13675
  var open = $2;
13670
13676
  var expression = $3;
13671
13677
  var close = $4;
@@ -13694,7 +13700,7 @@ var Condition$$ = [Condition$0, Condition$1, Condition$2, Condition$3, Condition
13694
13700
  function Condition(ctx, state2) {
13695
13701
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Condition", Condition$$);
13696
13702
  }
13697
- var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13703
+ var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, Expression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13698
13704
  var open = $1;
13699
13705
  var expression = $2;
13700
13706
  var close = $3;
@@ -13723,7 +13729,7 @@ var DeclarationCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ForbidBrac
13723
13729
  function DeclarationCondition(ctx, state2) {
13724
13730
  return (0, import_lib3.$EVENT)(ctx, state2, "DeclarationCondition", DeclarationCondition$0);
13725
13731
  }
13726
- 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) {
13732
+ 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) {
13727
13733
  var exp = $3;
13728
13734
  if (exp)
13729
13735
  return exp;
@@ -13741,7 +13747,7 @@ var SingleLineExpressionWithIndentedApplicationForbidden$0 = (0, import_lib3.$TS
13741
13747
  function SingleLineExpressionWithIndentedApplicationForbidden(ctx, state2) {
13742
13748
  return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpressionWithIndentedApplicationForbidden", SingleLineExpressionWithIndentedApplicationForbidden$0);
13743
13749
  }
13744
- 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) {
13750
+ 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) {
13745
13751
  var exp = $4;
13746
13752
  if (exp)
13747
13753
  return exp;
@@ -13871,6 +13877,34 @@ var TrailingMemberPropertyAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPE
13871
13877
  function TrailingMemberPropertyAllowed(ctx, state2) {
13872
13878
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingMemberPropertyAllowed", TrailingMemberPropertyAllowed$0);
13873
13879
  }
13880
+ var AllowNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13881
+ state.forbidNestedBinaryOp.push(false);
13882
+ });
13883
+ function AllowNestedBinaryOp(ctx, state2) {
13884
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowNestedBinaryOp", AllowNestedBinaryOp$0);
13885
+ }
13886
+ var ForbidNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13887
+ state.forbidNestedBinaryOp.push(true);
13888
+ });
13889
+ function ForbidNestedBinaryOp(ctx, state2) {
13890
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidNestedBinaryOp", ForbidNestedBinaryOp$0);
13891
+ }
13892
+ var RestoreNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestoreNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13893
+ state.forbidNestedBinaryOp.pop();
13894
+ });
13895
+ function RestoreNestedBinaryOp(ctx, state2) {
13896
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestoreNestedBinaryOp", RestoreNestedBinaryOp$0);
13897
+ }
13898
+ var NestedBinaryOpAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'NestedBinaryOpAllowed ""'), function($skip, $loc, $0, $1) {
13899
+ if (config.verbose) {
13900
+ console.log("forbidNestedBinaryOp:", state.forbidNestedBinaryOp);
13901
+ }
13902
+ if (state.nestedBinaryOpForbidden)
13903
+ return $skip;
13904
+ });
13905
+ function NestedBinaryOpAllowed(ctx, state2) {
13906
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedBinaryOpAllowed", NestedBinaryOpAllowed$0);
13907
+ }
13874
13908
  var AllowNewlineBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNewlineBinaryOp ""'), function($skip, $loc, $0, $1) {
13875
13909
  state.forbidNewlineBinaryOp.push(false);
13876
13910
  });
@@ -13899,11 +13933,39 @@ var NewlineBinaryOpAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0
13899
13933
  function NewlineBinaryOpAllowed(ctx, state2) {
13900
13934
  return (0, import_lib3.$EVENT)(ctx, state2, "NewlineBinaryOpAllowed", NewlineBinaryOpAllowed$0);
13901
13935
  }
13902
- var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNewlineBinaryOp);
13936
+ var AllowPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowPipeline ""'), function($skip, $loc, $0, $1) {
13937
+ state.forbidPipeline.push(false);
13938
+ });
13939
+ function AllowPipeline(ctx, state2) {
13940
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowPipeline", AllowPipeline$0);
13941
+ }
13942
+ var ForbidPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidPipeline ""'), function($skip, $loc, $0, $1) {
13943
+ state.forbidPipeline.push(true);
13944
+ });
13945
+ function ForbidPipeline(ctx, state2) {
13946
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidPipeline", ForbidPipeline$0);
13947
+ }
13948
+ var RestorePipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestorePipeline ""'), function($skip, $loc, $0, $1) {
13949
+ state.forbidPipeline.pop();
13950
+ });
13951
+ function RestorePipeline(ctx, state2) {
13952
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestorePipeline", RestorePipeline$0);
13953
+ }
13954
+ var PipelineAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PipelineAllowed ""'), function($skip, $loc, $0, $1) {
13955
+ if (config.verbose) {
13956
+ console.log("forbidPipeline:", state.forbidPipeline);
13957
+ }
13958
+ if (state.pipelineForbidden)
13959
+ return $skip;
13960
+ });
13961
+ function PipelineAllowed(ctx, state2) {
13962
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineAllowed", PipelineAllowed$0);
13963
+ }
13964
+ var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNestedBinaryOp, AllowNewlineBinaryOp, AllowPipeline);
13903
13965
  function AllowAll(ctx, state2) {
13904
13966
  return (0, import_lib3.$EVENT)(ctx, state2, "AllowAll", AllowAll$0);
13905
13967
  }
13906
- var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNewlineBinaryOp);
13968
+ var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNestedBinaryOp, RestoreNewlineBinaryOp, RestorePipeline);
13907
13969
  function RestoreAll(ctx, state2) {
13908
13970
  return (0, import_lib3.$EVENT)(ctx, state2, "RestoreAll", RestoreAll$0);
13909
13971
  }
@@ -13921,7 +13983,7 @@ var ExpressionStatement$$ = [ExpressionStatement$0, ExpressionStatement$1];
13921
13983
  function ExpressionStatement(ctx, state2) {
13922
13984
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExpressionStatement", ExpressionStatement$$);
13923
13985
  }
13924
- 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) {
13986
+ 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) {
13925
13987
  const children = [$1];
13926
13988
  if ($2)
13927
13989
  children.push($2);
@@ -13945,7 +14007,7 @@ var KeywordStatement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, _, S
13945
14007
  children: []
13946
14008
  };
13947
14009
  });
13948
- 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) {
14010
+ 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) {
13949
14011
  const children = [$1];
13950
14012
  if ($2)
13951
14013
  children.push($2);
@@ -13963,7 +14025,7 @@ var KeywordStatement$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(Continue, (0,
13963
14025
  };
13964
14026
  });
13965
14027
  var KeywordStatement$3 = DebuggerStatement;
13966
- 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) {
14028
+ 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) {
13967
14029
  var expression = value[2];
13968
14030
  return { "type": "ReturnStatement", "expression": expression, "children": value };
13969
14031
  });
@@ -13978,7 +14040,7 @@ var DebuggerStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Debugger), fun
13978
14040
  function DebuggerStatement(ctx, state2) {
13979
14041
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
13980
14042
  }
13981
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
14043
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExpression), function(value) {
13982
14044
  return { "type": "ThrowStatement", "children": value };
13983
14045
  });
13984
14046
  function ThrowStatement(ctx, state2) {
@@ -14002,16 +14064,16 @@ var Debugger$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPEC
14002
14064
  function Debugger(ctx, state2) {
14003
14065
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
14004
14066
  }
14005
- var MaybeNestedNonPipelineExtendedExpression$0 = NestedBulletedArray;
14006
- 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) {
14067
+ var MaybeNestedNonPipelineExpression$0 = NestedBulletedArray;
14068
+ 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) {
14007
14069
  if ($3)
14008
14070
  return $3;
14009
14071
  return $skip;
14010
14072
  });
14011
- var MaybeNestedNonPipelineExtendedExpression$2 = NonPipelineExtendedExpression;
14012
- var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1, MaybeNestedNonPipelineExtendedExpression$2];
14013
- function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
14014
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
14073
+ var MaybeNestedNonPipelineExpression$2 = NonPipelineExpression;
14074
+ var MaybeNestedNonPipelineExpression$$ = [MaybeNestedNonPipelineExpression$0, MaybeNestedNonPipelineExpression$1, MaybeNestedNonPipelineExpression$2];
14075
+ function MaybeNestedNonPipelineExpression(ctx, state2) {
14076
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExpression", MaybeNestedNonPipelineExpression$$);
14015
14077
  }
14016
14078
  var MaybeNestedPostfixedExpression$0 = NestedBulletedArray;
14017
14079
  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) {
@@ -14024,42 +14086,42 @@ var MaybeNestedPostfixedExpression$$ = [MaybeNestedPostfixedExpression$0, MaybeN
14024
14086
  function MaybeNestedPostfixedExpression(ctx, state2) {
14025
14087
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
14026
14088
  }
14027
- var MaybeNestedExtendedExpression$0 = NestedBulletedArray;
14028
- 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) {
14089
+ var MaybeNestedExpression$0 = NestedBulletedArray;
14090
+ 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) {
14029
14091
  if ($3)
14030
14092
  return $3;
14031
14093
  return $skip;
14032
14094
  });
14033
- var MaybeNestedExtendedExpression$2 = ExtendedExpression;
14034
- var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1, MaybeNestedExtendedExpression$2];
14035
- function MaybeNestedExtendedExpression(ctx, state2) {
14036
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
14095
+ var MaybeNestedExpression$2 = Expression;
14096
+ var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
14097
+ function MaybeNestedExpression(ctx, state2) {
14098
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
14037
14099
  }
14038
- var NestedExtendedExpression$0 = NestedBulletedArray;
14039
- 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) {
14100
+ var NestedExpression$0 = NestedBulletedArray;
14101
+ 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) {
14040
14102
  if ($3)
14041
14103
  return $3;
14042
14104
  return $skip;
14043
14105
  });
14044
- var NestedExtendedExpression$$ = [NestedExtendedExpression$0, NestedExtendedExpression$1];
14045
- function NestedExtendedExpression(ctx, state2) {
14046
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExtendedExpression", NestedExtendedExpression$$);
14106
+ var NestedExpression$$ = [NestedExpression$0, NestedExpression$1];
14107
+ function NestedExpression(ctx, state2) {
14108
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExpression", NestedExpression$$);
14047
14109
  }
14048
- var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
14110
+ var MaybeParenNestedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Expression), function(value) {
14049
14111
  return value[1];
14050
14112
  });
14051
- var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14113
+ var MaybeParenNestedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14052
14114
  return value[1];
14053
14115
  });
14054
- 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) {
14116
+ 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) {
14055
14117
  var exp = $5;
14056
14118
  if (!exp)
14057
14119
  return $skip;
14058
14120
  return $0.slice(1);
14059
14121
  });
14060
- var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
14061
- function MaybeParenNestedExtendedExpression(ctx, state2) {
14062
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
14122
+ var MaybeParenNestedExpression$$ = [MaybeParenNestedExpression$0, MaybeParenNestedExpression$1, MaybeParenNestedExpression$2];
14123
+ function MaybeParenNestedExpression(ctx, state2) {
14124
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExpression", MaybeParenNestedExpression$$);
14063
14125
  }
14064
14126
  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) {
14065
14127
  const imp = [
@@ -14356,7 +14418,7 @@ var ImportedBinding$0 = BindingIdentifier;
14356
14418
  function ImportedBinding(ctx, state2) {
14357
14419
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
14358
14420
  }
14359
- 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) {
14421
+ 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) {
14360
14422
  const exp = [
14361
14423
  { ...$1, ts: true },
14362
14424
  { ...$1, token: "module.exports", js: true }
@@ -14393,7 +14455,7 @@ var ExportDeclaration$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_li
14393
14455
  }
14394
14456
  ];
14395
14457
  });
14396
- 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) {
14458
+ 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) {
14397
14459
  var declaration = $6;
14398
14460
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
14399
14461
  });
@@ -14573,7 +14635,7 @@ var LexicalBinding$$ = [LexicalBinding$0, LexicalBinding$1];
14573
14635
  function LexicalBinding(ctx, state2) {
14574
14636
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
14575
14637
  }
14576
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
14638
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExpression), function(value) {
14577
14639
  var expression = value[2];
14578
14640
  return { "type": "Initializer", "expression": expression, "children": value };
14579
14641
  });
@@ -16904,7 +16966,7 @@ var NestedEnumPropertyLine$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, impo
16904
16966
  function NestedEnumPropertyLine(ctx, state2) {
16905
16967
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
16906
16968
  }
16907
- 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) {
16969
+ 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) {
16908
16970
  var name = $1;
16909
16971
  var initializer = $2;
16910
16972
  return {
@@ -18073,7 +18135,9 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
18073
18135
  state.forbidIndentedApplication = [false];
18074
18136
  state.forbidBracedApplication = [false];
18075
18137
  state.forbidTrailingMemberProperty = [false];
18138
+ state.forbidNestedBinaryOp = [false];
18076
18139
  state.forbidNewlineBinaryOp = [false];
18140
+ state.forbidPipeline = [false];
18077
18141
  state.JSXTagStack = [void 0];
18078
18142
  state.operators = /* @__PURE__ */ new Map();
18079
18143
  state.helperRefs = {};
@@ -18344,12 +18408,24 @@ Object.defineProperties(state, {
18344
18408
  return s[s.length - 1];
18345
18409
  }
18346
18410
  },
18411
+ nestedBinaryOpForbidden: {
18412
+ get() {
18413
+ const { forbidNestedBinaryOp: s } = state;
18414
+ return s[s.length - 1];
18415
+ }
18416
+ },
18347
18417
  newlineBinaryOpForbidden: {
18348
18418
  get() {
18349
18419
  const { forbidNewlineBinaryOp: s } = state;
18350
18420
  return s[s.length - 1];
18351
18421
  }
18352
18422
  },
18423
+ pipelineForbidden: {
18424
+ get() {
18425
+ const { forbidPipeline: s } = state;
18426
+ return s[s.length - 1];
18427
+ }
18428
+ },
18353
18429
  currentJSXTag: {
18354
18430
  get() {
18355
18431
  const { JSXTagStack: s } = state;
@@ -18358,12 +18434,12 @@ Object.defineProperties(state, {
18358
18434
  }
18359
18435
  });
18360
18436
  function getStateKey() {
18361
- 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,
18437
+ 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,
18362
18438
  // since it is affected by the directive prologue and may be hit
18363
18439
  // by the EOL rule early in the parse. Later if we wanted to
18364
18440
  // allow block scoping of the compat directives we would need to
18365
18441
  // add them all here.
18366
- config.coffeeComment << 2;
18442
+ config.coffeeComment << 0;
18367
18443
  return [stateInt, state.currentJSXTag];
18368
18444
  }
18369
18445
  function parseProgram(input, options) {
@@ -18763,21 +18839,27 @@ var uncacheable = /* @__PURE__ */ new Set([
18763
18839
  "AllowBracedApplication",
18764
18840
  "AllowIndentedApplication",
18765
18841
  "AllowMultiLineImplicitObjectLiteral",
18842
+ "AllowNestedBinaryOp",
18766
18843
  "AllowNewlineBinaryOp",
18767
18844
  "AllowTrailingMemberProperty",
18845
+ "AllowPipeline",
18768
18846
  "ForbidClassImplicitCall",
18769
18847
  "ForbidBracedApplication",
18770
18848
  "ForbidIndentedApplication",
18771
18849
  "ForbidMultiLineImplicitObjectLiteral",
18850
+ "ForbidNestedBinaryOp",
18772
18851
  "ForbidNewlineBinaryOp",
18773
18852
  "ForbidTrailingMemberProperty",
18853
+ "ForbidPipeline",
18774
18854
  "RestoreAll",
18775
18855
  "RestoreClassImplicitCall",
18776
18856
  "RestoreMultiLineImplicitObjectLiteral",
18777
18857
  "RestoreBracedApplication",
18778
18858
  "RestoreIndentedApplication",
18779
18859
  "RestoreTrailingMemberProperty",
18780
- "RestoreNewlineBinaryOp"
18860
+ "RestoreNestedBinaryOp",
18861
+ "RestoreNewlineBinaryOp",
18862
+ "RestorePipeline"
18781
18863
  ]);
18782
18864
  function compile(src, options) {
18783
18865
  if (!options) {
@@ -18922,13 +19004,16 @@ var makeCache = function({ hits, trace } = {}) {
18922
19004
  };
18923
19005
  }
18924
19006
  if (trace) {
18925
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u2192");
19007
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "{");
18926
19008
  stack.push(ruleName);
18927
19009
  }
18928
19010
  return;
18929
19011
  },
18930
19012
  exit: function(ruleName, state2, result) {
18931
19013
  if (uncacheable.has(ruleName)) {
19014
+ if (trace) {
19015
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u26A0\uFE0F " + (result ? "\u2705" : "\u274C"));
19016
+ }
18932
19017
  return;
18933
19018
  }
18934
19019
  const [stateKey, tagKey] = getStateKey();
@@ -18942,7 +19027,7 @@ var makeCache = function({ hits, trace } = {}) {
18942
19027
  }
18943
19028
  if (trace) {
18944
19029
  stack.pop();
18945
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + " " + (result ? "\u2705" : "\u274C"));
19030
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "} " + (result ? "\u2705" : "\u274C"));
18946
19031
  }
18947
19032
  return;
18948
19033
  }