@danielx/civet 0.4.14 → 0.4.15

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
@@ -452,6 +452,7 @@ var Civet = (() => {
452
452
  AdditionalReservedWords,
453
453
  MemberExpression,
454
454
  MemberExpressionRest,
455
+ MemberBracketContent,
455
456
  PropertyAccess,
456
457
  SuperProperty,
457
458
  MetaProperty,
@@ -642,6 +643,7 @@ var Civet = (() => {
642
643
  Delete,
643
644
  Do,
644
645
  Dot,
646
+ DotDot,
645
647
  DotDotDot,
646
648
  DoubleQuote,
647
649
  Else,
@@ -865,60 +867,61 @@ var Civet = (() => {
865
867
  var $L91 = $L("delete");
866
868
  var $L92 = $L("do");
867
869
  var $L93 = $L(".");
868
- var $L94 = $L("...");
869
- var $L95 = $L('"');
870
- var $L96 = $L("else");
871
- var $L97 = $L("export");
872
- var $L98 = $L("for");
873
- var $L99 = $L("from");
874
- var $L100 = $L("function");
875
- var $L101 = $L("get");
876
- var $L102 = $L("set");
877
- var $L103 = $L("if");
878
- var $L104 = $L("let");
879
- var $L105 = $L("const");
880
- var $L106 = $L("loop");
881
- var $L107 = $L("new");
882
- var $L108 = $L("of");
883
- var $L109 = $L("{");
884
- var $L110 = $L("[");
885
- var $L111 = $L("(");
886
- var $L112 = $L("?");
887
- var $L113 = $L("return");
888
- var $L114 = $L("'");
889
- var $L115 = $L("static");
890
- var $L116 = $L("${");
891
- var $L117 = $L("switch");
892
- var $L118 = $L("target");
893
- var $L119 = $L("throw");
894
- var $L120 = $L('"""');
895
- var $L121 = $L("'''");
896
- var $L122 = $L("```");
897
- var $L123 = $L("try");
898
- var $L124 = $L("typeof");
899
- var $L125 = $L("unless");
900
- var $L126 = $L("until");
901
- var $L127 = $L("var");
902
- var $L128 = $L("void");
903
- var $L129 = $L("when");
904
- var $L130 = $L("while");
905
- var $L131 = $L("yield");
906
- var $L132 = $L("/>");
907
- var $L133 = $L("</");
908
- var $L134 = $L("<>");
909
- var $L135 = $L("</>");
910
- var $L136 = $L("declare");
911
- var $L137 = $L("type");
912
- var $L138 = $L("interface");
913
- var $L139 = $L("namespace");
914
- var $L140 = $L("readonly");
915
- var $L141 = $L("asserts");
916
- var $L142 = $L("keyof");
917
- var $L143 = $L("infer");
918
- var $L144 = $L("[]");
919
- var $L145 = $L("civet");
920
- var $L146 = $L(" ");
921
- var $L147 = $L(" ");
870
+ var $L94 = $L("..");
871
+ var $L95 = $L("...");
872
+ var $L96 = $L('"');
873
+ var $L97 = $L("else");
874
+ var $L98 = $L("export");
875
+ var $L99 = $L("for");
876
+ var $L100 = $L("from");
877
+ var $L101 = $L("function");
878
+ var $L102 = $L("get");
879
+ var $L103 = $L("set");
880
+ var $L104 = $L("if");
881
+ var $L105 = $L("let");
882
+ var $L106 = $L("const");
883
+ var $L107 = $L("loop");
884
+ var $L108 = $L("new");
885
+ var $L109 = $L("of");
886
+ var $L110 = $L("{");
887
+ var $L111 = $L("[");
888
+ var $L112 = $L("(");
889
+ var $L113 = $L("?");
890
+ var $L114 = $L("return");
891
+ var $L115 = $L("'");
892
+ var $L116 = $L("static");
893
+ var $L117 = $L("${");
894
+ var $L118 = $L("switch");
895
+ var $L119 = $L("target");
896
+ var $L120 = $L("throw");
897
+ var $L121 = $L('"""');
898
+ var $L122 = $L("'''");
899
+ var $L123 = $L("```");
900
+ var $L124 = $L("try");
901
+ var $L125 = $L("typeof");
902
+ var $L126 = $L("unless");
903
+ var $L127 = $L("until");
904
+ var $L128 = $L("var");
905
+ var $L129 = $L("void");
906
+ var $L130 = $L("when");
907
+ var $L131 = $L("while");
908
+ var $L132 = $L("yield");
909
+ var $L133 = $L("/>");
910
+ var $L134 = $L("</");
911
+ var $L135 = $L("<>");
912
+ var $L136 = $L("</>");
913
+ var $L137 = $L("declare");
914
+ var $L138 = $L("type");
915
+ var $L139 = $L("interface");
916
+ var $L140 = $L("namespace");
917
+ var $L141 = $L("readonly");
918
+ var $L142 = $L("asserts");
919
+ var $L143 = $L("keyof");
920
+ var $L144 = $L("infer");
921
+ var $L145 = $L("[]");
922
+ var $L146 = $L("civet");
923
+ var $L147 = $L(" ");
924
+ var $L148 = $L(" ");
922
925
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
923
926
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
924
927
  var $R2 = $R(new RegExp("[!~+-]", "suy"));
@@ -926,8 +929,8 @@ var Civet = (() => {
926
929
  var $R4 = $R(new RegExp('[^;"\\s]+', "suy"));
927
930
  var $R5 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
928
931
  var $R6 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
929
- var $R7 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*)?)?", "suy"));
930
- var $R8 = $R(new RegExp("(?:\\.(?!\\p{ID_Start})[0-9](?:_[0-9]|[0-9])*)", "suy"));
932
+ var $R7 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
933
+ var $R8 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
931
934
  var $R9 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
932
935
  var $R10 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
933
936
  var $R11 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
@@ -1544,7 +1547,7 @@ var Civet = (() => {
1544
1547
  return MemberExpression$0(state) || MemberExpression$1(state) || MemberExpression$2(state);
1545
1548
  }
1546
1549
  }
1547
- var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), OpenBracket, Expression, __, CloseBracket);
1550
+ var MemberExpressionRest$0 = $S($E($C(OptionalShorthand, NonNullAssertion)), MemberBracketContent);
1548
1551
  var MemberExpressionRest$1 = $S($E($S($Y(EOS), IndentedFurther)), PropertyAccess);
1549
1552
  var MemberExpressionRest$2 = $TS($S($E($S($Y(EOS), IndentedFurther)), $EXPECT($L12, fail, 'MemberExpressionRest "::"'), $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
1550
1553
  var id = $3;
@@ -1560,6 +1563,42 @@ var Civet = (() => {
1560
1563
  return MemberExpressionRest$0(state) || MemberExpressionRest$1(state) || MemberExpressionRest$2(state) || MemberExpressionRest$3(state);
1561
1564
  }
1562
1565
  }
1566
+ var MemberBracketContent$0 = $TS($S(OpenBracket, Expression, $E($S($C(DotDotDot, DotDot), $E(Expression))), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1567
+ if ($3) {
1568
+ const sep = $3[0];
1569
+ const end = $3[1];
1570
+ const inclusive = sep.token === "..";
1571
+ sep.token = ", ";
1572
+ $1.token = ".slice(";
1573
+ $5.token = ")";
1574
+ if (!end) {
1575
+ return {
1576
+ type: "SliceExpression",
1577
+ children: [$1, $2, $4, $5]
1578
+ };
1579
+ }
1580
+ if (inclusive) {
1581
+ return {
1582
+ type: "SliceExpression",
1583
+ children: [$1, $2, sep, ["1 + ", end, " || 1/0"], $4, $5]
1584
+ };
1585
+ }
1586
+ return {
1587
+ type: "SliceExpression",
1588
+ children: [$1, $2, sep, end, $4, $5]
1589
+ };
1590
+ }
1591
+ return $0;
1592
+ });
1593
+ function MemberBracketContent(state) {
1594
+ if (state.verbose)
1595
+ console.log("ENTER:", "MemberBracketContent");
1596
+ if (state.tokenize) {
1597
+ return $TOKEN("MemberBracketContent", state, MemberBracketContent$0(state));
1598
+ } else {
1599
+ return MemberBracketContent$0(state);
1600
+ }
1601
+ }
1563
1602
  var PropertyAccess$0 = $S($E($C(QuestionMark, NonNullAssertion)), Dot, $C(IdentifierName, PrivateIdentifier));
1564
1603
  function PropertyAccess(state) {
1565
1604
  if (state.verbose)
@@ -3331,8 +3370,8 @@ var Civet = (() => {
3331
3370
  var DecimalLiteral$0 = $TV($TEXT($EXPECT($R6, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
3332
3371
  return $1 + ".";
3333
3372
  });
3334
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R7, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*)?)?/"), $E(ExponentPart)));
3335
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R8, fail, "DecimalLiteral /(?:\\.(?!\\p{ID_Start})[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
3373
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R7, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
3374
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R8, fail, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
3336
3375
  function DecimalLiteral(state) {
3337
3376
  if (state.tokenize) {
3338
3377
  return $TOKEN("DecimalLiteral", state, DecimalLiteral$0(state) || DecimalLiteral$1(state) || DecimalLiteral$2(state));
@@ -3990,7 +4029,19 @@ var Civet = (() => {
3990
4029
  return Dot$0(state);
3991
4030
  }
3992
4031
  }
3993
- var DotDotDot$0 = $TV($EXPECT($L94, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
4032
+ var DotDot$0 = $TV($EXPECT($L94, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
4033
+ return { $loc, token: $1 };
4034
+ });
4035
+ function DotDot(state) {
4036
+ if (state.verbose)
4037
+ console.log("ENTER:", "DotDot");
4038
+ if (state.tokenize) {
4039
+ return $TOKEN("DotDot", state, DotDot$0(state));
4040
+ } else {
4041
+ return DotDot$0(state);
4042
+ }
4043
+ }
4044
+ var DotDotDot$0 = $TV($EXPECT($L95, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
3994
4045
  return { $loc, token: $1 };
3995
4046
  });
3996
4047
  function DotDotDot(state) {
@@ -4002,7 +4053,7 @@ var Civet = (() => {
4002
4053
  return DotDotDot$0(state);
4003
4054
  }
4004
4055
  }
4005
- var DoubleQuote$0 = $TV($EXPECT($L95, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
4056
+ var DoubleQuote$0 = $TV($EXPECT($L96, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
4006
4057
  return { $loc, token: $1 };
4007
4058
  });
4008
4059
  function DoubleQuote(state) {
@@ -4014,7 +4065,7 @@ var Civet = (() => {
4014
4065
  return DoubleQuote$0(state);
4015
4066
  }
4016
4067
  }
4017
- var Else$0 = $TV($EXPECT($L96, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
4068
+ var Else$0 = $TV($EXPECT($L97, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
4018
4069
  return { $loc, token: $1 };
4019
4070
  });
4020
4071
  function Else(state) {
@@ -4038,7 +4089,7 @@ var Civet = (() => {
4038
4089
  return Equals$0(state);
4039
4090
  }
4040
4091
  }
4041
- var Export$0 = $TS($S($EXPECT($L97, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4092
+ var Export$0 = $TS($S($EXPECT($L98, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4042
4093
  return { $loc, token: $1 };
4043
4094
  });
4044
4095
  function Export(state) {
@@ -4050,7 +4101,7 @@ var Civet = (() => {
4050
4101
  return Export$0(state);
4051
4102
  }
4052
4103
  }
4053
- var For$0 = $TS($S($EXPECT($L98, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4104
+ var For$0 = $TS($S($EXPECT($L99, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4054
4105
  return { $loc, token: $1 };
4055
4106
  });
4056
4107
  function For(state) {
@@ -4062,7 +4113,7 @@ var Civet = (() => {
4062
4113
  return For$0(state);
4063
4114
  }
4064
4115
  }
4065
- var From$0 = $TS($S($EXPECT($L99, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4116
+ var From$0 = $TS($S($EXPECT($L100, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4066
4117
  return { $loc, token: $1 };
4067
4118
  });
4068
4119
  function From(state) {
@@ -4074,7 +4125,7 @@ var Civet = (() => {
4074
4125
  return From$0(state);
4075
4126
  }
4076
4127
  }
4077
- var Function$0 = $TV($EXPECT($L100, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
4128
+ var Function$0 = $TV($EXPECT($L101, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
4078
4129
  return { $loc, token: $1 };
4079
4130
  });
4080
4131
  function Function(state) {
@@ -4086,7 +4137,7 @@ var Civet = (() => {
4086
4137
  return Function$0(state);
4087
4138
  }
4088
4139
  }
4089
- var GetOrSet$0 = $TS($S($C($EXPECT($L101, fail, 'GetOrSet "get"'), $EXPECT($L102, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4140
+ var GetOrSet$0 = $TS($S($C($EXPECT($L102, fail, 'GetOrSet "get"'), $EXPECT($L103, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4090
4141
  return { $loc, token: $1 };
4091
4142
  });
4092
4143
  function GetOrSet(state) {
@@ -4098,7 +4149,7 @@ var Civet = (() => {
4098
4149
  return GetOrSet$0(state);
4099
4150
  }
4100
4151
  }
4101
- var If$0 = $TV($EXPECT($L103, fail, 'If "if"'), function($skip, $loc, $0, $1) {
4152
+ var If$0 = $TV($EXPECT($L104, fail, 'If "if"'), function($skip, $loc, $0, $1) {
4102
4153
  return { $loc, token: $1 };
4103
4154
  });
4104
4155
  function If(state) {
@@ -4134,7 +4185,7 @@ var Civet = (() => {
4134
4185
  return In$0(state);
4135
4186
  }
4136
4187
  }
4137
- var LetOrConst$0 = $TV($C($EXPECT($L104, fail, 'LetOrConst "let"'), $EXPECT($L105, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
4188
+ var LetOrConst$0 = $TV($C($EXPECT($L105, fail, 'LetOrConst "let"'), $EXPECT($L106, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
4138
4189
  return { $loc, token: $1 };
4139
4190
  });
4140
4191
  function LetOrConst(state) {
@@ -4146,7 +4197,7 @@ var Civet = (() => {
4146
4197
  return LetOrConst$0(state);
4147
4198
  }
4148
4199
  }
4149
- var Loop$0 = $TS($S($EXPECT($L106, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4200
+ var Loop$0 = $TS($S($EXPECT($L107, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4150
4201
  return { $loc, token: "while(true)" };
4151
4202
  });
4152
4203
  function Loop(state) {
@@ -4158,7 +4209,7 @@ var Civet = (() => {
4158
4209
  return Loop$0(state);
4159
4210
  }
4160
4211
  }
4161
- var New$0 = $TV($EXPECT($L107, fail, 'New "new"'), function($skip, $loc, $0, $1) {
4212
+ var New$0 = $TV($EXPECT($L108, fail, 'New "new"'), function($skip, $loc, $0, $1) {
4162
4213
  return { $loc, token: $1 };
4163
4214
  });
4164
4215
  function New(state) {
@@ -4170,7 +4221,7 @@ var Civet = (() => {
4170
4221
  return New$0(state);
4171
4222
  }
4172
4223
  }
4173
- var Of$0 = $TV($EXPECT($L108, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
4224
+ var Of$0 = $TV($EXPECT($L109, fail, 'Of "of"'), function($skip, $loc, $0, $1) {
4174
4225
  return { $loc, token: $1 };
4175
4226
  });
4176
4227
  function Of(state) {
@@ -4182,7 +4233,7 @@ var Civet = (() => {
4182
4233
  return Of$0(state);
4183
4234
  }
4184
4235
  }
4185
- var OpenBrace$0 = $TV($EXPECT($L109, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
4236
+ var OpenBrace$0 = $TV($EXPECT($L110, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
4186
4237
  return { $loc, token: $1 };
4187
4238
  });
4188
4239
  function OpenBrace(state) {
@@ -4194,7 +4245,7 @@ var Civet = (() => {
4194
4245
  return OpenBrace$0(state);
4195
4246
  }
4196
4247
  }
4197
- var OpenBracket$0 = $TV($EXPECT($L110, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
4248
+ var OpenBracket$0 = $TV($EXPECT($L111, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
4198
4249
  return { $loc, token: $1 };
4199
4250
  });
4200
4251
  function OpenBracket(state) {
@@ -4206,7 +4257,7 @@ var Civet = (() => {
4206
4257
  return OpenBracket$0(state);
4207
4258
  }
4208
4259
  }
4209
- var OpenParen$0 = $TV($EXPECT($L111, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
4260
+ var OpenParen$0 = $TV($EXPECT($L112, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
4210
4261
  return { $loc, token: $1 };
4211
4262
  });
4212
4263
  function OpenParen(state) {
@@ -4218,7 +4269,7 @@ var Civet = (() => {
4218
4269
  return OpenParen$0(state);
4219
4270
  }
4220
4271
  }
4221
- var QuestionMark$0 = $TV($EXPECT($L112, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
4272
+ var QuestionMark$0 = $TV($EXPECT($L113, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
4222
4273
  return { $loc, token: $1 };
4223
4274
  });
4224
4275
  function QuestionMark(state) {
@@ -4230,7 +4281,7 @@ var Civet = (() => {
4230
4281
  return QuestionMark$0(state);
4231
4282
  }
4232
4283
  }
4233
- var Return$0 = $TS($S($EXPECT($L113, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4284
+ var Return$0 = $TS($S($EXPECT($L114, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4234
4285
  return { $loc, token: $1 };
4235
4286
  });
4236
4287
  function Return(state) {
@@ -4254,7 +4305,7 @@ var Civet = (() => {
4254
4305
  return Semicolon$0(state);
4255
4306
  }
4256
4307
  }
4257
- var SingleQuote$0 = $TV($EXPECT($L114, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
4308
+ var SingleQuote$0 = $TV($EXPECT($L115, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
4258
4309
  return { $loc, token: $1 };
4259
4310
  });
4260
4311
  function SingleQuote(state) {
@@ -4278,10 +4329,10 @@ var Civet = (() => {
4278
4329
  return Star$0(state);
4279
4330
  }
4280
4331
  }
4281
- var Static$0 = $TV($EXPECT($L115, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
4332
+ var Static$0 = $TV($EXPECT($L116, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
4282
4333
  return { $loc, token: $1 };
4283
4334
  });
4284
- var Static$1 = $TS($S($EXPECT($L8, fail, 'Static "@"'), $N($EXPECT($L111, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
4335
+ var Static$1 = $TS($S($EXPECT($L8, fail, 'Static "@"'), $N($EXPECT($L112, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
4285
4336
  return { $loc, token: "static " };
4286
4337
  });
4287
4338
  function Static(state) {
@@ -4291,7 +4342,7 @@ var Civet = (() => {
4291
4342
  return Static$0(state) || Static$1(state);
4292
4343
  }
4293
4344
  }
4294
- var SubstitutionStart$0 = $TV($EXPECT($L116, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
4345
+ var SubstitutionStart$0 = $TV($EXPECT($L117, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
4295
4346
  return { $loc, token: $1 };
4296
4347
  });
4297
4348
  function SubstitutionStart(state) {
@@ -4303,7 +4354,7 @@ var Civet = (() => {
4303
4354
  return SubstitutionStart$0(state);
4304
4355
  }
4305
4356
  }
4306
- var Switch$0 = $TS($S($EXPECT($L117, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4357
+ var Switch$0 = $TS($S($EXPECT($L118, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4307
4358
  return { $loc, token: $1 };
4308
4359
  });
4309
4360
  function Switch(state) {
@@ -4315,7 +4366,7 @@ var Civet = (() => {
4315
4366
  return Switch$0(state);
4316
4367
  }
4317
4368
  }
4318
- var Target$0 = $TV($EXPECT($L118, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
4369
+ var Target$0 = $TV($EXPECT($L119, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
4319
4370
  return { $loc, token: $1 };
4320
4371
  });
4321
4372
  function Target(state) {
@@ -4327,7 +4378,7 @@ var Civet = (() => {
4327
4378
  return Target$0(state);
4328
4379
  }
4329
4380
  }
4330
- var Throw$0 = $TS($S($EXPECT($L119, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4381
+ var Throw$0 = $TS($S($EXPECT($L120, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4331
4382
  return { $loc, token: $1 };
4332
4383
  });
4333
4384
  function Throw(state) {
@@ -4339,7 +4390,7 @@ var Civet = (() => {
4339
4390
  return Throw$0(state);
4340
4391
  }
4341
4392
  }
4342
- var TripleDoubleQuote$0 = $TV($EXPECT($L120, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
4393
+ var TripleDoubleQuote$0 = $TV($EXPECT($L121, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
4343
4394
  return { $loc, token: "`" };
4344
4395
  });
4345
4396
  function TripleDoubleQuote(state) {
@@ -4351,7 +4402,7 @@ var Civet = (() => {
4351
4402
  return TripleDoubleQuote$0(state);
4352
4403
  }
4353
4404
  }
4354
- var TripleSingleQuote$0 = $TV($EXPECT($L121, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
4405
+ var TripleSingleQuote$0 = $TV($EXPECT($L122, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
4355
4406
  return { $loc, token: "`" };
4356
4407
  });
4357
4408
  function TripleSingleQuote(state) {
@@ -4363,7 +4414,7 @@ var Civet = (() => {
4363
4414
  return TripleSingleQuote$0(state);
4364
4415
  }
4365
4416
  }
4366
- var TripleTick$0 = $TV($EXPECT($L122, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
4417
+ var TripleTick$0 = $TV($EXPECT($L123, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
4367
4418
  return { $loc, token: "`" };
4368
4419
  });
4369
4420
  function TripleTick(state) {
@@ -4375,7 +4426,7 @@ var Civet = (() => {
4375
4426
  return TripleTick$0(state);
4376
4427
  }
4377
4428
  }
4378
- var Try$0 = $TV($EXPECT($L123, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
4429
+ var Try$0 = $TV($EXPECT($L124, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
4379
4430
  return { $loc, token: $1 };
4380
4431
  });
4381
4432
  function Try(state) {
@@ -4387,7 +4438,7 @@ var Civet = (() => {
4387
4438
  return Try$0(state);
4388
4439
  }
4389
4440
  }
4390
- var Typeof$0 = $TS($S($EXPECT($L124, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4441
+ var Typeof$0 = $TS($S($EXPECT($L125, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4391
4442
  return { $loc, token: $1 };
4392
4443
  });
4393
4444
  function Typeof(state) {
@@ -4399,7 +4450,7 @@ var Civet = (() => {
4399
4450
  return Typeof$0(state);
4400
4451
  }
4401
4452
  }
4402
- var Unless$0 = $TV($EXPECT($L125, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
4453
+ var Unless$0 = $TV($EXPECT($L126, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
4403
4454
  return { $loc, token: $1 };
4404
4455
  });
4405
4456
  function Unless(state) {
@@ -4411,7 +4462,7 @@ var Civet = (() => {
4411
4462
  return Unless$0(state);
4412
4463
  }
4413
4464
  }
4414
- var Until$0 = $TS($S($EXPECT($L126, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4465
+ var Until$0 = $TS($S($EXPECT($L127, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4415
4466
  return { $loc, token: $1 };
4416
4467
  });
4417
4468
  function Until(state) {
@@ -4423,7 +4474,7 @@ var Civet = (() => {
4423
4474
  return Until$0(state);
4424
4475
  }
4425
4476
  }
4426
- var Var$0 = $TV($EXPECT($L127, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
4477
+ var Var$0 = $TV($EXPECT($L128, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
4427
4478
  return { $loc, token: $1 };
4428
4479
  });
4429
4480
  function Var(state) {
@@ -4435,7 +4486,7 @@ var Civet = (() => {
4435
4486
  return Var$0(state);
4436
4487
  }
4437
4488
  }
4438
- var Void$0 = $TS($S($EXPECT($L128, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4489
+ var Void$0 = $TS($S($EXPECT($L129, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4439
4490
  return { $loc, token: $1 };
4440
4491
  });
4441
4492
  function Void(state) {
@@ -4447,7 +4498,7 @@ var Civet = (() => {
4447
4498
  return Void$0(state);
4448
4499
  }
4449
4500
  }
4450
- var When$0 = $TS($S($EXPECT($L129, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4501
+ var When$0 = $TS($S($EXPECT($L130, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4451
4502
  return { $loc, token: "case" };
4452
4503
  });
4453
4504
  function When(state) {
@@ -4459,7 +4510,7 @@ var Civet = (() => {
4459
4510
  return When$0(state);
4460
4511
  }
4461
4512
  }
4462
- var While$0 = $TS($S($EXPECT($L130, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4513
+ var While$0 = $TS($S($EXPECT($L131, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4463
4514
  return { $loc, token: $1 };
4464
4515
  });
4465
4516
  function While(state) {
@@ -4471,7 +4522,7 @@ var Civet = (() => {
4471
4522
  return While$0(state);
4472
4523
  }
4473
4524
  }
4474
- var Yield$0 = $TS($S($EXPECT($L131, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4525
+ var Yield$0 = $TS($S($EXPECT($L132, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4475
4526
  return { $loc, token: $1 };
4476
4527
  });
4477
4528
  function Yield(state) {
@@ -4497,7 +4548,7 @@ var Civet = (() => {
4497
4548
  return JSXElement$0(state) || JSXElement$1(state);
4498
4549
  }
4499
4550
  }
4500
- var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L132, fail, 'JSXSelfClosingElement "/>"'));
4551
+ var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L133, fail, 'JSXSelfClosingElement "/>"'));
4501
4552
  function JSXSelfClosingElement(state) {
4502
4553
  if (state.verbose)
4503
4554
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -4517,7 +4568,7 @@ var Civet = (() => {
4517
4568
  return JSXOpeningElement$0(state);
4518
4569
  }
4519
4570
  }
4520
- var JSXClosingElement$0 = $S($EXPECT($L133, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L55, fail, 'JSXClosingElement ">"'));
4571
+ var JSXClosingElement$0 = $S($EXPECT($L134, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L55, fail, 'JSXClosingElement ">"'));
4521
4572
  function JSXClosingElement(state) {
4522
4573
  if (state.verbose)
4523
4574
  console.log("ENTER:", "JSXClosingElement");
@@ -4527,7 +4578,7 @@ var Civet = (() => {
4527
4578
  return JSXClosingElement$0(state);
4528
4579
  }
4529
4580
  }
4530
- var JSXFragment$0 = $S($EXPECT($L134, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L135, fail, 'JSXFragment "</>"'));
4581
+ var JSXFragment$0 = $S($EXPECT($L135, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L136, fail, 'JSXFragment "</>"'));
4531
4582
  function JSXFragment(state) {
4532
4583
  if (state.verbose)
4533
4584
  console.log("ENTER:", "JSXFragment");
@@ -4661,7 +4712,7 @@ var Civet = (() => {
4661
4712
  return TypeDeclaration$0(state);
4662
4713
  }
4663
4714
  }
4664
- var TypeDeclarationModifier$0 = $S($EXPECT($L136, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
4715
+ var TypeDeclarationModifier$0 = $S($EXPECT($L137, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
4665
4716
  var TypeDeclarationModifier$1 = Export;
4666
4717
  function TypeDeclarationModifier(state) {
4667
4718
  if (state.tokenize) {
@@ -4681,7 +4732,7 @@ var Civet = (() => {
4681
4732
  return TypeDeclarationRest$0(state) || TypeDeclarationRest$1(state) || TypeDeclarationRest$2(state) || TypeDeclarationRest$3(state);
4682
4733
  }
4683
4734
  }
4684
- var TypeKeyword$0 = $S($EXPECT($L137, fail, 'TypeKeyword "type"'), NonIdContinue);
4735
+ var TypeKeyword$0 = $S($EXPECT($L138, fail, 'TypeKeyword "type"'), NonIdContinue);
4685
4736
  function TypeKeyword(state) {
4686
4737
  if (state.verbose)
4687
4738
  console.log("ENTER:", "TypeKeyword");
@@ -4691,7 +4742,7 @@ var Civet = (() => {
4691
4742
  return TypeKeyword$0(state);
4692
4743
  }
4693
4744
  }
4694
- var Interface$0 = $S($EXPECT($L138, fail, 'Interface "interface"'), NonIdContinue);
4745
+ var Interface$0 = $S($EXPECT($L139, fail, 'Interface "interface"'), NonIdContinue);
4695
4746
  function Interface(state) {
4696
4747
  if (state.verbose)
4697
4748
  console.log("ENTER:", "Interface");
@@ -4701,7 +4752,7 @@ var Civet = (() => {
4701
4752
  return Interface$0(state);
4702
4753
  }
4703
4754
  }
4704
- var Namespace$0 = $S($EXPECT($L139, fail, 'Namespace "namespace"'), NonIdContinue);
4755
+ var Namespace$0 = $S($EXPECT($L140, fail, 'Namespace "namespace"'), NonIdContinue);
4705
4756
  function Namespace(state) {
4706
4757
  if (state.verbose)
4707
4758
  console.log("ENTER:", "Namespace");
@@ -4801,7 +4852,7 @@ var Civet = (() => {
4801
4852
  return NestedTypeDeclaration$0(state);
4802
4853
  }
4803
4854
  }
4804
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R37, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L140, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R38, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
4855
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R37, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L141, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R38, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
4805
4856
  function TypeIndexSignature(state) {
4806
4857
  if (state.verbose)
4807
4858
  console.log("ENTER:", "TypeIndexSignature");
@@ -4832,7 +4883,7 @@ var Civet = (() => {
4832
4883
  return TypeSuffix$0(state);
4833
4884
  }
4834
4885
  }
4835
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L141, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
4886
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L142, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
4836
4887
  if (!$3)
4837
4888
  $0.splice(2, 1);
4838
4889
  if ($1.length === 0)
@@ -4915,9 +4966,9 @@ var Civet = (() => {
4915
4966
  return TypeUnarySuffix$0(state) || TypeUnarySuffix$1(state);
4916
4967
  }
4917
4968
  }
4918
- var TypeUnaryOp$0 = $EXPECT($L142, fail, 'TypeUnaryOp "keyof"');
4919
- var TypeUnaryOp$1 = $EXPECT($L124, fail, 'TypeUnaryOp "typeof"');
4920
- var TypeUnaryOp$2 = $EXPECT($L143, fail, 'TypeUnaryOp "infer"');
4969
+ var TypeUnaryOp$0 = $EXPECT($L143, fail, 'TypeUnaryOp "keyof"');
4970
+ var TypeUnaryOp$1 = $EXPECT($L125, fail, 'TypeUnaryOp "typeof"');
4971
+ var TypeUnaryOp$2 = $EXPECT($L144, fail, 'TypeUnaryOp "infer"');
4921
4972
  function TypeUnaryOp(state) {
4922
4973
  if (state.tokenize) {
4923
4974
  return $TOKEN("TypeUnaryOp", state, TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state));
@@ -5007,10 +5058,10 @@ var Civet = (() => {
5007
5058
  }
5008
5059
  }
5009
5060
  var TypeLiteral$0 = Literal;
5010
- var TypeLiteral$1 = $TV($EXPECT($L128, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
5061
+ var TypeLiteral$1 = $TV($EXPECT($L129, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
5011
5062
  return { $loc, token: "void" };
5012
5063
  });
5013
- var TypeLiteral$2 = $TV($EXPECT($L144, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
5064
+ var TypeLiteral$2 = $TV($EXPECT($L145, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
5014
5065
  return { $loc, token: "[]" };
5015
5066
  });
5016
5067
  function TypeLiteral(state) {
@@ -5125,7 +5176,7 @@ var Civet = (() => {
5125
5176
  return CivetPrologue$0(state) || CivetPrologue$1(state);
5126
5177
  }
5127
5178
  }
5128
- var CivetPrologueContent$0 = $TS($S($EXPECT($L145, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R41, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
5179
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L146, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R41, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
5129
5180
  var options = $2;
5130
5181
  return {
5131
5182
  type: "CivetPrologue",
@@ -5598,6 +5649,7 @@ var Civet = (() => {
5598
5649
  }
5599
5650
  return spacing;
5600
5651
  };
5652
+ const initialSpacingRe = /^(?:\r?\n|\n)*((?:\r?\n|\n)\s+)/;
5601
5653
  module.dedentBlockSubstitutions = function($02) {
5602
5654
  const [s, strWithSubstitutions, e] = $02;
5603
5655
  if (strWithSubstitutions.length === 0) {
@@ -5606,7 +5658,7 @@ var Civet = (() => {
5606
5658
  let initialSpacing, i = 0, l = strWithSubstitutions.length, results = [s];
5607
5659
  const { token } = strWithSubstitutions[0];
5608
5660
  if (token) {
5609
- initialSpacing = token.match(/^(\r?\n|\n)\s+/);
5661
+ initialSpacing = token.match(initialSpacingRe);
5610
5662
  } else {
5611
5663
  initialSpacing = false;
5612
5664
  }
@@ -5631,9 +5683,9 @@ var Civet = (() => {
5631
5683
  };
5632
5684
  module.dedentBlockString = function({ $loc: $loc2, token: str }, spacing, trim = true) {
5633
5685
  if (spacing == null)
5634
- spacing = str.match(/^(\r?\n|\n)[ \t]+/);
5686
+ spacing = str.match(initialSpacingRe);
5635
5687
  if (spacing) {
5636
- str = str.replaceAll(spacing[0], "\n");
5688
+ str = str.replaceAll(spacing[1], "\n");
5637
5689
  const l = spacing.length;
5638
5690
  $loc2.pos += l;
5639
5691
  $loc2.length -= l;
@@ -5658,7 +5710,7 @@ var Civet = (() => {
5658
5710
  return Init$0(state);
5659
5711
  }
5660
5712
  }
5661
- var Indent$0 = $TV($Q($C($EXPECT($L146, fail, 'Indent " "'), $EXPECT($L147, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
5713
+ var Indent$0 = $TV($Q($C($EXPECT($L147, fail, 'Indent " "'), $EXPECT($L148, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
5662
5714
  const level = $1.length;
5663
5715
  return {
5664
5716
  $loc,