@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/browser.js CHANGED
@@ -1154,17 +1154,24 @@ ${body}`;
1154
1154
  return ["(", type, ")"];
1155
1155
  }
1156
1156
  function wrapIIFE(expressions, asyncFlag, generator) {
1157
- let prefix;
1157
+ let awaitPrefix;
1158
1158
  const async = [];
1159
1159
  if (asyncFlag) {
1160
1160
  async.push("async ");
1161
1161
  } else if (hasAwait(expressions)) {
1162
1162
  async.push("async ");
1163
- prefix = {
1163
+ awaitPrefix = {
1164
1164
  type: "Await",
1165
1165
  children: ["await "]
1166
1166
  };
1167
1167
  }
1168
+ let yieldWrap = false;
1169
+ if (!generator) {
1170
+ if (hasYield(expressions)) {
1171
+ generator = "*";
1172
+ yieldWrap = true;
1173
+ }
1174
+ }
1168
1175
  const block = makeNode({
1169
1176
  type: "BlockStatement",
1170
1177
  expressions,
@@ -1219,12 +1226,27 @@ ${body}`;
1219
1226
  children[children.length - 1] = (ref4 = parameters.children)[ref4.length - 1] = "(arguments)";
1220
1227
  }
1221
1228
  }
1222
- const exp = makeNode({
1229
+ let exp = makeNode({
1223
1230
  type: "CallExpression",
1224
1231
  children
1225
1232
  });
1226
- if (prefix) {
1227
- return makeLeftHandSideExpression([prefix, exp]);
1233
+ if (yieldWrap) {
1234
+ exp = makeLeftHandSideExpression(makeNode({
1235
+ type: "YieldExpression",
1236
+ star: "*",
1237
+ expression: exp,
1238
+ children: [
1239
+ {
1240
+ type: "Yield",
1241
+ children: ["yield"]
1242
+ },
1243
+ "*",
1244
+ " ",
1245
+ exp
1246
+ ]
1247
+ }));
1248
+ } else if (awaitPrefix) {
1249
+ exp = makeLeftHandSideExpression([awaitPrefix, exp]);
1228
1250
  }
1229
1251
  return exp;
1230
1252
  }
@@ -2306,6 +2328,9 @@ ${body}`;
2306
2328
  function skipImplicitArguments(args) {
2307
2329
  if (args.length === 1) {
2308
2330
  let arg0 = args[0];
2331
+ if (arg0.type === "Argument") {
2332
+ arg0 = arg0.expression;
2333
+ }
2309
2334
  if (arg0.type === "StatementExpression") {
2310
2335
  arg0 = arg0.statement;
2311
2336
  }
@@ -6435,6 +6460,7 @@ ${js}`
6435
6460
  assert.equal(state2.forbidBracedApplication.length, 1, "forbidBracedApplication");
6436
6461
  assert.equal(state2.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
6437
6462
  assert.equal(state2.forbidIndentedApplication.length, 1, "forbidIndentedApplication");
6463
+ assert.equal(state2.forbidNestedBinaryOp.length, 1, "forbidNestedBinaryOp");
6438
6464
  assert.equal(state2.forbidNewlineBinaryOp.length, 1, "forbidNewlineBinaryOp");
6439
6465
  assert.equal(state2.forbidTrailingMemberProperty.length, 1, "forbidTrailingMemberProperty");
6440
6466
  assert.equal(state2.JSXTagStack.length, 1, "JSXTagStack");
@@ -6608,6 +6634,10 @@ ${js}`
6608
6634
  let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
6609
6635
  let outer;
6610
6636
  switch (parent?.type) {
6637
+ case "Argument": {
6638
+ outer = ancestor === parent.expression;
6639
+ break;
6640
+ }
6611
6641
  case "Call": {
6612
6642
  outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
6613
6643
  break;
@@ -6827,12 +6857,10 @@ ${js}`
6827
6857
  NestedTopLevelStatements,
6828
6858
  TopLevelSingleLineStatements,
6829
6859
  TopLevelStatement,
6830
- ExtendedCommaExpression,
6831
- ExtendedExpression,
6832
- SingleLineExtendedExpression,
6833
- NonPipelineExtendedExpression,
6834
- NonAssignmentExtendedExpression,
6835
- NestedNonAssignmentExtendedExpression,
6860
+ Expression,
6861
+ SingleLineExpression,
6862
+ NonPipelineExpression,
6863
+ NestedExpressionizedStatement,
6836
6864
  ExpressionizedStatementWithTrailingCallExpressions,
6837
6865
  ExpressionizedStatement,
6838
6866
  StatementExpression,
@@ -6851,14 +6879,13 @@ ${js}`
6851
6879
  AllowedTrailingCallExpressions,
6852
6880
  CommaDelimiter,
6853
6881
  ArgumentList,
6854
- NonPipelineArgumentList,
6855
6882
  NestedArgumentList,
6856
6883
  NestedArgument,
6857
6884
  SingleLineArgumentExpressions,
6858
6885
  WArgumentPart,
6859
6886
  ArgumentPart,
6860
- NonPipelineArgumentPart,
6861
6887
  BinaryOpExpression,
6888
+ BinaryOpNotDedented,
6862
6889
  BinaryOpRHS,
6863
6890
  IsLike,
6864
6891
  WRHS,
@@ -6891,12 +6918,15 @@ ${js}`
6891
6918
  FatArrowToken,
6892
6919
  TrailingDeclaration,
6893
6920
  TrailingPipe,
6921
+ TrailingPostfix,
6894
6922
  FatArrowBody,
6895
6923
  ConditionalExpression,
6896
6924
  TernaryRest,
6897
6925
  NestedTernaryRest,
6898
6926
  ShortCircuitExpression,
6899
6927
  PipelineExpression,
6928
+ PipelineExpressionBody,
6929
+ PipelineExpressionBodySameLine,
6900
6930
  PipelineHeadItem,
6901
6931
  PipelineTailItem,
6902
6932
  PrimaryExpression,
@@ -7106,7 +7136,6 @@ ${js}`
7106
7136
  PostfixedNoCommaStatement,
7107
7137
  PostfixedExpression,
7108
7138
  PostfixedCommaExpression,
7109
- NonPipelinePostfixedExpression,
7110
7139
  PostfixStatement,
7111
7140
  _PostfixStatement,
7112
7141
  Statement,
@@ -7184,10 +7213,18 @@ ${js}`
7184
7213
  AllowTrailingMemberProperty,
7185
7214
  RestoreTrailingMemberProperty,
7186
7215
  TrailingMemberPropertyAllowed,
7216
+ AllowNestedBinaryOp,
7217
+ ForbidNestedBinaryOp,
7218
+ RestoreNestedBinaryOp,
7219
+ NestedBinaryOpAllowed,
7187
7220
  AllowNewlineBinaryOp,
7188
7221
  ForbidNewlineBinaryOp,
7189
7222
  RestoreNewlineBinaryOp,
7190
7223
  NewlineBinaryOpAllowed,
7224
+ AllowPipeline,
7225
+ ForbidPipeline,
7226
+ RestorePipeline,
7227
+ PipelineAllowed,
7191
7228
  AllowAll,
7192
7229
  RestoreAll,
7193
7230
  CommaExpressionStatement,
@@ -7198,11 +7235,11 @@ ${js}`
7198
7235
  Break,
7199
7236
  Continue,
7200
7237
  Debugger,
7201
- MaybeNestedNonPipelineExtendedExpression,
7238
+ MaybeNestedNonPipelineExpression,
7202
7239
  MaybeNestedPostfixedExpression,
7203
- MaybeNestedExtendedExpression,
7204
- NestedExtendedExpression,
7205
- MaybeParenNestedExtendedExpression,
7240
+ MaybeNestedExpression,
7241
+ NestedExpression,
7242
+ MaybeParenNestedExpression,
7206
7243
  ImportDeclaration,
7207
7244
  ImpliedImport,
7208
7245
  ImportClause,
@@ -8026,39 +8063,19 @@ ${js}`
8026
8063
  function TopLevelStatement(ctx, state2) {
8027
8064
  return (0, import_lib3.$EVENT)(ctx, state2, "TopLevelStatement", TopLevelStatement$0);
8028
8065
  }
8029
- var ExtendedCommaExpression$0 = NonAssignmentExtendedExpression;
8030
- var ExtendedCommaExpression$1 = CommaExpression;
8031
- var ExtendedCommaExpression$$ = [ExtendedCommaExpression$0, ExtendedCommaExpression$1];
8032
- function ExtendedCommaExpression(ctx, state2) {
8033
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedCommaExpression", ExtendedCommaExpression$$);
8034
- }
8035
- var ExtendedExpression$0 = NonAssignmentExtendedExpression;
8036
- var ExtendedExpression$1 = AssignmentExpression;
8037
- var ExtendedExpression$$ = [ExtendedExpression$0, ExtendedExpression$1];
8038
- function ExtendedExpression(ctx, state2) {
8039
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendedExpression", ExtendedExpression$$);
8040
- }
8041
- var SingleLineExtendedExpression$0 = NonAssignmentExtendedExpression;
8042
- var SingleLineExtendedExpression$1 = SingleLineAssignmentExpression;
8043
- var SingleLineExtendedExpression$$ = [SingleLineExtendedExpression$0, SingleLineExtendedExpression$1];
8044
- function SingleLineExtendedExpression(ctx, state2) {
8045
- return (0, import_lib3.$EVENT_C)(ctx, state2, "SingleLineExtendedExpression", SingleLineExtendedExpression$$);
8046
- }
8047
- var NonPipelineExtendedExpression$0 = NonAssignmentExtendedExpression;
8048
- var NonPipelineExtendedExpression$1 = NonPipelineAssignmentExpression;
8049
- var NonPipelineExtendedExpression$$ = [NonPipelineExtendedExpression$0, NonPipelineExtendedExpression$1];
8050
- function NonPipelineExtendedExpression(ctx, state2) {
8051
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineExtendedExpression", NonPipelineExtendedExpression$$);
8052
- }
8053
- var NonAssignmentExtendedExpression$0 = NestedNonAssignmentExtendedExpression;
8054
- var NonAssignmentExtendedExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), ExpressionizedStatementWithTrailingCallExpressions), function($skip, $loc, $0, $1, $2) {
8055
- return prepend($1, $2);
8056
- });
8057
- var NonAssignmentExtendedExpression$$ = [NonAssignmentExtendedExpression$0, NonAssignmentExtendedExpression$1];
8058
- function NonAssignmentExtendedExpression(ctx, state2) {
8059
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonAssignmentExtendedExpression", NonAssignmentExtendedExpression$$);
8066
+ var Expression$0 = AssignmentExpression;
8067
+ function Expression(ctx, state2) {
8068
+ return (0, import_lib3.$EVENT)(ctx, state2, "Expression", Expression$0);
8069
+ }
8070
+ var SingleLineExpression$0 = SingleLineAssignmentExpression;
8071
+ function SingleLineExpression(ctx, state2) {
8072
+ return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpression", SingleLineExpression$0);
8060
8073
  }
8061
- 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) {
8074
+ var NonPipelineExpression$0 = NonPipelineAssignmentExpression;
8075
+ function NonPipelineExpression(ctx, state2) {
8076
+ return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineExpression", NonPipelineExpression$0);
8077
+ }
8078
+ 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) {
8062
8079
  var expression = $3;
8063
8080
  var trailing = $5;
8064
8081
  if (!expression)
@@ -8070,8 +8087,8 @@ ${js}`
8070
8087
  children: [expression, ...trailing.flat()]
8071
8088
  };
8072
8089
  });
8073
- function NestedNonAssignmentExtendedExpression(ctx, state2) {
8074
- return (0, import_lib3.$EVENT)(ctx, state2, "NestedNonAssignmentExtendedExpression", NestedNonAssignmentExtendedExpression$0);
8090
+ function NestedExpressionizedStatement(ctx, state2) {
8091
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedExpressionizedStatement", NestedExpressionizedStatement$0);
8075
8092
  }
8076
8093
  var ExpressionizedStatementWithTrailingCallExpressions$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExpressionizedStatement, (0, import_lib3.$E)(AllowedTrailingCallExpressions)), function($skip, $loc, $0, $1, $2) {
8077
8094
  if (!$2)
@@ -8136,11 +8153,13 @@ ${js}`
8136
8153
  function Arguments(ctx, state2) {
8137
8154
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Arguments", Arguments$$);
8138
8155
  }
8139
- 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) {
8156
+ 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) {
8140
8157
  var open = $2;
8141
8158
  var ws = $3;
8142
- var args = $4;
8143
- var close = $5;
8159
+ var args = $6;
8160
+ var close = $9;
8161
+ if (!args)
8162
+ return $skip;
8144
8163
  if (skipImplicitArguments(args))
8145
8164
  return $skip;
8146
8165
  args = stripTrailingImplicitComma(args);
@@ -8253,33 +8272,7 @@ ${js}`
8253
8272
  function CommaDelimiter(ctx, state2) {
8254
8273
  return (0, import_lib3.$EVENT)(ctx, state2, "CommaDelimiter", CommaDelimiter$0);
8255
8274
  }
8256
- 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) {
8257
- return [
8258
- $1,
8259
- ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
8260
- ...$3.flatMap(
8261
- ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
8262
- )
8263
- ];
8264
- });
8265
- var ArgumentList$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedBulletedArray), function($skip, $loc, $0, $1) {
8266
- return [trimFirstSpace($1)];
8267
- });
8268
- var ArgumentList$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
8269
- return [trimFirstSpace($1)];
8270
- });
8271
- var ArgumentList$3 = NestedArgumentList;
8272
- 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) {
8273
- return [
8274
- prepend($1, $2),
8275
- ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8276
- ];
8277
- });
8278
- var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3, ArgumentList$4];
8279
- function ArgumentList(ctx, state2) {
8280
- return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8281
- }
8282
- 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) {
8275
+ 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) {
8283
8276
  return [
8284
8277
  $2,
8285
8278
  ...$3.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
@@ -8288,7 +8281,7 @@ ${js}`
8288
8281
  )
