oxc-parser 0.98.0 → 0.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
 
4
4
  let uint8, uint32, float64, sourceText, sourceIsAscii, sourceByteLen;
5
5
 
6
- const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }),
6
+ const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
7
7
  decodeStr = textDecoder.decode.bind(textDecoder),
8
8
  { fromCodePoint } = String;
9
9
 
@@ -31,7 +31,7 @@ export function resetBuffer() {
31
31
  function deserializeProgram(pos) {
32
32
  let end = deserializeU32(pos + 4),
33
33
  program = {
34
- type: 'Program',
34
+ type: "Program",
35
35
  body: null,
36
36
  sourceType: deserializeModuleKind(pos + 125),
37
37
  hashbang: null,
@@ -47,9 +47,13 @@ function deserializeProgram(pos) {
47
47
  if (body.length > 0) {
48
48
  let first = body[0];
49
49
  start = first.start;
50
- if (first.type === 'ExportNamedDeclaration' || first.type === 'ExportDefaultDeclaration') {
50
+ if (first.type === "ExportNamedDeclaration" || first.type === "ExportDefaultDeclaration") {
51
51
  let { declaration } = first;
52
- if (declaration !== null && declaration.type === 'ClassDeclaration' && declaration.decorators.length > 0) {
52
+ if (
53
+ declaration !== null &&
54
+ declaration.type === "ClassDeclaration" &&
55
+ declaration.decorators.length > 0
56
+ ) {
53
57
  let decoratorStart = declaration.decorators[0].start;
54
58
  decoratorStart < start && (start = decoratorStart);
55
59
  }
@@ -157,7 +161,7 @@ function deserializeIdentifierName(pos) {
157
161
  let start = deserializeU32(pos),
158
162
  end = deserializeU32(pos + 4),
159
163
  node = {
160
- type: 'Identifier',
164
+ type: "Identifier",
161
165
  decorators: null,
162
166
  name: deserializeStr(pos + 8),
163
167
  optional: null,
@@ -175,7 +179,7 @@ function deserializeIdentifierReference(pos) {
175
179
  let start = deserializeU32(pos),
176
180
  end = deserializeU32(pos + 4),
177
181
  node = {
178
- type: 'Identifier',
182
+ type: "Identifier",
179
183
  decorators: null,
180
184
  name: deserializeStr(pos + 8),
181
185
  optional: null,
@@ -193,7 +197,7 @@ function deserializeBindingIdentifier(pos) {
193
197
  let start = deserializeU32(pos),
194
198
  end = deserializeU32(pos + 4),
195
199
  node = {
196
- type: 'Identifier',
200
+ type: "Identifier",
197
201
  decorators: null,
198
202
  name: deserializeStr(pos + 8),
199
203
  optional: null,
@@ -211,7 +215,7 @@ function deserializeLabelIdentifier(pos) {
211
215
  let start = deserializeU32(pos),
212
216
  end = deserializeU32(pos + 4),
213
217
  node = {
214
- type: 'Identifier',
218
+ type: "Identifier",
215
219
  decorators: null,
216
220
  name: deserializeStr(pos + 8),
217
221
  optional: null,
@@ -229,7 +233,7 @@ function deserializeThisExpression(pos) {
229
233
  let start = deserializeU32(pos),
230
234
  end = deserializeU32(pos + 4);
231
235
  return {
232
- type: 'ThisExpression',
236
+ type: "ThisExpression",
233
237
  start,
234
238
  end,
235
239
  range: [start, end],
@@ -240,7 +244,7 @@ function deserializeArrayExpression(pos) {
240
244
  let start = deserializeU32(pos),
241
245
  end = deserializeU32(pos + 4),
242
246
  node = {
243
- type: 'ArrayExpression',
247
+ type: "ArrayExpression",
244
248
  elements: null,
245
249
  start,
246
250
  end,
@@ -355,7 +359,7 @@ function deserializeObjectExpression(pos) {
355
359
  let start = deserializeU32(pos),
356
360
  end = deserializeU32(pos + 4),
357
361
  node = {
358
- type: 'ObjectExpression',
362
+ type: "ObjectExpression",
359
363
  properties: null,
360
364
  start,
361
365
  end,
@@ -380,7 +384,7 @@ function deserializeObjectProperty(pos) {
380
384
  let start = deserializeU32(pos),
381
385
  end = deserializeU32(pos + 4),
382
386
  node = {
383
- type: 'Property',
387
+ type: "Property",
384
388
  kind: deserializePropertyKind(pos + 40),
385
389
  key: null,
386
390
  value: null,
@@ -498,11 +502,11 @@ function deserializePropertyKey(pos) {
498
502
  function deserializePropertyKind(pos) {
499
503
  switch (uint8[pos]) {
500
504
  case 0:
501
- return 'init';
505
+ return "init";
502
506
  case 1:
503
- return 'get';
507
+ return "get";
504
508
  case 2:
505
- return 'set';
509
+ return "set";
506
510
  default:
507
511
  throw Error(`Unexpected discriminant ${uint8[pos]} for PropertyKind`);
508
512
  }
@@ -512,7 +516,7 @@ function deserializeTemplateLiteral(pos) {
512
516
  let start = deserializeU32(pos),
513
517
  end = deserializeU32(pos + 4),
514
518
  node = {
515
- type: 'TemplateLiteral',
519
+ type: "TemplateLiteral",
516
520
  quasis: null,
517
521
  expressions: null,
518
522
  start,
@@ -528,7 +532,7 @@ function deserializeTaggedTemplateExpression(pos) {
528
532
  let start = deserializeU32(pos),
529
533
  end = deserializeU32(pos + 4),
530
534
  node = {
531
- type: 'TaggedTemplateExpression',
535
+ type: "TaggedTemplateExpression",
532
536
  tag: null,
533
537
  typeArguments: null,
534
538
  quasi: null,
@@ -549,9 +553,11 @@ function deserializeTemplateElement(pos) {
549
553
  value = deserializeTemplateElementValue(pos + 8);
550
554
  value.cooked !== null &&
551
555
  deserializeBool(pos + 41) &&
552
- (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))));
556
+ (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) =>
557
+ String.fromCodePoint(parseInt(hex, 16)),
558
+ ));
553
559
  return {
554
- type: 'TemplateElement',
560
+ type: "TemplateElement",
555
561
  value,
556
562
  tail,
557
563
  start,
@@ -571,7 +577,7 @@ function deserializeComputedMemberExpression(pos) {
571
577
  let start = deserializeU32(pos),
572
578
  end = deserializeU32(pos + 4),
573
579
  node = {
574
- type: 'MemberExpression',
580
+ type: "MemberExpression",
575
581
  object: null,
576
582
  property: null,
577
583
  optional: deserializeBool(pos + 40),
@@ -590,7 +596,7 @@ function deserializeStaticMemberExpression(pos) {
590
596
  let start = deserializeU32(pos),
591
597
  end = deserializeU32(pos + 4),
592
598
  node = {
593
- type: 'MemberExpression',
599
+ type: "MemberExpression",
594
600
  object: null,
595
601
  property: null,
596
602
  optional: deserializeBool(pos + 48),
@@ -609,7 +615,7 @@ function deserializePrivateFieldExpression(pos) {
609
615
  let start = deserializeU32(pos),
610
616
  end = deserializeU32(pos + 4),
611
617
  node = {
612
- type: 'MemberExpression',
618
+ type: "MemberExpression",
613
619
  object: null,
614
620
  property: null,
615
621
  optional: deserializeBool(pos + 48),
@@ -628,7 +634,7 @@ function deserializeCallExpression(pos) {
628
634
  let start = deserializeU32(pos),
629
635
  end = deserializeU32(pos + 4),
630
636
  node = {
631
- type: 'CallExpression',
637
+ type: "CallExpression",
632
638
  callee: null,
633
639
  typeArguments: null,
634
640
  arguments: null,
@@ -647,7 +653,7 @@ function deserializeNewExpression(pos) {
647
653
  let start = deserializeU32(pos),
648
654
  end = deserializeU32(pos + 4),
649
655
  node = {
650
- type: 'NewExpression',
656
+ type: "NewExpression",
651
657
  callee: null,
652
658
  typeArguments: null,
653
659
  arguments: null,
@@ -665,7 +671,7 @@ function deserializeMetaProperty(pos) {
665
671
  let start = deserializeU32(pos),
666
672
  end = deserializeU32(pos + 4),
667
673
  node = {
668
- type: 'MetaProperty',
674
+ type: "MetaProperty",
669
675
  meta: null,
670
676
  property: null,
671
677
  start,
@@ -681,7 +687,7 @@ function deserializeSpreadElement(pos) {
681
687
  let start = deserializeU32(pos),
682
688
  end = deserializeU32(pos + 4),
683
689
  node = {
684
- type: 'SpreadElement',
690
+ type: "SpreadElement",
685
691
  argument: null,
686
692
  start,
687
693
  end,
@@ -790,7 +796,7 @@ function deserializeUpdateExpression(pos) {
790
796
  let start = deserializeU32(pos),
791
797
  end = deserializeU32(pos + 4),
792
798
  node = {
793
- type: 'UpdateExpression',
799
+ type: "UpdateExpression",
794
800
  operator: deserializeUpdateOperator(pos + 24),
795
801
  prefix: deserializeBool(pos + 25),
796
802
  argument: null,
@@ -806,7 +812,7 @@ function deserializeUnaryExpression(pos) {
806
812
  let start = deserializeU32(pos),
807
813
  end = deserializeU32(pos + 4),
808
814
  node = {
809
- type: 'UnaryExpression',
815
+ type: "UnaryExpression",
810
816
  operator: deserializeUnaryOperator(pos + 24),
811
817
  argument: null,
812
818
  prefix: null,
@@ -823,7 +829,7 @@ function deserializeBinaryExpression(pos) {
823
829
  let start = deserializeU32(pos),
824
830
  end = deserializeU32(pos + 4),
825
831
  node = {
826
- type: 'BinaryExpression',
832
+ type: "BinaryExpression",
827
833
  left: null,
828
834
  operator: deserializeBinaryOperator(pos + 40),
829
835
  right: null,
@@ -840,7 +846,7 @@ function deserializePrivateInExpression(pos) {
840
846
  let start = deserializeU32(pos),
841
847
  end = deserializeU32(pos + 4),
842
848
  node = {
843
- type: 'BinaryExpression',
849
+ type: "BinaryExpression",
844
850
  left: null,
845
851
  operator: null,
846
852
  right: null,
@@ -849,7 +855,7 @@ function deserializePrivateInExpression(pos) {
849
855
  range: [start, end],
850
856
  };
851
857
  node.left = deserializePrivateIdentifier(pos + 8);
852
- node.operator = 'in';
858
+ node.operator = "in";
853
859
  node.right = deserializeExpression(pos + 32);
854
860
  return node;
855
861
  }
@@ -858,7 +864,7 @@ function deserializeLogicalExpression(pos) {
858
864
  let start = deserializeU32(pos),
859
865
  end = deserializeU32(pos + 4),
860
866
  node = {
861
- type: 'LogicalExpression',
867
+ type: "LogicalExpression",
862
868
  left: null,
863
869
  operator: deserializeLogicalOperator(pos + 40),
864
870
  right: null,
@@ -875,7 +881,7 @@ function deserializeConditionalExpression(pos) {
875
881
  let start = deserializeU32(pos),
876
882
  end = deserializeU32(pos + 4),
877
883
  node = {
878
- type: 'ConditionalExpression',
884
+ type: "ConditionalExpression",
879
885
  test: null,
880
886
  consequent: null,
881
887
  alternate: null,
@@ -893,7 +899,7 @@ function deserializeAssignmentExpression(pos) {
893
899
  let start = deserializeU32(pos),
894
900
  end = deserializeU32(pos + 4),
895
901
  node = {
896
- type: 'AssignmentExpression',
902
+ type: "AssignmentExpression",
897
903
  operator: deserializeAssignmentOperator(pos + 40),
898
904
  left: null,
899
905
  right: null,
@@ -960,7 +966,7 @@ function deserializeArrayAssignmentTarget(pos) {
960
966
  let start = deserializeU32(pos),
961
967
  end = deserializeU32(pos + 4),
962
968
  node = {
963
- type: 'ArrayPattern',
969
+ type: "ArrayPattern",
964
970
  decorators: null,
965
971
  elements: null,
966
972
  optional: null,
@@ -982,7 +988,7 @@ function deserializeObjectAssignmentTarget(pos) {
982
988
  let start = deserializeU32(pos),
983
989
  end = deserializeU32(pos + 4),
984
990
  node = {
985
- type: 'ObjectPattern',
991
+ type: "ObjectPattern",
986
992
  decorators: null,
987
993
  properties: null,
988
994
  optional: null,
@@ -1004,7 +1010,7 @@ function deserializeAssignmentTargetRest(pos) {
1004
1010
  let start = deserializeU32(pos),
1005
1011
  end = deserializeU32(pos + 4),
1006
1012
  node = {
1007
- type: 'RestElement',
1013
+ type: "RestElement",
1008
1014
  decorators: null,
1009
1015
  argument: null,
1010
1016
  optional: null,
@@ -1053,7 +1059,7 @@ function deserializeAssignmentTargetWithDefault(pos) {
1053
1059
  let start = deserializeU32(pos),
1054
1060
  end = deserializeU32(pos + 4),
1055
1061
  node = {
1056
- type: 'AssignmentPattern',
1062
+ type: "AssignmentPattern",
1057
1063
  decorators: null,
1058
1064
  left: null,
1059
1065
  right: null,
@@ -1085,7 +1091,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1085
1091
  let start = deserializeU32(pos),
1086
1092
  end = deserializeU32(pos + 4),
1087
1093
  node = {
1088
- type: 'Property',
1094
+ type: "Property",
1089
1095
  kind: null,
1090
1096
  key: null,
1091
1097
  value: null,
@@ -1101,7 +1107,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1101
1107
  keyStart,
1102
1108
  keyEnd,
1103
1109
  value = {
1104
- type: 'Identifier',
1110
+ type: "Identifier",
1105
1111
  decorators: [],
1106
1112
  name: key.name,
1107
1113
  optional: false,
@@ -1113,7 +1119,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1113
1119
  init = deserializeOptionExpression(pos + 40);
1114
1120
  init !== null &&
1115
1121
  (value = {
1116
- type: 'AssignmentPattern',
1122
+ type: "AssignmentPattern",
1117
1123
  decorators: [],
1118
1124
  left: value,
1119
1125
  right: init,
@@ -1123,7 +1129,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1123
1129
  end,
1124
1130
  range: [start, end],
1125
1131
  });
1126
- node.kind = 'init';
1132
+ node.kind = "init";
1127
1133
  node.key = key;
1128
1134
  node.value = value;
1129
1135
  node.method = false;
@@ -1137,7 +1143,7 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
1137
1143
  let start = deserializeU32(pos),
1138
1144
  end = deserializeU32(pos + 4),
1139
1145
  node = {
1140
- type: 'Property',
1146
+ type: "Property",
1141
1147
  kind: null,
1142
1148
  key: null,
1143
1149
  value: null,
@@ -1149,7 +1155,7 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
1149
1155
  end,
1150
1156
  range: [start, end],
1151
1157
  };
1152
- node.kind = 'init';
1158
+ node.kind = "init";
1153
1159
  node.key = deserializePropertyKey(pos + 8);
1154
1160
  node.value = deserializeAssignmentTargetMaybeDefault(pos + 24);
1155
1161
  node.method = false;
@@ -1162,7 +1168,7 @@ function deserializeSequenceExpression(pos) {
1162
1168
  let start = deserializeU32(pos),
1163
1169
  end = deserializeU32(pos + 4),
1164
1170
  node = {
1165
- type: 'SequenceExpression',
1171
+ type: "SequenceExpression",
1166
1172
  expressions: null,
1167
1173
  start,
1168
1174
  end,
@@ -1176,7 +1182,7 @@ function deserializeSuper(pos) {
1176
1182
  let start = deserializeU32(pos),
1177
1183
  end = deserializeU32(pos + 4);
1178
1184
  return {
1179
- type: 'Super',
1185
+ type: "Super",
1180
1186
  start,
1181
1187
  end,
1182
1188
  range: [start, end],
@@ -1187,7 +1193,7 @@ function deserializeAwaitExpression(pos) {
1187
1193
  let start = deserializeU32(pos),
1188
1194
  end = deserializeU32(pos + 4),
1189
1195
  node = {
1190
- type: 'AwaitExpression',
1196
+ type: "AwaitExpression",
1191
1197
  argument: null,
1192
1198
  start,
1193
1199
  end,
@@ -1201,7 +1207,7 @@ function deserializeChainExpression(pos) {
1201
1207
  let start = deserializeU32(pos),
1202
1208
  end = deserializeU32(pos + 4),
1203
1209
  node = {
1204
- type: 'ChainExpression',
1210
+ type: "ChainExpression",
1205
1211
  expression: null,
1206
1212
  start,
1207
1213
  end,
@@ -1233,7 +1239,7 @@ function deserializeParenthesizedExpression(pos) {
1233
1239
  {
1234
1240
  let start, end;
1235
1241
  node = {
1236
- type: 'ParenthesizedExpression',
1242
+ type: "ParenthesizedExpression",
1237
1243
  expression: null,
1238
1244
  start: (start = deserializeU32(pos)),
1239
1245
  end: (end = deserializeU32(pos + 4)),
@@ -1297,6 +1303,8 @@ function deserializeStatement(pos) {
1297
1303
  case 38:
1298
1304
  return deserializeBoxTSModuleDeclaration(pos + 8);
1299
1305
  case 39:
1306
+ return deserializeBoxTSGlobalDeclaration(pos + 8);
1307
+ case 40:
1300
1308
  return deserializeBoxTSImportEqualsDeclaration(pos + 8);
1301
1309
  case 64:
1302
1310
  return deserializeBoxImportDeclaration(pos + 8);
@@ -1319,7 +1327,7 @@ function deserializeDirective(pos) {
1319
1327
  let start = deserializeU32(pos),
1320
1328
  end = deserializeU32(pos + 4),
1321
1329
  node = {
1322
- type: 'ExpressionStatement',
1330
+ type: "ExpressionStatement",
1323
1331
  expression: null,
1324
1332
  directive: deserializeStr(pos + 56),
1325
1333
  start,
@@ -1334,7 +1342,7 @@ function deserializeHashbang(pos) {
1334
1342
  let start = deserializeU32(pos),
1335
1343
  end = deserializeU32(pos + 4);
1336
1344
  return {
1337
- type: 'Hashbang',
1345
+ type: "Hashbang",
1338
1346
  value: deserializeStr(pos + 8),
1339
1347
  start,
1340
1348
  end,
@@ -1346,7 +1354,7 @@ function deserializeBlockStatement(pos) {
1346
1354
  let start = deserializeU32(pos),
1347
1355
  end = deserializeU32(pos + 4),
1348
1356
  node = {
1349
- type: 'BlockStatement',
1357
+ type: "BlockStatement",
1350
1358
  body: null,
1351
1359
  start,
1352
1360
  end,
@@ -1373,6 +1381,8 @@ function deserializeDeclaration(pos) {
1373
1381
  case 38:
1374
1382
  return deserializeBoxTSModuleDeclaration(pos + 8);
1375
1383
  case 39:
1384
+ return deserializeBoxTSGlobalDeclaration(pos + 8);
1385
+ case 40:
1376
1386
  return deserializeBoxTSImportEqualsDeclaration(pos + 8);
1377
1387
  default:
1378
1388
  throw Error(`Unexpected discriminant ${uint8[pos]} for Declaration`);
@@ -1383,7 +1393,7 @@ function deserializeVariableDeclaration(pos) {
1383
1393
  let start = deserializeU32(pos),
1384
1394
  end = deserializeU32(pos + 4),
1385
1395
  node = {
1386
- type: 'VariableDeclaration',
1396
+ type: "VariableDeclaration",
1387
1397
  kind: deserializeVariableDeclarationKind(pos + 32),
1388
1398
  declarations: null,
1389
1399
  declare: deserializeBool(pos + 33),
@@ -1398,15 +1408,15 @@ function deserializeVariableDeclaration(pos) {
1398
1408
  function deserializeVariableDeclarationKind(pos) {
1399
1409
  switch (uint8[pos]) {
1400
1410
  case 0:
1401
- return 'var';
1411
+ return "var";
1402
1412
  case 1:
1403
- return 'let';
1413
+ return "let";
1404
1414
  case 2:
1405
- return 'const';
1415
+ return "const";
1406
1416
  case 3:
1407
- return 'using';
1417
+ return "using";
1408
1418
  case 4:
1409
- return 'await using';
1419
+ return "await using";
1410
1420
  default:
1411
1421
  throw Error(`Unexpected discriminant ${uint8[pos]} for VariableDeclarationKind`);
1412
1422
  }
@@ -1416,7 +1426,7 @@ function deserializeVariableDeclarator(pos) {
1416
1426
  let start = deserializeU32(pos),
1417
1427
  end = deserializeU32(pos + 4),
1418
1428
  node = {
1419
- type: 'VariableDeclarator',
1429
+ type: "VariableDeclarator",
1420
1430
  id: null,
1421
1431
  init: null,
1422
1432
  definite: deserializeBool(pos + 57),
@@ -1433,7 +1443,7 @@ function deserializeEmptyStatement(pos) {
1433
1443
  let start = deserializeU32(pos),
1434
1444
  end = deserializeU32(pos + 4);
1435
1445
  return {
1436
- type: 'EmptyStatement',
1446
+ type: "EmptyStatement",
1437
1447
  start,
1438
1448
  end,
1439
1449
  range: [start, end],
@@ -1444,7 +1454,7 @@ function deserializeExpressionStatement(pos) {
1444
1454
  let start = deserializeU32(pos),
1445
1455
  end = deserializeU32(pos + 4),
1446
1456
  node = {
1447
- type: 'ExpressionStatement',
1457
+ type: "ExpressionStatement",
1448
1458
  expression: null,
1449
1459
  directive: null,
1450
1460
  start,
@@ -1459,7 +1469,7 @@ function deserializeIfStatement(pos) {
1459
1469
  let start = deserializeU32(pos),
1460
1470
  end = deserializeU32(pos + 4),
1461
1471
  node = {
1462
- type: 'IfStatement',
1472
+ type: "IfStatement",
1463
1473
  test: null,
1464
1474
  consequent: null,
1465
1475
  alternate: null,
@@ -1477,7 +1487,7 @@ function deserializeDoWhileStatement(pos) {
1477
1487
  let start = deserializeU32(pos),
1478
1488
  end = deserializeU32(pos + 4),
1479
1489
  node = {
1480
- type: 'DoWhileStatement',
1490
+ type: "DoWhileStatement",
1481
1491
  body: null,
1482
1492
  test: null,
1483
1493
  start,
@@ -1493,7 +1503,7 @@ function deserializeWhileStatement(pos) {
1493
1503
  let start = deserializeU32(pos),
1494
1504
  end = deserializeU32(pos + 4),
1495
1505
  node = {
1496
- type: 'WhileStatement',
1506
+ type: "WhileStatement",
1497
1507
  test: null,
1498
1508
  body: null,
1499
1509
  start,
@@ -1509,7 +1519,7 @@ function deserializeForStatement(pos) {
1509
1519
  let start = deserializeU32(pos),
1510
1520
  end = deserializeU32(pos + 4),
1511
1521
  node = {
1512
- type: 'ForStatement',
1522
+ type: "ForStatement",
1513
1523
  init: null,
1514
1524
  test: null,
1515
1525
  update: null,
@@ -1624,7 +1634,7 @@ function deserializeForInStatement(pos) {
1624
1634
  let start = deserializeU32(pos),
1625
1635
  end = deserializeU32(pos + 4),
1626
1636
  node = {
1627
- type: 'ForInStatement',
1637
+ type: "ForInStatement",
1628
1638
  left: null,
1629
1639
  right: null,
1630
1640
  body: null,
@@ -1671,7 +1681,7 @@ function deserializeForOfStatement(pos) {
1671
1681
  let start = deserializeU32(pos),
1672
1682
  end = deserializeU32(pos + 4),
1673
1683
  node = {
1674
- type: 'ForOfStatement',
1684
+ type: "ForOfStatement",
1675
1685
  await: deserializeBool(pos + 60),
1676
1686
  left: null,
1677
1687
  right: null,
@@ -1690,7 +1700,7 @@ function deserializeContinueStatement(pos) {
1690
1700
  let start = deserializeU32(pos),
1691
1701
  end = deserializeU32(pos + 4),
1692
1702
  node = {
1693
- type: 'ContinueStatement',
1703
+ type: "ContinueStatement",
1694
1704
  label: null,
1695
1705
  start,
1696
1706
  end,
@@ -1704,7 +1714,7 @@ function deserializeBreakStatement(pos) {
1704
1714
  let start = deserializeU32(pos),
1705
1715
  end = deserializeU32(pos + 4),
1706
1716
  node = {
1707
- type: 'BreakStatement',
1717
+ type: "BreakStatement",
1708
1718
  label: null,
1709
1719
  start,
1710
1720
  end,
@@ -1718,7 +1728,7 @@ function deserializeReturnStatement(pos) {
1718
1728
  let start = deserializeU32(pos),
1719
1729
  end = deserializeU32(pos + 4),
1720
1730
  node = {
1721
- type: 'ReturnStatement',
1731
+ type: "ReturnStatement",
1722
1732
  argument: null,
1723
1733
  start,
1724
1734
  end,
@@ -1732,7 +1742,7 @@ function deserializeWithStatement(pos) {
1732
1742
  let start = deserializeU32(pos),
1733
1743
  end = deserializeU32(pos + 4),
1734
1744
  node = {
1735
- type: 'WithStatement',
1745
+ type: "WithStatement",
1736
1746
  object: null,
1737
1747
  body: null,
1738
1748
  start,
@@ -1748,7 +1758,7 @@ function deserializeSwitchStatement(pos) {
1748
1758
  let start = deserializeU32(pos),
1749
1759
  end = deserializeU32(pos + 4),
1750
1760
  node = {
1751
- type: 'SwitchStatement',
1761
+ type: "SwitchStatement",
1752
1762
  discriminant: null,
1753
1763
  cases: null,
1754
1764
  start,
@@ -1764,7 +1774,7 @@ function deserializeSwitchCase(pos) {
1764
1774
  let start = deserializeU32(pos),
1765
1775
  end = deserializeU32(pos + 4),
1766
1776
  node = {
1767
- type: 'SwitchCase',
1777
+ type: "SwitchCase",
1768
1778
  test: null,
1769
1779
  consequent: null,
1770
1780
  start,
@@ -1780,7 +1790,7 @@ function deserializeLabeledStatement(pos) {
1780
1790
  let start = deserializeU32(pos),
1781
1791
  end = deserializeU32(pos + 4),
1782
1792
  node = {
1783
- type: 'LabeledStatement',
1793
+ type: "LabeledStatement",
1784
1794
  label: null,
1785
1795
  body: null,
1786
1796
  start,
@@ -1796,7 +1806,7 @@ function deserializeThrowStatement(pos) {
1796
1806
  let start = deserializeU32(pos),
1797
1807
  end = deserializeU32(pos + 4),
1798
1808
  node = {
1799
- type: 'ThrowStatement',
1809
+ type: "ThrowStatement",
1800
1810
  argument: null,
1801
1811
  start,
1802
1812
  end,
@@ -1810,7 +1820,7 @@ function deserializeTryStatement(pos) {
1810
1820
  let start = deserializeU32(pos),
1811
1821
  end = deserializeU32(pos + 4),
1812
1822
  node = {
1813
- type: 'TryStatement',
1823
+ type: "TryStatement",
1814
1824
  block: null,
1815
1825
  handler: null,
1816
1826
  finalizer: null,
@@ -1828,7 +1838,7 @@ function deserializeCatchClause(pos) {
1828
1838
  let start = deserializeU32(pos),
1829
1839
  end = deserializeU32(pos + 4),
1830
1840
  node = {
1831
- type: 'CatchClause',
1841
+ type: "CatchClause",
1832
1842
  param: null,
1833
1843
  body: null,
1834
1844
  start,
@@ -1848,7 +1858,7 @@ function deserializeDebuggerStatement(pos) {
1848
1858
  let start = deserializeU32(pos),
1849
1859
  end = deserializeU32(pos + 4);
1850
1860
  return {
1851
- type: 'DebuggerStatement',
1861
+ type: "DebuggerStatement",
1852
1862
  start,
1853
1863
  end,
1854
1864
  range: [start, end],
@@ -1881,7 +1891,7 @@ function deserializeAssignmentPattern(pos) {
1881
1891
  let start = deserializeU32(pos),
1882
1892
  end = deserializeU32(pos + 4),
1883
1893
  node = {
1884
- type: 'AssignmentPattern',
1894
+ type: "AssignmentPattern",
1885
1895
  decorators: null,
1886
1896
  left: null,
1887
1897
  right: null,
@@ -1902,7 +1912,7 @@ function deserializeObjectPattern(pos) {
1902
1912
  let start = deserializeU32(pos),
1903
1913
  end = deserializeU32(pos + 4),
1904
1914
  node = {
1905
- type: 'ObjectPattern',
1915
+ type: "ObjectPattern",
1906
1916
  decorators: null,
1907
1917
  properties: null,
1908
1918
  optional: null,
@@ -1924,7 +1934,7 @@ function deserializeBindingProperty(pos) {
1924
1934
  let start = deserializeU32(pos),
1925
1935
  end = deserializeU32(pos + 4),
1926
1936
  node = {
1927
- type: 'Property',
1937
+ type: "Property",
1928
1938
  kind: null,
1929
1939
  key: null,
1930
1940
  value: null,
@@ -1936,7 +1946,7 @@ function deserializeBindingProperty(pos) {
1936
1946
  end,
1937
1947
  range: [start, end],
1938
1948
  };
1939
- node.kind = 'init';
1949
+ node.kind = "init";
1940
1950
  node.key = deserializePropertyKey(pos + 8);
1941
1951
  node.value = deserializeBindingPattern(pos + 24);
1942
1952
  node.method = false;
@@ -1948,7 +1958,7 @@ function deserializeArrayPattern(pos) {
1948
1958
  let start = deserializeU32(pos),
1949
1959
  end = deserializeU32(pos + 4),
1950
1960
  node = {
1951
- type: 'ArrayPattern',
1961
+ type: "ArrayPattern",
1952
1962
  decorators: null,
1953
1963
  elements: null,
1954
1964
  optional: null,
@@ -1970,7 +1980,7 @@ function deserializeBindingRestElement(pos) {
1970
1980
  let start = deserializeU32(pos),
1971
1981
  end = deserializeU32(pos + 4),
1972
1982
  node = {
1973
- type: 'RestElement',
1983
+ type: "RestElement",
1974
1984
  decorators: null,
1975
1985
  argument: null,
1976
1986
  optional: null,
@@ -2021,13 +2031,13 @@ function deserializeFunction(pos) {
2021
2031
  function deserializeFunctionType(pos) {
2022
2032
  switch (uint8[pos]) {
2023
2033
  case 0:
2024
- return 'FunctionDeclaration';
2034
+ return "FunctionDeclaration";
2025
2035
  case 1:
2026
- return 'FunctionExpression';
2036
+ return "FunctionExpression";
2027
2037
  case 2:
2028
- return 'TSDeclareFunction';
2038
+ return "TSDeclareFunction";
2029
2039
  case 3:
2030
- return 'TSEmptyBodyFunctionExpression';
2040
+ return "TSEmptyBodyFunctionExpression";
2031
2041
  default:
2032
2042
  throw Error(`Unexpected discriminant ${uint8[pos]} for FunctionType`);
2033
2043
  }
@@ -2040,7 +2050,7 @@ function deserializeFormalParameters(pos) {
2040
2050
  let start,
2041
2051
  end,
2042
2052
  rest = {
2043
- type: 'RestElement',
2053
+ type: "RestElement",
2044
2054
  decorators: [],
2045
2055
  argument: null,
2046
2056
  optional: deserializeBool(pos + 32),
@@ -2071,7 +2081,7 @@ function deserializeFormalParameter(pos) {
2071
2081
  } else {
2072
2082
  let start, end;
2073
2083
  param = {
2074
- type: 'TSParameterProperty',
2084
+ type: "TSParameterProperty",
2075
2085
  accessibility,
2076
2086
  decorators: null,
2077
2087
  override,
@@ -2093,7 +2103,7 @@ function deserializeFunctionBody(pos) {
2093
2103
  let start = deserializeU32(pos),
2094
2104
  end = deserializeU32(pos + 4),
2095
2105
  node = {
2096
- type: 'BlockStatement',
2106
+ type: "BlockStatement",
2097
2107
  body: null,
2098
2108
  start,
2099
2109
  end,
@@ -2110,7 +2120,7 @@ function deserializeArrowFunctionExpression(pos) {
2110
2120
  start = deserializeU32(pos),
2111
2121
  end = deserializeU32(pos + 4),
2112
2122
  node = {
2113
- type: 'ArrowFunctionExpression',
2123
+ type: "ArrowFunctionExpression",
2114
2124
  expression,
2115
2125
  async: deserializeBool(pos + 45),
2116
2126
  typeParameters: null,
@@ -2137,7 +2147,7 @@ function deserializeYieldExpression(pos) {
2137
2147
  let start = deserializeU32(pos),
2138
2148
  end = deserializeU32(pos + 4),
2139
2149
  node = {
2140
- type: 'YieldExpression',
2150
+ type: "YieldExpression",
2141
2151
  delegate: deserializeBool(pos + 24),
2142
2152
  argument: null,
2143
2153
  start,
@@ -2179,9 +2189,9 @@ function deserializeClass(pos) {
2179
2189
  function deserializeClassType(pos) {
2180
2190
  switch (uint8[pos]) {
2181
2191
  case 0:
2182
- return 'ClassDeclaration';
2192
+ return "ClassDeclaration";
2183
2193
  case 1:
2184
- return 'ClassExpression';
2194
+ return "ClassExpression";
2185
2195
  default:
2186
2196
  throw Error(`Unexpected discriminant ${uint8[pos]} for ClassType`);
2187
2197
  }
@@ -2191,7 +2201,7 @@ function deserializeClassBody(pos) {
2191
2201
  let start = deserializeU32(pos),
2192
2202
  end = deserializeU32(pos + 4),
2193
2203
  node = {
2194
- type: 'ClassBody',
2204
+ type: "ClassBody",
2195
2205
  body: null,
2196
2206
  start,
2197
2207
  end,
@@ -2245,9 +2255,9 @@ function deserializeMethodDefinition(pos) {
2245
2255
  function deserializeMethodDefinitionType(pos) {
2246
2256
  switch (uint8[pos]) {
2247
2257
  case 0:
2248
- return 'MethodDefinition';
2258
+ return "MethodDefinition";
2249
2259
  case 1:
2250
- return 'TSAbstractMethodDefinition';
2260
+ return "TSAbstractMethodDefinition";
2251
2261
  default:
2252
2262
  throw Error(`Unexpected discriminant ${uint8[pos]} for MethodDefinitionType`);
2253
2263
  }
@@ -2284,9 +2294,9 @@ function deserializePropertyDefinition(pos) {
2284
2294
  function deserializePropertyDefinitionType(pos) {
2285
2295
  switch (uint8[pos]) {
2286
2296
  case 0:
2287
- return 'PropertyDefinition';
2297
+ return "PropertyDefinition";
2288
2298
  case 1:
2289
- return 'TSAbstractPropertyDefinition';
2299
+ return "TSAbstractPropertyDefinition";
2290
2300
  default:
2291
2301
  throw Error(`Unexpected discriminant ${uint8[pos]} for PropertyDefinitionType`);
2292
2302
  }
@@ -2295,13 +2305,13 @@ function deserializePropertyDefinitionType(pos) {
2295
2305
  function deserializeMethodDefinitionKind(pos) {
2296
2306
  switch (uint8[pos]) {
2297
2307
  case 0:
2298
- return 'constructor';
2308
+ return "constructor";
2299
2309
  case 1:
2300
- return 'method';
2310
+ return "method";
2301
2311
  case 2:
2302
- return 'get';
2312
+ return "get";
2303
2313
  case 3:
2304
- return 'set';
2314
+ return "set";
2305
2315
  default:
2306
2316
  throw Error(`Unexpected discriminant ${uint8[pos]} for MethodDefinitionKind`);
2307
2317
  }
@@ -2311,7 +2321,7 @@ function deserializePrivateIdentifier(pos) {
2311
2321
  let start = deserializeU32(pos),
2312
2322
  end = deserializeU32(pos + 4);
2313
2323
  return {
2314
- type: 'PrivateIdentifier',
2324
+ type: "PrivateIdentifier",
2315
2325
  name: deserializeStr(pos + 8),
2316
2326
  start,
2317
2327
  end,
@@ -2323,7 +2333,7 @@ function deserializeStaticBlock(pos) {
2323
2333
  let start = deserializeU32(pos),
2324
2334
  end = deserializeU32(pos + 4),
2325
2335
  node = {
2326
- type: 'StaticBlock',
2336
+ type: "StaticBlock",
2327
2337
  body: null,
2328
2338
  start,
2329
2339
  end,
@@ -2336,9 +2346,9 @@ function deserializeStaticBlock(pos) {
2336
2346
  function deserializeAccessorPropertyType(pos) {
2337
2347
  switch (uint8[pos]) {
2338
2348
  case 0:
2339
- return 'AccessorProperty';
2349
+ return "AccessorProperty";
2340
2350
  case 1:
2341
- return 'TSAbstractAccessorProperty';
2351
+ return "TSAbstractAccessorProperty";
2342
2352
  default:
2343
2353
  throw Error(`Unexpected discriminant ${uint8[pos]} for AccessorPropertyType`);
2344
2354
  }
@@ -2379,7 +2389,7 @@ function deserializeImportExpression(pos) {
2379
2389
  let start = deserializeU32(pos),
2380
2390
  end = deserializeU32(pos + 4),
2381
2391
  node = {
2382
- type: 'ImportExpression',
2392
+ type: "ImportExpression",
2383
2393
  source: null,
2384
2394
  options: null,
2385
2395
  phase: deserializeOptionImportPhase(pos + 40),
@@ -2396,7 +2406,7 @@ function deserializeImportDeclaration(pos) {
2396
2406
  let start = deserializeU32(pos),
2397
2407
  end = deserializeU32(pos + 4),
2398
2408
  node = {
2399
- type: 'ImportDeclaration',
2409
+ type: "ImportDeclaration",
2400
2410
  specifiers: null,
2401
2411
  source: null,
2402
2412
  phase: deserializeOptionImportPhase(pos + 88),
@@ -2418,9 +2428,9 @@ function deserializeImportDeclaration(pos) {
2418
2428
  function deserializeImportPhase(pos) {
2419
2429
  switch (uint8[pos]) {
2420
2430
  case 0:
2421
- return 'source';
2431
+ return "source";
2422
2432
  case 1:
2423
- return 'defer';
2433
+ return "defer";
2424
2434
  default:
2425
2435
  throw Error(`Unexpected discriminant ${uint8[pos]} for ImportPhase`);
2426
2436
  }
@@ -2443,7 +2453,7 @@ function deserializeImportSpecifier(pos) {
2443
2453
  let start = deserializeU32(pos),
2444
2454
  end = deserializeU32(pos + 4),
2445
2455
  node = {
2446
- type: 'ImportSpecifier',
2456
+ type: "ImportSpecifier",
2447
2457
  imported: null,
2448
2458
  local: null,
2449
2459
  importKind: deserializeImportOrExportKind(pos + 96),
@@ -2460,7 +2470,7 @@ function deserializeImportDefaultSpecifier(pos) {
2460
2470
  let start = deserializeU32(pos),
2461
2471
  end = deserializeU32(pos + 4),
2462
2472
  node = {
2463
- type: 'ImportDefaultSpecifier',
2473
+ type: "ImportDefaultSpecifier",
2464
2474
  local: null,
2465
2475
  start,
2466
2476
  end,
@@ -2474,7 +2484,7 @@ function deserializeImportNamespaceSpecifier(pos) {
2474
2484
  let start = deserializeU32(pos),
2475
2485
  end = deserializeU32(pos + 4),
2476
2486
  node = {
2477
- type: 'ImportNamespaceSpecifier',
2487
+ type: "ImportNamespaceSpecifier",
2478
2488
  local: null,
2479
2489
  start,
2480
2490
  end,
@@ -2492,7 +2502,7 @@ function deserializeImportAttribute(pos) {
2492
2502
  let start = deserializeU32(pos),
2493
2503
  end = deserializeU32(pos + 4),
2494
2504
  node = {
2495
- type: 'ImportAttribute',
2505
+ type: "ImportAttribute",
2496
2506
  key: null,
2497
2507
  value: null,
2498
2508
  start,
@@ -2519,7 +2529,7 @@ function deserializeExportNamedDeclaration(pos) {
2519
2529
  let start = deserializeU32(pos),
2520
2530
  end = deserializeU32(pos + 4),
2521
2531
  node = {
2522
- type: 'ExportNamedDeclaration',
2532
+ type: "ExportNamedDeclaration",
2523
2533
  declaration: null,
2524
2534
  specifiers: null,
2525
2535
  source: null,
@@ -2541,7 +2551,7 @@ function deserializeExportDefaultDeclaration(pos) {
2541
2551
  let start = deserializeU32(pos),
2542
2552
  end = deserializeU32(pos + 4),
2543
2553
  node = {
2544
- type: 'ExportDefaultDeclaration',
2554
+ type: "ExportDefaultDeclaration",
2545
2555
  declaration: null,
2546
2556
  exportKind: null,
2547
2557
  start,
@@ -2549,7 +2559,7 @@ function deserializeExportDefaultDeclaration(pos) {
2549
2559
  range: [start, end],
2550
2560
  };
2551
2561
  node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2552
- node.exportKind = 'value';
2562
+ node.exportKind = "value";
2553
2563
  return node;
2554
2564
  }
2555
2565
 
@@ -2557,7 +2567,7 @@ function deserializeExportAllDeclaration(pos) {
2557
2567
  let start = deserializeU32(pos),
2558
2568
  end = deserializeU32(pos + 4),
2559
2569
  node = {
2560
- type: 'ExportAllDeclaration',
2570
+ type: "ExportAllDeclaration",
2561
2571
  exported: null,
2562
2572
  source: null,
2563
2573
  attributes: null,
@@ -2577,7 +2587,7 @@ function deserializeExportSpecifier(pos) {
2577
2587
  let start = deserializeU32(pos),
2578
2588
  end = deserializeU32(pos + 4),
2579
2589
  node = {
2580
- type: 'ExportSpecifier',
2590
+ type: "ExportSpecifier",
2581
2591
  local: null,
2582
2592
  exported: null,
2583
2593
  exportKind: deserializeImportOrExportKind(pos + 120),
@@ -2706,7 +2716,7 @@ function deserializeV8IntrinsicExpression(pos) {
2706
2716
  let start = deserializeU32(pos),
2707
2717
  end = deserializeU32(pos + 4),
2708
2718
  node = {
2709
- type: 'V8IntrinsicExpression',
2719
+ type: "V8IntrinsicExpression",
2710
2720
  name: null,
2711
2721
  arguments: null,
2712
2722
  start,
@@ -2723,14 +2733,14 @@ function deserializeBooleanLiteral(pos) {
2723
2733
  start = deserializeU32(pos),
2724
2734
  end = deserializeU32(pos + 4),
2725
2735
  node = {
2726
- type: 'Literal',
2736
+ type: "Literal",
2727
2737
  value,
2728
2738
  raw: null,
2729
2739
  start,
2730
2740
  end,
2731
2741
  range: [start, end],
2732
2742
  };
2733
- node.raw = start === 0 && end === 0 ? null : value + '';
2743
+ node.raw = start === 0 && end === 0 ? null : value + "";
2734
2744
  return node;
2735
2745
  }
2736
2746
 
@@ -2738,14 +2748,14 @@ function deserializeNullLiteral(pos) {
2738
2748
  let start = deserializeU32(pos),
2739
2749
  end = deserializeU32(pos + 4),
2740
2750
  node = {
2741
- type: 'Literal',
2751
+ type: "Literal",
2742
2752
  value: null,
2743
2753
  raw: null,
2744
2754
  start,
2745
2755
  end,
2746
2756
  range: [start, end],
2747
2757
  };
2748
- node.raw = start === 0 && end === 0 ? null : 'null';
2758
+ node.raw = start === 0 && end === 0 ? null : "null";
2749
2759
  return node;
2750
2760
  }
2751
2761
 
@@ -2753,7 +2763,7 @@ function deserializeNumericLiteral(pos) {
2753
2763
  let start = deserializeU32(pos),
2754
2764
  end = deserializeU32(pos + 4);
2755
2765
  return {
2756
- type: 'Literal',
2766
+ type: "Literal",
2757
2767
  value: deserializeF64(pos + 8),
2758
2768
  raw: deserializeOptionStr(pos + 16),
2759
2769
  start,
@@ -2766,7 +2776,7 @@ function deserializeStringLiteral(pos) {
2766
2776
  let start = deserializeU32(pos),
2767
2777
  end = deserializeU32(pos + 4),
2768
2778
  node = {
2769
- type: 'Literal',
2779
+ type: "Literal",
2770
2780
  value: null,
2771
2781
  raw: deserializeOptionStr(pos + 24),
2772
2782
  start,
@@ -2784,7 +2794,7 @@ function deserializeBigIntLiteral(pos) {
2784
2794
  let start = deserializeU32(pos),
2785
2795
  end = deserializeU32(pos + 4),
2786
2796
  node = {
2787
- type: 'Literal',
2797
+ type: "Literal",
2788
2798
  value: null,
2789
2799
  raw: deserializeOptionStr(pos + 24),
2790
2800
  bigint: null,
@@ -2802,7 +2812,7 @@ function deserializeRegExpLiteral(pos) {
2802
2812
  let start = deserializeU32(pos),
2803
2813
  end = deserializeU32(pos + 4),
2804
2814
  node = {
2805
- type: 'Literal',
2815
+ type: "Literal",
2806
2816
  value: null,
2807
2817
  raw: deserializeOptionStr(pos + 40),
2808
2818
  regex: null,
@@ -2829,16 +2839,16 @@ function deserializeRegExp(pos) {
2829
2839
 
2830
2840
  function deserializeRegExpFlags(pos) {
2831
2841
  let flagBits = deserializeU8(pos),
2832
- flags = '';
2842
+ flags = "";
2833
2843
  // Alphabetical order
2834
- flagBits & 64 && (flags += 'd');
2835
- flagBits & 1 && (flags += 'g');
2836
- flagBits & 2 && (flags += 'i');
2837
- flagBits & 4 && (flags += 'm');
2838
- flagBits & 8 && (flags += 's');
2839
- flagBits & 16 && (flags += 'u');
2840
- flagBits & 128 && (flags += 'v');
2841
- flagBits & 32 && (flags += 'y');
2844
+ flagBits & 64 && (flags += "d");
2845
+ flagBits & 1 && (flags += "g");
2846
+ flagBits & 2 && (flags += "i");
2847
+ flagBits & 4 && (flags += "m");
2848
+ flagBits & 8 && (flags += "s");
2849
+ flagBits & 16 && (flags += "u");
2850
+ flagBits & 128 && (flags += "v");
2851
+ flagBits & 32 && (flags += "y");
2842
2852
  return flags;
2843
2853
  }
2844
2854
 
@@ -2846,7 +2856,7 @@ function deserializeJSXElement(pos) {
2846
2856
  let start = deserializeU32(pos),
2847
2857
  end = deserializeU32(pos + 4),
2848
2858
  node = {
2849
- type: 'JSXElement',
2859
+ type: "JSXElement",
2850
2860
  openingElement: null,
2851
2861
  children: null,
2852
2862
  closingElement: null,
@@ -2867,7 +2877,7 @@ function deserializeJSXOpeningElement(pos) {
2867
2877
  let start = deserializeU32(pos),
2868
2878
  end = deserializeU32(pos + 4),
2869
2879
  node = {
2870
- type: 'JSXOpeningElement',
2880
+ type: "JSXOpeningElement",
2871
2881
  name: null,
2872
2882
  typeArguments: null,
2873
2883
  attributes: null,
@@ -2887,7 +2897,7 @@ function deserializeJSXClosingElement(pos) {
2887
2897
  let start = deserializeU32(pos),
2888
2898
  end = deserializeU32(pos + 4),
2889
2899
  node = {
2890
- type: 'JSXClosingElement',
2900
+ type: "JSXClosingElement",
2891
2901
  name: null,
2892
2902
  start,
2893
2903
  end,
@@ -2901,7 +2911,7 @@ function deserializeJSXFragment(pos) {
2901
2911
  let start = deserializeU32(pos),
2902
2912
  end = deserializeU32(pos + 4),
2903
2913
  node = {
2904
- type: 'JSXFragment',
2914
+ type: "JSXFragment",
2905
2915
  openingFragment: null,
2906
2916
  children: null,
2907
2917
  closingFragment: null,
@@ -2919,7 +2929,7 @@ function deserializeJSXOpeningFragment(pos) {
2919
2929
  let start = deserializeU32(pos),
2920
2930
  end = deserializeU32(pos + 4);
2921
2931
  return {
2922
- type: 'JSXOpeningFragment',
2932
+ type: "JSXOpeningFragment",
2923
2933
  start,
2924
2934
  end,
2925
2935
  range: [start, end],
@@ -2930,7 +2940,7 @@ function deserializeJSXClosingFragment(pos) {
2930
2940
  let start = deserializeU32(pos),
2931
2941
  end = deserializeU32(pos + 4);
2932
2942
  return {
2933
- type: 'JSXClosingFragment',
2943
+ type: "JSXClosingFragment",
2934
2944
  start,
2935
2945
  end,
2936
2946
  range: [start, end],
@@ -2944,7 +2954,7 @@ function deserializeJSXElementName(pos) {
2944
2954
  case 1:
2945
2955
  let ident = deserializeBoxIdentifierReference(pos + 8);
2946
2956
  return {
2947
- type: 'JSXIdentifier',
2957
+ type: "JSXIdentifier",
2948
2958
  name: ident.name,
2949
2959
  start: ident.start,
2950
2960
  end: ident.end,
@@ -2957,8 +2967,8 @@ function deserializeJSXElementName(pos) {
2957
2967
  case 4:
2958
2968
  let thisExpr = deserializeBoxThisExpression(pos + 8);
2959
2969
  return {
2960
- type: 'JSXIdentifier',
2961
- name: 'this',
2970
+ type: "JSXIdentifier",
2971
+ name: "this",
2962
2972
  start: thisExpr.start,
2963
2973
  end: thisExpr.end,
2964
2974
  range: thisExpr.range,
@@ -2972,7 +2982,7 @@ function deserializeJSXNamespacedName(pos) {
2972
2982
  let start = deserializeU32(pos),
2973
2983
  end = deserializeU32(pos + 4),
2974
2984
  node = {
2975
- type: 'JSXNamespacedName',
2985
+ type: "JSXNamespacedName",
2976
2986
  namespace: null,
2977
2987
  name: null,
2978
2988
  start,
@@ -2988,7 +2998,7 @@ function deserializeJSXMemberExpression(pos) {
2988
2998
  let start = deserializeU32(pos),
2989
2999
  end = deserializeU32(pos + 4),
2990
3000
  node = {
2991
- type: 'JSXMemberExpression',
3001
+ type: "JSXMemberExpression",
2992
3002
  object: null,
2993
3003
  property: null,
2994
3004
  start,
@@ -3005,7 +3015,7 @@ function deserializeJSXMemberExpressionObject(pos) {
3005
3015
  case 0:
3006
3016
  let ident = deserializeBoxIdentifierReference(pos + 8);
3007
3017
  return {
3008
- type: 'JSXIdentifier',
3018
+ type: "JSXIdentifier",
3009
3019
  name: ident.name,
3010
3020
  start: ident.start,
3011
3021
  end: ident.end,
@@ -3016,8 +3026,8 @@ function deserializeJSXMemberExpressionObject(pos) {
3016
3026
  case 2:
3017
3027
  let thisExpr = deserializeBoxThisExpression(pos + 8);
3018
3028
  return {
3019
- type: 'JSXIdentifier',
3020
- name: 'this',
3029
+ type: "JSXIdentifier",
3030
+ name: "this",
3021
3031
  start: thisExpr.start,
3022
3032
  end: thisExpr.end,
3023
3033
  range: thisExpr.range,
@@ -3031,7 +3041,7 @@ function deserializeJSXExpressionContainer(pos) {
3031
3041
  let start = deserializeU32(pos),
3032
3042
  end = deserializeU32(pos + 4),
3033
3043
  node = {
3034
- type: 'JSXExpressionContainer',
3044
+ type: "JSXExpressionContainer",
3035
3045
  expression: null,
3036
3046
  start,
3037
3047
  end,
@@ -3140,7 +3150,7 @@ function deserializeJSXEmptyExpression(pos) {
3140
3150
  let start = deserializeU32(pos),
3141
3151
  end = deserializeU32(pos + 4);
3142
3152
  return {
3143
- type: 'JSXEmptyExpression',
3153
+ type: "JSXEmptyExpression",
3144
3154
  start,
3145
3155
  end,
3146
3156
  range: [start, end],
@@ -3162,7 +3172,7 @@ function deserializeJSXAttribute(pos) {
3162
3172
  let start = deserializeU32(pos),
3163
3173
  end = deserializeU32(pos + 4),
3164
3174
  node = {
3165
- type: 'JSXAttribute',
3175
+ type: "JSXAttribute",
3166
3176
  name: null,
3167
3177
  value: null,
3168
3178
  start,
@@ -3178,7 +3188,7 @@ function deserializeJSXSpreadAttribute(pos) {
3178
3188
  let start = deserializeU32(pos),
3179
3189
  end = deserializeU32(pos + 4),
3180
3190
  node = {
3181
- type: 'JSXSpreadAttribute',
3191
+ type: "JSXSpreadAttribute",
3182
3192
  argument: null,
3183
3193
  start,
3184
3194
  end,
@@ -3218,7 +3228,7 @@ function deserializeJSXIdentifier(pos) {
3218
3228
  let start = deserializeU32(pos),
3219
3229
  end = deserializeU32(pos + 4);
3220
3230
  return {
3221
- type: 'JSXIdentifier',
3231
+ type: "JSXIdentifier",
3222
3232
  name: deserializeStr(pos + 8),
3223
3233
  start,
3224
3234
  end,
@@ -3247,7 +3257,7 @@ function deserializeJSXSpreadChild(pos) {
3247
3257
  let start = deserializeU32(pos),
3248
3258
  end = deserializeU32(pos + 4),
3249
3259
  node = {
3250
- type: 'JSXSpreadChild',
3260
+ type: "JSXSpreadChild",
3251
3261
  expression: null,
3252
3262
  start,
3253
3263
  end,
@@ -3261,7 +3271,7 @@ function deserializeJSXText(pos) {
3261
3271
  let start = deserializeU32(pos),
3262
3272
  end = deserializeU32(pos + 4);
3263
3273
  return {
3264
- type: 'JSXText',
3274
+ type: "JSXText",
3265
3275
  value: deserializeStr(pos + 8),
3266
3276
  raw: deserializeOptionStr(pos + 24),
3267
3277
  start,
@@ -3274,7 +3284,7 @@ function deserializeTSThisParameter(pos) {
3274
3284
  let start = deserializeU32(pos),
3275
3285
  end = deserializeU32(pos + 4),
3276
3286
  node = {
3277
- type: 'Identifier',
3287
+ type: "Identifier",
3278
3288
  decorators: null,
3279
3289
  name: null,
3280
3290
  optional: null,
@@ -3284,7 +3294,7 @@ function deserializeTSThisParameter(pos) {
3284
3294
  range: [start, end],
3285
3295
  };
3286
3296
  node.decorators = [];
3287
- node.name = 'this';
3297
+ node.name = "this";
3288
3298
  node.optional = false;
3289
3299
  node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 16);
3290
3300
  return node;
@@ -3294,7 +3304,7 @@ function deserializeTSEnumDeclaration(pos) {
3294
3304
  let start = deserializeU32(pos),
3295
3305
  end = deserializeU32(pos + 4),
3296
3306
  node = {
3297
- type: 'TSEnumDeclaration',
3307
+ type: "TSEnumDeclaration",
3298
3308
  id: null,
3299
3309
  body: null,
3300
3310
  const: deserializeBool(pos + 76),
@@ -3312,7 +3322,7 @@ function deserializeTSEnumBody(pos) {
3312
3322
  let start = deserializeU32(pos),
3313
3323
  end = deserializeU32(pos + 4),
3314
3324
  node = {
3315
- type: 'TSEnumBody',
3325
+ type: "TSEnumBody",
3316
3326
  members: null,
3317
3327
  start,
3318
3328
  end,
@@ -3326,7 +3336,7 @@ function deserializeTSEnumMember(pos) {
3326
3336
  let start = deserializeU32(pos),
3327
3337
  end = deserializeU32(pos + 4),
3328
3338
  node = {
3329
- type: 'TSEnumMember',
3339
+ type: "TSEnumMember",
3330
3340
  id: null,
3331
3341
  initializer: null,
3332
3342
  computed: null,
@@ -3359,7 +3369,7 @@ function deserializeTSTypeAnnotation(pos) {
3359
3369
  let start = deserializeU32(pos),
3360
3370
  end = deserializeU32(pos + 4),
3361
3371
  node = {
3362
- type: 'TSTypeAnnotation',
3372
+ type: "TSTypeAnnotation",
3363
3373
  typeAnnotation: null,
3364
3374
  start,
3365
3375
  end,
@@ -3373,7 +3383,7 @@ function deserializeTSLiteralType(pos) {
3373
3383
  let start = deserializeU32(pos),
3374
3384
  end = deserializeU32(pos + 4),
3375
3385
  node = {
3376
- type: 'TSLiteralType',
3386
+ type: "TSLiteralType",
3377
3387
  literal: null,
3378
3388
  start,
3379
3389
  end,
@@ -3487,7 +3497,7 @@ function deserializeTSConditionalType(pos) {
3487
3497
  let start = deserializeU32(pos),
3488
3498
  end = deserializeU32(pos + 4),
3489
3499
  node = {
3490
- type: 'TSConditionalType',
3500
+ type: "TSConditionalType",
3491
3501
  checkType: null,
3492
3502
  extendsType: null,
3493
3503
  trueType: null,
@@ -3507,7 +3517,7 @@ function deserializeTSUnionType(pos) {
3507
3517
  let start = deserializeU32(pos),
3508
3518
  end = deserializeU32(pos + 4),
3509
3519
  node = {
3510
- type: 'TSUnionType',
3520
+ type: "TSUnionType",
3511
3521
  types: null,
3512
3522
  start,
3513
3523
  end,
@@ -3521,7 +3531,7 @@ function deserializeTSIntersectionType(pos) {
3521
3531
  let start = deserializeU32(pos),
3522
3532
  end = deserializeU32(pos + 4),
3523
3533
  node = {
3524
- type: 'TSIntersectionType',
3534
+ type: "TSIntersectionType",
3525
3535
  types: null,
3526
3536
  start,
3527
3537
  end,
@@ -3536,7 +3546,7 @@ function deserializeTSParenthesizedType(pos) {
3536
3546
  {
3537
3547
  let start, end;
3538
3548
  node = {
3539
- type: 'TSParenthesizedType',
3549
+ type: "TSParenthesizedType",
3540
3550
  typeAnnotation: null,
3541
3551
  start: (start = deserializeU32(pos)),
3542
3552
  end: (end = deserializeU32(pos + 4)),
@@ -3551,7 +3561,7 @@ function deserializeTSTypeOperator(pos) {
3551
3561
  let start = deserializeU32(pos),
3552
3562
  end = deserializeU32(pos + 4),
3553
3563
  node = {
3554
- type: 'TSTypeOperator',
3564
+ type: "TSTypeOperator",
3555
3565
  operator: deserializeTSTypeOperatorOperator(pos + 24),
3556
3566
  typeAnnotation: null,
3557
3567
  start,
@@ -3565,11 +3575,11 @@ function deserializeTSTypeOperator(pos) {
3565
3575
  function deserializeTSTypeOperatorOperator(pos) {
3566
3576
  switch (uint8[pos]) {
3567
3577
  case 0:
3568
- return 'keyof';
3578
+ return "keyof";
3569
3579
  case 1:
3570
- return 'unique';
3580
+ return "unique";
3571
3581
  case 2:
3572
- return 'readonly';
3582
+ return "readonly";
3573
3583
  default:
3574
3584
  throw Error(`Unexpected discriminant ${uint8[pos]} for TSTypeOperatorOperator`);
3575
3585
  }
@@ -3579,7 +3589,7 @@ function deserializeTSArrayType(pos) {
3579
3589
  let start = deserializeU32(pos),
3580
3590
  end = deserializeU32(pos + 4),
3581
3591
  node = {
3582
- type: 'TSArrayType',
3592
+ type: "TSArrayType",
3583
3593
  elementType: null,
3584
3594
  start,
3585
3595
  end,
@@ -3593,7 +3603,7 @@ function deserializeTSIndexedAccessType(pos) {
3593
3603
  let start = deserializeU32(pos),
3594
3604
  end = deserializeU32(pos + 4),
3595
3605
  node = {
3596
- type: 'TSIndexedAccessType',
3606
+ type: "TSIndexedAccessType",
3597
3607
  objectType: null,
3598
3608
  indexType: null,
3599
3609
  start,
@@ -3609,7 +3619,7 @@ function deserializeTSTupleType(pos) {
3609
3619
  let start = deserializeU32(pos),
3610
3620
  end = deserializeU32(pos + 4),
3611
3621
  node = {
3612
- type: 'TSTupleType',
3622
+ type: "TSTupleType",
3613
3623
  elementTypes: null,
3614
3624
  start,
3615
3625
  end,
@@ -3623,7 +3633,7 @@ function deserializeTSNamedTupleMember(pos) {
3623
3633
  let start = deserializeU32(pos),
3624
3634
  end = deserializeU32(pos + 4),
3625
3635
  node = {
3626
- type: 'TSNamedTupleMember',
3636
+ type: "TSNamedTupleMember",
3627
3637
  label: null,
3628
3638
  elementType: null,
3629
3639
  optional: deserializeBool(pos + 48),
@@ -3640,7 +3650,7 @@ function deserializeTSOptionalType(pos) {
3640
3650
  let start = deserializeU32(pos),
3641
3651
  end = deserializeU32(pos + 4),
3642
3652
  node = {
3643
- type: 'TSOptionalType',
3653
+ type: "TSOptionalType",
3644
3654
  typeAnnotation: null,
3645
3655
  start,
3646
3656
  end,
@@ -3654,7 +3664,7 @@ function deserializeTSRestType(pos) {
3654
3664
  let start = deserializeU32(pos),
3655
3665
  end = deserializeU32(pos + 4),
3656
3666
  node = {
3657
- type: 'TSRestType',
3667
+ type: "TSRestType",
3658
3668
  typeAnnotation: null,
3659
3669
  start,
3660
3670
  end,
@@ -3753,7 +3763,7 @@ function deserializeTSAnyKeyword(pos) {
3753
3763
  let start = deserializeU32(pos),
3754
3764
  end = deserializeU32(pos + 4);
3755
3765
  return {
3756
- type: 'TSAnyKeyword',
3766
+ type: "TSAnyKeyword",
3757
3767
  start,
3758
3768
  end,
3759
3769
  range: [start, end],
@@ -3764,7 +3774,7 @@ function deserializeTSStringKeyword(pos) {
3764
3774
  let start = deserializeU32(pos),
3765
3775
  end = deserializeU32(pos + 4);
3766
3776
  return {
3767
- type: 'TSStringKeyword',
3777
+ type: "TSStringKeyword",
3768
3778
  start,
3769
3779
  end,
3770
3780
  range: [start, end],
@@ -3775,7 +3785,7 @@ function deserializeTSBooleanKeyword(pos) {
3775
3785
  let start = deserializeU32(pos),
3776
3786
  end = deserializeU32(pos + 4);
3777
3787
  return {
3778
- type: 'TSBooleanKeyword',
3788
+ type: "TSBooleanKeyword",
3779
3789
  start,
3780
3790
  end,
3781
3791
  range: [start, end],
@@ -3786,7 +3796,7 @@ function deserializeTSNumberKeyword(pos) {
3786
3796
  let start = deserializeU32(pos),
3787
3797
  end = deserializeU32(pos + 4);
3788
3798
  return {
3789
- type: 'TSNumberKeyword',
3799
+ type: "TSNumberKeyword",
3790
3800
  start,
3791
3801
  end,
3792
3802
  range: [start, end],
@@ -3797,7 +3807,7 @@ function deserializeTSNeverKeyword(pos) {
3797
3807
  let start = deserializeU32(pos),
3798
3808
  end = deserializeU32(pos + 4);
3799
3809
  return {
3800
- type: 'TSNeverKeyword',
3810
+ type: "TSNeverKeyword",
3801
3811
  start,
3802
3812
  end,
3803
3813
  range: [start, end],
@@ -3808,7 +3818,7 @@ function deserializeTSIntrinsicKeyword(pos) {
3808
3818
  let start = deserializeU32(pos),
3809
3819
  end = deserializeU32(pos + 4);
3810
3820
  return {
3811
- type: 'TSIntrinsicKeyword',
3821
+ type: "TSIntrinsicKeyword",
3812
3822
  start,
3813
3823
  end,
3814
3824
  range: [start, end],
@@ -3819,7 +3829,7 @@ function deserializeTSUnknownKeyword(pos) {
3819
3829
  let start = deserializeU32(pos),
3820
3830
  end = deserializeU32(pos + 4);
3821
3831
  return {
3822
- type: 'TSUnknownKeyword',
3832
+ type: "TSUnknownKeyword",
3823
3833
  start,
3824
3834
  end,
3825
3835
  range: [start, end],
@@ -3830,7 +3840,7 @@ function deserializeTSNullKeyword(pos) {
3830
3840
  let start = deserializeU32(pos),
3831
3841
  end = deserializeU32(pos + 4);
3832
3842
  return {
3833
- type: 'TSNullKeyword',
3843
+ type: "TSNullKeyword",
3834
3844
  start,
3835
3845
  end,
3836
3846
  range: [start, end],
@@ -3841,7 +3851,7 @@ function deserializeTSUndefinedKeyword(pos) {
3841
3851
  let start = deserializeU32(pos),
3842
3852
  end = deserializeU32(pos + 4);
3843
3853
  return {
3844
- type: 'TSUndefinedKeyword',
3854
+ type: "TSUndefinedKeyword",
3845
3855
  start,
3846
3856
  end,
3847
3857
  range: [start, end],
@@ -3852,7 +3862,7 @@ function deserializeTSVoidKeyword(pos) {
3852
3862
  let start = deserializeU32(pos),
3853
3863
  end = deserializeU32(pos + 4);
3854
3864
  return {
3855
- type: 'TSVoidKeyword',
3865
+ type: "TSVoidKeyword",
3856
3866
  start,
3857
3867
  end,
3858
3868
  range: [start, end],
@@ -3863,7 +3873,7 @@ function deserializeTSSymbolKeyword(pos) {
3863
3873
  let start = deserializeU32(pos),
3864
3874
  end = deserializeU32(pos + 4);
3865
3875
  return {
3866
- type: 'TSSymbolKeyword',
3876
+ type: "TSSymbolKeyword",
3867
3877
  start,
3868
3878
  end,
3869
3879
  range: [start, end],
@@ -3874,7 +3884,7 @@ function deserializeTSThisType(pos) {
3874
3884
  let start = deserializeU32(pos),
3875
3885
  end = deserializeU32(pos + 4);
3876
3886
  return {
3877
- type: 'TSThisType',
3887
+ type: "TSThisType",
3878
3888
  start,
3879
3889
  end,
3880
3890
  range: [start, end],
@@ -3885,7 +3895,7 @@ function deserializeTSObjectKeyword(pos) {
3885
3895
  let start = deserializeU32(pos),
3886
3896
  end = deserializeU32(pos + 4);
3887
3897
  return {
3888
- type: 'TSObjectKeyword',
3898
+ type: "TSObjectKeyword",
3889
3899
  start,
3890
3900
  end,
3891
3901
  range: [start, end],
@@ -3896,7 +3906,7 @@ function deserializeTSBigIntKeyword(pos) {
3896
3906
  let start = deserializeU32(pos),
3897
3907
  end = deserializeU32(pos + 4);
3898
3908
  return {
3899
- type: 'TSBigIntKeyword',
3909
+ type: "TSBigIntKeyword",
3900
3910
  start,
3901
3911
  end,
3902
3912
  range: [start, end],
@@ -3907,7 +3917,7 @@ function deserializeTSTypeReference(pos) {
3907
3917
  let start = deserializeU32(pos),
3908
3918
  end = deserializeU32(pos + 4),
3909
3919
  node = {
3910
- type: 'TSTypeReference',
3920
+ type: "TSTypeReference",
3911
3921
  typeName: null,
3912
3922
  typeArguments: null,
3913
3923
  start,
@@ -3936,7 +3946,7 @@ function deserializeTSQualifiedName(pos) {
3936
3946
  let start = deserializeU32(pos),
3937
3947
  end = deserializeU32(pos + 4),
3938
3948
  node = {
3939
- type: 'TSQualifiedName',
3949
+ type: "TSQualifiedName",
3940
3950
  left: null,
3941
3951
  right: null,
3942
3952
  start,
@@ -3952,7 +3962,7 @@ function deserializeTSTypeParameterInstantiation(pos) {
3952
3962
  let start = deserializeU32(pos),
3953
3963
  end = deserializeU32(pos + 4),
3954
3964
  node = {
3955
- type: 'TSTypeParameterInstantiation',
3965
+ type: "TSTypeParameterInstantiation",
3956
3966
  params: null,
3957
3967
  start,
3958
3968
  end,
@@ -3966,7 +3976,7 @@ function deserializeTSTypeParameter(pos) {
3966
3976
  let start = deserializeU32(pos),
3967
3977
  end = deserializeU32(pos + 4),
3968
3978
  node = {
3969
- type: 'TSTypeParameter',
3979
+ type: "TSTypeParameter",
3970
3980
  name: null,
3971
3981
  constraint: null,
3972
3982
  default: null,
@@ -3987,7 +3997,7 @@ function deserializeTSTypeParameterDeclaration(pos) {
3987
3997
  let start = deserializeU32(pos),
3988
3998
  end = deserializeU32(pos + 4),
3989
3999
  node = {
3990
- type: 'TSTypeParameterDeclaration',
4000
+ type: "TSTypeParameterDeclaration",
3991
4001
  params: null,
3992
4002
  start,
3993
4003
  end,
@@ -4001,7 +4011,7 @@ function deserializeTSTypeAliasDeclaration(pos) {
4001
4011
  let start = deserializeU32(pos),
4002
4012
  end = deserializeU32(pos + 4),
4003
4013
  node = {
4004
- type: 'TSTypeAliasDeclaration',
4014
+ type: "TSTypeAliasDeclaration",
4005
4015
  id: null,
4006
4016
  typeParameters: null,
4007
4017
  typeAnnotation: null,
@@ -4019,11 +4029,11 @@ function deserializeTSTypeAliasDeclaration(pos) {
4019
4029
  function deserializeTSAccessibility(pos) {
4020
4030
  switch (uint8[pos]) {
4021
4031
  case 0:
4022
- return 'private';
4032
+ return "private";
4023
4033
  case 1:
4024
- return 'protected';
4034
+ return "protected";
4025
4035
  case 2:
4026
- return 'public';
4036
+ return "public";
4027
4037
  default:
4028
4038
  throw Error(`Unexpected discriminant ${uint8[pos]} for TSAccessibility`);
4029
4039
  }
@@ -4033,7 +4043,7 @@ function deserializeTSClassImplements(pos) {
4033
4043
  let start = deserializeU32(pos),
4034
4044
  end = deserializeU32(pos + 4),
4035
4045
  node = {
4036
- type: 'TSClassImplements',
4046
+ type: "TSClassImplements",
4037
4047
  expression: null,
4038
4048
  typeArguments: null,
4039
4049
  start,
@@ -4041,13 +4051,13 @@ function deserializeTSClassImplements(pos) {
4041
4051
  range: [start, end],
4042
4052
  },
4043
4053
  expression = deserializeTSTypeName(pos + 8);
4044
- if (expression.type === 'TSQualifiedName') {
4054
+ if (expression.type === "TSQualifiedName") {
4045
4055
  let object = expression.left,
4046
4056
  { right } = expression,
4047
4057
  start,
4048
4058
  end,
4049
4059
  previous = (expression = {
4050
- type: 'MemberExpression',
4060
+ type: "MemberExpression",
4051
4061
  object,
4052
4062
  property: right,
4053
4063
  optional: false,
@@ -4056,10 +4066,10 @@ function deserializeTSClassImplements(pos) {
4056
4066
  end: (end = expression.end),
4057
4067
  range: [start, end],
4058
4068
  });
4059
- for (; object.type === 'TSQualifiedName'; ) {
4069
+ for (; object.type === "TSQualifiedName"; ) {
4060
4070
  let { left, right } = object;
4061
4071
  previous = previous.object = {
4062
- type: 'MemberExpression',
4072
+ type: "MemberExpression",
4063
4073
  object: left,
4064
4074
  property: right,
4065
4075
  optional: false,
@@ -4080,7 +4090,7 @@ function deserializeTSInterfaceDeclaration(pos) {
4080
4090
  let start = deserializeU32(pos),
4081
4091
  end = deserializeU32(pos + 4),
4082
4092
  node = {
4083
- type: 'TSInterfaceDeclaration',
4093
+ type: "TSInterfaceDeclaration",
4084
4094
  id: null,
4085
4095
  typeParameters: null,
4086
4096
  extends: null,
@@ -4101,7 +4111,7 @@ function deserializeTSInterfaceBody(pos) {
4101
4111
  let start = deserializeU32(pos),
4102
4112
  end = deserializeU32(pos + 4),
4103
4113
  node = {
4104
- type: 'TSInterfaceBody',
4114
+ type: "TSInterfaceBody",
4105
4115
  body: null,
4106
4116
  start,
4107
4117
  end,
@@ -4115,7 +4125,7 @@ function deserializeTSPropertySignature(pos) {
4115
4125
  let start = deserializeU32(pos),
4116
4126
  end = deserializeU32(pos + 4),
4117
4127
  node = {
4118
- type: 'TSPropertySignature',
4128
+ type: "TSPropertySignature",
4119
4129
  computed: deserializeBool(pos + 32),
4120
4130
  optional: deserializeBool(pos + 33),
4121
4131
  readonly: deserializeBool(pos + 34),
@@ -4154,7 +4164,7 @@ function deserializeTSIndexSignature(pos) {
4154
4164
  let start = deserializeU32(pos),
4155
4165
  end = deserializeU32(pos + 4),
4156
4166
  node = {
4157
- type: 'TSIndexSignature',
4167
+ type: "TSIndexSignature",
4158
4168
  parameters: null,
4159
4169
  typeAnnotation: null,
4160
4170
  readonly: deserializeBool(pos + 40),
@@ -4173,7 +4183,7 @@ function deserializeTSCallSignatureDeclaration(pos) {
4173
4183
  let start = deserializeU32(pos),
4174
4184
  end = deserializeU32(pos + 4),
4175
4185
  node = {
4176
- type: 'TSCallSignatureDeclaration',
4186
+ type: "TSCallSignatureDeclaration",
4177
4187
  typeParameters: null,
4178
4188
  params: null,
4179
4189
  returnType: null,
@@ -4193,11 +4203,11 @@ function deserializeTSCallSignatureDeclaration(pos) {
4193
4203
  function deserializeTSMethodSignatureKind(pos) {
4194
4204
  switch (uint8[pos]) {
4195
4205
  case 0:
4196
- return 'method';
4206
+ return "method";
4197
4207
  case 1:
4198
- return 'get';
4208
+ return "get";
4199
4209
  case 2:
4200
- return 'set';
4210
+ return "set";
4201
4211
  default:
4202
4212
  throw Error(`Unexpected discriminant ${uint8[pos]} for TSMethodSignatureKind`);
4203
4213
  }
@@ -4207,7 +4217,7 @@ function deserializeTSMethodSignature(pos) {
4207
4217
  let start = deserializeU32(pos),
4208
4218
  end = deserializeU32(pos + 4),
4209
4219
  node = {
4210
- type: 'TSMethodSignature',
4220
+ type: "TSMethodSignature",
4211
4221
  key: null,
4212
4222
  computed: deserializeBool(pos + 60),
4213
4223
  optional: deserializeBool(pos + 61),
@@ -4238,7 +4248,7 @@ function deserializeTSConstructSignatureDeclaration(pos) {
4238
4248
  let start = deserializeU32(pos),
4239
4249
  end = deserializeU32(pos + 4),
4240
4250
  node = {
4241
- type: 'TSConstructSignatureDeclaration',
4251
+ type: "TSConstructSignatureDeclaration",
4242
4252
  typeParameters: null,
4243
4253
  params: null,
4244
4254
  returnType: null,
@@ -4256,7 +4266,7 @@ function deserializeTSIndexSignatureName(pos) {
4256
4266
  let start = deserializeU32(pos),
4257
4267
  end = deserializeU32(pos + 4),
4258
4268
  node = {
4259
- type: 'Identifier',
4269
+ type: "Identifier",
4260
4270
  decorators: null,
4261
4271
  name: deserializeStr(pos + 8),
4262
4272
  optional: null,
@@ -4275,7 +4285,7 @@ function deserializeTSInterfaceHeritage(pos) {
4275
4285
  let start = deserializeU32(pos),
4276
4286
  end = deserializeU32(pos + 4),
4277
4287
  node = {
4278
- type: 'TSInterfaceHeritage',
4288
+ type: "TSInterfaceHeritage",
4279
4289
  expression: null,
4280
4290
  typeArguments: null,
4281
4291
  start,
@@ -4291,7 +4301,7 @@ function deserializeTSTypePredicate(pos) {
4291
4301
  let start = deserializeU32(pos),
4292
4302
  end = deserializeU32(pos + 4),
4293
4303
  node = {
4294
- type: 'TSTypePredicate',
4304
+ type: "TSTypePredicate",
4295
4305
  parameterName: null,
4296
4306
  asserts: deserializeBool(pos + 32),
4297
4307
  typeAnnotation: null,
@@ -4317,7 +4327,6 @@ function deserializeTSTypePredicateName(pos) {
4317
4327
 
4318
4328
  function deserializeTSModuleDeclaration(pos) {
4319
4329
  let kind = deserializeTSModuleDeclarationKind(pos + 84),
4320
- global = kind === 'global',
4321
4330
  start = deserializeU32(pos),
4322
4331
  end = deserializeU32(pos + 4),
4323
4332
  declare = deserializeBool(pos + 85),
@@ -4325,11 +4334,11 @@ function deserializeTSModuleDeclaration(pos) {
4325
4334
  body = deserializeOptionTSModuleDeclarationBody(pos + 64);
4326
4335
  if (body === null) {
4327
4336
  node = {
4328
- type: 'TSModuleDeclaration',
4337
+ type: "TSModuleDeclaration",
4329
4338
  id: null,
4330
4339
  kind,
4331
4340
  declare,
4332
- global,
4341
+ global: false,
4333
4342
  start,
4334
4343
  end,
4335
4344
  range: [start, end],
@@ -4337,24 +4346,24 @@ function deserializeTSModuleDeclaration(pos) {
4337
4346
  node.id = deserializeTSModuleDeclarationName(pos + 8);
4338
4347
  } else {
4339
4348
  node = {
4340
- type: 'TSModuleDeclaration',
4349
+ type: "TSModuleDeclaration",
4341
4350
  id: null,
4342
4351
  body,
4343
4352
  kind,
4344
4353
  declare,
4345
- global,
4354
+ global: false,
4346
4355
  start,
4347
4356
  end,
4348
4357
  range: [start, end],
4349
4358
  };
4350
4359
  let id = deserializeTSModuleDeclarationName(pos + 8);
4351
- if (body.type === 'TSModuleBlock') node.id = id;
4360
+ if (body.type === "TSModuleBlock") node.id = id;
4352
4361
  else {
4353
4362
  let innerId = body.id;
4354
- if (innerId.type === 'Identifier') {
4363
+ if (innerId.type === "Identifier") {
4355
4364
  let start, end;
4356
4365
  node.id = {
4357
- type: 'TSQualifiedName',
4366
+ type: "TSQualifiedName",
4358
4367
  left: id,
4359
4368
  right: innerId,
4360
4369
  start: (start = id.start),
@@ -4368,13 +4377,13 @@ function deserializeTSModuleDeclaration(pos) {
4368
4377
  let { start } = id;
4369
4378
  for (;;) {
4370
4379
  innerId.start = innerId.range[0] = start;
4371
- if (innerId.left.type === 'Identifier') break;
4380
+ if (innerId.left.type === "Identifier") break;
4372
4381
  innerId = innerId.left;
4373
4382
  }
4374
4383
  let end,
4375
4384
  right = innerId.left;
4376
4385
  innerId.left = {
4377
- type: 'TSQualifiedName',
4386
+ type: "TSQualifiedName",
4378
4387
  left: id,
4379
4388
  right,
4380
4389
  start,
@@ -4382,7 +4391,7 @@ function deserializeTSModuleDeclaration(pos) {
4382
4391
  range: [start, end],
4383
4392
  };
4384
4393
  }
4385
- if (Object.hasOwn(body, 'body')) {
4394
+ if (Object.hasOwn(body, "body")) {
4386
4395
  body = body.body;
4387
4396
  node.body = body;
4388
4397
  } else body = null;
@@ -4394,11 +4403,9 @@ function deserializeTSModuleDeclaration(pos) {
4394
4403
  function deserializeTSModuleDeclarationKind(pos) {
4395
4404
  switch (uint8[pos]) {
4396
4405
  case 0:
4397
- return 'global';
4406
+ return "module";
4398
4407
  case 1:
4399
- return 'module';
4400
- case 2:
4401
- return 'namespace';
4408
+ return "namespace";
4402
4409
  default:
4403
4410
  throw Error(`Unexpected discriminant ${uint8[pos]} for TSModuleDeclarationKind`);
4404
4411
  }
@@ -4426,11 +4433,43 @@ function deserializeTSModuleDeclarationBody(pos) {
4426
4433
  }
4427
4434
  }
4428
4435
 
4436
+ function deserializeTSGlobalDeclaration(pos) {
4437
+ let start = deserializeU32(pos),
4438
+ end = deserializeU32(pos + 4),
4439
+ node = {
4440
+ type: "TSModuleDeclaration",
4441
+ id: null,
4442
+ body: null,
4443
+ kind: null,
4444
+ declare: deserializeBool(pos + 76),
4445
+ global: null,
4446
+ start,
4447
+ end,
4448
+ range: [start, end],
4449
+ },
4450
+ keywordStart,
4451
+ keywordEnd;
4452
+ node.id = {
4453
+ type: "Identifier",
4454
+ decorators: [],
4455
+ name: "global",
4456
+ optional: false,
4457
+ typeAnnotation: null,
4458
+ start: (keywordStart = deserializeU32(pos + 8)),
4459
+ end: (keywordEnd = deserializeU32(pos + 12)),
4460
+ range: [keywordStart, keywordEnd],
4461
+ };
4462
+ node.body = deserializeTSModuleBlock(pos + 16);
4463
+ node.kind = "global";
4464
+ node.global = true;
4465
+ return node;
4466
+ }
4467
+
4429
4468
  function deserializeTSModuleBlock(pos) {
4430
4469
  let start = deserializeU32(pos),
4431
4470
  end = deserializeU32(pos + 4),
4432
4471
  node = {
4433
- type: 'TSModuleBlock',
4472
+ type: "TSModuleBlock",
4434
4473
  body: null,
4435
4474
  start,
4436
4475
  end,
@@ -4446,7 +4485,7 @@ function deserializeTSTypeLiteral(pos) {
4446
4485
  let start = deserializeU32(pos),
4447
4486
  end = deserializeU32(pos + 4),
4448
4487
  node = {
4449
- type: 'TSTypeLiteral',
4488
+ type: "TSTypeLiteral",
4450
4489
  members: null,
4451
4490
  start,
4452
4491
  end,
@@ -4460,7 +4499,7 @@ function deserializeTSInferType(pos) {
4460
4499
  let start = deserializeU32(pos),
4461
4500
  end = deserializeU32(pos + 4),
4462
4501
  node = {
4463
- type: 'TSInferType',
4502
+ type: "TSInferType",
4464
4503
  typeParameter: null,
4465
4504
  start,
4466
4505
  end,
@@ -4474,7 +4513,7 @@ function deserializeTSTypeQuery(pos) {
4474
4513
  let start = deserializeU32(pos),
4475
4514
  end = deserializeU32(pos + 4),
4476
4515
  node = {
4477
- type: 'TSTypeQuery',
4516
+ type: "TSTypeQuery",
4478
4517
  exprName: null,
4479
4518
  typeArguments: null,
4480
4519
  start,
@@ -4505,8 +4544,8 @@ function deserializeTSImportType(pos) {
4505
4544
  let start = deserializeU32(pos),
4506
4545
  end = deserializeU32(pos + 4),
4507
4546
  node = {
4508
- type: 'TSImportType',
4509
- argument: null,
4547
+ type: "TSImportType",
4548
+ source: null,
4510
4549
  options: null,
4511
4550
  qualifier: null,
4512
4551
  typeArguments: null,
@@ -4514,10 +4553,10 @@ function deserializeTSImportType(pos) {
4514
4553
  end,
4515
4554
  range: [start, end],
4516
4555
  };
4517
- node.argument = deserializeTSType(pos + 8);
4518
- node.options = deserializeOptionBoxObjectExpression(pos + 24);
4519
- node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 32);
4520
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 48);
4556
+ node.source = deserializeStringLiteral(pos + 8);
4557
+ node.options = deserializeOptionBoxObjectExpression(pos + 56);
4558
+ node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 64);
4559
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 80);
4521
4560
  return node;
4522
4561
  }
4523
4562
 
@@ -4536,7 +4575,7 @@ function deserializeTSImportTypeQualifiedName(pos) {
4536
4575
  let start = deserializeU32(pos),
4537
4576
  end = deserializeU32(pos + 4),
4538
4577
  node = {
4539
- type: 'TSQualifiedName',
4578
+ type: "TSQualifiedName",
4540
4579
  left: null,
4541
4580
  right: null,
4542
4581
  start,
@@ -4552,7 +4591,7 @@ function deserializeTSFunctionType(pos) {
4552
4591
  let start = deserializeU32(pos),
4553
4592
  end = deserializeU32(pos + 4),
4554
4593
  node = {
4555
- type: 'TSFunctionType',
4594
+ type: "TSFunctionType",
4556
4595
  typeParameters: null,
4557
4596
  params: null,
4558
4597
  returnType: null,
@@ -4573,7 +4612,7 @@ function deserializeTSConstructorType(pos) {
4573
4612
  let start = deserializeU32(pos),
4574
4613
  end = deserializeU32(pos + 4),
4575
4614
  node = {
4576
- type: 'TSConstructorType',
4615
+ type: "TSConstructorType",
4577
4616
  abstract: deserializeBool(pos + 36),
4578
4617
  typeParameters: null,
4579
4618
  params: null,
@@ -4592,7 +4631,7 @@ function deserializeTSMappedType(pos) {
4592
4631
  let start = deserializeU32(pos),
4593
4632
  end = deserializeU32(pos + 4),
4594
4633
  node = {
4595
- type: 'TSMappedType',
4634
+ type: "TSMappedType",
4596
4635
  key: null,
4597
4636
  constraint: null,
4598
4637
  nameType: null,
@@ -4621,9 +4660,9 @@ function deserializeTSMappedTypeModifierOperator(pos) {
4621
4660
  case 0:
4622
4661
  return true;
4623
4662
  case 1:
4624
- return '+';
4663
+ return "+";
4625
4664
  case 2:
4626
- return '-';
4665
+ return "-";
4627
4666
  default:
4628
4667
  throw Error(`Unexpected discriminant ${uint8[pos]} for TSMappedTypeModifierOperator`);
4629
4668
  }
@@ -4633,7 +4672,7 @@ function deserializeTSTemplateLiteralType(pos) {
4633
4672
  let start = deserializeU32(pos),
4634
4673
  end = deserializeU32(pos + 4),
4635
4674
  node = {
4636
- type: 'TSTemplateLiteralType',
4675
+ type: "TSTemplateLiteralType",
4637
4676
  quasis: null,
4638
4677
  types: null,
4639
4678
  start,
@@ -4649,7 +4688,7 @@ function deserializeTSAsExpression(pos) {
4649
4688
  let start = deserializeU32(pos),
4650
4689
  end = deserializeU32(pos + 4),
4651
4690
  node = {
4652
- type: 'TSAsExpression',
4691
+ type: "TSAsExpression",
4653
4692
  expression: null,
4654
4693
  typeAnnotation: null,
4655
4694
  start,
@@ -4665,7 +4704,7 @@ function deserializeTSSatisfiesExpression(pos) {
4665
4704
  let start = deserializeU32(pos),
4666
4705
  end = deserializeU32(pos + 4),
4667
4706
  node = {
4668
- type: 'TSSatisfiesExpression',
4707
+ type: "TSSatisfiesExpression",
4669
4708
  expression: null,
4670
4709
  typeAnnotation: null,
4671
4710
  start,
@@ -4681,7 +4720,7 @@ function deserializeTSTypeAssertion(pos) {
4681
4720
  let start = deserializeU32(pos),
4682
4721
  end = deserializeU32(pos + 4),
4683
4722
  node = {
4684
- type: 'TSTypeAssertion',
4723
+ type: "TSTypeAssertion",
4685
4724
  typeAnnotation: null,
4686
4725
  expression: null,
4687
4726
  start,
@@ -4697,7 +4736,7 @@ function deserializeTSImportEqualsDeclaration(pos) {
4697
4736
  let start = deserializeU32(pos),
4698
4737
  end = deserializeU32(pos + 4),
4699
4738
  node = {
4700
- type: 'TSImportEqualsDeclaration',
4739
+ type: "TSImportEqualsDeclaration",
4701
4740
  id: null,
4702
4741
  moduleReference: null,
4703
4742
  importKind: deserializeImportOrExportKind(pos + 56),
@@ -4729,7 +4768,7 @@ function deserializeTSExternalModuleReference(pos) {
4729
4768
  let start = deserializeU32(pos),
4730
4769
  end = deserializeU32(pos + 4),
4731
4770
  node = {
4732
- type: 'TSExternalModuleReference',
4771
+ type: "TSExternalModuleReference",
4733
4772
  expression: null,
4734
4773
  start,
4735
4774
  end,
@@ -4743,7 +4782,7 @@ function deserializeTSNonNullExpression(pos) {
4743
4782
  let start = deserializeU32(pos),
4744
4783
  end = deserializeU32(pos + 4),
4745
4784
  node = {
4746
- type: 'TSNonNullExpression',
4785
+ type: "TSNonNullExpression",
4747
4786
  expression: null,
4748
4787
  start,
4749
4788
  end,
@@ -4757,7 +4796,7 @@ function deserializeDecorator(pos) {
4757
4796
  let start = deserializeU32(pos),
4758
4797
  end = deserializeU32(pos + 4),
4759
4798
  node = {
4760
- type: 'Decorator',
4799
+ type: "Decorator",
4761
4800
  expression: null,
4762
4801
  start,
4763
4802
  end,
@@ -4771,7 +4810,7 @@ function deserializeTSExportAssignment(pos) {
4771
4810
  let start = deserializeU32(pos),
4772
4811
  end = deserializeU32(pos + 4),
4773
4812
  node = {
4774
- type: 'TSExportAssignment',
4813
+ type: "TSExportAssignment",
4775
4814
  expression: null,
4776
4815
  start,
4777
4816
  end,
@@ -4785,7 +4824,7 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4785
4824
  let start = deserializeU32(pos),
4786
4825
  end = deserializeU32(pos + 4),
4787
4826
  node = {
4788
- type: 'TSNamespaceExportDeclaration',
4827
+ type: "TSNamespaceExportDeclaration",
4789
4828
  id: null,
4790
4829
  start,
4791
4830
  end,
@@ -4799,7 +4838,7 @@ function deserializeTSInstantiationExpression(pos) {
4799
4838
  let start = deserializeU32(pos),
4800
4839
  end = deserializeU32(pos + 4),
4801
4840
  node = {
4802
- type: 'TSInstantiationExpression',
4841
+ type: "TSInstantiationExpression",
4803
4842
  expression: null,
4804
4843
  typeArguments: null,
4805
4844
  start,
@@ -4814,9 +4853,9 @@ function deserializeTSInstantiationExpression(pos) {
4814
4853
  function deserializeImportOrExportKind(pos) {
4815
4854
  switch (uint8[pos]) {
4816
4855
  case 0:
4817
- return 'value';
4856
+ return "value";
4818
4857
  case 1:
4819
- return 'type';
4858
+ return "type";
4820
4859
  default:
4821
4860
  throw Error(`Unexpected discriminant ${uint8[pos]} for ImportOrExportKind`);
4822
4861
  }
@@ -4826,7 +4865,7 @@ function deserializeJSDocNullableType(pos) {
4826
4865
  let start = deserializeU32(pos),
4827
4866
  end = deserializeU32(pos + 4),
4828
4867
  node = {
4829
- type: 'TSJSDocNullableType',
4868
+ type: "TSJSDocNullableType",
4830
4869
  typeAnnotation: null,
4831
4870
  postfix: deserializeBool(pos + 24),
4832
4871
  start,
@@ -4841,7 +4880,7 @@ function deserializeJSDocNonNullableType(pos) {
4841
4880
  let start = deserializeU32(pos),
4842
4881
  end = deserializeU32(pos + 4),
4843
4882
  node = {
4844
- type: 'TSJSDocNonNullableType',
4883
+ type: "TSJSDocNonNullableType",
4845
4884
  typeAnnotation: null,
4846
4885
  postfix: deserializeBool(pos + 24),
4847
4886
  start,
@@ -4856,7 +4895,7 @@ function deserializeJSDocUnknownType(pos) {
4856
4895
  let start = deserializeU32(pos),
4857
4896
  end = deserializeU32(pos + 4);
4858
4897
  return {
4859
- type: 'TSJSDocUnknownType',
4898
+ type: "TSJSDocUnknownType",
4860
4899
  start,
4861
4900
  end,
4862
4901
  range: [start, end],
@@ -4866,9 +4905,9 @@ function deserializeJSDocUnknownType(pos) {
4866
4905
  function deserializeCommentKind(pos) {
4867
4906
  switch (uint8[pos]) {
4868
4907
  case 0:
4869
- return 'Line';
4908
+ return "Line";
4870
4909
  case 1:
4871
- return 'Block';
4910
+ return "Block";
4872
4911
  default:
4873
4912
  throw Error(`Unexpected discriminant ${uint8[pos]} for CommentKind`);
4874
4913
  }
@@ -4880,7 +4919,7 @@ function deserializeComment(pos) {
4880
4919
  end = deserializeU32(pos + 4);
4881
4920
  return {
4882
4921
  type,
4883
- value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4922
+ value: sourceText.slice(start + 2, end - (type === "Line" ? 0 : 2)),
4884
4923
  start,
4885
4924
  end,
4886
4925
  range: [start, end],
@@ -4911,7 +4950,7 @@ function deserializeImportImportName(pos) {
4911
4950
  case 0:
4912
4951
  var nameSpan = deserializeNameSpan(pos + 8);
4913
4952
  return {
4914
- kind: 'Name',
4953
+ kind: "Name",
4915
4954
  name: nameSpan.value,
4916
4955
  start: nameSpan.start,
4917
4956
  end: nameSpan.end,
@@ -4919,7 +4958,7 @@ function deserializeImportImportName(pos) {
4919
4958
  };
4920
4959
  case 1:
4921
4960
  return {
4922
- kind: 'NamespaceObject',
4961
+ kind: "NamespaceObject",
4923
4962
  name: null,
4924
4963
  start: null,
4925
4964
  end: null,
@@ -4928,7 +4967,7 @@ function deserializeImportImportName(pos) {
4928
4967
  case 2:
4929
4968
  var { start, end } = deserializeSpan(pos + 8);
4930
4969
  return {
4931
- kind: 'Default',
4970
+ kind: "Default",
4932
4971
  name: null,
4933
4972
  start,
4934
4973
  end,
@@ -4959,7 +4998,7 @@ function deserializeExportImportName(pos) {
4959
4998
  case 0:
4960
4999
  var nameSpan = deserializeNameSpan(pos + 8);
4961
5000
  return {
4962
- kind: 'Name',
5001
+ kind: "Name",
4963
5002
  name: nameSpan.value,
4964
5003
  start: nameSpan.start,
4965
5004
  end: nameSpan.end,
@@ -4967,7 +5006,7 @@ function deserializeExportImportName(pos) {
4967
5006
  };
4968
5007
  case 1:
4969
5008
  return {
4970
- kind: 'All',
5009
+ kind: "All",
4971
5010
  name: null,
4972
5011
  start: null,
4973
5012
  end: null,
@@ -4975,7 +5014,7 @@ function deserializeExportImportName(pos) {
4975
5014
  };
4976
5015
  case 2:
4977
5016
  return {
4978
- kind: 'AllButDefault',
5017
+ kind: "AllButDefault",
4979
5018
  name: null,
4980
5019
  start: null,
4981
5020
  end: null,
@@ -4983,7 +5022,7 @@ function deserializeExportImportName(pos) {
4983
5022
  };
4984
5023
  case 3:
4985
5024
  return {
4986
- kind: 'None',
5025
+ kind: "None",
4987
5026
  name: null,
4988
5027
  start: null,
4989
5028
  end: null,
@@ -4999,7 +5038,7 @@ function deserializeExportExportName(pos) {
4999
5038
  case 0:
5000
5039
  var nameSpan = deserializeNameSpan(pos + 8);
5001
5040
  return {
5002
- kind: 'Name',
5041
+ kind: "Name",
5003
5042
  name: nameSpan.value,
5004
5043
  start: nameSpan.start,
5005
5044
  end: nameSpan.end,
@@ -5008,7 +5047,7 @@ function deserializeExportExportName(pos) {
5008
5047
  case 1:
5009
5048
  var { start, end } = deserializeSpan(pos + 8);
5010
5049
  return {
5011
- kind: 'Default',
5050
+ kind: "Default",
5012
5051
  name: null,
5013
5052
  start,
5014
5053
  end,
@@ -5016,7 +5055,7 @@ function deserializeExportExportName(pos) {
5016
5055
  };
5017
5056
  case 2:
5018
5057
  return {
5019
- kind: 'None',
5058
+ kind: "None",
5020
5059
  name: null,
5021
5060
  start: null,
5022
5061
  end: null,
@@ -5032,7 +5071,7 @@ function deserializeExportLocalName(pos) {
5032
5071
  case 0:
5033
5072
  var nameSpan = deserializeNameSpan(pos + 8);
5034
5073
  return {
5035
- kind: 'Name',
5074
+ kind: "Name",
5036
5075
  name: nameSpan.value,
5037
5076
  start: nameSpan.start,
5038
5077
  end: nameSpan.end,
@@ -5041,7 +5080,7 @@ function deserializeExportLocalName(pos) {
5041
5080
  case 1:
5042
5081
  var nameSpan = deserializeNameSpan(pos + 8);
5043
5082
  return {
5044
- kind: 'Default',
5083
+ kind: "Default",
5045
5084
  name: nameSpan.value,
5046
5085
  start: nameSpan.start,
5047
5086
  end: nameSpan.end,
@@ -5049,7 +5088,7 @@ function deserializeExportLocalName(pos) {
5049
5088
  };
5050
5089
  case 2:
5051
5090
  return {
5052
- kind: 'None',
5091
+ kind: "None",
5053
5092
  name: null,
5054
5093
  start: null,
5055
5094
  end: null,
@@ -5074,37 +5113,37 @@ function deserializeDynamicImport(pos) {
5074
5113
  function deserializeAssignmentOperator(pos) {
5075
5114
  switch (uint8[pos]) {
5076
5115
  case 0:
5077
- return '=';
5116
+ return "=";
5078
5117
  case 1:
5079
- return '+=';
5118
+ return "+=";
5080
5119
  case 2:
5081
- return '-=';
5120
+ return "-=";
5082
5121
  case 3:
5083
- return '*=';
5122
+ return "*=";
5084
5123
  case 4:
5085
- return '/=';
5124
+ return "/=";
5086
5125
  case 5:
5087
- return '%=';
5126
+ return "%=";
5088
5127
  case 6:
5089
- return '**=';
5128
+ return "**=";
5090
5129
  case 7:
5091
- return '<<=';
5130
+ return "<<=";
5092
5131
  case 8:
5093
- return '>>=';
5132
+ return ">>=";
5094
5133
  case 9:
5095
- return '>>>=';
5134
+ return ">>>=";
5096
5135
  case 10:
5097
- return '|=';
5136
+ return "|=";
5098
5137
  case 11:
5099
- return '^=';
5138
+ return "^=";
5100
5139
  case 12:
5101
- return '&=';
5140
+ return "&=";
5102
5141
  case 13:
5103
- return '||=';
5142
+ return "||=";
5104
5143
  case 14:
5105
- return '&&=';
5144
+ return "&&=";
5106
5145
  case 15:
5107
- return '??=';
5146
+ return "??=";
5108
5147
  default:
5109
5148
  throw Error(`Unexpected discriminant ${uint8[pos]} for AssignmentOperator`);
5110
5149
  }
@@ -5113,49 +5152,49 @@ function deserializeAssignmentOperator(pos) {
5113
5152
  function deserializeBinaryOperator(pos) {
5114
5153
  switch (uint8[pos]) {
5115
5154
  case 0:
5116
- return '==';
5155
+ return "==";
5117
5156
  case 1:
5118
- return '!=';
5157
+ return "!=";
5119
5158
  case 2:
5120
- return '===';
5159
+ return "===";
5121
5160
  case 3:
5122
- return '!==';
5161
+ return "!==";
5123
5162
  case 4:
5124
- return '<';
5163
+ return "<";
5125
5164
  case 5:
5126
- return '<=';
5165
+ return "<=";
5127
5166
  case 6:
5128
- return '>';
5167
+ return ">";
5129
5168
  case 7:
5130
- return '>=';
5169
+ return ">=";
5131
5170
  case 8:
5132
- return '+';
5171
+ return "+";
5133
5172
  case 9:
5134
- return '-';
5173
+ return "-";
5135
5174
  case 10:
5136
- return '*';
5175
+ return "*";
5137
5176
  case 11:
5138
- return '/';
5177
+ return "/";
5139
5178
  case 12:
5140
- return '%';
5179
+ return "%";
5141
5180
  case 13:
5142
- return '**';
5181
+ return "**";
5143
5182
  case 14:
5144
- return '<<';
5183
+ return "<<";
5145
5184
  case 15:
5146
- return '>>';
5185
+ return ">>";
5147
5186
  case 16:
5148
- return '>>>';
5187
+ return ">>>";
5149
5188
  case 17:
5150
- return '|';
5189
+ return "|";
5151
5190
  case 18:
5152
- return '^';
5191
+ return "^";
5153
5192
  case 19:
5154
- return '&';
5193
+ return "&";
5155
5194
  case 20:
5156
- return 'in';
5195
+ return "in";
5157
5196
  case 21:
5158
- return 'instanceof';
5197
+ return "instanceof";
5159
5198
  default:
5160
5199
  throw Error(`Unexpected discriminant ${uint8[pos]} for BinaryOperator`);
5161
5200
  }
@@ -5164,11 +5203,11 @@ function deserializeBinaryOperator(pos) {
5164
5203
  function deserializeLogicalOperator(pos) {
5165
5204
  switch (uint8[pos]) {
5166
5205
  case 0:
5167
- return '||';
5206
+ return "||";
5168
5207
  case 1:
5169
- return '&&';
5208
+ return "&&";
5170
5209
  case 2:
5171
- return '??';
5210
+ return "??";
5172
5211
  default:
5173
5212
  throw Error(`Unexpected discriminant ${uint8[pos]} for LogicalOperator`);
5174
5213
  }
@@ -5177,19 +5216,19 @@ function deserializeLogicalOperator(pos) {
5177
5216
  function deserializeUnaryOperator(pos) {
5178
5217
  switch (uint8[pos]) {
5179
5218
  case 0:
5180
- return '+';
5219
+ return "+";
5181
5220
  case 1:
5182
- return '-';
5221
+ return "-";
5183
5222
  case 2:
5184
- return '!';
5223
+ return "!";
5185
5224
  case 3:
5186
- return '~';
5225
+ return "~";
5187
5226
  case 4:
5188
- return 'typeof';
5227
+ return "typeof";
5189
5228
  case 5:
5190
- return 'void';
5229
+ return "void";
5191
5230
  case 6:
5192
- return 'delete';
5231
+ return "delete";
5193
5232
  default:
5194
5233
  throw Error(`Unexpected discriminant ${uint8[pos]} for UnaryOperator`);
5195
5234
  }
@@ -5198,9 +5237,9 @@ function deserializeUnaryOperator(pos) {
5198
5237
  function deserializeUpdateOperator(pos) {
5199
5238
  switch (uint8[pos]) {
5200
5239
  case 0:
5201
- return '++';
5240
+ return "++";
5202
5241
  case 1:
5203
- return '--';
5242
+ return "--";
5204
5243
  default:
5205
5244
  throw Error(`Unexpected discriminant ${uint8[pos]} for UpdateOperator`);
5206
5245
  }
@@ -5216,9 +5255,9 @@ function deserializeSpan(pos) {
5216
5255
  function deserializeModuleKind(pos) {
5217
5256
  switch (uint8[pos]) {
5218
5257
  case 0:
5219
- return 'script';
5258
+ return "script";
5220
5259
  case 1:
5221
- return 'module';
5260
+ return "module";
5222
5261
  default:
5223
5262
  throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
5224
5263
  }
@@ -5246,11 +5285,11 @@ function deserializeError(pos) {
5246
5285
  function deserializeErrorSeverity(pos) {
5247
5286
  switch (uint8[pos]) {
5248
5287
  case 0:
5249
- return 'Error';
5288
+ return "Error";
5250
5289
  case 1:
5251
- return 'Warning';
5290
+ return "Warning";
5252
5291
  case 2:
5253
- return 'Advice';
5292
+ return "Advice";
5254
5293
  default:
5255
5294
  throw Error(`Unexpected discriminant ${uint8[pos]} for ErrorSeverity`);
5256
5295
  }
@@ -5311,7 +5350,7 @@ function deserializeU8(pos) {
5311
5350
  function deserializeStr(pos) {
5312
5351
  let pos32 = pos >> 2,
5313
5352
  len = uint32[pos32 + 2];
5314
- if (len === 0) return '';
5353
+ if (len === 0) return "";
5315
5354
  pos = uint32[pos32];
5316
5355
  if (sourceIsAscii && pos < sourceByteLen) return sourceText.substr(pos, len);
5317
5356
  // Longer strings use `TextDecoder`
@@ -5319,7 +5358,7 @@ function deserializeStr(pos) {
5319
5358
  let end = pos + len;
5320
5359
  if (len > 50) return decodeStr(uint8.subarray(pos, end));
5321
5360
  // Shorter strings decode by hand to avoid native call
5322
- let out = '',
5361
+ let out = "",
5323
5362
  c;
5324
5363
  do {
5325
5364
  c = uint8[pos++];
@@ -5794,6 +5833,10 @@ function deserializeBoxTSModuleDeclaration(pos) {
5794
5833
  return deserializeTSModuleDeclaration(uint32[pos >> 2]);
5795
5834
  }
5796
5835
 
5836
+ function deserializeBoxTSGlobalDeclaration(pos) {
5837
+ return deserializeTSGlobalDeclaration(uint32[pos >> 2]);
5838
+ }
5839
+
5797
5840
  function deserializeBoxTSImportEqualsDeclaration(pos) {
5798
5841
  return deserializeTSImportEqualsDeclaration(uint32[pos >> 2]);
5799
5842
  }