@danielx/civet 0.6.50 → 0.6.52

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
@@ -3875,6 +3875,10 @@ var require_parser = __commonJS({
3875
3875
  ShortArrowParameters,
3876
3876
  ArrowParameters,
3877
3877
  NonEmptyParameters,
3878
+ ParameterList,
3879
+ NestedParameterList,
3880
+ NestedParameter,
3881
+ Parameter,
3878
3882
  FunctionRestParameter,
3879
3883
  ParameterElement,
3880
3884
  ParameterElementDelimiter,
@@ -4201,6 +4205,7 @@ var require_parser = __commonJS({
4201
4205
  Case,
4202
4206
  Catch,
4203
4207
  Class,
4208
+ CloseAngleBracket,
4204
4209
  CloseBrace,
4205
4210
  CloseBracket,
4206
4211
  CloseParen,
@@ -4672,7 +4677,7 @@ var require_parser = __commonJS({
4672
4677
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4673
4678
  var $R2 = $R(new RegExp("[0-9]", "suy"));
4674
4679
  var $R3 = $R(new RegExp("[ \\t]", "suy"));
4675
- var $R4 = $R(new RegExp("(?=['\"`])", "suy"));
4680
+ var $R4 = $R(new RegExp("(?=['\"`<])", "suy"));
4676
4681
  var $R5 = $R(new RegExp("(?=[\\/?])", "suy"));
4677
4682
  var $R6 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4678
4683
  var $R7 = $R(new RegExp("[)}]", "suy"));
@@ -5320,8 +5325,11 @@ var require_parser = __commonJS({
5320
5325
  function TrailingDeclaration(ctx, state) {
5321
5326
  return $EVENT(ctx, state, "TrailingDeclaration", TrailingDeclaration$0);
5322
5327
  }
5323
- var FatArrowBody$0 = $T($S($N(EOS), NonPipelinePostfixedExpression, $N(TrailingDeclaration), $N(SemicolonDelimiter)), function(value) {
5324
- var exp = value[1];
5328
+ var FatArrowBody$0 = $TS($S($N(EOS), NonPipelinePostfixedExpression, $N(TrailingDeclaration), $N(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
5329
+ var exp = $2;
5330
+ if (exp.type === "ObjectExpression") {
5331
+ return makeLeftHandSideExpression(exp);
5332
+ }
5325
5333
  return exp;
5326
5334
  });
5327
5335
  var FatArrowBody$1 = NoCommaBracedOrEmptyBlock;
@@ -5793,12 +5801,15 @@ var require_parser = __commonJS({
5793
5801
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
5794
5802
  }
5795
5803
  var CallExpressionRest$0 = MemberExpressionRest;
5796
- var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
5797
- var literal = $2;
5804
+ var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
5805
+ var args = $2;
5806
+ var literal = $3;
5798
5807
  if (literal.type === "StringLiteral") {
5799
- return "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
5808
+ literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
5800
5809
  }
5801
- return literal;
5810
+ if (!args)
5811
+ return literal;
5812
+ return [args, literal];
5802
5813
  });
5803
5814
  var CallExpressionRest$2 = $TS($S($E(OptionalShorthand), ArgumentsWithTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
5804
5815
  if (!$1)
@@ -6138,15 +6149,55 @@ var require_parser = __commonJS({
6138
6149
  function ArrowParameters(ctx, state) {
6139
6150
  return $EVENT_C(ctx, state, "ArrowParameters", ArrowParameters$$);
6140
6151
  }
6141
- var NonEmptyParameters$0 = $TS($S($E(TypeParameters), OpenParen, $E(ThisType), $Q(ParameterElement), $E(FunctionRestParameter), $Q(ParameterElement), $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
6152
+ var NonEmptyParameters$0 = $TS($S($E(TypeParameters), OpenParen, ParameterList, $S(__, CloseParen)), function($skip, $loc, $0, $1, $2, $3, $4) {
6142
6153
  var tp = $1;
6143
6154
  var open = $2;
6144
- var tt = $3;
6145
- var pes = $4;
6146
- var rest = $5;
6147
- var after = $6;
6148
- var close = $7;
6149
- const names = pes.flatMap((p) => p.names);
6155
+ var params = $3;
6156
+ var close = $4;
6157
+ let tt, before = [], rest, after = [], errors = [];
6158
+ function append(p) {
6159
+ (rest ? after : before).push(p);
6160
+ }
6161
+ for (const param of params) {
6162
+ switch (param.type) {
6163
+ case "ThisType":
6164
+ if (tt) {
6165
+ append({
6166
+ type: "Error",
6167
+ message: "Only one typed this parameter is allowed"
6168
+ });
6169
+ append(param);
6170
+ } else {
6171
+ tt = insertTrimmingSpace(param, "");
6172
+ if (before.length || rest) {
6173
+ let delim = tt.children.at(-1);
6174
+ if (Array.isArray(delim))
6175
+ delim = delim.at(-1);
6176
+ if (delim?.token !== ",") {
6177
+ tt = {
6178
+ ...tt,
6179
+ children: [...tt.children, ", "]
6180
+ };
6181
+ }
6182
+ }
6183
+ }
6184
+ break;
6185
+ case "FunctionRestParameter":
6186
+ if (rest) {
6187
+ append({
6188
+ type: "Error",
6189
+ message: "Only one rest parameter is allowed"
6190
+ });
6191
+ append(param);
6192
+ } else {
6193
+ rest = param;
6194
+ }
6195
+ break;
6196
+ default:
6197
+ append(param);
6198
+ }
6199
+ }
6200
+ const names = before.flatMap((p) => p.names);
6150
6201
  if (rest) {
6151
6202
  const restIdentifier = rest.binding.ref || rest.binding;
6152
6203
  names.push(...rest.names || []);
@@ -6163,7 +6214,7 @@ var require_parser = __commonJS({
6163
6214
  tp,
6164
6215
  open,
6165
6216
  tt,
6166
- ...pes,
6217
+ ...before,
6167
6218
  // Remove delimiter
6168
6219
  { ...rest, children: rest.children.slice(0, -1) },
6169
6220
  close
@@ -6175,19 +6226,61 @@ var require_parser = __commonJS({
6175
6226
  }
6176
6227
  return {
6177
6228
  type: "Parameters",
6178
- children: [tp, open, tt, ...pes, close],
6179
- names: pes.flatMap((p) => p.names),
6229
+ children: [tp, open, tt, ...before, close],
6230
+ names,
6180
6231
  tp
6181
6232
  };
6182
6233
  });
6183
6234
  function NonEmptyParameters(ctx, state) {
6184
6235
  return $EVENT(ctx, state, "NonEmptyParameters", NonEmptyParameters$0);
6185
6236
  }
6186
- var FunctionRestParameter$0 = $TS($S(__, BindingRestElement, $E(TypeSuffix), ParameterElementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
6237
+ var ParameterList$0 = $TS($S($Q(Parameter), NestedParameterList), function($skip, $loc, $0, $1, $2) {
6238
+ return [...$1, ...$2];
6239
+ });
6240
+ var ParameterList$1 = $TV($Q($S(__, Parameter)), function($skip, $loc, $0, $1) {
6241
+ return $1.map(([eos, p]) => ({
6242
+ ...p,
6243
+ children: [eos, ...p.children]
6244
+ }));
6245
+ });
6246
+ var ParameterList$$ = [ParameterList$0, ParameterList$1];
6247
+ function ParameterList(ctx, state) {
6248
+ return $EVENT_C(ctx, state, "ParameterList", ParameterList$$);
6249
+ }
6250
+ var NestedParameterList$0 = $TS($S(PushIndent, $Q(NestedParameter), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
6251
+ var params = $2;
6252
+ if (!params.length)
6253
+ return $skip;
6254
+ return params;
6255
+ });
6256
+ function NestedParameterList(ctx, state) {
6257
+ return $EVENT(ctx, state, "NestedParameterList", NestedParameterList$0);
6258
+ }
6259
+ var NestedParameter$0 = $TS($S(Nested, $P(Parameter)), function($skip, $loc, $0, $1, $2) {
6260
+ var ws = $1;
6261
+ var params = $2;
6262
+ params = [...params];
6263
+ params[0] = {
6264
+ ...params[0],
6265
+ children: [ws, ...params[0].children]
6266
+ };
6267
+ return params;
6268
+ });
6269
+ function NestedParameter(ctx, state) {
6270
+ return $EVENT(ctx, state, "NestedParameter", NestedParameter$0);
6271
+ }
6272
+ var Parameter$0 = ThisType;
6273
+ var Parameter$1 = ParameterElement;
6274
+ var Parameter$2 = FunctionRestParameter;
6275
+ var Parameter$$ = [Parameter$0, Parameter$1, Parameter$2];
6276
+ function Parameter(ctx, state) {
6277
+ return $EVENT_C(ctx, state, "Parameter", Parameter$$);
6278
+ }
6279
+ var FunctionRestParameter$0 = $TS($S($N(EOS), BindingRestElement, $E(TypeSuffix), ParameterElementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
6187
6280
  var id = $2;
6188
6281
  return {
6189
6282
  type: "FunctionRestParameter",
6190
- children: $0,
6283
+ children: $0.slice(1),
6191
6284
  names: id.names,
6192
6285
  binding: id.binding
6193
6286
  };
@@ -6195,12 +6288,14 @@ var require_parser = __commonJS({
6195
6288
  function FunctionRestParameter(ctx, state) {
6196
6289
  return $EVENT(ctx, state, "FunctionRestParameter", FunctionRestParameter$0);
6197
6290
  }
6198
- var ParameterElement$0 = $TS($S(__, $E(AccessModifier), $C(BindingIdentifier, BindingPattern), $E(TypeSuffix), $E(Initializer), ParameterElementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
6291
+ var ParameterElement$0 = $TS($S($E(_), $E(AccessModifier), $E(_), $C(NWBindingIdentifier, BindingPattern), $E(TypeSuffix), $E(Initializer), ParameterElementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
6292
+ var accessModifier = $2;
6293
+ var binding = $4;
6199
6294
  return {
6200
6295
  type: "Parameter",
6201
6296
  children: $0,
6202
- names: $3.names,
6203
- accessModifier: $2
6297
+ names: binding.names,
6298
+ accessModifier
6204
6299
  };
6205
6300
  });
6206
6301
  function ParameterElement(ctx, state) {
@@ -6595,8 +6690,8 @@ var require_parser = __commonJS({
6595
6690
  async,
6596
6691
  generator,
6597
6692
  modifier: {
6598
- async: !async.length,
6599
- generator: !generator.length
6693
+ async: !!async.length,
6694
+ generator: !!generator.length
6600
6695
  },
6601
6696
  block: null,
6602
6697
  children: !parameters.implicit ? [async, func, generator, wid, w, parameters, suffix] : [async, func, generator, wid, parameters, w, suffix]
@@ -6619,9 +6714,11 @@ var require_parser = __commonJS({
6619
6714
  }
6620
6715
  if (hasAwait(block) && !signature.async.length) {
6621
6716
  signature.async.push("async ");
6717
+ signature.modifier.async = true;
6622
6718
  }
6623
6719
  if (hasYield(block) && !signature.generator.length) {
6624
6720
  signature.generator.push("*");
6721
+ signature.modifier.generator = true;
6625
6722
  }
6626
6723
  return {
6627
6724
  ...signature,
@@ -6796,10 +6893,11 @@ var require_parser = __commonJS({
6796
6893
  function AmpersandBlockRHS(ctx, state) {
6797
6894
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
6798
6895
  }
6799
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3) {
6896
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
6800
6897
  var callExpRest = $1;
6801
6898
  var unaryPostfix = $2;
6802
- var binopRHS = $3;
6899
+ var assign = $3;
6900
+ var binopRHS = $4;
6803
6901
  if (!callExpRest && !binopRHS && !unaryPostfix)
6804
6902
  return $skip;
6805
6903
  const ref = makeRef("$");
@@ -6815,8 +6913,24 @@ var require_parser = __commonJS({
6815
6913
  if (unaryPostfix) {
6816
6914
  exp = processUnaryExpression([], exp, unaryPostfix);
6817
6915
  }
6916
+ if (assign) {
6917
+ const [op1, more, rhs] = assign;
6918
+ const lhs = [
6919
+ [void 0, exp, ...op1],
6920
+ ...more.map((x) => [x[0], x[1], ...x[2]])
6921
+ ];
6922
+ exp = {
6923
+ type: "AssignmentExpression",
6924
+ children: [lhs, rhs],
6925
+ names: null,
6926
+ lhs,
6927
+ assigned: exp,
6928
+ exp: rhs,
6929
+ ref
6930
+ };
6931
+ }
6818
6932
  if (binopRHS) {
6819
- return {
6933
+ exp = {
6820
6934
  children: processBinaryOpExpression([exp, binopRHS[1]]),
6821
6935
  ref
6822
6936
  };
@@ -10701,6 +10815,12 @@ var require_parser = __commonJS({
10701
10815
  function Class(ctx, state) {
10702
10816
  return $EVENT(ctx, state, "Class", Class$0);
10703
10817
  }
10818
+ var CloseAngleBracket$0 = $TV($EXPECT($L33, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
10819
+ return { $loc, token: $1 };
10820
+ });
10821
+ function CloseAngleBracket(ctx, state) {
10822
+ return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
10823
+ }
10704
10824
  var CloseBrace$0 = $TV($EXPECT($L25, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
10705
10825
  return { $loc, token: $1 };
10706
10826
  });
@@ -12499,9 +12619,14 @@ var require_parser = __commonJS({
12499
12619
  function TypeArrowFunction(ctx, state) {
12500
12620
  return $EVENT(ctx, state, "TypeArrowFunction", TypeArrowFunction$0);
12501
12621
  }
12502
- var TypeArguments$0 = $TS($S($EXPECT($L154, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L33, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
12622
+ var TypeArguments$0 = $TS($S(OpenAngleBracket, $P(TypeArgument), __, CloseAngleBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
12503
12623
  var args = $2;
12504
- return { ts: true, types: args.map(([, t]) => t), children: $0 };
12624
+ return {
12625
+ type: "TypeArguments",
12626
+ ts: true,
12627
+ types: args.map(([, t]) => t),
12628
+ children: $0
12629
+ };
12505
12630
  });
12506
12631
  function TypeArguments(ctx, state) {
12507
12632
  return $EVENT(ctx, state, "TypeArguments", TypeArguments$0);
@@ -12514,7 +12639,7 @@ var require_parser = __commonJS({
12514
12639
  function TypeArgumentDelimiter(ctx, state) {
12515
12640
  return $EVENT(ctx, state, "TypeArgumentDelimiter", TypeArgumentDelimiter$0);
12516
12641
  }
12517
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L154, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L33, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12642
+ var TypeParameters$0 = $TS($S($E(_), OpenAngleBracket, $P(TypeParameter), __, CloseAngleBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12518
12643
  var parameters = $3;
12519
12644
  return {
12520
12645
  type: "TypeParameters",
@@ -12547,7 +12672,7 @@ var require_parser = __commonJS({
12547
12672
  function TypeParameterDelimiter(ctx, state) {
12548
12673
  return $EVENT_C(ctx, state, "TypeParameterDelimiter", TypeParameterDelimiter$$);
12549
12674
  }
12550
- var ThisType$0 = $T($S($C(This, AtThis), Colon, Type, ParameterElementDelimiter), function(value) {
12675
+ var ThisType$0 = $T($S($E(_), $C(This, AtThis), Colon, Type, ParameterElementDelimiter), function(value) {
12551
12676
  return { "type": "ThisType", "ts": true, "children": value };
12552
12677
  });
12553
12678
  function ThisType(ctx, state) {
@@ -12990,19 +13115,45 @@ var require_parser = __commonJS({
12990
13115
  };
12991
13116
  module2.prelude.push(["", [preludeVar, moduloRef, typeSuffix, " = (a, b) => (a % b + b) % b;", "\n"]]);
12992
13117
  },
13118
+ Falsy(FalsyRef) {
13119
+ module2.prelude.push(["", [{
13120
+ ts: true,
13121
+ children: ["type ", FalsyRef, " = false | 0 | '' | 0n | null | undefined;", "\n"]
13122
+ }]]);
13123
+ },
12993
13124
  xor(xorRef) {
13125
+ const Falsy = module2.getRef("Falsy");
12994
13126
  const typeSuffix = {
12995
13127
  ts: true,
12996
- children: [": (a: unknown, b: unknown) => boolean"]
13128
+ children: [
13129
+ ": <A, B>(a: A, b: B) => A extends ",
13130
+ Falsy,
13131
+ " ? B : B extends ",
13132
+ Falsy,
13133
+ " ? A : (false | (A & ",
13134
+ Falsy,
13135
+ " extends never ? never : B) | (B & ",
13136
+ Falsy,
13137
+ " extends never ? never : A))"
13138
+ ]
12997
13139
  };
12998
- module2.prelude.push(["", [preludeVar, xorRef, typeSuffix, " = (a, b) => a ? !b && a : b;", "\n"]]);
13140
+ module2.prelude.push(["", [preludeVar, xorRef, typeSuffix, " = (a, b) => (a ? !b && a : b)", asAny, ";", "\n"]]);
12999
13141
  },
13000
13142
  xnor(xnorRef) {
13143
+ const Falsy = module2.getRef("Falsy");
13001
13144
  const typeSuffix = {
13002
13145
  ts: true,
13003
- children: [": (a: unknown, b: unknown) => boolean"]
13146
+ children: [
13147
+ ": <A, B>(a: A, b: B) => A & ",
13148
+ Falsy,
13149
+ " extends never ? B : (true | (B extends ",
13150
+ Falsy,
13151
+ " ? never : A) | (A extends ",
13152
+ Falsy,
13153
+ " ? never : B))"
13154
+ ]
13004
13155
  };
13005
- module2.prelude.push(["", [preludeVar, xnorRef, typeSuffix, " = (a, b) => a ? b : !b || a;", "\n"]]);
13156
+ module2.prelude.push(["", [preludeVar, xnorRef, typeSuffix, " = (a, b) => (a ? b : !b || a)", asAny, ";", "\n"]]);
13006
13157
  },
13007
13158
  returnSymbol(ref) {
13008
13159
  module2.prelude.push({
@@ -13342,6 +13493,10 @@ var require_parser = __commonJS({
13342
13493
  exports.ShortArrowParameters = ShortArrowParameters;
13343
13494
  exports.ArrowParameters = ArrowParameters;
13344
13495
  exports.NonEmptyParameters = NonEmptyParameters;
13496
+ exports.ParameterList = ParameterList;
13497
+ exports.NestedParameterList = NestedParameterList;
13498
+ exports.NestedParameter = NestedParameter;
13499
+ exports.Parameter = Parameter;
13345
13500
  exports.FunctionRestParameter = FunctionRestParameter;
13346
13501
  exports.ParameterElement = ParameterElement;
13347
13502
  exports.ParameterElementDelimiter = ParameterElementDelimiter;
@@ -13668,6 +13823,7 @@ var require_parser = __commonJS({
13668
13823
  exports.Case = Case;
13669
13824
  exports.Catch = Catch;
13670
13825
  exports.Class = Class;
13826
+ exports.CloseAngleBracket = CloseAngleBracket;
13671
13827
  exports.CloseBrace = CloseBrace;
13672
13828
  exports.CloseBracket = CloseBracket;
13673
13829
  exports.CloseParen = CloseParen;