8289
8282
  ];
8290
8283
  });
8291
- 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) {
8284
+ 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) {
8292
8285
  return [
8293
8286
  trimFirstSpace($1),
8294
8287
  ...$2.flatMap(
@@ -8296,19 +8289,19 @@ ${js}`
8296
8289
  )
8297
8290
  ];
8298
8291
  });
8299
- var NonPipelineArgumentList$2 = NestedArgumentList;
8300
- 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) {
8292
+ var ArgumentList$2 = NestedArgumentList;
8293
+ 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) {
8301
8294
  return [
8302
- $1,
8303
- ...$2.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8295
+ prepend($1, $2),
8296
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
8304
8297
  ];
8305
8298
  });
8306
- var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
8307
- function NonPipelineArgumentList(ctx, state2) {
8308
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentList", NonPipelineArgumentList$$);
8299
+ var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
8300
+ function ArgumentList(ctx, state2) {
8301
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentList", ArgumentList$$);
8309
8302
  }
8310
- 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) {
8311
- var args = $2;
8303
+ 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) {
8304
+ var args = $4;
8312
8305
  if (!args.length)
8313
8306
  return $skip;
8314
8307
  return args.flat();
@@ -8339,7 +8332,7 @@ ${js}`
8339
8332
  function WArgumentPart(ctx, state2) {
8340
8333
  return (0, import_lib3.$EVENT)(ctx, state2, "WArgumentPart", WArgumentPart$0);
8341
8334
  }
8342
- var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2) {
8335
+ var ArgumentPart$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(DotDotDot, Expression), function($skip, $loc, $0, $1, $2) {
8343
8336
  var spread = $1;
8344
8337
  var expression = $2;
8345
8338
  return {
@@ -8349,7 +8342,7 @@ ${js}`
8349
8342
  spread
8350
8343
  };
8351
8344
  });
8352
- var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8345
+ var ArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Expression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8353
8346
  var expression = $1;
8354
8347
  var spread = $2;
8355
8348
  return {
@@ -8363,17 +8356,6 @@ ${js}`
8363
8356
  function ArgumentPart(ctx, state2) {
8364
8357
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArgumentPart", ArgumentPart$$);
8365
8358
  }
8366
- var NonPipelineArgumentPart$0 = (0, import_lib3.$S)(DotDotDot, NonPipelineExtendedExpression);
8367
- var NonPipelineArgumentPart$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(NonPipelineExtendedExpression, (0, import_lib3.$E)(DotDotDot)), function($skip, $loc, $0, $1, $2) {
8368
- if ($2) {
8369
- return [$2, $1];
8370
- }
8371
- return $1;
8372
- });
8373
- var NonPipelineArgumentPart$$ = [NonPipelineArgumentPart$0, NonPipelineArgumentPart$1];
8374
- function NonPipelineArgumentPart(ctx, state2) {
8375
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineArgumentPart", NonPipelineArgumentPart$$);
8376
- }
8377
8359
  var BinaryOpExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(UnaryExpression, (0, import_lib3.$Q)(BinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
8378
8360
  if (!$2.length)
8379
8361
  return $1;
@@ -8382,7 +8364,13 @@ ${js}`
8382
8364
  function BinaryOpExpression(ctx, state2) {
8383
8365
  return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8384
8366
  }
8385
- 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) {
8367
+ var BinaryOpNotDedented$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$C)(NestedBinaryOpAllowed, (0, import_lib3.$N)(Nested)), NotDedented), function(value) {
8368
+ return value[1];
8369
+ });
8370
+ function BinaryOpNotDedented(ctx, state2) {
8371
+ return (0, import_lib3.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8372
+ }
8373
+ 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) {
8386
8374
  var ws1 = $1;
8387
8375
  var op = $2;
8388
8376
  var ws2 = $3;
@@ -8477,7 +8465,7 @@ ${js}`
8477
8465
  var UnaryBody$1 = ParenthesizedAssignment;
8478
8466
  var UnaryBody$2 = ExpressionizedStatementWithTrailingCallExpressions;
8479
8467
  var UnaryBody$3 = UpdateExpression;
8480
- var UnaryBody$4 = NestedNonAssignmentExtendedExpression;
8468
+ var UnaryBody$4 = NestedExpressionizedStatement;
8481
8469
  var UnaryBody$$ = [UnaryBody$0, UnaryBody$1, UnaryBody$2, UnaryBody$3, UnaryBody$4];
8482
8470
  function UnaryBody(ctx, state2) {
8483
8471
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryBody", UnaryBody$$);
@@ -8494,14 +8482,14 @@ ${js}`
8494
8482
  }
8495
8483
  var CoffeeDoBody$0 = ArrowFunction;
8496
8484
  var CoffeeDoBody$1 = (0, import_lib3.$S)(LeftHandSideExpression, (0, import_lib3.$N)((0, import_lib3.$S)(__, AssignmentOpSymbol)));
8497
- var CoffeeDoBody$2 = ExtendedExpression;
8485
+ var CoffeeDoBody$2 = Expression;
8498
8486
  var CoffeeDoBody$$ = [CoffeeDoBody$0, CoffeeDoBody$1, CoffeeDoBody$2];
8499
8487
  function CoffeeDoBody(ctx, state2) {
8500
8488
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeDoBody", CoffeeDoBody$$);
8501
8489
  }
8502
8490
  var UnaryWithoutParenthesizedAssignmentBody$0 = UpdateExpression;
8503
8491
  var UnaryWithoutParenthesizedAssignmentBody$1 = ExpressionizedStatementWithTrailingCallExpressions;
8504
- var UnaryWithoutParenthesizedAssignmentBody$2 = NestedNonAssignmentExtendedExpression;
8492
+ var UnaryWithoutParenthesizedAssignmentBody$2 = NestedExpressionizedStatement;
8505
8493
  var UnaryWithoutParenthesizedAssignmentBody$$ = [UnaryWithoutParenthesizedAssignmentBody$0, UnaryWithoutParenthesizedAssignmentBody$1, UnaryWithoutParenthesizedAssignmentBody$2];
8506
8494
  function UnaryWithoutParenthesizedAssignmentBody(ctx, state2) {
8507
8495
  return (0, import_lib3.$EVENT_C)(ctx, state2, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
@@ -8641,7 +8629,7 @@ ${js}`
8641
8629
  function NonPipelineAssignmentExpressionTail(ctx, state2) {
8642
8630
  return (0, import_lib3.$EVENT_C)(ctx, state2, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
8643
8631
  }
8644
- 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) {
8632
+ 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) {
8645
8633
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8646
8634
  $0 = [$1, $2];
8647
8635
  return {
@@ -8658,7 +8646,7 @@ ${js}`
8658
8646
  function ActualAssignment(ctx, state2) {
8659
8647
  return (0, import_lib3.$EVENT)(ctx, state2, "ActualAssignment", ActualAssignment$0);
8660
8648
  }
8661
- 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) {
8649
+ 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) {
8662
8650
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
8663
8651
  $0 = [$1, $2];
8664
8652
  return {
@@ -8675,7 +8663,7 @@ ${js}`
8675
8663
  function NonPipelineActualAssignment(ctx, state2) {
8676
8664
  return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
8677
8665
  }
8678
- 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) {
8666
+ 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) {
8679
8667
  if ($2) {
8680
8668
  const [star, expression] = $2;
8681
8669
  return {
@@ -8745,7 +8733,11 @@ ${js}`
8745
8733
  function TrailingPipe(ctx, state2) {
8746
8734
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPipe", TrailingPipe$0);
8747
8735
  }
8748
- 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) {
8736
+ var TrailingPostfix$0 = (0, import_lib3.$S)((0, import_lib3.$E)(_), PostfixStatement);
8737
+ function TrailingPostfix(ctx, state2) {
8738
+ return (0, import_lib3.$EVENT)(ctx, state2, "TrailingPostfix", TrailingPostfix$0);
8739
+ }
8740
+ 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) {
8749
8741
  var exp = $3;
8750
8742
  if (exp.type === "ObjectExpression") {
8751
8743
  exp = makeLeftHandSideExpression(exp);
@@ -8774,15 +8766,15 @@ ${js}`
8774
8766
  return (0, import_lib3.$EVENT)(ctx, state2, "ConditionalExpression", ConditionalExpression$0);
8775
8767
  }
8776
8768
  var TernaryRest$0 = NestedTernaryRest;
8777
- 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) {
8769
+ 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) {
8778
8770
  return $0.slice(2);
8779
8771
  });
8780
8772
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
8781
8773
  function TernaryRest(ctx, state2) {
8782
8774
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TernaryRest", TernaryRest$$);
8783
8775
  }
8784
- var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExtendedExpression, Nested, Colon, MaybeNestedExtendedExpression);
8785
- 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) {
8776
+ var NestedTernaryRest$0 = (0, import_lib3.$S)(Nested, QuestionMark, MaybeNestedExpression, Nested, Colon, MaybeNestedExpression);
8777
+ 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) {
8786
8778
  if ($2)
8787
8779
  return $2;
8788
8780
  return $skip;
@@ -8795,10 +8787,10 @@ ${js}`
8795
8787
  function ShortCircuitExpression(ctx, state2) {
8796
8788
  return (0, import_lib3.$EVENT)(ctx, state2, "ShortCircuitExpression", ShortCircuitExpression$0);
8797
8789
  }
8798
- 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) {
8799
- var ws = $1;
8800
- var head = $2;
8801
- var body = $3;
8790
+ 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) {
8791
+ var ws = $2;
8792
+ var head = $3;
8793
+ var body = $4;
8802
8794
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
8803
8795
  const expressions = [{
8804
8796
  type: "PipelineExpression",
@@ -8820,7 +8812,26 @@ ${js}`
8820
8812
  function PipelineExpression(ctx, state2) {
8821
8813
  return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpression", PipelineExpression$0);
8822
8814
  }
8823
- var PipelineHeadItem$0 = NonPipelineExtendedExpression;
8815
+ 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) {
8816
+ var first = $1;
8817
+ var rest = $3;
8818
+ if (!rest.length)
8819
+ return $skip;
8820
+ return [
8821
+ ...first,
8822
+ ...rest.map(([nested, line]) => [nested, ...line]).flat()
8823
+ ];
8824
+ });
8825
+ var PipelineExpressionBody$1 = (0, import_lib3.$P)((0, import_lib3.$S)(NotDedented, Pipe, __, PipelineTailItem));
8826
+ var PipelineExpressionBody$$ = [PipelineExpressionBody$0, PipelineExpressionBody$1];
8827
+ function PipelineExpressionBody(ctx, state2) {
8828
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "PipelineExpressionBody", PipelineExpressionBody$$);
8829
+ }
8830
+ var PipelineExpressionBodySameLine$0 = (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$E)(_), Pipe, __, PipelineTailItem));
8831
+ function PipelineExpressionBodySameLine(ctx, state2) {
8832
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineExpressionBodySameLine", PipelineExpressionBodySameLine$0);
8833
+ }
8834
+ var PipelineHeadItem$0 = NonPipelineExpression;
8824
8835
  var PipelineHeadItem$1 = ParenthesizedExpression;
8825
8836
  var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
8826
8837
  function PipelineHeadItem(ctx, state2) {
@@ -9245,7 +9256,7 @@ ${js}`
9245
9256
  };
9246
9257
  }
9247
9258
  });
9248
- 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) {
9259
+ 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) {
9249
9260
  var r = $1;
9250
9261
  var ca = $5;
9251
9262
  r.children[0].$loc = {
@@ -9548,7 +9559,7 @@ ${js}`
9548
9559
  function MemberBracketContent(ctx, state2) {
9549
9560
  return (0, import_lib3.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9550
9561
  }
9551
- 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) {
9562
+ 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) {
9552
9563
  var start = $1;
9553
9564
  var ws = $2;
9554
9565
  var sep = $3;
@@ -9572,7 +9583,7 @@ ${js}`
9572
9583
  children
9573
9584
  };
9574
9585
  });
9575
- 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) {
9586
+ 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) {
9576
9587
  var l = $1;
9577
9588
  var ws = $2;
9578
9589
  var sep = $3;
@@ -11278,7 +11289,7 @@ ${js}`
11278
11289
  function _ArrayLiteral(ctx, state2) {
11279
11290
  return (0, import_lib3.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11280
11291
  }
11281
- 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) {
11292
+ 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) {
11282
11293
  var s = $1;
11283
11294
  var ws = $2;
11284
11295
  var range = $3;
@@ -11342,7 +11353,7 @@ ${js}`
11342
11353
  end: e
11343
11354
  };
11344
11355
  });
11345
- 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) {
11356
+ 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) {
11346
11357
  var s = $1;
11347
11358
  var ws = $2;
11348
11359
  return {
@@ -11450,7 +11461,7 @@ ${js}`
11450
11461
  var ArrayElementExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)(ImplicitObjectLiteral, (0, import_lib3.$Y)(ArrayElementDelimiter)), function(value) {
11451
11462
  return value[0];
11452
11463
  });
11453
- 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) {
11464
+ 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) {
11454
11465
  var exp = $1;
11455
11466
  var ws = $2;
11456
11467
  var dots = $3;
@@ -11493,10 +11504,10 @@ ${js}`
11493
11504
  function ArrayElementExpression(ctx, state2) {
11494
11505
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ArrayElementExpression", ArrayElementExpression$$);
11495
11506
  }
11496
- 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) {
11507
+ 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) {
11497
11508
  var open = $1;
11498
- var content = $3;
11499
- var close = $4;
11509
+ var content = $4;
11510
+ var close = $6;
11500
11511
  if (!content.length)
11501
11512
  return $skip;
11502
11513
  content = content.flat();
@@ -11663,8 +11674,8 @@ ${js}`
11663
11674
  function BracedObjectLiteralContent(ctx, state2) {
11664
11675
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
11665
11676
  }
11666
- 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) {
11667
- var properties = $3;
11677
+ 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) {
11678
+ var properties = $4;
11668
11679
  if (!properties)
11669
11680
  return $skip;
11670
11681
  return {
@@ -11820,7 +11831,7 @@ ${js}`
11820
11831
  return $skip;
11821
11832
  return prepend(ws, def);
11822
11833
  });
11823
- var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
11834
+ var PropertyDefinition$3 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, Expression), function($skip, $loc, $0, $1, $2, $3) {
11824
11835
  var ws = $1;
11825
11836
  var dots = $2;
11826
11837
  var exp = $3;
@@ -11916,7 +11927,7 @@ ${js}`
11916
11927
  function NamedProperty(ctx, state2) {
11917
11928
  return (0, import_lib3.$EVENT)(ctx, state2, "NamedProperty", NamedProperty$0);
11918
11929
  }
11919
- 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) {
11930
+ 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) {
11920
11931
  var name = $1;
11921
11932
  var colon = $2;
11922
11933
  var expression = $3;
@@ -12357,18 +12368,23 @@ ${js}`
12357
12368
  return (0, import_lib3.$EVENT_C)(ctx, state2, "CoffeeWordAssignmentOp", CoffeeWordAssignmentOp$$);
12358
12369
  }
12359
12370
  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) {
12371
+ var ws1 = $1;
12372
+ var ws2 = $2;
12373
+ var op = $3;
12360
12374
  const ws = [];
12361
- if ($1)
12362
- ws.push(...$1);
12363
- if ($2)
12364
- ws.push(...$2);
12365
- return [ws, $3];
12375
+ if (ws1)
12376
+ ws.push(...ws1);
12377
+ if (ws2)
12378
+ ws.push(...ws2);
12379
+ return [ws, op];
12366
12380
  });
12367
- 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) {
12368
- var op = $5;
12369
- const ws = [...$1];
12370
- if ($2)
12371
- ws.push(...$2);
12381
+ 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) {
12382
+ var ws1 = $2;
12383
+ var ws2 = $3;
12384
+ var op = $6;
12385
+ const ws = [...ws1];
12386
+ if (ws2)
12387
+ ws.push(...ws2);
12372
12388
  return [ws, op];
12373
12389
  });
12374
12390
  var NotDedentedBinaryOp$$ = [NotDedentedBinaryOp$0, NotDedentedBinaryOp$1];
@@ -12773,7 +12789,7 @@ ${js}`
12773
12789
  function PostfixedNoCommaStatement(ctx, state2) {
12774
12790
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedNoCommaStatement", PostfixedNoCommaStatement$0);
12775
12791
  }
12776
- 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) {
12792
+ 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) {
12777
12793
  var expression = $1;
12778
12794
  var post = $2;
12779
12795
  if (post)
@@ -12796,16 +12812,6 @@ ${js}`
12796
12812
  function PostfixedCommaExpression(ctx, state2) {
12797
12813
  return (0, import_lib3.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12798
12814
  }
12799
- 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) {
12800
- var expression = $1;
12801
- var post = $2;
12802
- if (post)
12803
- return attachPostfixStatementAsExpression(expression, post);
12804
- return expression;
12805
- });
12806
- function NonPipelinePostfixedExpression(ctx, state2) {
12807
- return (0, import_lib3.$EVENT)(ctx, state2, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
12808
- }
12809
12815
  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) {
12810
12816
  return value[1];
12811
12817
  });
@@ -13689,7 +13695,7 @@ ${js}`
13689
13695
  expression
13690
13696
  };
13691
13697
  });
13692
- 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) {
13698
+ 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) {
13693
13699
  var open = $2;
13694
13700
  var expression = $3;
13695
13701
  var close = $4;
@@ -13718,7 +13724,7 @@ ${js}`
13718
13724
  function Condition(ctx, state2) {
13719
13725
  return (0, import_lib3.$EVENT_C)(ctx, state2, "Condition", Condition$$);
13720
13726
  }
13721
- var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13727
+ var BoundedCondition$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertOpenParen, Expression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
13722
13728
  var open = $1;
13723
13729
  var expression = $2;
13724
13730
  var close = $3;
@@ -13747,7 +13753,7 @@ ${js}`
13747
13753
  function DeclarationCondition(ctx, state2) {
13748
13754
  return (0, import_lib3.$EVENT)(ctx, state2, "DeclarationCondition", DeclarationCondition$0);
13749
13755
  }
13750
- 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) {
13756
+ 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) {
13751
13757
  var exp = $3;
13752
13758
  if (exp)
13753
13759
  return exp;
@@ -13765,7 +13771,7 @@ ${js}`
13765
13771
  function SingleLineExpressionWithIndentedApplicationForbidden(ctx, state2) {
13766
13772
  return (0, import_lib3.$EVENT)(ctx, state2, "SingleLineExpressionWithIndentedApplicationForbidden", SingleLineExpressionWithIndentedApplicationForbidden$0);
13767
13773
  }
13768
- 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) {
13774
+ 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) {
13769
13775
  var exp = $4;
13770
13776
  if (exp)
13771
13777
  return exp;
@@ -13895,6 +13901,34 @@ ${js}`
13895
13901
  function TrailingMemberPropertyAllowed(ctx, state2) {
13896
13902
  return (0, import_lib3.$EVENT)(ctx, state2, "TrailingMemberPropertyAllowed", TrailingMemberPropertyAllowed$0);
13897
13903
  }
13904
+ var AllowNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13905
+ state.forbidNestedBinaryOp.push(false);
13906
+ });
13907
+ function AllowNestedBinaryOp(ctx, state2) {
13908
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowNestedBinaryOp", AllowNestedBinaryOp$0);
13909
+ }
13910
+ var ForbidNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13911
+ state.forbidNestedBinaryOp.push(true);
13912
+ });
13913
+ function ForbidNestedBinaryOp(ctx, state2) {
13914
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidNestedBinaryOp", ForbidNestedBinaryOp$0);
13915
+ }
13916
+ var RestoreNestedBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestoreNestedBinaryOp ""'), function($skip, $loc, $0, $1) {
13917
+ state.forbidNestedBinaryOp.pop();
13918
+ });
13919
+ function RestoreNestedBinaryOp(ctx, state2) {
13920
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestoreNestedBinaryOp", RestoreNestedBinaryOp$0);
13921
+ }
13922
+ var NestedBinaryOpAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'NestedBinaryOpAllowed ""'), function($skip, $loc, $0, $1) {
13923
+ if (config.verbose) {
13924
+ console.log("forbidNestedBinaryOp:", state.forbidNestedBinaryOp);
13925
+ }
13926
+ if (state.nestedBinaryOpForbidden)
13927
+ return $skip;
13928
+ });
13929
+ function NestedBinaryOpAllowed(ctx, state2) {
13930
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedBinaryOpAllowed", NestedBinaryOpAllowed$0);
13931
+ }
13898
13932
  var AllowNewlineBinaryOp$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowNewlineBinaryOp ""'), function($skip, $loc, $0, $1) {
