@danielx/civet 0.6.86 → 0.6.88

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
@@ -1704,7 +1704,11 @@ function patternAsValue(pattern) {
1704
1704
  }
1705
1705
  case "Identifier":
1706
1706
  case "BindingProperty": {
1707
- const children = [pattern.name, pattern.delim];
1707
+ const children = [
1708
+ // { name: value } = ... declares value, not name
1709
+ pattern.value ?? pattern.name,
1710
+ pattern.delim
1711
+ ];
1708
1712
  if (isWhitespaceOrEmpty(pattern.children[0])) {
1709
1713
  children.unshift(pattern.children[0]);
1710
1714
  }
@@ -2312,6 +2316,111 @@ function processDeclarationConditionStatement(s, getRef) {
2312
2316
  }
2313
2317
  }
2314
2318
  }
2319
+ function dynamizeFromClause(from) {
2320
+ from = from.slice(1);
2321
+ from = insertTrimmingSpace(from, "");
2322
+ if (from.at(-1)?.type === "ImportAssertion") {
2323
+ const assert2 = from.pop();
2324
+ from.push(", {", assert2.keyword, ":", assert2.object, "}");
2325
+ }
2326
+ return ["(", ...from, ")"];
2327
+ }
2328
+ function dynamizeImportDeclaration(decl) {
2329
+ const { imports } = decl;
2330
+ let { star, binding, specifiers } = imports;
2331
+ const justDefault = binding && !specifiers && !star;
2332
+ const pattern = (() => {
2333
+ {
2334
+ if (binding) {
2335
+ if (specifiers) {
2336
+ return makeRef();
2337
+ } else {
2338
+ return binding;
2339
+ }
2340
+ } else {
2341
+ return convertNamedImportsToObject(imports, true);
2342
+ }
2343
+ }
2344
+ })();
2345
+ const c = "const";
2346
+ const initializer = [
2347
+ " = ",
2348
+ justDefault ? "(" : void 0,
2349
+ { type: "Await", children: ["await"] },
2350
+ " ",
2351
+ decl.children[0],
2352
+ // import
2353
+ dynamizeFromClause(decl.from),
2354
+ justDefault ? ").default" : void 0
2355
+ ];
2356
+ const bindings = [{
2357
+ type: "Binding",
2358
+ names: pattern.names,
2359
+ pattern,
2360
+ initializer,
2361
+ children: [pattern, initializer]
2362
+ }];
2363
+ if (binding && specifiers) {
2364
+ const pattern2 = binding;
2365
+ const initializer2 = [
2366
+ " = ",
2367
+ pattern,
2368
+ ".default"
2369
+ ];
2370
+ bindings.push({
2371
+ type: "Binding",
2372
+ names: binding.names,
2373
+ pattern: pattern2,
2374
+ initializer: initializer2,
2375
+ children: [pattern2, initializer2]
2376
+ });
2377
+ const pattern3 = convertNamedImportsToObject(imports.children.at(-1), true);
2378
+ const initializer3 = [
2379
+ " = ",
2380
+ pattern
2381
+ ];
2382
+ bindings.push({
2383
+ type: "Binding",
2384
+ names: specifiers.names,
2385
+ pattern: pattern3,
2386
+ initializer: initializer3,
2387
+ children: [pattern3, initializer3]
2388
+ });
2389
+ }
2390
+ return {
2391
+ type: "Declaration",
2392
+ names: imports.names,
2393
+ bindings,
2394
+ decl: c,
2395
+ children: [
2396
+ c,
2397
+ " ",
2398
+ bindings.flatMap((binding2, i) => i > 0 ? [", ", binding2] : [binding2])
2399
+ ]
2400
+ };
2401
+ }
2402
+ function dynamizeImportDeclarationExpression($0) {
2403
+ const [imp, ws1, named, ws2, from] = $0;
2404
+ const object = convertNamedImportsToObject(named);
2405
+ const dot = ".";
2406
+ return processCallMemberExpression({
2407
+ type: "CallExpression",
2408
+ children: [
2409
+ { type: "Await", children: "await" },
2410
+ " ",
2411
+ imp,
2412
+ insertTrimmingSpace(ws2, ""),
2413
+ dynamizeFromClause(from),
2414
+ {
2415
+ type: "PropertyGlob",
2416
+ dot,
2417
+ object,
2418
+ children: [ws1, dot, object],
2419
+ reversed: true
2420
+ }
2421
+ ]
2422
+ });
2423
+ }
2315
2424
  var init_declaration = __esm({
2316
2425
  "source/parser/declaration.civet"() {
2317
2426
  "use strict";
@@ -2321,6 +2430,7 @@ var init_declaration = __esm({
2321
2430
  init_util();
2322
2431
  init_function();
2323
2432
  init_binding();
2433
+ init_lib();
2324
2434
  }
2325
2435
  });
2326
2436
 
@@ -3137,10 +3247,13 @@ __export(lib_exports, {
3137
3247
  adjustIndexAccess: () => adjustIndexAccess,
3138
3248
  attachPostfixStatementAsExpression: () => attachPostfixStatementAsExpression,
3139
3249
  blockWithPrefix: () => blockWithPrefix,
3250
+ convertNamedImportsToObject: () => convertNamedImportsToObject,
3140
3251
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
3141
3252
  dedentBlockString: () => dedentBlockString,
3142
3253
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
3143
3254
  deepCopy: () => deepCopy,
3255
+ dynamizeImportDeclaration: () => dynamizeImportDeclaration,
3256
+ dynamizeImportDeclarationExpression: () => dynamizeImportDeclarationExpression,
3144
3257
  expressionizeTypeIf: () => expressionizeTypeIf,
3145
3258
  forRange: () => forRange,
3146
3259
  gatherBindingCode: () => gatherBindingCode,
@@ -3199,8 +3312,11 @@ function addPostfixStatement(statement, ws, post) {
3199
3312
  return post;
3200
3313
  }
3201
3314
  function adjustIndexAccess(dot) {
3202
- if (gatherRecursive(dot, (node) => node.token === "?").length) {
3203
- dot = [...dot, "["];
3315
+ if (dot.optional) {
3316
+ return {
3317
+ ...dot,
3318
+ children: [...dot.children, "["]
3319
+ };
3204
3320
  } else {
3205
3321
  dot = replaceNodes(
3206
3322
  deepCopy(dot),
@@ -3409,9 +3525,13 @@ function processCallMemberExpression(node) {
3409
3525
  throw new Error(`Glob pattern must have call or member expression value, found ${JSON.stringify(part.value)}`);
3410
3526
  }
3411
3527
  let suppressPrefix = false;
3412
- let value = part.value ?? part.name;
3528
+ let name = part.name;
3529
+ let value = part.value ?? name;
3413
3530
  const wValue = getTrimmingSpace(part.value);
3414
3531
  [value, suppressPrefix] = handleThisPrivateShorthands(value);
3532
+ if (glob.reversed) {
3533
+ [name, value] = [value, name];
3534
+ }
3415
3535
  if (!suppressPrefix) {
3416
3536
  value = prefix.concat(insertTrimmingSpace(value, ""));
3417
3537
  }
@@ -3429,13 +3549,13 @@ function processCallMemberExpression(node) {
3429
3549
  } else {
3430
3550
  parts.push({
3431
3551
  type: part.type === "Identifier" ? "Property" : part.type,
3432
- name: part.name,
3552
+ name,
3433
3553
  value,
3434
3554
  delim: part.delim,
3435
3555
  names: part.names,
3436
3556
  children: [
3437
3557
  isWhitespaceOrEmpty(part.children[0]) && part.children[0],
3438
- part.name,
3558
+ name,
3439
3559
  isWhitespaceOrEmpty(part.children[2]) && part.children[2],
3440
3560
  part.children[3]?.token === ":" ? part.children[3] : ":",
3441
3561
  value,
@@ -3580,6 +3700,35 @@ function convertMethodToFunction(method) {
3580
3700
  block
3581
3701
  };
3582
3702
  }
3703
+ function convertNamedImportsToObject(node, pattern) {
3704
+ const properties = node.specifiers.map((specifier) => {
3705
+ if (specifier.ts) {
3706
+ return { type: "Error", message: "cannot use `type` in dynamic import" };
3707
+ } else {
3708
+ const { source, binding } = specifier;
3709
+ const delim = specifier.children.at(-1);
3710
+ return {
3711
+ type: pattern ? "BindingProperty" : "Property",
3712
+ name: source,
3713
+ value: !(source === binding) ? binding : void 0,
3714
+ delim,
3715
+ children: source === binding ? [source, delim] : [source, ":", binding, delim]
3716
+ };
3717
+ }
3718
+ });
3719
+ return {
3720
+ type: pattern ? "ObjectBindingPattern" : "ObjectExpression",
3721
+ names: node.names,
3722
+ properties,
3723
+ children: [
3724
+ node.children[0],
3725
+ // {
3726
+ properties,
3727
+ node.children.at(-1)
3728
+ // }
3729
+ ]
3730
+ };
3731
+ }
3583
3732
  function convertObjectToJSXAttributes(obj) {
3584
3733
  const { properties } = obj;
3585
3734
  const parts = [];
@@ -3721,108 +3870,231 @@ function processAssignments(statements) {
3721
3870
  if (pre.length)
3722
3871
  exp.children.unshift(...pre);
3723
3872
  if (post.length)
3724
- return exp.children.push(...post);
3725
- return;
3726
- });
3727
- replaceNodesRecursive(statements, (n) => n.type === "AssignmentExpression" && n.names === null, (exp) => {
3728
- let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
3729
- let block;
3730
- if (exp.parent.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
3731
- block = makeBlockFragment();
3732
- let ref4;
3733
- if (ref4 = prependStatementExpressionBlock([null, null, $2], block)) {
3734
- const ref = ref4;
3735
- exp.children = exp.children.map(function(c) {
3736
- if (c === $2)
3737
- return ref;
3738
- else
3873
+ exp.children.push(...post);
3874
+ if (exp.type === "UpdateExpression") {
3875
+ const { assigned } = exp;
3876
+ const ref = makeRef();
3877
+ const newMemberExp = unchainOptionalMemberExpression(assigned, ref, (children) => {
3878
+ return exp.children.map((c) => {
3879
+ if (c === assigned) {
3880
+ return children;
3881
+ } else {
3739
3882
  return c;
3883
+ }
3740
3884
  });
3741
- $2 = ref;
3742
- } else {
3743
- block = void 0;
3885
+ });
3886
+ if (newMemberExp !== assigned) {
3887
+ if (newMemberExp.usesRef) {
3888
+ newMemberExp.hoistDec = {
3889
+ type: "Declaration",
3890
+ children: ["let ", ref],
3891
+ names: []
3892
+ };
3893
+ }
3894
+ return replaceNode(exp, newMemberExp);
3744
3895
  }
3896
+ ;
3897
+ return;
3745
3898
  }
3746
- if ($1.some((left) => left[left.length - 1].special)) {
3747
- if ($1.length !== 1)
3748
- throw new Error("Only one assignment with id= is allowed");
3749
- const [, lhs, , op] = $1[0];
3750
- const { call, omitLhs } = op;
3751
- const index2 = exp.children.indexOf($2);
3752
- if (index2 < 0)
3753
- throw new Error("Assertion error: exp not in AssignmentExpression");
3754
- exp.children.splice(
3755
- index2,
3756
- 1,
3757
- exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
3758
- );
3759
- if (omitLhs) {
3760
- return $2;
3899
+ ;
3900
+ return;
3901
+ });
3902
+ replaceNodesRecursive(
3903
+ statements,
3904
+ (n) => n.type === "AssignmentExpression" && n.names === null,
3905
+ (exp) => {
3906
+ let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
3907
+ let block;
3908
+ if (exp.parent.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
3909
+ block = makeBlockFragment();
3910
+ let ref4;
3911
+ if (ref4 = prependStatementExpressionBlock([null, null, $2], block)) {
3912
+ const ref = ref4;
3913
+ exp.children = exp.children.map(function(c) {
3914
+ if (c === $2)
3915
+ return ref;
3916
+ else
3917
+ return c;
3918
+ });
3919
+ $2 = ref;
3920
+ } else {
3921
+ block = void 0;
3922
+ }
3761
3923
  }
3762
- }
3763
- let wrapped = false;
3764
- while (i < len) {
3765
- const lastAssignment = $1[i++];
3766
- const [, lhs, , op] = lastAssignment;
3767
- if (op.token !== "=")
3768
- continue;
3769
- if (lhs.type === "ObjectExpression" || lhs.type === "ObjectBindingPattern") {
3770
- if (!wrapped) {
3771
- wrapped = true;
3772
- lhs.children.splice(0, 0, "(");
3773
- tail.push(")");
3924
+ if ($1.some((left) => left[left.length - 1].special)) {
3925
+ if ($1.length !== 1)
3926
+ throw new Error("Only one assignment with id= is allowed");
3927
+ const [, lhs, , op] = $1[0];
3928
+ const { call, omitLhs } = op;
3929
+ const index2 = exp.children.indexOf($2);
3930
+ if (index2 < 0)
3931
+ throw new Error("Assertion error: exp not in AssignmentExpression");
3932
+ exp.children.splice(
3933
+ index2,
3934
+ 1,
3935
+ exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
3936
+ );
3937
+ if (omitLhs) {
3938
+ return $2;
3774
3939
  }
3775
3940
  }
3776
- }
3777
- i = len - 1;
3778
- while (i >= 0) {
3779
- const lastAssignment = $1[i];
3780
- if (lastAssignment[3].token === "=") {
3781
- const lhs = lastAssignment[1];
3782
- if (lhs.type === "MemberExpression") {
3783
- const members = lhs.children;
3784
- const lastMember = members[members.length - 1];
3785
- if (lastMember.type === "SliceExpression") {
3786
- const { start, end, children: c } = lastMember;
3787
- c[0].token = ".splice(";
3788
- c[1] = start;
3789
- c[2] = ", ";
3790
- if (end) {
3791
- c[3] = [end, " - ", start];
3792
- } else {
3793
- c[3] = ["1/0"];
3794
- }
3795
- c[4] = [", ...", $2];
3796
- c[5] = ")";
3797
- lastAssignment.pop();
3798
- if (isWhitespaceOrEmpty(lastAssignment[2]))
3941
+ let wrapped = false;
3942
+ while (i < len) {
3943
+ const lastAssignment = $1[i++];
3944
+ const [, lhs, , op] = lastAssignment;
3945
+ if (op.token !== "=")
3946
+ continue;
3947
+ if (lhs.type === "ObjectExpression" || lhs.type === "ObjectBindingPattern") {
3948
+ if (!wrapped) {
3949
+ wrapped = true;
3950
+ lhs.children.splice(0, 0, "(");
3951
+ tail.push(")");
3952
+ }
3953
+ }
3954
+ }
3955
+ i = len - 1;
3956
+ while (i >= 0) {
3957
+ const lastAssignment = $1[i];
3958
+ if (lastAssignment[3].token === "=") {
3959
+ const lhs = lastAssignment[1];
3960
+ if (lhs.type === "MemberExpression") {
3961
+ const members = lhs.children;
3962
+ const lastMember = members[members.length - 1];
3963
+ if (lastMember.type === "SliceExpression") {
3964
+ const { start, end, children: c } = lastMember;
3965
+ c[0].token = ".splice(";
3966
+ c[1] = start;
3967
+ c[2] = ", ";
3968
+ if (end) {
3969
+ c[3] = [end, " - ", start];
3970
+ } else {
3971
+ c[3] = ["1/0"];
3972
+ }
3973
+ c[4] = [", ...", $2];
3974
+ c[5] = ")";
3799
3975
  lastAssignment.pop();
3800
- if ($1.length > 1) {
3801
- throw new Error("Not implemented yet! TODO: Handle multiple splice assignments");
3976
+ if (isWhitespaceOrEmpty(lastAssignment[2]))
3977
+ lastAssignment.pop();
3978
+ if ($1.length > 1) {
3979
+ throw new Error("Not implemented yet! TODO: Handle multiple splice assignments");
3980
+ }
3981
+ exp.children = [$1];
3982
+ exp.names = [];
3983
+ return exp;
3802
3984
  }
3803
- exp.children = [$1];
3804
- exp.names = [];
3805
- return exp;
3985
+ } else if (lhs.type === "ObjectBindingPattern" || lhs.type === "ArrayBindingPattern") {
3986
+ processBindingPatternLHS(lhs, tail);
3806
3987
  }
3807
- } else if (lhs.type === "ObjectBindingPattern" || lhs.type === "ArrayBindingPattern") {
3808
- processBindingPatternLHS(lhs, tail);
3809
3988
  }
3989
+ i--;
3810
3990
  }
3811
- i--;
3991
+ i = len - 1;
3992
+ const optionalChainRef = makeRef();
3993
+ while (i >= 0) {
3994
+ const assignment = $1[i];
3995
+ const [ws1, lhs, ws2, op] = assignment;
3996
+ if (lhs.type === "MemberExpression" || lhs.type === "CallExpression") {
3997
+ const newMemberExp = unchainOptionalMemberExpression(lhs, optionalChainRef, (children) => {
3998
+ const assigns = $1.splice(i + 1, len - 1 - i);
3999
+ $1.pop();
4000
+ return [ws1, ...children, ws2, op, ...assigns, $2];
4001
+ });
4002
+ if (newMemberExp !== lhs) {
4003
+ if (newMemberExp.usesRef) {
4004
+ exp.hoistDec = {
4005
+ type: "Declaration",
4006
+ children: ["let ", optionalChainRef],
4007
+ names: []
4008
+ };
4009
+ }
4010
+ replaceNode($2, newMemberExp);
4011
+ newMemberExp.parent = exp;
4012
+ $2 = newMemberExp;
4013
+ }
4014
+ }
4015
+ i--;
4016
+ }
4017
+ exp.names = $1.flatMap(([, l]) => l.names || []);
4018
+ const index = exp.children.indexOf($2);
4019
+ if (index < 0)
4020
+ throw new Error("Assertion error: exp not in AssignmentExpression");
4021
+ exp.children.splice(index + 1, 0, ...tail);
4022
+ if (block) {
4023
+ block.parent = exp.parent;
4024
+ block.expressions.push(["", exp]);
4025
+ exp.parent = block;
4026
+ return block;
4027
+ }
4028
+ return exp;
3812
4029
  }
3813
- exp.names = $1.flatMap(([, l]) => l.names || []);
3814
- const index = exp.children.indexOf($2);
3815
- if (index < 0)
3816
- throw new Error("Assertion error: exp not in AssignmentExpression");
3817
- exp.children.splice(index + 1, 0, ...tail);
3818
- if (block) {
3819
- block.parent = exp.parent;
3820
- block.expressions.push(["", exp]);
3821
- exp.parent = block;
3822
- return block;
4030
+ );
4031
+ }
4032
+ function unchainOptionalMemberExpression(exp, ref, innerExp) {
4033
+ let j = 0;
4034
+ const { children } = exp;
4035
+ let usesRef = false;
4036
+ const conditions = [];
4037
+ while (j < children.length) {
4038
+ const child = children[j];
4039
+ const type = child?.type;
4040
+ let hasOptional = false;
4041
+ switch (type) {
4042
+ case "PropertyAccess": {
4043
+ if (child.dot?.optional) {
4044
+ hasOptional = true;
4045
+ child.dot.children.shift();
4046
+ child.dot.optional = false;
4047
+ }
4048
+ ;
4049
+ break;
4050
+ }
4051
+ case "Call":
4052
+ case "Index": {
4053
+ if (child.optional) {
4054
+ hasOptional = true;
4055
+ child.children.shift();
4056
+ child.optional = void 0;
4057
+ }
4058
+ ;
4059
+ break;
4060
+ }
3823
4061
  }
4062
+ if (hasOptional) {
4063
+ let base;
4064
+ if (j > 1 || needsRef(children[0])) {
4065
+ usesRef = true;
4066
+ base = makeLeftHandSideExpression({
4067
+ type: "AssignmentExpression",
4068
+ children: [ref, " = ", children.splice(0, j)]
4069
+ });
4070
+ base.parent = child;
4071
+ children.unshift(ref);
4072
+ j = 0;
4073
+ } else {
4074
+ base = children[0];
4075
+ }
4076
+ conditions.push([base, " != null"]);
4077
+ }
4078
+ j++;
4079
+ }
4080
+ let ref5;
4081
+ if (ref5 = conditions.length) {
4082
+ const l = ref5;
4083
+ const cs = conditions.map((c, i) => {
4084
+ if (i === l - 1) {
4085
+ return c;
4086
+ } else {
4087
+ return [c, " && "];
4088
+ }
4089
+ });
4090
+ return {
4091
+ ...exp,
4092
+ children: [...cs, " ? ", innerExp(children), " : void 0"],
4093
+ usesRef
4094
+ };
4095
+ } else {
3824
4096
  return exp;
3825
- });
4097
+ }
3826
4098
  }
3827
4099
  function attachPostfixStatementAsExpression(exp, post) {
3828
4100
  const postfixStatement = post[1];
@@ -3888,11 +4160,11 @@ function processStatementExpressions(statements) {
3888
4160
  if (!(exp.children[0] === exp.statement)) {
3889
4161
  ws = exp.children[0];
3890
4162
  }
3891
- let ref5;
4163
+ let ref6;
3892
4164
  switch (statement.type) {
3893
4165
  case "IfStatement": {
3894
- if (ref5 = expressionizeIfStatement(statement)) {
3895
- const expression = ref5;
4166
+ if (ref6 = expressionizeIfStatement(statement)) {
4167
+ const expression = ref6;
3896
4168
  exp.statement = expression;
3897
4169
  exp.children = [exp.statement];
3898
4170
  } else {
@@ -4197,9 +4469,9 @@ var init_lib = __esm({
4197
4469
  }
4198
4470
  });
4199
4471
 
4200
- // ../Hera/dist/machine.js
4472
+ // node_modules/@danielx/hera/dist/machine.js
4201
4473
  var require_machine = __commonJS({
4202
- "../Hera/dist/machine.js"(exports2, module2) {
4474
+ "node_modules/@danielx/hera/dist/machine.js"(exports2, module2) {
4203
4475
  "use strict";
4204
4476
  var __defProp2 = Object.defineProperty;
4205
4477
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -4670,6 +4942,8 @@ var require_parser = __commonJS({
4670
4942
  $TV,
4671
4943
  $Y,
4672
4944
  Parser,
4945
+ ParserContext,
4946
+ ParserOptions,
4673
4947
  Validator
4674
4948
  } = require_machine();
4675
4949
  var grammar = {
@@ -5174,6 +5448,7 @@ var require_parser = __commonJS({
5174
5448
  OpenBracket,
5175
5449
  OpenParen,
5176
5450
  Operator,
5451
+ Override,
5177
5452
  Own,
5178
5453
  Public,
5179
5454
  Private,
@@ -5571,59 +5846,60 @@ var require_parser = __commonJS({
5571
5846
  var $L170 = $L("of");
5572
5847
  var $L171 = $L("[");
5573
5848
  var $L172 = $L("operator");
5574
- var $L173 = $L("own");
5575
- var $L174 = $L("public");
5576
- var $L175 = $L("private");
5577
- var $L176 = $L("protected");
5578
- var $L177 = $L("||>");
5579
- var $L178 = $L("|\u25B7");
5580
- var $L179 = $L("|>=");
5581
- var $L180 = $L("\u25B7=");
5582
- var $L181 = $L("|>");
5583
- var $L182 = $L("\u25B7");
5584
- var $L183 = $L("readonly");
5585
- var $L184 = $L("return");
5586
- var $L185 = $L("satisfies");
5587
- var $L186 = $L("'");
5588
- var $L187 = $L("static");
5589
- var $L188 = $L("${");
5590
- var $L189 = $L("super");
5591
- var $L190 = $L("switch");
5592
- var $L191 = $L("target");
5593
- var $L192 = $L("then");
5594
- var $L193 = $L("this");
5595
- var $L194 = $L("throw");
5596
- var $L195 = $L('"""');
5597
- var $L196 = $L("'''");
5598
- var $L197 = $L("///");
5599
- var $L198 = $L("```");
5600
- var $L199 = $L("try");
5601
- var $L200 = $L("typeof");
5602
- var $L201 = $L("unless");
5603
- var $L202 = $L("until");
5604
- var $L203 = $L("using");
5605
- var $L204 = $L("var");
5606
- var $L205 = $L("void");
5607
- var $L206 = $L("when");
5608
- var $L207 = $L("while");
5609
- var $L208 = $L("yield");
5610
- var $L209 = $L("/>");
5611
- var $L210 = $L("</");
5612
- var $L211 = $L("<>");
5613
- var $L212 = $L("</>");
5614
- var $L213 = $L("<!--");
5615
- var $L214 = $L("-->");
5616
- var $L215 = $L("type");
5617
- var $L216 = $L("enum");
5618
- var $L217 = $L("interface");
5619
- var $L218 = $L("global");
5620
- var $L219 = $L("module");
5621
- var $L220 = $L("namespace");
5622
- var $L221 = $L("asserts");
5623
- var $L222 = $L("keyof");
5624
- var $L223 = $L("???");
5625
- var $L224 = $L("[]");
5626
- var $L225 = $L("civet");
5849
+ var $L173 = $L("override");
5850
+ var $L174 = $L("own");
5851
+ var $L175 = $L("public");
5852
+ var $L176 = $L("private");
5853
+ var $L177 = $L("protected");
5854
+ var $L178 = $L("||>");
5855
+ var $L179 = $L("|\u25B7");
5856
+ var $L180 = $L("|>=");
5857
+ var $L181 = $L("\u25B7=");
5858
+ var $L182 = $L("|>");
5859
+ var $L183 = $L("\u25B7");
5860
+ var $L184 = $L("readonly");
5861
+ var $L185 = $L("return");
5862
+ var $L186 = $L("satisfies");
5863
+ var $L187 = $L("'");
5864
+ var $L188 = $L("static");
5865
+ var $L189 = $L("${");
5866
+ var $L190 = $L("super");
5867
+ var $L191 = $L("switch");
5868
+ var $L192 = $L("target");
5869
+ var $L193 = $L("then");
5870
+ var $L194 = $L("this");
5871
+ var $L195 = $L("throw");
5872
+ var $L196 = $L('"""');
5873
+ var $L197 = $L("'''");
5874
+ var $L198 = $L("///");
5875
+ var $L199 = $L("```");
5876
+ var $L200 = $L("try");
5877
+ var $L201 = $L("typeof");
5878
+ var $L202 = $L("unless");
5879
+ var $L203 = $L("until");
5880
+ var $L204 = $L("using");
5881
+ var $L205 = $L("var");
5882
+ var $L206 = $L("void");
5883
+ var $L207 = $L("when");
5884
+ var $L208 = $L("while");
5885
+ var $L209 = $L("yield");
5886
+ var $L210 = $L("/>");
5887
+ var $L211 = $L("</");
5888
+ var $L212 = $L("<>");
5889
+ var $L213 = $L("</>");
5890
+ var $L214 = $L("<!--");
5891
+ var $L215 = $L("-->");
5892
+ var $L216 = $L("type");
5893
+ var $L217 = $L("enum");
5894
+ var $L218 = $L("interface");
5895
+ var $L219 = $L("global");
5896
+ var $L220 = $L("module");
5897
+ var $L221 = $L("namespace");
5898
+ var $L222 = $L("asserts");
5899
+ var $L223 = $L("keyof");
5900
+ var $L224 = $L("???");
5901
+ var $L225 = $L("[]");
5902
+ var $L226 = $L("civet");
5627
5903
  var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
5628
5904
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
5629
5905
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -6708,9 +6984,9 @@ var require_parser = __commonJS({
6708
6984
  function NestedClassElement(ctx, state) {
6709
6985
  return $EVENT(ctx, state, "NestedClassElement", NestedClassElement$0);
6710
6986
  }
6711
- var ClassElement$0 = $TS($S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), ClassElementDefinition), function($skip, $loc, $0, $1, $2, $3, $4) {
6987
+ var ClassElement$0 = $TS($S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), $E($S(Override, $E(_))), ClassElementDefinition), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6712
6988
  var decorators = $1;
6713
- var definition = $4;
6989
+ var definition = $5;
6714
6990
  if (definition.type === "MultiMethodDefinition") {
6715
6991
  return {
6716
6992
  ...definition,
@@ -6724,7 +7000,7 @@ var require_parser = __commonJS({
6724
7000
  }
6725
7001
  return {
6726
7002
  ...definition,
6727
- children: [decorators, $2, $3, ...definition.children]
7003
+ children: [decorators, $2, $3, $4, ...definition.children]
6728
7004
  };
6729
7005
  });
6730
7006
  var ClassElement$1 = $TS($S(Static, BracedBlock), function($skip, $loc, $0, $1, $2) {
@@ -6766,7 +7042,7 @@ var require_parser = __commonJS({
6766
7042
  function NestedClassSignatureElement(ctx, state) {
6767
7043
  return $EVENT(ctx, state, "NestedClassSignatureElement", NestedClassSignatureElement$0);
6768
7044
  }
6769
- var ClassSignatureElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), $C(MethodSignature, FieldDefinition));
7045
+ var ClassSignatureElement$0 = $S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), $E($S(Override, $E(_))), $C(MethodSignature, FieldDefinition));
6770
7046
  var ClassSignatureElement$1 = $S(Static, ClassSignatureBody);
6771
7047
  var ClassSignatureElement$$ = [ClassSignatureElement$0, ClassSignatureElement$1];
6772
7048
  function ClassSignatureElement(ctx, state) {
@@ -6928,14 +7204,17 @@ var require_parser = __commonJS({
6928
7204
  children: [$1, ...$2, ...rest.flat()]
6929
7205
  });
6930
7206
  });
6931
- var CallExpression$1 = $TS($S($EXPECT($L20, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
7207
+ var CallExpression$1 = $TS($S(Import, _, NamedImports, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7208
+ return dynamizeImportDeclarationExpression($0);
7209
+ });
7210
+ var CallExpression$2 = $TS($S($EXPECT($L20, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6932
7211
  var rest = $3;
6933
7212
  return processCallMemberExpression({
6934
7213
  type: "CallExpression",
6935
7214
  children: [$1, ...$2, ...rest.flat()]
6936
7215
  });
6937
7216
  });
6938
- var CallExpression$2 = $TS($S(MemberExpression, AllowedTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
7217
+ var CallExpression$3 = $TS($S(MemberExpression, AllowedTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6939
7218
  var member = $1;
6940
7219
  var trailing = $2;
6941
7220
  var rest = $3;
@@ -6948,7 +7227,7 @@ var require_parser = __commonJS({
6948
7227
  }
6949
7228
  return member;
6950
7229
  });
6951
- var CallExpression$$ = [CallExpression$0, CallExpression$1, CallExpression$2];
7230
+ var CallExpression$$ = [CallExpression$0, CallExpression$1, CallExpression$2, CallExpression$3];
6952
7231
  function CallExpression(ctx, state) {
6953
7232
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
6954
7233
  }
@@ -6964,18 +7243,28 @@ var require_parser = __commonJS({
6964
7243
  return literal;
6965
7244
  });
6966
7245
  var CallExpressionRest$3 = $TS($S($E(OptionalShorthand), ArgumentsWithTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
6967
- if (!$1)
6968
- return $2;
6969
- return [$1, ...$2];
7246
+ var optional = $1;
7247
+ var argsWithTrailing = $2;
7248
+ if (!optional)
7249
+ return argsWithTrailing;
7250
+ const call = argsWithTrailing[0];
7251
+ return [{
7252
+ ...call,
7253
+ children: [optional, ...call.children],
7254
+ optional
7255
+ }, ...argsWithTrailing.slice(1)];
6970
7256
  });
6971
7257
  var CallExpressionRest$$ = [CallExpressionRest$0, CallExpressionRest$1, CallExpressionRest$2, CallExpressionRest$3];
6972
7258
  function CallExpressionRest(ctx, state) {
6973
7259
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
6974
7260
  }
6975
7261
  var OptionalShorthand$0 = $TS($S($EXPECT($R6, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7262
+ var comments = $2;
7263
+ var q = $3;
7264
+ var d = $4;
6976
7265
  return {
6977
7266
  type: "Optional",
6978
- children: $0
7267
+ children: [...comments, q, d]
6979
7268
  };
6980
7269
  });
6981
7270
  function OptionalShorthand(ctx, state) {
@@ -7046,7 +7335,11 @@ var require_parser = __commonJS({
7046
7335
  if (dot.type === "Optional" && content.type === "SliceExpression") {
7047
7336
  return [...dot.children.slice(0, -1), ...comments, content];
7048
7337
  }
7049
- return [dot, ...comments, content];
7338
+ return {
7339
+ ...content,
7340
+ children: [dot, ...comments, ...content.children],
7341
+ optional: dot
7342
+ };
7050
7343
  }
7051
7344
  return [...comments, content];
7052
7345
  });
@@ -7150,9 +7443,14 @@ var require_parser = __commonJS({
7150
7443
  return $EVENT_C(ctx, state, "SliceParameters", SliceParameters$$);
7151
7444
  }
7152
7445
  var AccessStart$0 = $TS($S($E(PropertyAccessModifier), Dot, $N(Dot)), function($skip, $loc, $0, $1, $2, $3) {
7153
- if ($1)
7154
- return [$1, $2];
7155
- return $2;
7446
+ var modifier = $1;
7447
+ var dot = $2;
7448
+ let children = modifier ? [modifier, dot] : [dot];
7449
+ return {
7450
+ type: "AccessStart",
7451
+ children,
7452
+ optional: modifier?.token === "?"
7453
+ };
7156
7454
  });
7157
7455
  function AccessStart(ctx, state) {
7158
7456
  return $EVENT(ctx, state, "AccessStart", AccessStart$0);
@@ -7195,13 +7493,14 @@ var require_parser = __commonJS({
7195
7493
  };
7196
7494
  });
7197
7495
  var PropertyAccess$2 = $TS($S(AccessStart, $Q(InlineComment), $C(IdentifierName, PrivateIdentifier, LengthShorthand)), function($skip, $loc, $0, $1, $2, $3) {
7198
- var access = $1;
7496
+ var dot = $1;
7199
7497
  var comments = $2;
7200
7498
  var id = $3;
7201
- const children = [access, ...comments, ...id.children];
7499
+ const children = [dot, ...comments, ...id.children];
7202
7500
  return {
7203
7501
  type: "PropertyAccess",
7204
7502
  name: id.name,
7503
+ dot,
7205
7504
  children
7206
7505
  };
7207
7506
  });
@@ -7209,16 +7508,20 @@ var require_parser = __commonJS({
7209
7508
  var p = $2;
7210
7509
  var id = $3;
7211
7510
  if (id) {
7511
+ const dot = { token: ".prototype.", $loc: p.$loc };
7212
7512
  return {
7213
7513
  type: "PropertyAccess",
7214
7514
  name: id.name,
7215
- children: [{ token: ".prototype.", $loc: p.$loc }, id]
7515
+ dot,
7516
+ children: [dot, id]
7216
7517
  };
7217
7518
  } else {
7519
+ const dot = { token: ".prototype", $loc: p.$loc };
7218
7520
  return {
7219
7521
  type: "PropertyAccess",
7220
7522
  name: "prototype",
7221
- children: [{ token: ".prototype", $loc: p.$loc }]
7523
+ dot,
7524
+ children: [dot]
7222
7525
  };
7223
7526
  }
7224
7527
  });
@@ -11188,28 +11491,31 @@ var require_parser = __commonJS({
11188
11491
  };
11189
11492
  });
11190
11493
  var ImportDeclaration$1 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause), function(value) {
11191
- return { "type": "ImportDeclaration", "ts": true, "children": value };
11494
+ var imports = value[4];
11495
+ var from = value[6];
11496
+ return { "type": "ImportDeclaration", "ts": true, "children": value, "imports": imports, "from": from };
11192
11497
  });
11193
11498
  var ImportDeclaration$2 = $T($S(Import, __, ImportClause, __, FromClause), function(value) {
11194
- return { "type": "ImportDeclaration", "children": value };
11499
+ var imports = value[2];
11500
+ var from = value[4];
11501
+ return { "type": "ImportDeclaration", "children": value, "imports": imports, "from": from };
11195
11502
  });
11196
11503
  var ImportDeclaration$3 = $T($S(Import, __, ModuleSpecifier), function(value) {
11197
- return { "type": "ImportDeclaration", "children": value };
11504
+ var module4 = value[2];
11505
+ return { "type": "ImportDeclaration", "children": value, "module": module4 };
11198
11506
  });
11199
11507
  var ImportDeclaration$4 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11200
11508
  var i = $1;
11201
11509
  var t = $2;
11202
- var c = $3;
11510
+ var imports = $3;
11203
11511
  var w = $4;
11204
- var f = $5;
11512
+ var from = $5;
11205
11513
  i.$loc = {
11206
- pos: f[0].$loc.pos - 1,
11207
- length: f[0].$loc.length + 1
11514
+ pos: from[0].$loc.pos - 1,
11515
+ length: from[0].$loc.length + 1
11208
11516
  };
11209
- const children = [i, t, c, w, f];
11210
- if (!t)
11211
- return children;
11212
- return { type: "ImportDeclaration", ts: true, children };
11517
+ const children = [i, t, imports, w, from];
11518
+ return { type: "ImportDeclaration", ts: !!t, children, imports, from };
11213
11519
  });
11214
11520
  var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3, ImportDeclaration$4];
11215
11521
  function ImportDeclaration(ctx, state) {
@@ -11227,14 +11533,17 @@ var require_parser = __commonJS({
11227
11533
  if (rest) {
11228
11534
  return {
11229
11535
  type: "Declaration",
11230
- children: $0,
11231
- names: [...binding.names, ...rest[3].names]
11536
+ children: [binding, ...rest],
11537
+ names: [...binding.names, ...rest[3].names],
11538
+ binding,
11539
+ specifiers: rest[3].specifiers
11232
11540
  };
11233
11541
  }
11234
11542
  return {
11235
11543
  type: "Declaration",
11236
- children: $0,
11237
- names: binding.names
11544
+ children: [binding],
11545
+ names: binding.names,
11546
+ binding
11238
11547
  };
11239
11548
  });
11240
11549
  var ImportClause$1 = NameSpaceImport;
@@ -11244,11 +11553,14 @@ var require_parser = __commonJS({
11244
11553
  return $EVENT_C(ctx, state, "ImportClause", ImportClause$$);
11245
11554
  }
11246
11555
  var NameSpaceImport$0 = $TS($S(Star, ImportAsToken, __, ImportedBinding), function($skip, $loc, $0, $1, $2, $3, $4) {
11556
+ var star = $1;
11247
11557
  var binding = $4;
11248
11558
  return {
11249
11559
  type: "Declaration",
11250
11560
  children: $0,
11251
- names: binding.names
11561
+ names: binding.names,
11562
+ binding,
11563
+ star
11252
11564
  };
11253
11565
  });
11254
11566
  function NameSpaceImport(ctx, state) {
@@ -11260,17 +11572,32 @@ var require_parser = __commonJS({
11260
11572
  return {
11261
11573
  type: "Declaration",
11262
11574
  children: $0,
11263
- names
11575
+ names,
11576
+ specifiers
11264
11577
  };
11265
11578
  });
11266
11579
  function NamedImports(ctx, state) {
11267
11580
  return $EVENT(ctx, state, "NamedImports", NamedImports$0);
11268
11581
  }
11269
- var FromClause$0 = $S(From, __, ModuleSpecifier);
11582
+ var FromClause$0 = $TS($S(From, __, ModuleSpecifier), function($skip, $loc, $0, $1, $2, $3) {
11583
+ var module4 = $3;
11584
+ if (!Array.isArray(module4))
11585
+ return $0;
11586
+ return [$1, $2, ...module4];
11587
+ });
11270
11588
  function FromClause(ctx, state) {
11271
11589
  return $EVENT(ctx, state, "FromClause", FromClause$0);
11272
11590
  }
11273
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L117, 'ImportAssertion "with"'), $EXPECT($L118, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
11591
+ var ImportAssertion$0 = $TS($S($E(_), $C($EXPECT($L117, 'ImportAssertion "with"'), $EXPECT($L118, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11592
+ var keyword = $2;
11593
+ var object = $5;
11594
+ return {
11595
+ type: "ImportAssertion",
11596
+ keyword,
11597
+ object,
11598
+ children: $0
11599
+ };
11600
+ });
11274
11601
  function ImportAssertion(ctx, state) {
11275
11602
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
11276
11603
  }
@@ -11300,8 +11627,10 @@ var require_parser = __commonJS({
11300
11627
  return $EVENT_C(ctx, state, "TypeAndImportSpecifier", TypeAndImportSpecifier$$);
11301
11628
  }
11302
11629
  var ImportSpecifier$0 = $TS($S(__, ModuleExportName, ImportAsToken, __, ImportedBinding, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11630
+ var source = $2;
11303
11631
  var binding = $5;
11304
11632
  return {
11633
+ source,
11305
11634
  binding,
11306
11635
  children: $0
11307
11636
  };
@@ -11309,6 +11638,7 @@ var require_parser = __commonJS({
11309
11638
  var ImportSpecifier$1 = $TS($S(__, ImportedBinding, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
11310
11639
  var binding = $2;
11311
11640
  return {
11641
+ source: binding,
11312
11642
  binding,
11313
11643
  children: $0
11314
11644
  };
@@ -11500,9 +11830,18 @@ var require_parser = __commonJS({
11500
11830
  function ImplicitExportSpecifier(ctx, state) {
11501
11831
  return $EVENT(ctx, state, "ImplicitExportSpecifier", ImplicitExportSpecifier$0);
11502
11832
  }
11503
- var Declaration$0 = HoistableDeclaration;
11504
- var Declaration$1 = ClassDeclaration;
11505
- var Declaration$2 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
11833
+ var Declaration$0 = $TV(ImportDeclaration, function($skip, $loc, $0, $1) {
11834
+ var decl = $0;
11835
+ if (decl.ts || decl.module || !decl.imports || !decl.from)
11836
+ return $skip;
11837
+ const { imports } = decl;
11838
+ if (!imports.binding && !imports.specifiers)
11839
+ return $skip;
11840
+ return dynamizeImportDeclaration(decl);
11841
+ });
11842
+ var Declaration$1 = HoistableDeclaration;
11843
+ var Declaration$2 = ClassDeclaration;
11844
+ var Declaration$3 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
11506
11845
  var d = $0;
11507
11846
  if (d.thisAssignments?.length)
11508
11847
  return {
@@ -11516,11 +11855,11 @@ var require_parser = __commonJS({
11516
11855
  };
11517
11856
  return d;
11518
11857
  });
11519
- var Declaration$3 = TypeDeclaration;
11520
- var Declaration$4 = EnumDeclaration;
11521
- var Declaration$5 = OperatorDeclaration;
11522
- var Declaration$6 = UsingDeclaration;
11523
- var Declaration$$ = [Declaration$0, Declaration$1, Declaration$2, Declaration$3, Declaration$4, Declaration$5, Declaration$6];
11858
+ var Declaration$4 = TypeDeclaration;
11859
+ var Declaration$5 = EnumDeclaration;
11860
+ var Declaration$6 = OperatorDeclaration;
11861
+ var Declaration$7 = UsingDeclaration;
11862
+ var Declaration$$ = [Declaration$0, Declaration$1, Declaration$2, Declaration$3, Declaration$4, Declaration$5, Declaration$6, Declaration$7];
11524
11863
  function Declaration(ctx, state) {
11525
11864
  return $EVENT_C(ctx, state, "Declaration", Declaration$$);
11526
11865
  }
@@ -12469,37 +12808,43 @@ var require_parser = __commonJS({
12469
12808
  function Operator(ctx, state) {
12470
12809
  return $EVENT(ctx, state, "Operator", Operator$0);
12471
12810
  }
12472
- var Own$0 = $TS($S($EXPECT($L173, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12811
+ var Override$0 = $TS($S($EXPECT($L173, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12812
+ return { $loc, token: $1, ts: true };
12813
+ });
12814
+ function Override(ctx, state) {
12815
+ return $EVENT(ctx, state, "Override", Override$0);
12816
+ }
12817
+ var Own$0 = $TS($S($EXPECT($L174, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12473
12818
  return { $loc, token: $1 };
12474
12819
  });
12475
12820
  function Own(ctx, state) {
12476
12821
  return $EVENT(ctx, state, "Own", Own$0);
12477
12822
  }
12478
- var Public$0 = $TS($S($EXPECT($L174, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12823
+ var Public$0 = $TS($S($EXPECT($L175, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12479
12824
  return { $loc, token: $1 };
12480
12825
  });
12481
12826
  function Public(ctx, state) {
12482
12827
  return $EVENT(ctx, state, "Public", Public$0);
12483
12828
  }
12484
- var Private$0 = $TS($S($EXPECT($L175, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12829
+ var Private$0 = $TS($S($EXPECT($L176, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12485
12830
  return { $loc, token: $1 };
12486
12831
  });
12487
12832
  function Private(ctx, state) {
12488
12833
  return $EVENT(ctx, state, "Private", Private$0);
12489
12834
  }
12490
- var Protected$0 = $TS($S($EXPECT($L176, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12835
+ var Protected$0 = $TS($S($EXPECT($L177, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12491
12836
  return { $loc, token: $1 };
12492
12837
  });
12493
12838
  function Protected(ctx, state) {
12494
12839
  return $EVENT(ctx, state, "Protected", Protected$0);
12495
12840
  }
12496
- var Pipe$0 = $TV($C($EXPECT($L177, 'Pipe "||>"'), $EXPECT($L178, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12841
+ var Pipe$0 = $TV($C($EXPECT($L178, 'Pipe "||>"'), $EXPECT($L179, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
12497
12842
  return { $loc, token: "||>" };
12498
12843
  });
12499
- var Pipe$1 = $TV($C($EXPECT($L179, 'Pipe "|>="'), $EXPECT($L180, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12844
+ var Pipe$1 = $TV($C($EXPECT($L180, 'Pipe "|>="'), $EXPECT($L181, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
12500
12845
  return { $loc, token: "|>=" };
12501
12846
  });
12502
- var Pipe$2 = $TV($C($EXPECT($L181, 'Pipe "|>"'), $EXPECT($L182, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12847
+ var Pipe$2 = $TV($C($EXPECT($L182, 'Pipe "|>"'), $EXPECT($L183, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
12503
12848
  return { $loc, token: "|>" };
12504
12849
  });
12505
12850
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -12512,19 +12857,19 @@ var require_parser = __commonJS({
12512
12857
  function QuestionMark(ctx, state) {
12513
12858
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
12514
12859
  }
12515
- var Readonly$0 = $TS($S($EXPECT($L183, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12860
+ var Readonly$0 = $TS($S($EXPECT($L184, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12516
12861
  return { $loc, token: $1, ts: true };
12517
12862
  });
12518
12863
  function Readonly(ctx, state) {
12519
12864
  return $EVENT(ctx, state, "Readonly", Readonly$0);
12520
12865
  }
12521
- var Return$0 = $TS($S($EXPECT($L184, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12866
+ var Return$0 = $TS($S($EXPECT($L185, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12522
12867
  return { $loc, token: $1 };
12523
12868
  });
12524
12869
  function Return(ctx, state) {
12525
12870
  return $EVENT(ctx, state, "Return", Return$0);
12526
12871
  }
12527
- var Satisfies$0 = $TS($S($EXPECT($L185, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12872
+ var Satisfies$0 = $TS($S($EXPECT($L186, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12528
12873
  return { $loc, token: $1 };
12529
12874
  });
12530
12875
  function Satisfies(ctx, state) {
@@ -12536,7 +12881,7 @@ var require_parser = __commonJS({
12536
12881
  function Semicolon(ctx, state) {
12537
12882
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
12538
12883
  }
12539
- var SingleQuote$0 = $TV($EXPECT($L186, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12884
+ var SingleQuote$0 = $TV($EXPECT($L187, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
12540
12885
  return { $loc, token: $1 };
12541
12886
  });
12542
12887
  function SingleQuote(ctx, state) {
@@ -12548,7 +12893,7 @@ var require_parser = __commonJS({
12548
12893
  function Star(ctx, state) {
12549
12894
  return $EVENT(ctx, state, "Star", Star$0);
12550
12895
  }
12551
- var Static$0 = $TS($S($EXPECT($L187, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12896
+ var Static$0 = $TS($S($EXPECT($L188, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12552
12897
  return { $loc, token: $1 };
12553
12898
  });
12554
12899
  var Static$1 = $TS($S($EXPECT($L129, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L129, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
@@ -12558,127 +12903,127 @@ var require_parser = __commonJS({
12558
12903
  function Static(ctx, state) {
12559
12904
  return $EVENT_C(ctx, state, "Static", Static$$);
12560
12905
  }
12561
- var SubstitutionStart$0 = $TV($EXPECT($L188, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12906
+ var SubstitutionStart$0 = $TV($EXPECT($L189, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
12562
12907
  return { $loc, token: $1 };
12563
12908
  });
12564
12909
  function SubstitutionStart(ctx, state) {
12565
12910
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
12566
12911
  }
12567
- var Super$0 = $TS($S($EXPECT($L189, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12912
+ var Super$0 = $TS($S($EXPECT($L190, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12568
12913
  return { $loc, token: $1 };
12569
12914
  });
12570
12915
  function Super(ctx, state) {
12571
12916
  return $EVENT(ctx, state, "Super", Super$0);
12572
12917
  }
12573
- var Switch$0 = $TS($S($EXPECT($L190, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12918
+ var Switch$0 = $TS($S($EXPECT($L191, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12574
12919
  return { $loc, token: $1 };
12575
12920
  });
12576
12921
  function Switch(ctx, state) {
12577
12922
  return $EVENT(ctx, state, "Switch", Switch$0);
12578
12923
  }
12579
- var Target$0 = $TS($S($EXPECT($L191, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12924
+ var Target$0 = $TS($S($EXPECT($L192, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12580
12925
  return { $loc, token: $1 };
12581
12926
  });
12582
12927
  function Target(ctx, state) {
12583
12928
  return $EVENT(ctx, state, "Target", Target$0);
12584
12929
  }
12585
- var Then$0 = $TS($S(__, $EXPECT($L192, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12930
+ var Then$0 = $TS($S(__, $EXPECT($L193, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12586
12931
  return { $loc, token: "" };
12587
12932
  });
12588
12933
  function Then(ctx, state) {
12589
12934
  return $EVENT(ctx, state, "Then", Then$0);
12590
12935
  }
12591
- var This$0 = $TS($S($EXPECT($L193, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12936
+ var This$0 = $TS($S($EXPECT($L194, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12592
12937
  return { $loc, token: $1 };
12593
12938
  });
12594
12939
  function This(ctx, state) {
12595
12940
  return $EVENT(ctx, state, "This", This$0);
12596
12941
  }
12597
- var Throw$0 = $TS($S($EXPECT($L194, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12942
+ var Throw$0 = $TS($S($EXPECT($L195, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12598
12943
  return { $loc, token: $1 };
12599
12944
  });
12600
12945
  function Throw(ctx, state) {
12601
12946
  return $EVENT(ctx, state, "Throw", Throw$0);
12602
12947
  }
12603
- var TripleDoubleQuote$0 = $TV($EXPECT($L195, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12948
+ var TripleDoubleQuote$0 = $TV($EXPECT($L196, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12604
12949
  return { $loc, token: "`" };
12605
12950
  });
12606
12951
  function TripleDoubleQuote(ctx, state) {
12607
12952
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
12608
12953
  }
12609
- var TripleSingleQuote$0 = $TV($EXPECT($L196, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12954
+ var TripleSingleQuote$0 = $TV($EXPECT($L197, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12610
12955
  return { $loc, token: "`" };
12611
12956
  });
12612
12957
  function TripleSingleQuote(ctx, state) {
12613
12958
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
12614
12959
  }
12615
- var TripleSlash$0 = $TV($EXPECT($L197, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12960
+ var TripleSlash$0 = $TV($EXPECT($L198, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12616
12961
  return { $loc, token: "/" };
12617
12962
  });
12618
12963
  function TripleSlash(ctx, state) {
12619
12964
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
12620
12965
  }
12621
- var TripleTick$0 = $TV($EXPECT($L198, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12966
+ var TripleTick$0 = $TV($EXPECT($L199, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12622
12967
  return { $loc, token: "`" };
12623
12968
  });
12624
12969
  function TripleTick(ctx, state) {
12625
12970
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
12626
12971
  }
12627
- var Try$0 = $TS($S($EXPECT($L199, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12972
+ var Try$0 = $TS($S($EXPECT($L200, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12628
12973
  return { $loc, token: $1 };
12629
12974
  });
12630
12975
  function Try(ctx, state) {
12631
12976
  return $EVENT(ctx, state, "Try", Try$0);
12632
12977
  }
12633
- var Typeof$0 = $TS($S($EXPECT($L200, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12978
+ var Typeof$0 = $TS($S($EXPECT($L201, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12634
12979
  return { $loc, token: $1 };
12635
12980
  });
12636
12981
  function Typeof(ctx, state) {
12637
12982
  return $EVENT(ctx, state, "Typeof", Typeof$0);
12638
12983
  }
12639
- var Unless$0 = $TS($S($EXPECT($L201, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12984
+ var Unless$0 = $TS($S($EXPECT($L202, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12640
12985
  return { $loc, token: $1, negated: true };
12641
12986
  });
12642
12987
  function Unless(ctx, state) {
12643
12988
  return $EVENT(ctx, state, "Unless", Unless$0);
12644
12989
  }
12645
- var Until$0 = $TS($S($EXPECT($L202, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12990
+ var Until$0 = $TS($S($EXPECT($L203, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12646
12991
  return { $loc, token: $1 };
12647
12992
  });
12648
12993
  function Until(ctx, state) {
12649
12994
  return $EVENT(ctx, state, "Until", Until$0);
12650
12995
  }
12651
- var Using$0 = $TS($S($EXPECT($L203, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12996
+ var Using$0 = $TS($S($EXPECT($L204, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12652
12997
  return { $loc, token: $1 };
12653
12998
  });
12654
12999
  function Using(ctx, state) {
12655
13000
  return $EVENT(ctx, state, "Using", Using$0);
12656
13001
  }
12657
- var Var$0 = $TS($S($EXPECT($L204, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13002
+ var Var$0 = $TS($S($EXPECT($L205, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12658
13003
  return { $loc, token: $1 };
12659
13004
  });
12660
13005
  function Var(ctx, state) {
12661
13006
  return $EVENT(ctx, state, "Var", Var$0);
12662
13007
  }
12663
- var Void$0 = $TS($S($EXPECT($L205, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13008
+ var Void$0 = $TS($S($EXPECT($L206, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12664
13009
  return { $loc, token: $1 };
12665
13010
  });
12666
13011
  function Void(ctx, state) {
12667
13012
  return $EVENT(ctx, state, "Void", Void$0);
12668
13013
  }
12669
- var When$0 = $TS($S($EXPECT($L206, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13014
+ var When$0 = $TS($S($EXPECT($L207, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12670
13015
  return { $loc, token: "case" };
12671
13016
  });
12672
13017
  function When(ctx, state) {
12673
13018
  return $EVENT(ctx, state, "When", When$0);
12674
13019
  }
12675
- var While$0 = $TS($S($EXPECT($L207, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13020
+ var While$0 = $TS($S($EXPECT($L208, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12676
13021
  return { $loc, token: $1 };
12677
13022
  });
12678
13023
  function While(ctx, state) {
12679
13024
  return $EVENT(ctx, state, "While", While$0);
12680
13025
  }
12681
- var Yield$0 = $TS($S($EXPECT($L208, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13026
+ var Yield$0 = $TS($S($EXPECT($L209, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12682
13027
  return { $loc, token: $1, type: "Yield" };
12683
13028
  });
12684
13029
  function Yield(ctx, state) {
@@ -12757,7 +13102,7 @@ var require_parser = __commonJS({
12757
13102
  function JSXElement(ctx, state) {
12758
13103
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12759
13104
  }
12760
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L209, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13105
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L210, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12761
13106
  return { type: "JSXElement", children: $0, tag: $2 };
12762
13107
  });
12763
13108
  function JSXSelfClosingElement(ctx, state) {
@@ -12791,7 +13136,7 @@ var require_parser = __commonJS({
12791
13136
  function JSXOptionalClosingElement(ctx, state) {
12792
13137
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12793
13138
  }
12794
- var JSXClosingElement$0 = $S($EXPECT($L210, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
13139
+ var JSXClosingElement$0 = $S($EXPECT($L211, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
12795
13140
  function JSXClosingElement(ctx, state) {
12796
13141
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12797
13142
  }
@@ -12812,7 +13157,7 @@ var require_parser = __commonJS({
12812
13157
  ];
12813
13158
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12814
13159
  });
12815
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L211, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13160
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L212, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12816
13161
  var children = $3;
12817
13162
  $0 = $0.slice(1);
12818
13163
  return {
@@ -12825,7 +13170,7 @@ var require_parser = __commonJS({
12825
13170
  function JSXFragment(ctx, state) {
12826
13171
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12827
13172
  }
12828
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L211, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13173
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L212, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12829
13174
  module2.JSXTagStack.push("");
12830
13175
  return $1;
12831
13176
  });
@@ -12842,7 +13187,7 @@ var require_parser = __commonJS({
12842
13187
  function JSXOptionalClosingFragment(ctx, state) {
12843
13188
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12844
13189
  }
12845
- var JSXClosingFragment$0 = $EXPECT($L212, 'JSXClosingFragment "</>"');
13190
+ var JSXClosingFragment$0 = $EXPECT($L213, 'JSXClosingFragment "</>"');
12846
13191
  function JSXClosingFragment(ctx, state) {
12847
13192
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12848
13193
  }
@@ -13321,7 +13666,7 @@ var require_parser = __commonJS({
13321
13666
  function JSXChild(ctx, state) {
13322
13667
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
13323
13668
  }
13324
- var JSXComment$0 = $TS($S($EXPECT($L213, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L214, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13669
+ var JSXComment$0 = $TS($S($EXPECT($L214, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L215, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13325
13670
  return ["{/*", $2, "*/}"];
13326
13671
  });
13327
13672
  function JSXComment(ctx, state) {
@@ -13508,37 +13853,37 @@ var require_parser = __commonJS({
13508
13853
  function InterfaceExtendsTarget(ctx, state) {
13509
13854
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
13510
13855
  }
13511
- var TypeKeyword$0 = $TS($S($EXPECT($L215, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13856
+ var TypeKeyword$0 = $TS($S($EXPECT($L216, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13512
13857
  return { $loc, token: $1 };
13513
13858
  });
13514
13859
  function TypeKeyword(ctx, state) {
13515
13860
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
13516
13861
  }
13517
- var Enum$0 = $TS($S($EXPECT($L216, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13862
+ var Enum$0 = $TS($S($EXPECT($L217, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13518
13863
  return { $loc, token: $1 };
13519
13864
  });
13520
13865
  function Enum(ctx, state) {
13521
13866
  return $EVENT(ctx, state, "Enum", Enum$0);
13522
13867
  }
13523
- var Interface$0 = $TS($S($EXPECT($L217, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13868
+ var Interface$0 = $TS($S($EXPECT($L218, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13524
13869
  return { $loc, token: $1 };
13525
13870
  });
13526
13871
  function Interface(ctx, state) {
13527
13872
  return $EVENT(ctx, state, "Interface", Interface$0);
13528
13873
  }
13529
- var Global$0 = $TS($S($EXPECT($L218, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13874
+ var Global$0 = $TS($S($EXPECT($L219, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13530
13875
  return { $loc, token: $1 };
13531
13876
  });
13532
13877
  function Global(ctx, state) {
13533
13878
  return $EVENT(ctx, state, "Global", Global$0);
13534
13879
  }
13535
- var Module$0 = $TS($S($EXPECT($L219, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13880
+ var Module$0 = $TS($S($EXPECT($L220, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13536
13881
  return { $loc, token: $1 };
13537
13882
  });
13538
13883
  function Module(ctx, state) {
13539
13884
  return $EVENT(ctx, state, "Module", Module$0);
13540
13885
  }
13541
- var Namespace$0 = $TS($S($EXPECT($L220, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13886
+ var Namespace$0 = $TS($S($EXPECT($L221, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13542
13887
  return { $loc, token: $1 };
13543
13888
  });
13544
13889
  function Namespace(ctx, state) {
@@ -13812,7 +14157,7 @@ var require_parser = __commonJS({
13812
14157
  function ReturnTypeSuffix(ctx, state) {
13813
14158
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13814
14159
  }
13815
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L221, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14160
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L222, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13816
14161
  var asserts = $1;
13817
14162
  var t = $2;
13818
14163
  if (asserts) {
@@ -13891,8 +14236,8 @@ var require_parser = __commonJS({
13891
14236
  function TypeUnarySuffix(ctx, state) {
13892
14237
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13893
14238
  }
13894
- var TypeUnaryOp$0 = $S($EXPECT($L222, 'TypeUnaryOp "keyof"'), NonIdContinue);
13895
- var TypeUnaryOp$1 = $S($EXPECT($L183, 'TypeUnaryOp "readonly"'), NonIdContinue);
14239
+ var TypeUnaryOp$0 = $S($EXPECT($L223, 'TypeUnaryOp "keyof"'), NonIdContinue);
14240
+ var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
13896
14241
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13897
14242
  function TypeUnaryOp(ctx, state) {
13898
14243
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13922,7 +14267,7 @@ var require_parser = __commonJS({
13922
14267
  function TypeIndexedAccess(ctx, state) {
13923
14268
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13924
14269
  }
13925
- var UnknownAlias$0 = $TV($EXPECT($L223, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14270
+ var UnknownAlias$0 = $TV($EXPECT($L224, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13926
14271
  return { $loc, token: "unknown" };
13927
14272
  });
13928
14273
  function UnknownAlias(ctx, state) {
@@ -14128,13 +14473,20 @@ var require_parser = __commonJS({
14128
14473
  }
14129
14474
  var TypeLiteral$0 = TypeTemplateLiteral;
14130
14475
  var TypeLiteral$1 = Literal;
14131
- var TypeLiteral$2 = $TS($S($EXPECT($L205, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14476
+ var TypeLiteral$2 = $TS($S($EXPECT($R17, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14477
+ var sign = $1;
14478
+ var num = $2;
14479
+ if (sign[0] === "+")
14480
+ return num;
14481
+ return $0;
14482
+ });
14483
+ var TypeLiteral$3 = $TS($S($EXPECT($L206, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14132
14484
  return { type: "VoidType", $loc, token: $1 };
14133
14485
  });
14134
- var TypeLiteral$3 = $TV($EXPECT($L224, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14486
+ var TypeLiteral$4 = $TV($EXPECT($L225, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14135
14487
  return { $loc, token: "[]" };
14136
14488
  });
14137
- var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
14489
+ var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
14138
14490
  function TypeLiteral(ctx, state) {
14139
14491
  return $EVENT_C(ctx, state, "TypeLiteral", TypeLiteral$$);
14140
14492
  }
@@ -14257,7 +14609,7 @@ var require_parser = __commonJS({
14257
14609
  function CivetPrologue(ctx, state) {
14258
14610
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
14259
14611
  }
14260
- var CivetPrologueContent$0 = $TS($S($EXPECT($L225, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R86, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
14612
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L226, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R86, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
14261
14613
  var options = $3;
14262
14614
  return {
14263
14615
  type: "CivetPrologue",
@@ -14843,9 +15195,9 @@ var require_parser = __commonJS({
14843
15195
  }
14844
15196
  }
14845
15197
  });
14846
- if (typeof parse2 !== "undefined") {
14847
- Object.assign(module2.config, parse2.config);
14848
- parse2.config = module2.config;
15198
+ if (typeof parse !== "undefined") {
15199
+ Object.assign(module2.config, parse.config);
15200
+ parse.config = module2.config;
14849
15201
  } else {
14850
15202
  Object.assign(module2.config, exports2.parse.config);
14851
15203
  exports2.parse.config = module2.config;
@@ -14996,7 +15348,7 @@ var require_parser = __commonJS({
14996
15348
  };
14997
15349
  }();
14998
15350
  exports2.default = parser;
14999
- var parse2 = exports2.parse = parser.parse;
15351
+ exports2.parse = parser.parse;
15000
15352
  exports2.Program = Program;
15001
15353
  exports2.TopLevelStatements = TopLevelStatements;
15002
15354
  exports2.NestedTopLevelStatements = NestedTopLevelStatements;
@@ -15498,6 +15850,7 @@ var require_parser = __commonJS({
15498
15850
  exports2.OpenBracket = OpenBracket;
15499
15851
  exports2.OpenParen = OpenParen;
15500
15852
  exports2.Operator = Operator;
15853
+ exports2.Override = Override;
15501
15854
  exports2.Own = Own;
15502
15855
  exports2.Public = Public;
15503
15856
  exports2.Private = Private;