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