13899
13933
  state.forbidNewlineBinaryOp.push(false);
13900
13934
  });
@@ -13923,11 +13957,39 @@ ${js}`
13923
13957
  function NewlineBinaryOpAllowed(ctx, state2) {
13924
13958
  return (0, import_lib3.$EVENT)(ctx, state2, "NewlineBinaryOpAllowed", NewlineBinaryOpAllowed$0);
13925
13959
  }
13926
- var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNewlineBinaryOp);
13960
+ var AllowPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'AllowPipeline ""'), function($skip, $loc, $0, $1) {
13961
+ state.forbidPipeline.push(false);
13962
+ });
13963
+ function AllowPipeline(ctx, state2) {
13964
+ return (0, import_lib3.$EVENT)(ctx, state2, "AllowPipeline", AllowPipeline$0);
13965
+ }
13966
+ var ForbidPipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ForbidPipeline ""'), function($skip, $loc, $0, $1) {
13967
+ state.forbidPipeline.push(true);
13968
+ });
13969
+ function ForbidPipeline(ctx, state2) {
13970
+ return (0, import_lib3.$EVENT)(ctx, state2, "ForbidPipeline", ForbidPipeline$0);
13971
+ }
13972
+ var RestorePipeline$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'RestorePipeline ""'), function($skip, $loc, $0, $1) {
13973
+ state.forbidPipeline.pop();
13974
+ });
13975
+ function RestorePipeline(ctx, state2) {
13976
+ return (0, import_lib3.$EVENT)(ctx, state2, "RestorePipeline", RestorePipeline$0);
13977
+ }
13978
+ var PipelineAllowed$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PipelineAllowed ""'), function($skip, $loc, $0, $1) {
13979
+ if (config.verbose) {
13980
+ console.log("forbidPipeline:", state.forbidPipeline);
13981
+ }
13982
+ if (state.pipelineForbidden)
13983
+ return $skip;
13984
+ });
13985
+ function PipelineAllowed(ctx, state2) {
13986
+ return (0, import_lib3.$EVENT)(ctx, state2, "PipelineAllowed", PipelineAllowed$0);
13987
+ }
13988
+ var AllowAll$0 = (0, import_lib3.$S)(AllowTrailingMemberProperty, AllowBracedApplication, AllowIndentedApplication, AllowClassImplicitCall, AllowNestedBinaryOp, AllowNewlineBinaryOp, AllowPipeline);
13927
13989
  function AllowAll(ctx, state2) {
13928
13990
  return (0, import_lib3.$EVENT)(ctx, state2, "AllowAll", AllowAll$0);
13929
13991
  }
13930
- var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNewlineBinaryOp);
13992
+ var RestoreAll$0 = (0, import_lib3.$S)(RestoreTrailingMemberProperty, RestoreBracedApplication, RestoreIndentedApplication, RestoreClassImplicitCall, RestoreNestedBinaryOp, RestoreNewlineBinaryOp, RestorePipeline);
13931
13993
  function RestoreAll(ctx, state2) {
13932
13994
  return (0, import_lib3.$EVENT)(ctx, state2, "RestoreAll", RestoreAll$0);
13933
13995
  }
@@ -13945,7 +14007,7 @@ ${js}`
13945
14007
  function ExpressionStatement(ctx, state2) {
13946
14008
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExpressionStatement", ExpressionStatement$$);
13947
14009
  }
13948
- 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) {
14010
+ 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) {
13949
14011
  const children = [$1];
13950
14012
  if ($2)
13951
14013
  children.push($2);
@@ -13969,7 +14031,7 @@ ${js}`
13969
14031
  children: []
13970
14032
  };
13971
14033
  });
13972
- 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) {
14034
+ 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) {
13973
14035
  const children = [$1];
13974
14036
  if ($2)
13975
14037
  children.push($2);
@@ -13987,7 +14049,7 @@ ${js}`
13987
14049
  };
13988
14050
  });
13989
14051
  var KeywordStatement$3 = DebuggerStatement;
13990
- 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) {
14052
+ 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) {
13991
14053
  var expression = value[2];
13992
14054
  return { "type": "ReturnStatement", "expression": expression, "children": value };
13993
14055
  });
@@ -14002,7 +14064,7 @@ ${js}`
14002
14064
  function DebuggerStatement(ctx, state2) {
14003
14065
  return (0, import_lib3.$EVENT)(ctx, state2, "DebuggerStatement", DebuggerStatement$0);
14004
14066
  }
14005
- var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExtendedExpression), function(value) {
14067
+ var ThrowStatement$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Throw, MaybeParenNestedExpression), function(value) {
14006
14068
  return { "type": "ThrowStatement", "children": value };
14007
14069
  });
14008
14070
  function ThrowStatement(ctx, state2) {
@@ -14026,16 +14088,16 @@ ${js}`
14026
14088
  function Debugger(ctx, state2) {
14027
14089
  return (0, import_lib3.$EVENT)(ctx, state2, "Debugger", Debugger$0);
14028
14090
  }
14029
- var MaybeNestedNonPipelineExtendedExpression$0 = NestedBulletedArray;
14030
- 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) {
14091
+ var MaybeNestedNonPipelineExpression$0 = NestedBulletedArray;
14092
+ 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) {
14031
14093
  if ($3)
14032
14094
  return $3;
14033
14095
  return $skip;
14034
14096
  });
14035
- var MaybeNestedNonPipelineExtendedExpression$2 = NonPipelineExtendedExpression;
14036
- var MaybeNestedNonPipelineExtendedExpression$$ = [MaybeNestedNonPipelineExtendedExpression$0, MaybeNestedNonPipelineExtendedExpression$1, MaybeNestedNonPipelineExtendedExpression$2];
14037
- function MaybeNestedNonPipelineExtendedExpression(ctx, state2) {
14038
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExtendedExpression", MaybeNestedNonPipelineExtendedExpression$$);
14097
+ var MaybeNestedNonPipelineExpression$2 = NonPipelineExpression;
14098
+ var MaybeNestedNonPipelineExpression$$ = [MaybeNestedNonPipelineExpression$0, MaybeNestedNonPipelineExpression$1, MaybeNestedNonPipelineExpression$2];
14099
+ function MaybeNestedNonPipelineExpression(ctx, state2) {
14100
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedNonPipelineExpression", MaybeNestedNonPipelineExpression$$);
14039
14101
  }
14040
14102
  var MaybeNestedPostfixedExpression$0 = NestedBulletedArray;
14041
14103
  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) {
@@ -14048,42 +14110,42 @@ ${js}`
14048
14110
  function MaybeNestedPostfixedExpression(ctx, state2) {
14049
14111
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedPostfixedExpression", MaybeNestedPostfixedExpression$$);
14050
14112
  }
14051
- var MaybeNestedExtendedExpression$0 = NestedBulletedArray;
14052
- 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) {
14113
+ var MaybeNestedExpression$0 = NestedBulletedArray;
14114
+ 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) {
14053
14115
  if ($3)
14054
14116
  return $3;
14055
14117
  return $skip;
14056
14118
  });
14057
- var MaybeNestedExtendedExpression$2 = ExtendedExpression;
14058
- var MaybeNestedExtendedExpression$$ = [MaybeNestedExtendedExpression$0, MaybeNestedExtendedExpression$1, MaybeNestedExtendedExpression$2];
14059
- function MaybeNestedExtendedExpression(ctx, state2) {
14060
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExtendedExpression", MaybeNestedExtendedExpression$$);
14119
+ var MaybeNestedExpression$2 = Expression;
14120
+ var MaybeNestedExpression$$ = [MaybeNestedExpression$0, MaybeNestedExpression$1, MaybeNestedExpression$2];
14121
+ function MaybeNestedExpression(ctx, state2) {
14122
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeNestedExpression", MaybeNestedExpression$$);
14061
14123
  }
14062
- var NestedExtendedExpression$0 = NestedBulletedArray;
14063
- 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) {
14124
+ var NestedExpression$0 = NestedBulletedArray;
14125
+ 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) {
14064
14126
  if ($3)
14065
14127
  return $3;
14066
14128
  return $skip;
14067
14129
  });
14068
- var NestedExtendedExpression$$ = [NestedExtendedExpression$0, NestedExtendedExpression$1];
14069
- function NestedExtendedExpression(ctx, state2) {
14070
- return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExtendedExpression", NestedExtendedExpression$$);
14130
+ var NestedExpression$$ = [NestedExpression$0, NestedExpression$1];
14131
+ function NestedExpression(ctx, state2) {
14132
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "NestedExpression", NestedExpression$$);
14071
14133
  }
14072
- var MaybeParenNestedExtendedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), ExtendedExpression), function(value) {
14134
+ var MaybeParenNestedExpression$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Expression), function(value) {
14073
14135
  return value[1];
14074
14136
  });
14075
- var MaybeParenNestedExtendedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14137
+ var MaybeParenNestedExpression$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$Y)(EOS), (0, import_lib3.$C)(ArrayLiteral, ObjectLiteral)), function(value) {
14076
14138
  return value[1];
14077
14139
  });
14078
- 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) {
14140
+ 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) {
14079
14141
  var exp = $5;
14080
14142
  if (!exp)
14081
14143
  return $skip;
14082
14144
  return $0.slice(1);
14083
14145
  });
14084
- var MaybeParenNestedExtendedExpression$$ = [MaybeParenNestedExtendedExpression$0, MaybeParenNestedExtendedExpression$1, MaybeParenNestedExtendedExpression$2];
14085
- function MaybeParenNestedExtendedExpression(ctx, state2) {
14086
- return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExtendedExpression", MaybeParenNestedExtendedExpression$$);
14146
+ var MaybeParenNestedExpression$$ = [MaybeParenNestedExpression$0, MaybeParenNestedExpression$1, MaybeParenNestedExpression$2];
14147
+ function MaybeParenNestedExpression(ctx, state2) {
14148
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "MaybeParenNestedExpression", MaybeParenNestedExpression$$);
14087
14149
  }
14088
14150
  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) {
14089
14151
  const imp = [
@@ -14380,7 +14442,7 @@ ${js}`
14380
14442
  function ImportedBinding(ctx, state2) {
14381
14443
  return (0, import_lib3.$EVENT)(ctx, state2, "ImportedBinding", ImportedBinding$0);
14382
14444
  }
14383
- 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) {
14445
+ 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) {
14384
14446
  const exp = [
14385
14447
  { ...$1, ts: true },
14386
14448
  { ...$1, token: "module.exports", js: true }
@@ -14417,7 +14479,7 @@ ${js}`
14417
14479
  }
14418
14480
  ];
14419
14481
  });
14420
- 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) {
14482
+ 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) {
14421
14483
  var declaration = $6;
14422
14484
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
14423
14485
  });
@@ -14597,7 +14659,7 @@ ${js}`
14597
14659
  function LexicalBinding(ctx, state2) {
14598
14660
  return (0, import_lib3.$EVENT_C)(ctx, state2, "LexicalBinding", LexicalBinding$$);
14599
14661
  }
14600
- var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExtendedExpression), function(value) {
14662
+ var Initializer$0 = (0, import_lib3.$T)((0, import_lib3.$S)(__, Equals, MaybeNestedExpression), function(value) {
14601
14663
  var expression = value[2];
14602
14664
  return { "type": "Initializer", "expression": expression, "children": value };
14603
14665
  });
@@ -16928,7 +16990,7 @@ ${js}`
16928
16990
  function NestedEnumPropertyLine(ctx, state2) {
16929
16991
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
16930
16992
  }
16931
- 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) {
16993
+ 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) {
16932
16994
  var name = $1;
16933
16995
  var initializer = $2;
16934
16996
  return {
@@ -18097,7 +18159,9 @@ ${js}`
18097
18159
  state.forbidIndentedApplication = [false];
18098
18160
  state.forbidBracedApplication = [false];
18099
18161
  state.forbidTrailingMemberProperty = [false];
18162
+ state.forbidNestedBinaryOp = [false];
18100
18163
  state.forbidNewlineBinaryOp = [false];
18164
+ state.forbidPipeline = [false];
18101
18165
  state.JSXTagStack = [void 0];
18102
18166
  state.operators = /* @__PURE__ */ new Map();
18103
18167
  state.helperRefs = {};
@@ -18368,12 +18432,24 @@ ${js}`
18368
18432
  return s[s.length - 1];
18369
18433
  }
18370
18434
  },
18435
+ nestedBinaryOpForbidden: {
18436
+ get() {
18437
+ const { forbidNestedBinaryOp: s } = state;
18438
+ return s[s.length - 1];
18439
+ }
18440
+ },
18371
18441
  newlineBinaryOpForbidden: {
18372
18442
  get() {
18373
18443
  const { forbidNewlineBinaryOp: s } = state;
18374
18444
  return s[s.length - 1];
18375
18445
  }
18376
18446
  },
18447
+ pipelineForbidden: {
18448
+ get() {
18449
+ const { forbidPipeline: s } = state;
18450
+ return s[s.length - 1];
18451
+ }
18452
+ },
18377
18453
  currentJSXTag: {
18378
18454
  get() {
18379
18455
  const { JSXTagStack: s } = state;
@@ -18382,12 +18458,12 @@ ${js}`
18382
18458
  }
18383
18459
  });
18384
18460
  function getStateKey() {
18385
- 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,
18461
+ 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,
18386
18462
  // since it is affected by the directive prologue and may be hit
18387
18463
  // by the EOL rule early in the parse. Later if we wanted to
18388
18464
  // allow block scoping of the compat directives we would need to
18389
18465
  // add them all here.
18390
- config.coffeeComment << 2;
18466
+ config.coffeeComment << 0;
18391
18467
  return [stateInt, state.currentJSXTag];
18392
18468
  }
18393
18469
  function parseProgram(input, options) {
@@ -18787,21 +18863,27 @@ ${js}`
18787
18863
  "AllowBracedApplication",
18788
18864
  "AllowIndentedApplication",
18789
18865
  "AllowMultiLineImplicitObjectLiteral",
18866
+ "AllowNestedBinaryOp",
18790
18867
  "AllowNewlineBinaryOp",
18791
18868
  "AllowTrailingMemberProperty",
18869
+ "AllowPipeline",
18792
18870
  "ForbidClassImplicitCall",
18793
18871
  "ForbidBracedApplication",
18794
18872
  "ForbidIndentedApplication",
18795
18873
  "ForbidMultiLineImplicitObjectLiteral",
18874
+ "ForbidNestedBinaryOp",
18796
18875
  "ForbidNewlineBinaryOp",
18797
18876
  "ForbidTrailingMemberProperty",
18877
+ "ForbidPipeline",
18798
18878
  "RestoreAll",
18799
18879
  "RestoreClassImplicitCall",
18800
18880
  "RestoreMultiLineImplicitObjectLiteral",
18801
18881
  "RestoreBracedApplication",
18802
18882
  "RestoreIndentedApplication",
18803
18883
  "RestoreTrailingMemberProperty",
18804
- "RestoreNewlineBinaryOp"
18884
+ "RestoreNestedBinaryOp",
18885
+ "RestoreNewlineBinaryOp",
18886
+ "RestorePipeline"
18805
18887
  ]);
18806
18888
  function compile(src, options) {
18807
18889
  if (!options) {
@@ -18946,13 +19028,16 @@ ${counts}`;
18946
19028
  };
18947
19029
  }
18948
19030
  if (trace) {
18949
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u2192");
19031
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "{");
18950
19032
  stack.push(ruleName);
18951
19033
  }
18952
19034
  return;
18953
19035
  },
18954
19036
  exit: function(ruleName, state2, result) {
18955
19037
  if (uncacheable.has(ruleName)) {
19038
+ if (trace) {
19039
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "\u26A0\uFE0F " + (result ? "\u2705" : "\u274C"));
19040
+ }
18956
19041
  return;
18957
19042
  }
18958
19043
  const [stateKey, tagKey] = getStateKey();
@@ -18966,7 +19051,7 @@ ${counts}`;
18966
19051
  }
18967
19052
  if (trace) {
18968
19053
  stack.pop();
18969
- logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + " " + (result ? "\u2705" : "\u274C"));
19054
+ logs.push("".padStart(stack.length * 2, " ") + ruleName + ":" + state2.pos + "} " + (result ? "\u2705" : "\u274C"));
18970
19055
  }
18971
19056
  return;
18972
19057
  }