typescript 4.8.0-dev.20220603 → 4.8.0-dev.20220606

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/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220603";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220606";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -13291,6 +13291,12 @@ var ts;
13291
13291
  return [child, node];
13292
13292
  }
13293
13293
  ts.walkUpParenthesizedTypesAndGetParentAndChild = walkUpParenthesizedTypesAndGetParentAndChild;
13294
+ function skipTypeParentheses(node) {
13295
+ while (ts.isParenthesizedTypeNode(node))
13296
+ node = node.type;
13297
+ return node;
13298
+ }
13299
+ ts.skipTypeParentheses = skipTypeParentheses;
13294
13300
  function skipParentheses(node, excludeJSDocTypeAssertions) {
13295
13301
  var flags = excludeJSDocTypeAssertions ?
13296
13302
  1 | 16 :
@@ -15129,13 +15135,13 @@ var ts;
15129
15135
  }
15130
15136
  ts.moveRangePos = moveRangePos;
15131
15137
  function moveRangePastDecorators(node) {
15132
- return node.decorators && node.decorators.length > 0
15138
+ return node.decorators && !positionIsSynthesized(node.decorators.end)
15133
15139
  ? moveRangePos(node, node.decorators.end)
15134
15140
  : node;
15135
15141
  }
15136
15142
  ts.moveRangePastDecorators = moveRangePastDecorators;
15137
15143
  function moveRangePastModifiers(node) {
15138
- return node.modifiers && node.modifiers.length > 0
15144
+ return node.modifiers && !positionIsSynthesized(node.modifiers.end)
15139
15145
  ? moveRangePos(node, node.modifiers.end)
15140
15146
  : moveRangePastDecorators(node);
15141
15147
  }
@@ -18063,7 +18069,7 @@ var ts;
18063
18069
  function createBaseFunctionLikeDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type, body) {
18064
18070
  var node = createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type);
18065
18071
  node.body = body;
18066
- node.transformFlags |= propagateChildFlags(node.body) & ~16777216;
18072
+ node.transformFlags |= propagateChildFlags(node.body) & ~67108864;
18067
18073
  if (!body)
18068
18074
  node.transformFlags |= 1;
18069
18075
  return node;
@@ -18176,7 +18182,7 @@ var ts;
18176
18182
  node.typeArguments = createNodeArray(typeArguments);
18177
18183
  }
18178
18184
  if (node.originalKeywordKind === 132) {
18179
- node.transformFlags |= 16777216;
18185
+ node.transformFlags |= 67108864;
18180
18186
  }
18181
18187
  return node;
18182
18188
  }
@@ -18219,7 +18225,7 @@ var ts;
18219
18225
  ts.Debug.fail("First character of private identifier must be #: " + text);
18220
18226
  var node = baseFactory.createBasePrivateIdentifierNode(80);
18221
18227
  node.escapedText = ts.escapeLeadingUnderscores(text);
18222
- node.transformFlags |= 8388608;
18228
+ node.transformFlags |= 16777216;
18223
18229
  return node;
18224
18230
  }
18225
18231
  function createBaseToken(kind) {
@@ -18262,13 +18268,13 @@ var ts;
18262
18268
  transformFlags = 1;
18263
18269
  break;
18264
18270
  case 106:
18265
- transformFlags = 1024 | 33554432;
18271
+ transformFlags = 1024 | 134217728;
18266
18272
  break;
18267
18273
  case 124:
18268
18274
  transformFlags = 1024;
18269
18275
  break;
18270
18276
  case 108:
18271
- transformFlags = 8192;
18277
+ transformFlags = 16384;
18272
18278
  break;
18273
18279
  }
18274
18280
  if (transformFlags) {
@@ -18347,7 +18353,7 @@ var ts;
18347
18353
  node.transformFlags |=
18348
18354
  propagateChildFlags(node.expression) |
18349
18355
  1024 |
18350
- 65536;
18356
+ 131072;
18351
18357
  return node;
18352
18358
  }
18353
18359
  function updateComputedPropertyName(node, expression) {
@@ -18410,7 +18416,7 @@ var ts;
18410
18416
  if (questionToken)
18411
18417
  node.transformFlags |= 1;
18412
18418
  if (ts.modifiersToFlags(node.modifiers) & 16476)
18413
- node.transformFlags |= 4096;
18419
+ node.transformFlags |= 8192;
18414
18420
  if (initializer || dotDotDotToken)
18415
18421
  node.transformFlags |= 1024;
18416
18422
  }
@@ -18433,7 +18439,8 @@ var ts;
18433
18439
  node.transformFlags |=
18434
18440
  propagateChildFlags(node.expression) |
18435
18441
  1 |
18436
- 4096;
18442
+ 8192 |
18443
+ 33554432;
18437
18444
  return node;
18438
18445
  }
18439
18446
  function updateDecorator(node, expression) {
@@ -18463,9 +18470,9 @@ var ts;
18463
18470
  node.transformFlags |=
18464
18471
  propagateChildFlags(node.questionToken) |
18465
18472
  propagateChildFlags(node.exclamationToken) |
18466
- 8388608;
18473
+ 16777216;
18467
18474
  if (ts.isComputedPropertyName(node.name) || (ts.hasStaticModifier(node) && node.initializer)) {
18468
- node.transformFlags |= 4096;
18475
+ node.transformFlags |= 8192;
18469
18476
  }
18470
18477
  if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2) {
18471
18478
  node.transformFlags |= 1;
@@ -18539,7 +18546,7 @@ var ts;
18539
18546
  function createClassStaticBlockDeclaration(decorators, modifiers, body) {
18540
18547
  var node = createBaseGenericNamedDeclaration(170, decorators, modifiers, undefined, undefined);
18541
18548
  node.body = body;
18542
- node.transformFlags = propagateChildFlags(body) | 8388608;
18549
+ node.transformFlags = propagateChildFlags(body) | 16777216;
18543
18550
  return node;
18544
18551
  }
18545
18552
  function updateClassStaticBlockDeclaration(node, decorators, modifiers, body) {
@@ -18976,11 +18983,11 @@ var ts;
18976
18983
  node.transformFlags |=
18977
18984
  propagateChildrenFlags(node.elements) |
18978
18985
  1024 |
18979
- 262144;
18980
- if (node.transformFlags & 16384) {
18986
+ 524288;
18987
+ if (node.transformFlags & 32768) {
18981
18988
  node.transformFlags |=
18982
18989
  128 |
18983
- 32768;
18990
+ 65536;
18984
18991
  }
18985
18992
  return node;
18986
18993
  }
@@ -18995,7 +19002,7 @@ var ts;
18995
19002
  node.transformFlags |=
18996
19003
  propagateChildrenFlags(node.elements) |
18997
19004
  1024 |
18998
- 262144;
19005
+ 524288;
18999
19006
  return node;
19000
19007
  }
19001
19008
  function updateArrayBindingPattern(node, elements) {
@@ -19016,7 +19023,7 @@ var ts;
19016
19023
  propagateChildFlags(node.propertyName);
19017
19024
  }
19018
19025
  if (dotDotDotToken)
19019
- node.transformFlags |= 16384;
19026
+ node.transformFlags |= 32768;
19020
19027
  return node;
19021
19028
  }
19022
19029
  function updateBindingElement(node, dotDotDotToken, propertyName, name, initializer) {
@@ -19162,10 +19169,10 @@ var ts;
19162
19169
  node.transformFlags |= 1;
19163
19170
  }
19164
19171
  if (ts.isImportKeyword(node.expression)) {
19165
- node.transformFlags |= 4194304;
19172
+ node.transformFlags |= 8388608;
19166
19173
  }
19167
19174
  else if (ts.isSuperProperty(node.expression)) {
19168
- node.transformFlags |= 8192;
19175
+ node.transformFlags |= 16384;
19169
19176
  }
19170
19177
  return node;
19171
19178
  }
@@ -19196,7 +19203,7 @@ var ts;
19196
19203
  node.transformFlags |= 1;
19197
19204
  }
19198
19205
  if (ts.isSuperProperty(node.expression)) {
19199
- node.transformFlags |= 8192;
19206
+ node.transformFlags |= 16384;
19200
19207
  }
19201
19208
  return node;
19202
19209
  }
@@ -19321,7 +19328,7 @@ var ts;
19321
19328
  propagateChildFlags(node.equalsGreaterThanToken) |
19322
19329
  1024;
19323
19330
  if (ts.modifiersToFlags(node.modifiers) & 256) {
19324
- node.transformFlags |= 256 | 8192;
19331
+ node.transformFlags |= 256 | 16384;
19325
19332
  }
19326
19333
  return node;
19327
19334
  }
@@ -19375,7 +19382,7 @@ var ts;
19375
19382
  propagateChildFlags(node.expression) |
19376
19383
  256 |
19377
19384
  128 |
19378
- 1048576;
19385
+ 2097152;
19379
19386
  return node;
19380
19387
  }
19381
19388
  function updateAwaitExpression(node, expression) {
@@ -19392,7 +19399,7 @@ var ts;
19392
19399
  ts.isIdentifier(node.operand) &&
19393
19400
  !ts.isGeneratedIdentifier(node.operand) &&
19394
19401
  !ts.isLocalName(node.operand)) {
19395
- node.transformFlags |= 67108864;
19402
+ node.transformFlags |= 268435456;
19396
19403
  }
19397
19404
  return node;
19398
19405
  }
@@ -19409,7 +19416,7 @@ var ts;
19409
19416
  if (ts.isIdentifier(node.operand) &&
19410
19417
  !ts.isGeneratedIdentifier(node.operand) &&
19411
19418
  !ts.isLocalName(node.operand)) {
19412
- node.transformFlags |= 67108864;
19419
+ node.transformFlags |= 268435456;
19413
19420
  }
19414
19421
  return node;
19415
19422
  }
@@ -19456,15 +19463,15 @@ var ts;
19456
19463
  return node;
19457
19464
  }
19458
19465
  function propagateAssignmentPatternFlags(node) {
19459
- if (node.transformFlags & 32768)
19460
- return 32768;
19466
+ if (node.transformFlags & 65536)
19467
+ return 65536;
19461
19468
  if (node.transformFlags & 128) {
19462
19469
  for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
19463
19470
  var element = _a[_i];
19464
19471
  var target = ts.getTargetOfBindingOrAssignmentElement(element);
19465
19472
  if (target && ts.isAssignmentPattern(target)) {
19466
- if (target.transformFlags & 32768) {
19467
- return 32768;
19473
+ if (target.transformFlags & 65536) {
19474
+ return 65536;
19468
19475
  }
19469
19476
  if (target.transformFlags & 128) {
19470
19477
  var flags_1 = propagateAssignmentPatternFlags(target);
@@ -19577,7 +19584,7 @@ var ts;
19577
19584
  propagateChildFlags(node.asteriskToken) |
19578
19585
  1024 |
19579
19586
  128 |
19580
- 524288;
19587
+ 1048576;
19581
19588
  return node;
19582
19589
  }
19583
19590
  function updateYieldExpression(node, asteriskToken, expression) {
@@ -19592,7 +19599,7 @@ var ts;
19592
19599
  node.transformFlags |=
19593
19600
  propagateChildFlags(node.expression) |
19594
19601
  1024 |
19595
- 16384;
19602
+ 32768;
19596
19603
  return node;
19597
19604
  }
19598
19605
  function updateSpreadElement(node, expression) {
@@ -19882,7 +19889,7 @@ var ts;
19882
19889
  node.label = asName(label);
19883
19890
  node.transformFlags |=
19884
19891
  propagateChildFlags(node.label) |
19885
- 2097152;
19892
+ 4194304;
19886
19893
  return node;
19887
19894
  }
19888
19895
  function updateContinueStatement(node, label) {
@@ -19895,7 +19902,7 @@ var ts;
19895
19902
  node.label = asName(label);
19896
19903
  node.transformFlags |=
19897
19904
  propagateChildFlags(node.label) |
19898
- 2097152;
19905
+ 4194304;
19899
19906
  return node;
19900
19907
  }
19901
19908
  function updateBreakStatement(node, label) {
@@ -19909,7 +19916,7 @@ var ts;
19909
19916
  node.transformFlags |=
19910
19917
  propagateChildFlags(node.expression) |
19911
19918
  128 |
19912
- 2097152;
19919
+ 4194304;
19913
19920
  return node;
19914
19921
  }
19915
19922
  function updateReturnStatement(node, expression) {
@@ -20018,11 +20025,11 @@ var ts;
20018
20025
  node.declarations = createNodeArray(declarations);
20019
20026
  node.transformFlags |=
20020
20027
  propagateChildrenFlags(node.declarations) |
20021
- 2097152;
20028
+ 4194304;
20022
20029
  if (flags & 3) {
20023
20030
  node.transformFlags |=
20024
20031
  1024 |
20025
- 131072;
20032
+ 262144;
20026
20033
  }
20027
20034
  return node;
20028
20035
  }
@@ -20040,7 +20047,7 @@ var ts;
20040
20047
  else {
20041
20048
  node.transformFlags |=
20042
20049
  propagateChildFlags(node.asteriskToken) |
20043
- 2097152;
20050
+ 4194304;
20044
20051
  if (ts.modifiersToFlags(node.modifiers) & 256) {
20045
20052
  if (node.asteriskToken) {
20046
20053
  node.transformFlags |= 128;
@@ -20074,7 +20081,7 @@ var ts;
20074
20081
  }
20075
20082
  else {
20076
20083
  node.transformFlags |= 1024;
20077
- if (node.transformFlags & 4096) {
20084
+ if (node.transformFlags & 8192) {
20078
20085
  node.transformFlags |= 1;
20079
20086
  }
20080
20087
  }
@@ -20127,7 +20134,7 @@ var ts;
20127
20134
  node.transformFlags |=
20128
20135
  propagateChildrenFlags(node.members) |
20129
20136
  1;
20130
- node.transformFlags &= ~16777216;
20137
+ node.transformFlags &= ~67108864;
20131
20138
  return node;
20132
20139
  }
20133
20140
  function updateEnumDeclaration(node, decorators, modifiers, name, members) {
@@ -20153,7 +20160,7 @@ var ts;
20153
20160
  propagateChildFlags(node.body) |
20154
20161
  1;
20155
20162
  }
20156
- node.transformFlags &= ~16777216;
20163
+ node.transformFlags &= ~67108864;
20157
20164
  return node;
20158
20165
  }
20159
20166
  function updateModuleDeclaration(node, decorators, modifiers, name, body) {
@@ -20203,7 +20210,7 @@ var ts;
20203
20210
  node.transformFlags |= propagateChildFlags(node.moduleReference);
20204
20211
  if (!ts.isExternalModuleReference(node.moduleReference))
20205
20212
  node.transformFlags |= 1;
20206
- node.transformFlags &= ~16777216;
20213
+ node.transformFlags &= ~67108864;
20207
20214
  return node;
20208
20215
  }
20209
20216
  function updateImportEqualsDeclaration(node, decorators, modifiers, isTypeOnly, name, moduleReference) {
@@ -20223,7 +20230,7 @@ var ts;
20223
20230
  node.transformFlags |=
20224
20231
  propagateChildFlags(node.importClause) |
20225
20232
  propagateChildFlags(node.moduleSpecifier);
20226
- node.transformFlags &= ~16777216;
20233
+ node.transformFlags &= ~67108864;
20227
20234
  return node;
20228
20235
  }
20229
20236
  function updateImportDeclaration(node, decorators, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -20246,7 +20253,7 @@ var ts;
20246
20253
  if (isTypeOnly) {
20247
20254
  node.transformFlags |= 1;
20248
20255
  }
20249
- node.transformFlags &= ~16777216;
20256
+ node.transformFlags &= ~67108864;
20250
20257
  return node;
20251
20258
  }
20252
20259
  function updateImportClause(node, isTypeOnly, name, namedBindings) {
@@ -20298,7 +20305,7 @@ var ts;
20298
20305
  var node = createBaseNode(268);
20299
20306
  node.name = name;
20300
20307
  node.transformFlags |= propagateChildFlags(node.name);
20301
- node.transformFlags &= ~16777216;
20308
+ node.transformFlags &= ~67108864;
20302
20309
  return node;
20303
20310
  }
20304
20311
  function updateNamespaceImport(node, name) {
@@ -20312,7 +20319,7 @@ var ts;
20312
20319
  node.transformFlags |=
20313
20320
  propagateChildFlags(node.name) |
20314
20321
  4;
20315
- node.transformFlags &= ~16777216;
20322
+ node.transformFlags &= ~67108864;
20316
20323
  return node;
20317
20324
  }
20318
20325
  function updateNamespaceExport(node, name) {
@@ -20324,7 +20331,7 @@ var ts;
20324
20331
  var node = createBaseNode(269);
20325
20332
  node.elements = createNodeArray(elements);
20326
20333
  node.transformFlags |= propagateChildrenFlags(node.elements);
20327
- node.transformFlags &= ~16777216;
20334
+ node.transformFlags &= ~67108864;
20328
20335
  return node;
20329
20336
  }
20330
20337
  function updateNamedImports(node, elements) {
@@ -20340,7 +20347,7 @@ var ts;
20340
20347
  node.transformFlags |=
20341
20348
  propagateChildFlags(node.propertyName) |
20342
20349
  propagateChildFlags(node.name);
20343
- node.transformFlags &= ~16777216;
20350
+ node.transformFlags &= ~67108864;
20344
20351
  return node;
20345
20352
  }
20346
20353
  function updateImportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20357,7 +20364,7 @@ var ts;
20357
20364
  ? parenthesizerRules().parenthesizeRightSideOfBinary(63, undefined, expression)
20358
20365
  : parenthesizerRules().parenthesizeExpressionOfExportDefault(expression);
20359
20366
  node.transformFlags |= propagateChildFlags(node.expression);
20360
- node.transformFlags &= ~16777216;
20367
+ node.transformFlags &= ~67108864;
20361
20368
  return node;
20362
20369
  }
20363
20370
  function updateExportAssignment(node, decorators, modifiers, expression) {
@@ -20376,7 +20383,7 @@ var ts;
20376
20383
  node.transformFlags |=
20377
20384
  propagateChildFlags(node.exportClause) |
20378
20385
  propagateChildFlags(node.moduleSpecifier);
20379
- node.transformFlags &= ~16777216;
20386
+ node.transformFlags &= ~67108864;
20380
20387
  return node;
20381
20388
  }
20382
20389
  function updateExportDeclaration(node, decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -20393,7 +20400,7 @@ var ts;
20393
20400
  var node = createBaseNode(273);
20394
20401
  node.elements = createNodeArray(elements);
20395
20402
  node.transformFlags |= propagateChildrenFlags(node.elements);
20396
- node.transformFlags &= ~16777216;
20403
+ node.transformFlags &= ~67108864;
20397
20404
  return node;
20398
20405
  }
20399
20406
  function updateNamedExports(node, elements) {
@@ -20409,7 +20416,7 @@ var ts;
20409
20416
  node.transformFlags |=
20410
20417
  propagateChildFlags(node.propertyName) |
20411
20418
  propagateChildFlags(node.name);
20412
- node.transformFlags &= ~16777216;
20419
+ node.transformFlags &= ~67108864;
20413
20420
  return node;
20414
20421
  }
20415
20422
  function updateExportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20427,7 +20434,7 @@ var ts;
20427
20434
  var node = createBaseNode(277);
20428
20435
  node.expression = expression;
20429
20436
  node.transformFlags |= propagateChildFlags(node.expression);
20430
- node.transformFlags &= ~16777216;
20437
+ node.transformFlags &= ~67108864;
20431
20438
  return node;
20432
20439
  }
20433
20440
  function updateExternalModuleReference(node, expression) {
@@ -21056,7 +21063,7 @@ var ts;
21056
21063
  node.transformFlags |=
21057
21064
  propagateChildFlags(node.expression) |
21058
21065
  128 |
21059
- 32768;
21066
+ 65536;
21060
21067
  return node;
21061
21068
  }
21062
21069
  function updateSpreadAssignment(node, expression) {
@@ -21774,10 +21781,10 @@ var ts;
21774
21781
  return tokenValue;
21775
21782
  }
21776
21783
  function propagateIdentifierNameFlags(node) {
21777
- return propagateChildFlags(node) & ~16777216;
21784
+ return propagateChildFlags(node) & ~67108864;
21778
21785
  }
21779
21786
  function propagatePropertyNameFlagsOfChild(node, transformFlags) {
21780
- return transformFlags | (node.transformFlags & 33562624);
21787
+ return transformFlags | (node.transformFlags & 134234112);
21781
21788
  }
21782
21789
  function propagateChildFlags(child) {
21783
21790
  if (!child)
@@ -21804,29 +21811,29 @@ var ts;
21804
21811
  case 208:
21805
21812
  case 209:
21806
21813
  case 204:
21807
- return 536887296;
21814
+ return 536903680;
21808
21815
  case 261:
21809
- return 589443072;
21816
+ return 742678528;
21810
21817
  case 164:
21811
21818
  return 536870912;
21812
21819
  case 214:
21813
- return 557748224;
21820
+ return 612179968;
21814
21821
  case 213:
21815
21822
  case 256:
21816
- return 591310848;
21823
+ return 746414080;
21817
21824
  case 255:
21818
- return 537165824;
21825
+ return 537460736;
21819
21826
  case 257:
21820
21827
  case 226:
21821
- return 536940544;
21828
+ return 537010176;
21822
21829
  case 171:
21823
- return 591306752;
21830
+ return 746405888;
21824
21831
  case 167:
21825
- return 570433536;
21832
+ return 671105024;
21826
21833
  case 169:
21827
21834
  case 172:
21828
21835
  case 173:
21829
- return 574529536;
21836
+ return 679297024;
21830
21837
  case 130:
21831
21838
  case 147:
21832
21839
  case 158:
@@ -21846,12 +21853,12 @@ var ts;
21846
21853
  case 259:
21847
21854
  return -2;
21848
21855
  case 205:
21849
- return 536973312;
21856
+ return 537075712;
21850
21857
  case 292:
21851
- return 536903680;
21858
+ return 536936448;
21852
21859
  case 201:
21853
21860
  case 202:
21854
- return 536887296;
21861
+ return 536903680;
21855
21862
  case 211:
21856
21863
  case 229:
21857
21864
  case 350:
@@ -24466,6 +24473,14 @@ var ts;
24466
24473
  }
24467
24474
  }
24468
24475
  ts.createBinaryExpressionTrampoline = createBinaryExpressionTrampoline;
24476
+ function elideNodes(factory, nodes) {
24477
+ if (nodes === undefined)
24478
+ return undefined;
24479
+ if (nodes.length === 0)
24480
+ return nodes;
24481
+ return ts.setTextRange(factory.createNodeArray([], nodes.hasTrailingComma), nodes);
24482
+ }
24483
+ ts.elideNodes = elideNodes;
24469
24484
  })(ts || (ts = {}));
24470
24485
  var ts;
24471
24486
  (function (ts) {
@@ -25457,7 +25472,7 @@ var ts;
25457
25472
  return factory.updateSourceFile(sourceFile, ts.setTextRange(factory.createNodeArray(statements), sourceFile.statements));
25458
25473
  function containsPossibleTopLevelAwait(node) {
25459
25474
  return !(node.flags & 32768)
25460
- && !!(node.transformFlags & 16777216);
25475
+ && !!(node.transformFlags & 67108864);
25461
25476
  }
25462
25477
  function findNextStatementWithAwait(statements, start) {
25463
25478
  for (var i = start; i < statements.length; i++) {
@@ -25491,7 +25506,7 @@ var ts;
25491
25506
  var sourceFile = factory.createSourceFile(statements, endOfFileToken, flags);
25492
25507
  ts.setTextRangePosWidth(sourceFile, 0, sourceText.length);
25493
25508
  setFields(sourceFile);
25494
- if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216) {
25509
+ if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 67108864) {
25495
25510
  sourceFile = reparseTopLevelAwait(sourceFile);
25496
25511
  setFields(sourceFile);
25497
25512
  }
@@ -76700,6 +76715,90 @@ var ts;
76700
76715
  return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name);
76701
76716
  }
76702
76717
  ts.isNonStaticMethodOrAccessorWithPrivateName = isNonStaticMethodOrAccessorWithPrivateName;
76718
+ function getDecoratorsOfParameters(node) {
76719
+ var decorators;
76720
+ if (node) {
76721
+ var parameters = node.parameters;
76722
+ var firstParameterIsThis = parameters.length > 0 && ts.parameterIsThisKeyword(parameters[0]);
76723
+ var firstParameterOffset = firstParameterIsThis ? 1 : 0;
76724
+ var numParameters = firstParameterIsThis ? parameters.length - 1 : parameters.length;
76725
+ for (var i = 0; i < numParameters; i++) {
76726
+ var parameter = parameters[i + firstParameterOffset];
76727
+ if (decorators || parameter.decorators) {
76728
+ if (!decorators) {
76729
+ decorators = new Array(numParameters);
76730
+ }
76731
+ decorators[i] = parameter.decorators;
76732
+ }
76733
+ }
76734
+ }
76735
+ return decorators;
76736
+ }
76737
+ function getAllDecoratorsOfClass(node) {
76738
+ var decorators = node.decorators;
76739
+ var parameters = getDecoratorsOfParameters(ts.getFirstConstructorWithBody(node));
76740
+ if (!decorators && !parameters) {
76741
+ return undefined;
76742
+ }
76743
+ return {
76744
+ decorators: decorators,
76745
+ parameters: parameters
76746
+ };
76747
+ }
76748
+ ts.getAllDecoratorsOfClass = getAllDecoratorsOfClass;
76749
+ function getAllDecoratorsOfClassElement(member, parent) {
76750
+ switch (member.kind) {
76751
+ case 172:
76752
+ case 173:
76753
+ return getAllDecoratorsOfAccessors(member, parent);
76754
+ case 169:
76755
+ return getAllDecoratorsOfMethod(member);
76756
+ case 167:
76757
+ return getAllDecoratorsOfProperty(member);
76758
+ default:
76759
+ return undefined;
76760
+ }
76761
+ }
76762
+ ts.getAllDecoratorsOfClassElement = getAllDecoratorsOfClassElement;
76763
+ function getAllDecoratorsOfAccessors(accessor, parent) {
76764
+ if (!accessor.body) {
76765
+ return undefined;
76766
+ }
76767
+ var _a = ts.getAllAccessorDeclarations(parent.members, accessor), firstAccessor = _a.firstAccessor, secondAccessor = _a.secondAccessor, getAccessor = _a.getAccessor, setAccessor = _a.setAccessor;
76768
+ var firstAccessorWithDecorators = firstAccessor.decorators ? firstAccessor : secondAccessor && secondAccessor.decorators ? secondAccessor : undefined;
76769
+ if (!firstAccessorWithDecorators || accessor !== firstAccessorWithDecorators) {
76770
+ return undefined;
76771
+ }
76772
+ var decorators = firstAccessorWithDecorators.decorators;
76773
+ var parameters = getDecoratorsOfParameters(setAccessor);
76774
+ if (!decorators && !parameters) {
76775
+ return undefined;
76776
+ }
76777
+ return {
76778
+ decorators: decorators,
76779
+ parameters: parameters,
76780
+ getDecorators: getAccessor === null || getAccessor === void 0 ? void 0 : getAccessor.decorators,
76781
+ setDecorators: setAccessor === null || setAccessor === void 0 ? void 0 : setAccessor.decorators
76782
+ };
76783
+ }
76784
+ function getAllDecoratorsOfMethod(method) {
76785
+ if (!method.body) {
76786
+ return undefined;
76787
+ }
76788
+ var decorators = method.decorators;
76789
+ var parameters = getDecoratorsOfParameters(method);
76790
+ if (!decorators && !parameters) {
76791
+ return undefined;
76792
+ }
76793
+ return { decorators: decorators, parameters: parameters };
76794
+ }
76795
+ function getAllDecoratorsOfProperty(property) {
76796
+ var decorators = property.decorators;
76797
+ if (!decorators) {
76798
+ return undefined;
76799
+ }
76800
+ return { decorators: decorators };
76801
+ }
76703
76802
  })(ts || (ts = {}));
76704
76803
  var ts;
76705
76804
  (function (ts) {
@@ -76901,8 +77000,8 @@ var ts;
76901
77000
  if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) {
76902
77001
  var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element);
76903
77002
  if (flattenContext.level >= 1
76904
- && !(element.transformFlags & (16384 | 32768))
76905
- && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 | 32768))
77003
+ && !(element.transformFlags & (32768 | 65536))
77004
+ && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 | 65536))
76906
77005
  && !ts.isComputedPropertyName(propertyName)) {
76907
77006
  bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor));
76908
77007
  }
@@ -76949,7 +77048,7 @@ var ts;
76949
77048
  for (var i = 0; i < numElements; i++) {
76950
77049
  var element = elements[i];
76951
77050
  if (flattenContext.level >= 1) {
76952
- if (element.transformFlags & 32768 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
77051
+ if (element.transformFlags & 65536 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
76953
77052
  flattenContext.hasTransformedPriorElement = true;
76954
77053
  var temp = flattenContext.context.factory.createTempVariable(undefined);
76955
77054
  if (flattenContext.hoistTempVariables) {
@@ -77117,9 +77216,9 @@ var ts;
77117
77216
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, startLexicalEnvironment = context.startLexicalEnvironment, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
77118
77217
  var resolver = context.getEmitResolver();
77119
77218
  var compilerOptions = context.getCompilerOptions();
77120
- var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
77121
77219
  var languageVersion = ts.getEmitScriptTarget(compilerOptions);
77122
77220
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
77221
+ var typeSerializer = compilerOptions.emitDecoratorMetadata ? ts.createRuntimeTypeSerializer(context) : undefined;
77123
77222
  var previousOnEmitNode = context.onEmitNode;
77124
77223
  var previousOnSubstituteNode = context.onSubstituteNode;
77125
77224
  context.onEmitNode = onEmitNode;
@@ -77130,11 +77229,9 @@ var ts;
77130
77229
  var currentNamespace;
77131
77230
  var currentNamespaceContainerName;
77132
77231
  var currentLexicalScope;
77133
- var currentNameScope;
77134
77232
  var currentScopeFirstDeclarationsOfName;
77135
77233
  var currentClassHasParameterProperties;
77136
77234
  var enabledSubstitutions;
77137
- var classAliases;
77138
77235
  var applicableSubstitutions;
77139
77236
  return transformSourceFileOrBundle;
77140
77237
  function transformSourceFileOrBundle(node) {
@@ -77163,7 +77260,6 @@ var ts;
77163
77260
  }
77164
77261
  function saveStateAndInvoke(node, f) {
77165
77262
  var savedCurrentScope = currentLexicalScope;
77166
- var savedCurrentNameScope = currentNameScope;
77167
77263
  var savedCurrentScopeFirstDeclarationsOfName = currentScopeFirstDeclarationsOfName;
77168
77264
  var savedCurrentClassHasParameterProperties = currentClassHasParameterProperties;
77169
77265
  onBeforeVisitNode(node);
@@ -77172,7 +77268,6 @@ var ts;
77172
77268
  currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName;
77173
77269
  }
77174
77270
  currentLexicalScope = savedCurrentScope;
77175
- currentNameScope = savedCurrentNameScope;
77176
77271
  currentClassHasParameterProperties = savedCurrentClassHasParameterProperties;
77177
77272
  return visited;
77178
77273
  }
@@ -77183,7 +77278,6 @@ var ts;
77183
77278
  case 262:
77184
77279
  case 235:
77185
77280
  currentLexicalScope = node;
77186
- currentNameScope = undefined;
77187
77281
  currentScopeFirstDeclarationsOfName = undefined;
77188
77282
  break;
77189
77283
  case 257:
@@ -77197,9 +77291,6 @@ var ts;
77197
77291
  else {
77198
77292
  ts.Debug.assert(node.kind === 257 || ts.hasSyntacticModifier(node, 512));
77199
77293
  }
77200
- if (ts.isClassDeclaration(node)) {
77201
- currentNameScope = node;
77202
- }
77203
77294
  break;
77204
77295
  }
77205
77296
  }
@@ -77263,23 +77354,46 @@ var ts;
77263
77354
  }
77264
77355
  return node;
77265
77356
  }
77266
- function classElementVisitor(node) {
77267
- return saveStateAndInvoke(node, classElementVisitorWorker);
77357
+ function getClassElementVisitor(parent) {
77358
+ return function (node) { return saveStateAndInvoke(node, function (n) { return classElementVisitorWorker(n, parent); }); };
77268
77359
  }
77269
- function classElementVisitorWorker(node) {
77360
+ function classElementVisitorWorker(node, parent) {
77270
77361
  switch (node.kind) {
77271
77362
  case 171:
77272
77363
  return visitConstructor(node);
77273
77364
  case 167:
77274
- return visitPropertyDeclaration(node);
77275
- case 176:
77365
+ return visitPropertyDeclaration(node, parent);
77276
77366
  case 172:
77367
+ return visitGetAccessor(node, parent);
77277
77368
  case 173:
77369
+ return visitSetAccessor(node, parent);
77278
77370
  case 169:
77371
+ return visitMethodDeclaration(node, parent);
77279
77372
  case 170:
77280
- return visitorWorker(node);
77373
+ return ts.visitEachChild(node, visitor, context);
77281
77374
  case 234:
77282
77375
  return node;
77376
+ case 176:
77377
+ return;
77378
+ default:
77379
+ return ts.Debug.failBadSyntaxKind(node);
77380
+ }
77381
+ }
77382
+ function getObjectLiteralElementVisitor(parent) {
77383
+ return function (node) { return saveStateAndInvoke(node, function (n) { return objectLiteralElementVisitorWorker(n, parent); }); };
77384
+ }
77385
+ function objectLiteralElementVisitorWorker(node, parent) {
77386
+ switch (node.kind) {
77387
+ case 296:
77388
+ case 297:
77389
+ case 298:
77390
+ return visitor(node);
77391
+ case 172:
77392
+ return visitGetAccessor(node, parent);
77393
+ case 173:
77394
+ return visitSetAccessor(node, parent);
77395
+ case 169:
77396
+ return visitMethodDeclaration(node, parent);
77283
77397
  default:
77284
77398
  return ts.Debug.failBadSyntaxKind(node);
77285
77399
  }
@@ -77340,16 +77454,11 @@ var ts;
77340
77454
  case 195:
77341
77455
  case 196:
77342
77456
  case 176:
77343
- case 165:
77344
77457
  return undefined;
77345
77458
  case 259:
77346
77459
  return factory.createNotEmittedStatement(node);
77347
- case 167:
77348
- return visitPropertyDeclaration(node);
77349
77460
  case 264:
77350
77461
  return undefined;
77351
- case 171:
77352
- return visitConstructor(node);
77353
77462
  case 258:
77354
77463
  return factory.createNotEmittedStatement(node);
77355
77464
  case 257:
@@ -77360,12 +77469,15 @@ var ts;
77360
77469
  return visitHeritageClause(node);
77361
77470
  case 228:
77362
77471
  return visitExpressionWithTypeArguments(node);
77472
+ case 205:
77473
+ return visitObjectLiteralExpression(node);
77474
+ case 171:
77475
+ case 167:
77363
77476
  case 169:
77364
- return visitMethodDeclaration(node);
77365
77477
  case 172:
77366
- return visitGetAccessor(node);
77367
77478
  case 173:
77368
- return visitSetAccessor(node);
77479
+ case 170:
77480
+ return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors");
77369
77481
  case 256:
77370
77482
  return visitFunctionDeclaration(node);
77371
77483
  case 213:
@@ -77411,6 +77523,9 @@ var ts;
77411
77523
  !ts.isJsonSourceFile(node);
77412
77524
  return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict));
77413
77525
  }
77526
+ function visitObjectLiteralExpression(node) {
77527
+ return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement));
77528
+ }
77414
77529
  function getClassFacts(node, staticProperties) {
77415
77530
  var facts = 0;
77416
77531
  if (ts.some(staticProperties))
@@ -77433,7 +77548,7 @@ var ts;
77433
77548
  return facts;
77434
77549
  }
77435
77550
  function hasTypeScriptClassSyntax(node) {
77436
- return !!(node.transformFlags & 4096);
77551
+ return !!(node.transformFlags & 8192);
77437
77552
  }
77438
77553
  function isClassLikeDeclarationWithTypeScriptSyntax(node) {
77439
77554
  return ts.some(node.decorators)
@@ -77443,7 +77558,7 @@ var ts;
77443
77558
  }
77444
77559
  function visitClassDeclaration(node) {
77445
77560
  if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1))) {
77446
- return ts.visitEachChild(node, visitor, context);
77561
+ return factory.updateClassDeclaration(node, ts.elideNodes(factory, node.decorators), ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77447
77562
  }
77448
77563
  var staticProperties = ts.getProperties(node, true, true);
77449
77564
  var facts = getClassFacts(node, staticProperties);
@@ -77451,13 +77566,18 @@ var ts;
77451
77566
  context.startLexicalEnvironment();
77452
77567
  }
77453
77568
  var name = node.name || (facts & 5 ? factory.getGeneratedNameForNode(node) : undefined);
77454
- var classStatement = facts & 2
77455
- ? createClassDeclarationHeadWithDecorators(node, name)
77456
- : createClassDeclarationHeadWithoutDecorators(node, name, facts);
77569
+ var allDecorators = getAllDecoratorsOfConstructor(node);
77570
+ var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77571
+ var modifiers = !(facts & 128)
77572
+ ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77573
+ : ts.elideNodes(factory, node.modifiers);
77574
+ var classStatement = factory.updateClassDeclaration(node, decorators, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77575
+ var emitFlags = ts.getEmitFlags(node);
77576
+ if (facts & 1) {
77577
+ emitFlags |= 32;
77578
+ }
77579
+ ts.setEmitFlags(classStatement, emitFlags);
77457
77580
  var statements = [classStatement];
77458
- addClassElementDecorationStatements(statements, node, false);
77459
- addClassElementDecorationStatements(statements, node, true);
77460
- addConstructorDecorationStatement(statements, node);
77461
77581
  if (facts & 128) {
77462
77582
  var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19);
77463
77583
  var localName = factory.getInternalName(node);
@@ -77497,47 +77617,12 @@ var ts;
77497
77617
  }
77498
77618
  return ts.singleOrMany(statements);
77499
77619
  }
77500
- function createClassDeclarationHeadWithoutDecorators(node, name, facts) {
77501
- var modifiers = !(facts & 128)
77502
- ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77503
- : undefined;
77504
- var classDeclaration = factory.createClassDeclaration(undefined, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77505
- var emitFlags = ts.getEmitFlags(node);
77506
- if (facts & 1) {
77507
- emitFlags |= 32;
77508
- }
77509
- ts.setTextRange(classDeclaration, node);
77510
- ts.setOriginalNode(classDeclaration, node);
77511
- ts.setEmitFlags(classDeclaration, emitFlags);
77512
- return classDeclaration;
77513
- }
77514
- function createClassDeclarationHeadWithDecorators(node, name) {
77515
- var location = ts.moveRangePastDecorators(node);
77516
- var classAlias = getClassAliasIfNeeded(node);
77517
- var declName = languageVersion <= 2 ?
77518
- factory.getInternalName(node, false, true) :
77519
- factory.getLocalName(node, false, true);
77520
- var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
77521
- var members = transformClassMembers(node);
77522
- var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
77523
- ts.setOriginalNode(classExpression, node);
77524
- ts.setTextRange(classExpression, location);
77525
- var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
77526
- factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
77527
- ], 1));
77528
- ts.setOriginalNode(statement, node);
77529
- ts.setTextRange(statement, location);
77530
- ts.setCommentRange(statement, node);
77531
- return statement;
77532
- }
77533
77620
  function visitClassExpression(node) {
77534
- if (!isClassLikeDeclarationWithTypeScriptSyntax(node)) {
77535
- return ts.visitEachChild(node, visitor, context);
77536
- }
77537
- var classExpression = factory.createClassExpression(undefined, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77538
- ts.setOriginalNode(classExpression, node);
77539
- ts.setTextRange(classExpression, node);
77540
- return classExpression;
77621
+ var allDecorators = getAllDecoratorsOfConstructor(node);
77622
+ var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77623
+ return factory.updateClassExpression(node, decorators, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), isClassLikeDeclarationWithTypeScriptSyntax(node) ?
77624
+ transformClassMembers(node) :
77625
+ ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77541
77626
  }
77542
77627
  function transformClassMembers(node) {
77543
77628
  var members = [];
@@ -77552,22 +77637,9 @@ var ts;
77552
77637
  }
77553
77638
  }
77554
77639
  }
77555
- ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement));
77640
+ ts.addRange(members, ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77556
77641
  return ts.setTextRange(factory.createNodeArray(members), node.members);
77557
77642
  }
77558
- function getDecoratedClassElements(node, isStatic) {
77559
- return ts.filter(node.members, isStatic ? function (m) { return isStaticDecoratedClassElement(m, node); } : function (m) { return isInstanceDecoratedClassElement(m, node); });
77560
- }
77561
- function isStaticDecoratedClassElement(member, parent) {
77562
- return isDecoratedClassElement(member, true, parent);
77563
- }
77564
- function isInstanceDecoratedClassElement(member, parent) {
77565
- return isDecoratedClassElement(member, false, parent);
77566
- }
77567
- function isDecoratedClassElement(member, isStaticElement, parent) {
77568
- return ts.nodeOrChildIsDecorated(member, parent)
77569
- && isStaticElement === ts.isStatic(member);
77570
- }
77571
77643
  function getDecoratorsOfParameters(node) {
77572
77644
  var decorators;
77573
77645
  if (node) {
@@ -77598,11 +77670,11 @@ var ts;
77598
77670
  parameters: parameters
77599
77671
  };
77600
77672
  }
77601
- function getAllDecoratorsOfClassElement(node, member) {
77673
+ function getAllDecoratorsOfClassElement(member, parent) {
77602
77674
  switch (member.kind) {
77603
77675
  case 172:
77604
77676
  case 173:
77605
- return getAllDecoratorsOfAccessors(node, member);
77677
+ return getAllDecoratorsOfAccessors(parent, member);
77606
77678
  case 169:
77607
77679
  return getAllDecoratorsOfMethod(member);
77608
77680
  case 167:
@@ -77649,124 +77721,71 @@ var ts;
77649
77721
  if (!allDecorators) {
77650
77722
  return undefined;
77651
77723
  }
77652
- var decoratorExpressions = [];
77653
- ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
77654
- ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
77655
- addTypeMetadata(node, container, decoratorExpressions);
77656
- return decoratorExpressions;
77657
- }
77658
- function addClassElementDecorationStatements(statements, node, isStatic) {
77659
- ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), expressionToStatement));
77660
- }
77661
- function generateClassElementDecorationExpressions(node, isStatic) {
77662
- var members = getDecoratedClassElements(node, isStatic);
77663
- var expressions;
77664
- for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
77665
- var member = members_8[_i];
77666
- var expression = generateClassElementDecorationExpression(node, member);
77667
- if (expression) {
77668
- if (!expressions) {
77669
- expressions = [expression];
77670
- }
77671
- else {
77672
- expressions.push(expression);
77673
- }
77674
- }
77675
- }
77676
- return expressions;
77677
- }
77678
- function generateClassElementDecorationExpression(node, member) {
77679
- var allDecorators = getAllDecoratorsOfClassElement(node, member);
77680
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(member, node, allDecorators);
77681
- if (!decoratorExpressions) {
77682
- return undefined;
77683
- }
77684
- var prefix = getClassMemberPrefix(node, member);
77685
- var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
77686
- var descriptor = languageVersion > 0
77687
- ? member.kind === 167
77688
- ? factory.createVoidZero()
77689
- : factory.createNull()
77690
- : undefined;
77691
- var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
77692
- ts.setTextRange(helper, ts.moveRangePastDecorators(member));
77693
- ts.setEmitFlags(helper, 1536);
77694
- return helper;
77695
- }
77696
- function addConstructorDecorationStatement(statements, node) {
77697
- var expression = generateConstructorDecorationExpression(node);
77698
- if (expression) {
77699
- statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
77700
- }
77701
- }
77702
- function generateConstructorDecorationExpression(node) {
77703
- var allDecorators = getAllDecoratorsOfConstructor(node);
77704
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77705
- if (!decoratorExpressions) {
77706
- return undefined;
77707
- }
77708
- var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
77709
- var localName = languageVersion <= 2 ?
77710
- factory.getInternalName(node, false, true) :
77711
- factory.getLocalName(node, false, true);
77712
- var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
77713
- var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
77714
- ts.setEmitFlags(expression, 1536);
77715
- ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node));
77716
- return expression;
77717
- }
77718
- function transformDecorator(decorator) {
77719
- return ts.visitNode(decorator.expression, visitor, ts.isExpression);
77724
+ var decorators = ts.visitNodes(allDecorators.decorators, visitor, ts.isDecorator);
77725
+ var parameterDecorators = ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter);
77726
+ var metadataDecorators = ts.some(decorators) || ts.some(parameterDecorators) ? getTypeMetadata(node, container) : undefined;
77727
+ var result = factory.createNodeArray(ts.concatenate(ts.concatenate(decorators, parameterDecorators), metadataDecorators));
77728
+ ts.setTextRange(result, decorators);
77729
+ return result;
77720
77730
  }
77721
- function transformDecoratorsOfParameter(decorators, parameterOffset) {
77722
- var expressions;
77723
- if (decorators) {
77724
- expressions = [];
77725
- for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
77726
- var decorator = decorators_1[_i];
77727
- var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
77728
- ts.setTextRange(helper, decorator.expression);
77731
+ function transformDecoratorsOfParameter(parameterDecorators, parameterOffset) {
77732
+ if (parameterDecorators) {
77733
+ var decorators = [];
77734
+ for (var _i = 0, parameterDecorators_1 = parameterDecorators; _i < parameterDecorators_1.length; _i++) {
77735
+ var parameterDecorator = parameterDecorators_1[_i];
77736
+ var expression = ts.visitNode(parameterDecorator.expression, visitor, ts.isExpression);
77737
+ var helper = emitHelpers().createParamHelper(expression, parameterOffset);
77738
+ ts.setTextRange(helper, parameterDecorator.expression);
77729
77739
  ts.setEmitFlags(helper, 1536);
77730
- expressions.push(helper);
77740
+ var decorator = factory.createDecorator(helper);
77741
+ ts.setTextRange(decorator, parameterDecorator.expression);
77742
+ ts.setEmitFlags(decorator, 1536);
77743
+ decorators.push(decorator);
77731
77744
  }
77745
+ return decorators;
77732
77746
  }
77733
- return expressions;
77734
77747
  }
77735
- function addTypeMetadata(node, container, decoratorExpressions) {
77736
- if (USE_NEW_TYPE_METADATA_FORMAT) {
77737
- addNewTypeMetadata(node, container, decoratorExpressions);
77738
- }
77739
- else {
77740
- addOldTypeMetadata(node, container, decoratorExpressions);
77741
- }
77748
+ function getTypeMetadata(node, container) {
77749
+ return USE_NEW_TYPE_METADATA_FORMAT ?
77750
+ getNewTypeMetadata(node, container) :
77751
+ getOldTypeMetadata(node, container);
77742
77752
  }
77743
- function addOldTypeMetadata(node, container, decoratorExpressions) {
77744
- if (compilerOptions.emitDecoratorMetadata) {
77753
+ function getOldTypeMetadata(node, container) {
77754
+ if (typeSerializer) {
77755
+ var decorators = void 0;
77745
77756
  if (shouldAddTypeMetadata(node)) {
77746
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:type", serializeTypeOfNode(node)));
77757
+ var typeMetadata = emitHelpers().createMetadataHelper("design:type", typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node));
77758
+ decorators = ts.append(decorators, factory.createDecorator(typeMetadata));
77747
77759
  }
77748
77760
  if (shouldAddParamTypesMetadata(node)) {
77749
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:paramtypes", serializeParameterTypesOfNode(node, container)));
77761
+ var paramTypesMetadata = emitHelpers().createMetadataHelper("design:paramtypes", typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container));
77762
+ decorators = ts.append(decorators, factory.createDecorator(paramTypesMetadata));
77750
77763
  }
77751
77764
  if (shouldAddReturnTypeMetadata(node)) {
77752
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:returntype", serializeReturnTypeOfNode(node)));
77765
+ var returnTypeMetadata = emitHelpers().createMetadataHelper("design:returntype", typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node));
77766
+ decorators = ts.append(decorators, factory.createDecorator(returnTypeMetadata));
77753
77767
  }
77768
+ return decorators;
77754
77769
  }
77755
77770
  }
77756
- function addNewTypeMetadata(node, container, decoratorExpressions) {
77757
- if (compilerOptions.emitDecoratorMetadata) {
77771
+ function getNewTypeMetadata(node, container) {
77772
+ if (typeSerializer) {
77758
77773
  var properties = void 0;
77759
77774
  if (shouldAddTypeMetadata(node)) {
77760
- (properties || (properties = [])).push(factory.createPropertyAssignment("type", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeTypeOfNode(node))));
77775
+ var typeProperty = factory.createPropertyAssignment("type", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)));
77776
+ properties = ts.append(properties, typeProperty);
77761
77777
  }
77762
77778
  if (shouldAddParamTypesMetadata(node)) {
77763
- (properties || (properties = [])).push(factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeParameterTypesOfNode(node, container))));
77779
+ var paramTypeProperty = factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container)));
77780
+ properties = ts.append(properties, paramTypeProperty);
77764
77781
  }
77765
77782
  if (shouldAddReturnTypeMetadata(node)) {
77766
- (properties || (properties = [])).push(factory.createPropertyAssignment("returnType", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeReturnTypeOfNode(node))));
77783
+ var returnTypeProperty = factory.createPropertyAssignment("returnType", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)));
77784
+ properties = ts.append(properties, returnTypeProperty);
77767
77785
  }
77768
77786
  if (properties) {
77769
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, true)));
77787
+ var typeInfoMetadata = emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, true));
77788
+ return [factory.createDecorator(typeInfoMetadata)];
77770
77789
  }
77771
77790
  }
77772
77791
  }
@@ -77792,262 +77811,6 @@ var ts;
77792
77811
  }
77793
77812
  return false;
77794
77813
  }
77795
- function getAccessorTypeNode(node) {
77796
- var accessors = resolver.getAllAccessorDeclarations(node);
77797
- return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
77798
- || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
77799
- }
77800
- function serializeTypeOfNode(node) {
77801
- switch (node.kind) {
77802
- case 167:
77803
- case 164:
77804
- return serializeTypeNode(node.type);
77805
- case 173:
77806
- case 172:
77807
- return serializeTypeNode(getAccessorTypeNode(node));
77808
- case 257:
77809
- case 226:
77810
- case 169:
77811
- return factory.createIdentifier("Function");
77812
- default:
77813
- return factory.createVoidZero();
77814
- }
77815
- }
77816
- function serializeParameterTypesOfNode(node, container) {
77817
- var valueDeclaration = ts.isClassLike(node)
77818
- ? ts.getFirstConstructorWithBody(node)
77819
- : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
77820
- ? node
77821
- : undefined;
77822
- var expressions = [];
77823
- if (valueDeclaration) {
77824
- var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
77825
- var numParameters = parameters.length;
77826
- for (var i = 0; i < numParameters; i++) {
77827
- var parameter = parameters[i];
77828
- if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
77829
- continue;
77830
- }
77831
- if (parameter.dotDotDotToken) {
77832
- expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
77833
- }
77834
- else {
77835
- expressions.push(serializeTypeOfNode(parameter));
77836
- }
77837
- }
77838
- }
77839
- return factory.createArrayLiteralExpression(expressions);
77840
- }
77841
- function getParametersOfDecoratedDeclaration(node, container) {
77842
- if (container && node.kind === 172) {
77843
- var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
77844
- if (setAccessor) {
77845
- return setAccessor.parameters;
77846
- }
77847
- }
77848
- return node.parameters;
77849
- }
77850
- function serializeReturnTypeOfNode(node) {
77851
- if (ts.isFunctionLike(node) && node.type) {
77852
- return serializeTypeNode(node.type);
77853
- }
77854
- else if (ts.isAsyncFunction(node)) {
77855
- return factory.createIdentifier("Promise");
77856
- }
77857
- return factory.createVoidZero();
77858
- }
77859
- function serializeTypeNode(node) {
77860
- if (node === undefined) {
77861
- return factory.createIdentifier("Object");
77862
- }
77863
- switch (node.kind) {
77864
- case 114:
77865
- case 153:
77866
- case 143:
77867
- return factory.createVoidZero();
77868
- case 191:
77869
- return serializeTypeNode(node.type);
77870
- case 179:
77871
- case 180:
77872
- return factory.createIdentifier("Function");
77873
- case 183:
77874
- case 184:
77875
- return factory.createIdentifier("Array");
77876
- case 177:
77877
- case 133:
77878
- return factory.createIdentifier("Boolean");
77879
- case 198:
77880
- case 150:
77881
- return factory.createIdentifier("String");
77882
- case 148:
77883
- return factory.createIdentifier("Object");
77884
- case 196:
77885
- switch (node.literal.kind) {
77886
- case 10:
77887
- case 14:
77888
- return factory.createIdentifier("String");
77889
- case 219:
77890
- case 8:
77891
- return factory.createIdentifier("Number");
77892
- case 9:
77893
- return getGlobalBigIntNameWithFallback();
77894
- case 110:
77895
- case 95:
77896
- return factory.createIdentifier("Boolean");
77897
- case 104:
77898
- return factory.createVoidZero();
77899
- default:
77900
- return ts.Debug.failBadSyntaxKind(node.literal);
77901
- }
77902
- case 147:
77903
- return factory.createIdentifier("Number");
77904
- case 158:
77905
- return getGlobalBigIntNameWithFallback();
77906
- case 151:
77907
- return languageVersion < 2
77908
- ? getGlobalSymbolNameWithFallback()
77909
- : factory.createIdentifier("Symbol");
77910
- case 178:
77911
- return serializeTypeReferenceNode(node);
77912
- case 188:
77913
- case 187:
77914
- return serializeTypeList(node.types);
77915
- case 189:
77916
- return serializeTypeList([node.trueType, node.falseType]);
77917
- case 193:
77918
- if (node.operator === 145) {
77919
- return serializeTypeNode(node.type);
77920
- }
77921
- break;
77922
- case 181:
77923
- case 194:
77924
- case 195:
77925
- case 182:
77926
- case 130:
77927
- case 155:
77928
- case 192:
77929
- case 200:
77930
- break;
77931
- case 312:
77932
- case 313:
77933
- case 317:
77934
- case 318:
77935
- case 319:
77936
- break;
77937
- case 314:
77938
- case 315:
77939
- case 316:
77940
- return serializeTypeNode(node.type);
77941
- default:
77942
- return ts.Debug.failBadSyntaxKind(node);
77943
- }
77944
- return factory.createIdentifier("Object");
77945
- }
77946
- function serializeTypeList(types) {
77947
- var serializedUnion;
77948
- for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
77949
- var typeNode = types_22[_i];
77950
- while (typeNode.kind === 191) {
77951
- typeNode = typeNode.type;
77952
- }
77953
- if (typeNode.kind === 143) {
77954
- continue;
77955
- }
77956
- if (!strictNullChecks && (typeNode.kind === 196 && typeNode.literal.kind === 104 || typeNode.kind === 153)) {
77957
- continue;
77958
- }
77959
- var serializedIndividual = serializeTypeNode(typeNode);
77960
- if (ts.isIdentifier(serializedIndividual) && serializedIndividual.escapedText === "Object") {
77961
- return serializedIndividual;
77962
- }
77963
- else if (serializedUnion) {
77964
- if (!ts.isIdentifier(serializedUnion) ||
77965
- !ts.isIdentifier(serializedIndividual) ||
77966
- serializedUnion.escapedText !== serializedIndividual.escapedText) {
77967
- return factory.createIdentifier("Object");
77968
- }
77969
- }
77970
- else {
77971
- serializedUnion = serializedIndividual;
77972
- }
77973
- }
77974
- return serializedUnion || factory.createVoidZero();
77975
- }
77976
- function serializeTypeReferenceNode(node) {
77977
- var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope || currentLexicalScope);
77978
- switch (kind) {
77979
- case ts.TypeReferenceSerializationKind.Unknown:
77980
- if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
77981
- return factory.createIdentifier("Object");
77982
- }
77983
- var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
77984
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77985
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, factory.createIdentifier("Object"));
77986
- case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
77987
- return serializeEntityNameAsExpression(node.typeName);
77988
- case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
77989
- return factory.createVoidZero();
77990
- case ts.TypeReferenceSerializationKind.BigIntLikeType:
77991
- return getGlobalBigIntNameWithFallback();
77992
- case ts.TypeReferenceSerializationKind.BooleanType:
77993
- return factory.createIdentifier("Boolean");
77994
- case ts.TypeReferenceSerializationKind.NumberLikeType:
77995
- return factory.createIdentifier("Number");
77996
- case ts.TypeReferenceSerializationKind.StringLikeType:
77997
- return factory.createIdentifier("String");
77998
- case ts.TypeReferenceSerializationKind.ArrayLikeType:
77999
- return factory.createIdentifier("Array");
78000
- case ts.TypeReferenceSerializationKind.ESSymbolType:
78001
- return languageVersion < 2
78002
- ? getGlobalSymbolNameWithFallback()
78003
- : factory.createIdentifier("Symbol");
78004
- case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
78005
- return factory.createIdentifier("Function");
78006
- case ts.TypeReferenceSerializationKind.Promise:
78007
- return factory.createIdentifier("Promise");
78008
- case ts.TypeReferenceSerializationKind.ObjectType:
78009
- return factory.createIdentifier("Object");
78010
- default:
78011
- return ts.Debug.assertNever(kind);
78012
- }
78013
- }
78014
- function createCheckedValue(left, right) {
78015
- return factory.createLogicalAnd(factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")), right);
78016
- }
78017
- function serializeEntityNameAsExpressionFallback(node) {
78018
- if (node.kind === 79) {
78019
- var copied = serializeEntityNameAsExpression(node);
78020
- return createCheckedValue(copied, copied);
78021
- }
78022
- if (node.left.kind === 79) {
78023
- return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
78024
- }
78025
- var left = serializeEntityNameAsExpressionFallback(node.left);
78026
- var temp = factory.createTempVariable(hoistVariableDeclaration);
78027
- return factory.createLogicalAnd(factory.createLogicalAnd(left.left, factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())), factory.createPropertyAccessExpression(temp, node.right));
78028
- }
78029
- function serializeEntityNameAsExpression(node) {
78030
- switch (node.kind) {
78031
- case 79:
78032
- var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
78033
- name.original = undefined;
78034
- ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
78035
- return name;
78036
- case 161:
78037
- return serializeQualifiedNameAsExpression(node);
78038
- }
78039
- }
78040
- function serializeQualifiedNameAsExpression(node) {
78041
- return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
78042
- }
78043
- function getGlobalSymbolNameWithFallback() {
78044
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("Symbol"), "function"), undefined, factory.createIdentifier("Symbol"), undefined, factory.createIdentifier("Object"));
78045
- }
78046
- function getGlobalBigIntNameWithFallback() {
78047
- return languageVersion < 99
78048
- ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), undefined, factory.createIdentifier("BigInt"), undefined, factory.createIdentifier("Object"))
78049
- : factory.createIdentifier("BigInt");
78050
- }
78051
77814
  function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
78052
77815
  var name = member.name;
78053
77816
  if (ts.isPrivateIdentifier(name)) {
@@ -78090,22 +77853,23 @@ var ts;
78090
77853
  function shouldEmitFunctionLikeDeclaration(node) {
78091
77854
  return !ts.nodeIsMissing(node.body);
78092
77855
  }
78093
- function visitPropertyDeclaration(node) {
78094
- if (node.flags & 16777216 || ts.hasSyntacticModifier(node, 128)) {
77856
+ function visitPropertyDeclaration(node, parent) {
77857
+ var isAmbient = node.flags & 16777216 || ts.hasSyntacticModifier(node, 128);
77858
+ if (isAmbient && !ts.some(node.decorators)) {
78095
77859
  return undefined;
78096
77860
  }
78097
- var updated = factory.updatePropertyDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78098
- if (updated !== node) {
78099
- ts.setCommentRange(updated, node);
78100
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
77861
+ var allDecorators = getAllDecoratorsOfClassElement(node, parent);
77862
+ var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators);
77863
+ if (isAmbient) {
77864
+ return factory.updatePropertyDeclaration(node, decorators, factory.createModifiersFromModifierFlags(2), ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, undefined);
78101
77865
  }
78102
- return updated;
77866
+ return factory.updatePropertyDeclaration(node, decorators, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78103
77867
  }
78104
77868
  function visitConstructor(node) {
78105
77869
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78106
77870
  return undefined;
78107
77871
  }
78108
- return factory.updateConstructorDeclaration(node, undefined, undefined, ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node));
77872
+ return factory.updateConstructorDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node));
78109
77873
  }
78110
77874
  function transformConstructorBody(body, constructor) {
78111
77875
  var parametersWithPropertyAssignments = constructor &&
@@ -78145,41 +77909,43 @@ var ts;
78145
77909
  ts.setEmitFlags(localName, 1536);
78146
77910
  return ts.startOnNewLine(ts.removeAllComments(ts.setTextRange(ts.setOriginalNode(factory.createExpressionStatement(factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createThis(), propertyName), node.name), localName)), node), ts.moveRangePos(node, -1))));
78147
77911
  }
78148
- function visitMethodDeclaration(node) {
77912
+ function visitMethodDeclaration(node, parent) {
77913
+ if (!(node.transformFlags & 1)) {
77914
+ return node;
77915
+ }
78149
77916
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78150
77917
  return undefined;
78151
77918
  }
78152
- var updated = factory.updateMethodDeclaration(node, undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, ts.visitFunctionBody(node.body, visitor, context));
78153
- if (updated !== node) {
78154
- ts.setCommentRange(updated, node);
78155
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78156
- }
78157
- return updated;
77919
+ var allDecorators = ts.isClassLike(parent) ? getAllDecoratorsOfClassElement(node, parent) : undefined;
77920
+ var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, allDecorators) : undefined;
77921
+ return factory.updateMethodDeclaration(node, decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitParameterList(node.parameters, visitor, context), undefined, ts.visitFunctionBody(node.body, visitor, context));
78158
77922
  }
78159
77923
  function shouldEmitAccessorDeclaration(node) {
78160
77924
  return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128));
78161
77925
  }
78162
- function visitGetAccessor(node) {
77926
+ function visitGetAccessor(node, parent) {
77927
+ if (!(node.transformFlags & 1)) {
77928
+ return node;
77929
+ }
78163
77930
  if (!shouldEmitAccessorDeclaration(node)) {
78164
77931
  return undefined;
78165
77932
  }
78166
- var updated = factory.updateGetAccessorDeclaration(node, undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([]));
78167
- if (updated !== node) {
78168
- ts.setCommentRange(updated, node);
78169
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78170
- }
78171
- return updated;
77933
+ var decorators = ts.isClassLike(parent) ?
77934
+ transformAllDecoratorsOfDeclaration(node, parent, getAllDecoratorsOfClassElement(node, parent)) :
77935
+ undefined;
77936
+ return factory.updateGetAccessorDeclaration(node, decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([]));
78172
77937
  }
78173
- function visitSetAccessor(node) {
77938
+ function visitSetAccessor(node, parent) {
77939
+ if (!(node.transformFlags & 1)) {
77940
+ return node;
77941
+ }
78174
77942
  if (!shouldEmitAccessorDeclaration(node)) {
78175
77943
  return undefined;
78176
77944
  }
78177
- var updated = factory.updateSetAccessorDeclaration(node, undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([]));
78178
- if (updated !== node) {
78179
- ts.setCommentRange(updated, node);
78180
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78181
- }
78182
- return updated;
77945
+ var decorators = ts.isClassLike(parent) ?
77946
+ transformAllDecoratorsOfDeclaration(node, parent, getAllDecoratorsOfClassElement(node, parent)) :
77947
+ undefined;
77948
+ return factory.updateSetAccessorDeclaration(node, decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([]));
78183
77949
  }
78184
77950
  function visitFunctionDeclaration(node) {
78185
77951
  if (!shouldEmitFunctionLikeDeclaration(node)) {
@@ -78208,7 +77974,7 @@ var ts;
78208
77974
  if (ts.parameterIsThisKeyword(node)) {
78209
77975
  return undefined;
78210
77976
  }
78211
- var updated = factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
77977
+ var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.decorators), ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
78212
77978
  if (updated !== node) {
78213
77979
  ts.setCommentRange(updated, node);
78214
77980
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -78604,9 +78370,6 @@ var ts;
78604
78370
  return isExternalModuleExport(node)
78605
78371
  && ts.hasSyntacticModifier(node, 512);
78606
78372
  }
78607
- function expressionToStatement(expression) {
78608
- return factory.createExpressionStatement(expression);
78609
- }
78610
78373
  function addExportMemberAssignment(statements, node) {
78611
78374
  var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, false, true), factory.getLocalName(node));
78612
78375
  ts.setSourceMapRange(expression, ts.createRange(node.name ? node.name.pos : node.pos, node.end));
@@ -78631,36 +78394,12 @@ var ts;
78631
78394
  function getNamespaceContainerName(node) {
78632
78395
  return factory.getGeneratedNameForNode(node);
78633
78396
  }
78634
- function getClassAliasIfNeeded(node) {
78635
- if (resolver.getNodeCheckFlags(node) & 16777216) {
78636
- enableSubstitutionForClassAliases();
78637
- var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
78638
- classAliases[ts.getOriginalNodeId(node)] = classAlias;
78639
- hoistVariableDeclaration(classAlias);
78640
- return classAlias;
78641
- }
78642
- }
78643
- function getClassPrototype(node) {
78644
- return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
78645
- }
78646
- function getClassMemberPrefix(node, member) {
78647
- return ts.isStatic(member)
78648
- ? factory.getDeclarationName(node)
78649
- : getClassPrototype(node);
78650
- }
78651
78397
  function enableSubstitutionForNonQualifiedEnumMembers() {
78652
78398
  if ((enabledSubstitutions & 8) === 0) {
78653
78399
  enabledSubstitutions |= 8;
78654
78400
  context.enableSubstitution(79);
78655
78401
  }
78656
78402
  }
78657
- function enableSubstitutionForClassAliases() {
78658
- if ((enabledSubstitutions & 1) === 0) {
78659
- enabledSubstitutions |= 1;
78660
- context.enableSubstitution(79);
78661
- classAliases = [];
78662
- }
78663
- }
78664
78403
  function enableSubstitutionForNamespaceExports() {
78665
78404
  if ((enabledSubstitutions & 2) === 0) {
78666
78405
  enabledSubstitutions |= 2;
@@ -78727,27 +78466,9 @@ var ts;
78727
78466
  return node;
78728
78467
  }
78729
78468
  function substituteExpressionIdentifier(node) {
78730
- return trySubstituteClassAlias(node)
78731
- || trySubstituteNamespaceExportedName(node)
78469
+ return trySubstituteNamespaceExportedName(node)
78732
78470
  || node;
78733
78471
  }
78734
- function trySubstituteClassAlias(node) {
78735
- if (enabledSubstitutions & 1) {
78736
- if (resolver.getNodeCheckFlags(node) & 33554432) {
78737
- var declaration = resolver.getReferencedValueDeclaration(node);
78738
- if (declaration) {
78739
- var classAlias = classAliases[declaration.id];
78740
- if (classAlias) {
78741
- var clone_2 = factory.cloneNode(classAlias);
78742
- ts.setSourceMapRange(clone_2, node);
78743
- ts.setCommentRange(clone_2, node);
78744
- return clone_2;
78745
- }
78746
- }
78747
- }
78748
- }
78749
- return undefined;
78750
- }
78751
78472
  function trySubstituteNamespaceExportedName(node) {
78752
78473
  if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) {
78753
78474
  var container = resolver.getReferencedExportContainer(node, false);
@@ -78833,7 +78554,7 @@ var ts;
78833
78554
  return visited;
78834
78555
  }
78835
78556
  function visitorWorker(node, valueIsDiscarded) {
78836
- if (node.transformFlags & 8388608) {
78557
+ if (node.transformFlags & 16777216) {
78837
78558
  switch (node.kind) {
78838
78559
  case 226:
78839
78560
  case 257:
@@ -78848,8 +78569,8 @@ var ts;
78848
78569
  return visitClassStaticBlockDeclaration(node);
78849
78570
  }
78850
78571
  }
78851
- if (node.transformFlags & 8388608 ||
78852
- node.transformFlags & 33554432 &&
78572
+ if (node.transformFlags & 16777216 ||
78573
+ node.transformFlags & 134217728 &&
78853
78574
  shouldTransformSuperInStaticInitializers &&
78854
78575
  currentStaticPropertyDeclarationOrStaticBlock &&
78855
78576
  currentClassLexicalEnvironment) {
@@ -79360,13 +79081,13 @@ var ts;
79360
79081
  facts |= 2;
79361
79082
  }
79362
79083
  if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) {
79363
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192) {
79084
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384) {
79364
79085
  facts |= 8;
79365
79086
  if (!(facts & 1)) {
79366
79087
  facts |= 2;
79367
79088
  }
79368
79089
  }
79369
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432) {
79090
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728) {
79370
79091
  if (!(facts & 1)) {
79371
79092
  facts |= 2 | 4;
79372
79093
  }
@@ -79841,10 +79562,10 @@ var ts;
79841
79562
  if (declaration) {
79842
79563
  var classAlias = classAliases[declaration.id];
79843
79564
  if (classAlias) {
79844
- var clone_3 = factory.cloneNode(classAlias);
79845
- ts.setSourceMapRange(clone_3, node);
79846
- ts.setCommentRange(clone_3, node);
79847
- return clone_3;
79565
+ var clone_2 = factory.cloneNode(classAlias);
79566
+ ts.setSourceMapRange(clone_2, node);
79567
+ ts.setCommentRange(clone_2, node);
79568
+ return clone_2;
79848
79569
  }
79849
79570
  }
79850
79571
  }
@@ -80179,6 +79900,621 @@ var ts;
80179
79900
  }
80180
79901
  })(ts || (ts = {}));
80181
79902
  var ts;
79903
+ (function (ts) {
79904
+ function createRuntimeTypeSerializer(context) {
79905
+ var hoistVariableDeclaration = context.hoistVariableDeclaration;
79906
+ var resolver = context.getEmitResolver();
79907
+ var compilerOptions = context.getCompilerOptions();
79908
+ var languageVersion = ts.getEmitScriptTarget(compilerOptions);
79909
+ var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
79910
+ var currentLexicalScope;
79911
+ var currentNameScope;
79912
+ return {
79913
+ serializeTypeNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeNode, node); },
79914
+ serializeTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeOfNode, node); },
79915
+ serializeParameterTypesOfNode: function (serializerContext, node, container) { return setSerializerContextAnd(serializerContext, serializeParameterTypesOfNode, node, container); },
79916
+ serializeReturnTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeReturnTypeOfNode, node); },
79917
+ };
79918
+ function setSerializerContextAnd(serializerContext, cb, node, arg) {
79919
+ var savedCurrentLexicalScope = currentLexicalScope;
79920
+ var savedCurrentNameScope = currentNameScope;
79921
+ currentLexicalScope = serializerContext.currentLexicalScope;
79922
+ currentNameScope = serializerContext.currentNameScope;
79923
+ var result = arg === undefined ? cb(node) : cb(node, arg);
79924
+ currentLexicalScope = savedCurrentLexicalScope;
79925
+ currentNameScope = savedCurrentNameScope;
79926
+ return result;
79927
+ }
79928
+ function getAccessorTypeNode(node) {
79929
+ var accessors = resolver.getAllAccessorDeclarations(node);
79930
+ return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
79931
+ || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
79932
+ }
79933
+ function serializeTypeOfNode(node) {
79934
+ switch (node.kind) {
79935
+ case 167:
79936
+ case 164:
79937
+ return serializeTypeNode(node.type);
79938
+ case 173:
79939
+ case 172:
79940
+ return serializeTypeNode(getAccessorTypeNode(node));
79941
+ case 257:
79942
+ case 226:
79943
+ case 169:
79944
+ return ts.factory.createIdentifier("Function");
79945
+ default:
79946
+ return ts.factory.createVoidZero();
79947
+ }
79948
+ }
79949
+ function serializeParameterTypesOfNode(node, container) {
79950
+ var valueDeclaration = ts.isClassLike(node)
79951
+ ? ts.getFirstConstructorWithBody(node)
79952
+ : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
79953
+ ? node
79954
+ : undefined;
79955
+ var expressions = [];
79956
+ if (valueDeclaration) {
79957
+ var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
79958
+ var numParameters = parameters.length;
79959
+ for (var i = 0; i < numParameters; i++) {
79960
+ var parameter = parameters[i];
79961
+ if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
79962
+ continue;
79963
+ }
79964
+ if (parameter.dotDotDotToken) {
79965
+ expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
79966
+ }
79967
+ else {
79968
+ expressions.push(serializeTypeOfNode(parameter));
79969
+ }
79970
+ }
79971
+ }
79972
+ return ts.factory.createArrayLiteralExpression(expressions);
79973
+ }
79974
+ function getParametersOfDecoratedDeclaration(node, container) {
79975
+ if (container && node.kind === 172) {
79976
+ var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
79977
+ if (setAccessor) {
79978
+ return setAccessor.parameters;
79979
+ }
79980
+ }
79981
+ return node.parameters;
79982
+ }
79983
+ function serializeReturnTypeOfNode(node) {
79984
+ if (ts.isFunctionLike(node) && node.type) {
79985
+ return serializeTypeNode(node.type);
79986
+ }
79987
+ else if (ts.isAsyncFunction(node)) {
79988
+ return ts.factory.createIdentifier("Promise");
79989
+ }
79990
+ return ts.factory.createVoidZero();
79991
+ }
79992
+ function serializeTypeNode(node) {
79993
+ if (node === undefined) {
79994
+ return ts.factory.createIdentifier("Object");
79995
+ }
79996
+ node = ts.skipTypeParentheses(node);
79997
+ switch (node.kind) {
79998
+ case 114:
79999
+ case 153:
80000
+ case 143:
80001
+ return ts.factory.createVoidZero();
80002
+ case 179:
80003
+ case 180:
80004
+ return ts.factory.createIdentifier("Function");
80005
+ case 183:
80006
+ case 184:
80007
+ return ts.factory.createIdentifier("Array");
80008
+ case 177:
80009
+ return node.assertsModifier ?
80010
+ ts.factory.createVoidZero() :
80011
+ ts.factory.createIdentifier("Boolean");
80012
+ case 133:
80013
+ return ts.factory.createIdentifier("Boolean");
80014
+ case 198:
80015
+ case 150:
80016
+ return ts.factory.createIdentifier("String");
80017
+ case 148:
80018
+ return ts.factory.createIdentifier("Object");
80019
+ case 196:
80020
+ return serializeLiteralOfLiteralTypeNode(node.literal);
80021
+ case 147:
80022
+ return ts.factory.createIdentifier("Number");
80023
+ case 158:
80024
+ return getGlobalConstructor("BigInt", 7);
80025
+ case 151:
80026
+ return getGlobalConstructor("Symbol", 2);
80027
+ case 178:
80028
+ return serializeTypeReferenceNode(node);
80029
+ case 188:
80030
+ return serializeUnionOrIntersectionConstituents(node.types, true);
80031
+ case 187:
80032
+ return serializeUnionOrIntersectionConstituents(node.types, false);
80033
+ case 189:
80034
+ return serializeUnionOrIntersectionConstituents([node.trueType, node.falseType], false);
80035
+ case 193:
80036
+ if (node.operator === 145) {
80037
+ return serializeTypeNode(node.type);
80038
+ }
80039
+ break;
80040
+ case 181:
80041
+ case 194:
80042
+ case 195:
80043
+ case 182:
80044
+ case 130:
80045
+ case 155:
80046
+ case 192:
80047
+ case 200:
80048
+ break;
80049
+ case 312:
80050
+ case 313:
80051
+ case 317:
80052
+ case 318:
80053
+ case 319:
80054
+ break;
80055
+ case 314:
80056
+ case 315:
80057
+ case 316:
80058
+ return serializeTypeNode(node.type);
80059
+ default:
80060
+ return ts.Debug.failBadSyntaxKind(node);
80061
+ }
80062
+ return ts.factory.createIdentifier("Object");
80063
+ }
80064
+ function serializeLiteralOfLiteralTypeNode(node) {
80065
+ switch (node.kind) {
80066
+ case 10:
80067
+ case 14:
80068
+ return ts.factory.createIdentifier("String");
80069
+ case 219: {
80070
+ var operand = node.operand;
80071
+ switch (operand.kind) {
80072
+ case 8:
80073
+ case 9:
80074
+ return serializeLiteralOfLiteralTypeNode(operand);
80075
+ default:
80076
+ return ts.Debug.failBadSyntaxKind(operand);
80077
+ }
80078
+ }
80079
+ case 8:
80080
+ return ts.factory.createIdentifier("Number");
80081
+ case 9:
80082
+ return getGlobalConstructor("BigInt", 7);
80083
+ case 110:
80084
+ case 95:
80085
+ return ts.factory.createIdentifier("Boolean");
80086
+ case 104:
80087
+ return ts.factory.createVoidZero();
80088
+ default:
80089
+ return ts.Debug.failBadSyntaxKind(node);
80090
+ }
80091
+ }
80092
+ function serializeUnionOrIntersectionConstituents(types, isIntersection) {
80093
+ var serializedType;
80094
+ for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
80095
+ var typeNode = types_22[_i];
80096
+ typeNode = ts.skipTypeParentheses(typeNode);
80097
+ if (typeNode.kind === 143) {
80098
+ if (isIntersection)
80099
+ return ts.factory.createVoidZero();
80100
+ continue;
80101
+ }
80102
+ if (typeNode.kind === 155) {
80103
+ if (!isIntersection)
80104
+ return ts.factory.createIdentifier("Object");
80105
+ continue;
80106
+ }
80107
+ if (typeNode.kind === 130) {
80108
+ return ts.factory.createIdentifier("Object");
80109
+ }
80110
+ if (!strictNullChecks && ((ts.isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104) || typeNode.kind === 153)) {
80111
+ continue;
80112
+ }
80113
+ var serializedConstituent = serializeTypeNode(typeNode);
80114
+ if (ts.isIdentifier(serializedConstituent) && serializedConstituent.escapedText === "Object") {
80115
+ return serializedConstituent;
80116
+ }
80117
+ if (serializedType) {
80118
+ if (!equateSerializedTypeNodes(serializedType, serializedConstituent)) {
80119
+ return ts.factory.createIdentifier("Object");
80120
+ }
80121
+ }
80122
+ else {
80123
+ serializedType = serializedConstituent;
80124
+ }
80125
+ }
80126
+ return serializedType !== null && serializedType !== void 0 ? serializedType : (ts.factory.createVoidZero());
80127
+ }
80128
+ function equateSerializedTypeNodes(left, right) {
80129
+ return (ts.isGeneratedIdentifier(left) ? ts.isGeneratedIdentifier(right) :
80130
+ ts.isIdentifier(left) ? ts.isIdentifier(right)
80131
+ && left.escapedText === right.escapedText :
80132
+ ts.isPropertyAccessExpression(left) ? ts.isPropertyAccessExpression(right)
80133
+ && equateSerializedTypeNodes(left.expression, right.expression)
80134
+ && equateSerializedTypeNodes(left.name, right.name) :
80135
+ ts.isVoidExpression(left) ? ts.isVoidExpression(right)
80136
+ && ts.isNumericLiteral(left.expression) && left.expression.text === "0"
80137
+ && ts.isNumericLiteral(right.expression) && right.expression.text === "0" :
80138
+ ts.isStringLiteral(left) ? ts.isStringLiteral(right)
80139
+ && left.text === right.text :
80140
+ ts.isTypeOfExpression(left) ? ts.isTypeOfExpression(right)
80141
+ && equateSerializedTypeNodes(left.expression, right.expression) :
80142
+ ts.isParenthesizedExpression(left) ? ts.isParenthesizedExpression(right)
80143
+ && equateSerializedTypeNodes(left.expression, right.expression) :
80144
+ ts.isConditionalExpression(left) ? ts.isConditionalExpression(right)
80145
+ && equateSerializedTypeNodes(left.condition, right.condition)
80146
+ && equateSerializedTypeNodes(left.whenTrue, right.whenTrue)
80147
+ && equateSerializedTypeNodes(left.whenFalse, right.whenFalse) :
80148
+ ts.isBinaryExpression(left) ? ts.isBinaryExpression(right)
80149
+ && left.operatorToken.kind === right.operatorToken.kind
80150
+ && equateSerializedTypeNodes(left.left, right.left)
80151
+ && equateSerializedTypeNodes(left.right, right.right) :
80152
+ false);
80153
+ }
80154
+ function serializeTypeReferenceNode(node) {
80155
+ var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope !== null && currentNameScope !== void 0 ? currentNameScope : currentLexicalScope);
80156
+ switch (kind) {
80157
+ case ts.TypeReferenceSerializationKind.Unknown:
80158
+ if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
80159
+ return ts.factory.createIdentifier("Object");
80160
+ }
80161
+ var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
80162
+ var temp = ts.factory.createTempVariable(hoistVariableDeclaration);
80163
+ return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, ts.factory.createIdentifier("Object"));
80164
+ case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
80165
+ return serializeEntityNameAsExpression(node.typeName);
80166
+ case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
80167
+ return ts.factory.createVoidZero();
80168
+ case ts.TypeReferenceSerializationKind.BigIntLikeType:
80169
+ return getGlobalConstructor("BigInt", 7);
80170
+ case ts.TypeReferenceSerializationKind.BooleanType:
80171
+ return ts.factory.createIdentifier("Boolean");
80172
+ case ts.TypeReferenceSerializationKind.NumberLikeType:
80173
+ return ts.factory.createIdentifier("Number");
80174
+ case ts.TypeReferenceSerializationKind.StringLikeType:
80175
+ return ts.factory.createIdentifier("String");
80176
+ case ts.TypeReferenceSerializationKind.ArrayLikeType:
80177
+ return ts.factory.createIdentifier("Array");
80178
+ case ts.TypeReferenceSerializationKind.ESSymbolType:
80179
+ return getGlobalConstructor("Symbol", 2);
80180
+ case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
80181
+ return ts.factory.createIdentifier("Function");
80182
+ case ts.TypeReferenceSerializationKind.Promise:
80183
+ return ts.factory.createIdentifier("Promise");
80184
+ case ts.TypeReferenceSerializationKind.ObjectType:
80185
+ return ts.factory.createIdentifier("Object");
80186
+ default:
80187
+ return ts.Debug.assertNever(kind);
80188
+ }
80189
+ }
80190
+ function createCheckedValue(left, right) {
80191
+ return ts.factory.createLogicalAnd(ts.factory.createStrictInequality(ts.factory.createTypeOfExpression(left), ts.factory.createStringLiteral("undefined")), right);
80192
+ }
80193
+ function serializeEntityNameAsExpressionFallback(node) {
80194
+ if (node.kind === 79) {
80195
+ var copied = serializeEntityNameAsExpression(node);
80196
+ return createCheckedValue(copied, copied);
80197
+ }
80198
+ if (node.left.kind === 79) {
80199
+ return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
80200
+ }
80201
+ var left = serializeEntityNameAsExpressionFallback(node.left);
80202
+ var temp = ts.factory.createTempVariable(hoistVariableDeclaration);
80203
+ return ts.factory.createLogicalAnd(ts.factory.createLogicalAnd(left.left, ts.factory.createStrictInequality(ts.factory.createAssignment(temp, left.right), ts.factory.createVoidZero())), ts.factory.createPropertyAccessExpression(temp, node.right));
80204
+ }
80205
+ function serializeEntityNameAsExpression(node) {
80206
+ switch (node.kind) {
80207
+ case 79:
80208
+ var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
80209
+ name.original = undefined;
80210
+ ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
80211
+ return name;
80212
+ case 161:
80213
+ return serializeQualifiedNameAsExpression(node);
80214
+ }
80215
+ }
80216
+ function serializeQualifiedNameAsExpression(node) {
80217
+ return ts.factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
80218
+ }
80219
+ function getGlobalConstructorWithFallback(name) {
80220
+ return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), undefined, ts.factory.createIdentifier(name), undefined, ts.factory.createIdentifier("Object"));
80221
+ }
80222
+ function getGlobalConstructor(name, minLanguageVersion) {
80223
+ return languageVersion < minLanguageVersion ?
80224
+ getGlobalConstructorWithFallback(name) :
80225
+ ts.factory.createIdentifier(name);
80226
+ }
80227
+ }
80228
+ ts.createRuntimeTypeSerializer = createRuntimeTypeSerializer;
80229
+ })(ts || (ts = {}));
80230
+ var ts;
80231
+ (function (ts) {
80232
+ function transformLegacyDecorators(context) {
80233
+ var factory = context.factory, emitHelpers = context.getEmitHelperFactory, hoistVariableDeclaration = context.hoistVariableDeclaration;
80234
+ var resolver = context.getEmitResolver();
80235
+ var compilerOptions = context.getCompilerOptions();
80236
+ var languageVersion = ts.getEmitScriptTarget(compilerOptions);
80237
+ var previousOnSubstituteNode = context.onSubstituteNode;
80238
+ context.onSubstituteNode = onSubstituteNode;
80239
+ var classAliases;
80240
+ return ts.chainBundle(context, transformSourceFile);
80241
+ function transformSourceFile(node) {
80242
+ var visited = ts.visitEachChild(node, visitor, context);
80243
+ ts.addEmitHelpers(visited, context.readEmitHelpers());
80244
+ return visited;
80245
+ }
80246
+ function visitor(node) {
80247
+ if (!(node.transformFlags & 33554432)) {
80248
+ return node;
80249
+ }
80250
+ switch (node.kind) {
80251
+ case 165:
80252
+ return undefined;
80253
+ case 257:
80254
+ return visitClassDeclaration(node);
80255
+ case 226:
80256
+ return visitClassExpression(node);
80257
+ case 171:
80258
+ return visitConstructorDeclaration(node);
80259
+ case 169:
80260
+ return visitMethodDeclaration(node);
80261
+ case 173:
80262
+ return visitSetAccessorDeclaration(node);
80263
+ case 172:
80264
+ return visitGetAccessorDeclaration(node);
80265
+ case 170:
80266
+ return visitClassStaticBlockDeclaration(node);
80267
+ case 167:
80268
+ return visitPropertyDeclaration(node);
80269
+ case 164:
80270
+ return visitParameterDeclaration(node);
80271
+ default:
80272
+ return ts.visitEachChild(node, visitor, context);
80273
+ }
80274
+ }
80275
+ function visitClassDeclaration(node) {
80276
+ if (!(ts.classOrConstructorParameterIsDecorated(node) || ts.childIsDecorated(node)))
80277
+ return ts.visitEachChild(node, visitor, context);
80278
+ var classStatement = ts.some(node.decorators) ?
80279
+ createClassDeclarationHeadWithDecorators(node, node.name) :
80280
+ createClassDeclarationHeadWithoutDecorators(node, node.name);
80281
+ var statements = [classStatement];
80282
+ addClassElementDecorationStatements(statements, node, false);
80283
+ addClassElementDecorationStatements(statements, node, true);
80284
+ addConstructorDecorationStatement(statements, node);
80285
+ if (statements.length > 1) {
80286
+ statements.push(factory.createEndOfDeclarationMarker(node));
80287
+ ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
80288
+ }
80289
+ return ts.singleOrMany(statements);
80290
+ }
80291
+ function createClassDeclarationHeadWithoutDecorators(node, name) {
80292
+ return factory.updateClassDeclaration(node, ts.elideNodes(factory, node.decorators), node.modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
80293
+ }
80294
+ function createClassDeclarationHeadWithDecorators(node, name) {
80295
+ var location = ts.moveRangePastModifiers(node);
80296
+ var classAlias = getClassAliasIfNeeded(node);
80297
+ var declName = languageVersion <= 2 ?
80298
+ factory.getInternalName(node, false, true) :
80299
+ factory.getLocalName(node, false, true);
80300
+ var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
80301
+ var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
80302
+ var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
80303
+ ts.setOriginalNode(classExpression, node);
80304
+ ts.setTextRange(classExpression, location);
80305
+ var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
80306
+ factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
80307
+ ], 1));
80308
+ ts.setOriginalNode(statement, node);
80309
+ ts.setTextRange(statement, location);
80310
+ ts.setCommentRange(statement, node);
80311
+ return statement;
80312
+ }
80313
+ function visitClassExpression(node) {
80314
+ return factory.updateClassExpression(node, ts.elideNodes(factory, node.decorators), node.modifiers, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement));
80315
+ }
80316
+ function visitConstructorDeclaration(node) {
80317
+ return factory.updateConstructorDeclaration(node, undefined, node.modifiers, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock));
80318
+ }
80319
+ function finishClassElement(updated, original) {
80320
+ if (updated !== original) {
80321
+ ts.setCommentRange(updated, original);
80322
+ ts.setSourceMapRange(updated, ts.moveRangePastModifiers(original));
80323
+ }
80324
+ return updated;
80325
+ }
80326
+ function visitMethodDeclaration(node) {
80327
+ return finishClassElement(factory.updateMethodDeclaration(node, ts.elideNodes(factory, node.decorators), node.modifiers, node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
80328
+ }
80329
+ function visitGetAccessorDeclaration(node) {
80330
+ return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.elideNodes(factory, node.decorators), node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node);
80331
+ }
80332
+ function visitSetAccessorDeclaration(node) {
80333
+ return finishClassElement(factory.updateSetAccessorDeclaration(node, ts.elideNodes(factory, node.decorators), node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock)), node);
80334
+ }
80335
+ function visitClassStaticBlockDeclaration(node) {
80336
+ return factory.updateClassStaticBlockDeclaration(node, undefined, node.modifiers, ts.visitNode(node.body, visitor, ts.isBlock));
80337
+ }
80338
+ function visitPropertyDeclaration(node) {
80339
+ if (node.flags & 16777216 || ts.hasSyntacticModifier(node, 2)) {
80340
+ return undefined;
80341
+ }
80342
+ return finishClassElement(factory.updatePropertyDeclaration(node, ts.elideNodes(factory, node.decorators), node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node);
80343
+ }
80344
+ function visitParameterDeclaration(node) {
80345
+ var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.decorators), undefined, node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
80346
+ if (updated !== node) {
80347
+ ts.setCommentRange(updated, node);
80348
+ ts.setTextRange(updated, ts.moveRangePastModifiers(node));
80349
+ ts.setSourceMapRange(updated, ts.moveRangePastModifiers(node));
80350
+ ts.setEmitFlags(updated.name, 32);
80351
+ }
80352
+ return updated;
80353
+ }
80354
+ function transformAllDecoratorsOfDeclaration(allDecorators) {
80355
+ if (!allDecorators) {
80356
+ return undefined;
80357
+ }
80358
+ var decoratorExpressions = [];
80359
+ ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
80360
+ ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
80361
+ return decoratorExpressions;
80362
+ }
80363
+ function addClassElementDecorationStatements(statements, node, isStatic) {
80364
+ ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), function (expr) { return factory.createExpressionStatement(expr); }));
80365
+ }
80366
+ function isDecoratedClassElement(member, isStaticElement, parent) {
80367
+ return ts.nodeOrChildIsDecorated(member, parent)
80368
+ && isStaticElement === ts.isStatic(member);
80369
+ }
80370
+ function getDecoratedClassElements(node, isStatic) {
80371
+ return ts.filter(node.members, function (m) { return isDecoratedClassElement(m, isStatic, node); });
80372
+ }
80373
+ function generateClassElementDecorationExpressions(node, isStatic) {
80374
+ var members = getDecoratedClassElements(node, isStatic);
80375
+ var expressions;
80376
+ for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
80377
+ var member = members_8[_i];
80378
+ expressions = ts.append(expressions, generateClassElementDecorationExpression(node, member));
80379
+ }
80380
+ return expressions;
80381
+ }
80382
+ function generateClassElementDecorationExpression(node, member) {
80383
+ var allDecorators = ts.getAllDecoratorsOfClassElement(member, node);
80384
+ var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators);
80385
+ if (!decoratorExpressions) {
80386
+ return undefined;
80387
+ }
80388
+ var prefix = getClassMemberPrefix(node, member);
80389
+ var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
80390
+ var descriptor = languageVersion > 0
80391
+ ? member.kind === 167
80392
+ ? factory.createVoidZero()
80393
+ : factory.createNull()
80394
+ : undefined;
80395
+ var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
80396
+ ts.setEmitFlags(helper, 1536);
80397
+ ts.setSourceMapRange(helper, ts.moveRangePastModifiers(member));
80398
+ return helper;
80399
+ }
80400
+ function addConstructorDecorationStatement(statements, node) {
80401
+ var expression = generateConstructorDecorationExpression(node);
80402
+ if (expression) {
80403
+ statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
80404
+ }
80405
+ }
80406
+ function generateConstructorDecorationExpression(node) {
80407
+ var allDecorators = ts.getAllDecoratorsOfClass(node);
80408
+ var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators);
80409
+ if (!decoratorExpressions) {
80410
+ return undefined;
80411
+ }
80412
+ var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
80413
+ var localName = languageVersion <= 2 ?
80414
+ factory.getInternalName(node, false, true) :
80415
+ factory.getLocalName(node, false, true);
80416
+ var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
80417
+ var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
80418
+ ts.setEmitFlags(expression, 1536);
80419
+ ts.setSourceMapRange(expression, ts.moveRangePastModifiers(node));
80420
+ return expression;
80421
+ }
80422
+ function transformDecorator(decorator) {
80423
+ return ts.visitNode(decorator.expression, visitor, ts.isExpression);
80424
+ }
80425
+ function transformDecoratorsOfParameter(decorators, parameterOffset) {
80426
+ var expressions;
80427
+ if (decorators) {
80428
+ expressions = [];
80429
+ for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
80430
+ var decorator = decorators_1[_i];
80431
+ var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
80432
+ ts.setTextRange(helper, decorator.expression);
80433
+ ts.setEmitFlags(helper, 1536);
80434
+ expressions.push(helper);
80435
+ }
80436
+ }
80437
+ return expressions;
80438
+ }
80439
+ function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
80440
+ var name = member.name;
80441
+ if (ts.isPrivateIdentifier(name)) {
80442
+ return factory.createIdentifier("");
80443
+ }
80444
+ else if (ts.isComputedPropertyName(name)) {
80445
+ return generateNameForComputedPropertyName && !ts.isSimpleInlineableExpression(name.expression)
80446
+ ? factory.getGeneratedNameForNode(name)
80447
+ : name.expression;
80448
+ }
80449
+ else if (ts.isIdentifier(name)) {
80450
+ return factory.createStringLiteral(ts.idText(name));
80451
+ }
80452
+ else {
80453
+ return factory.cloneNode(name);
80454
+ }
80455
+ }
80456
+ function enableSubstitutionForClassAliases() {
80457
+ if (!classAliases) {
80458
+ context.enableSubstitution(79);
80459
+ classAliases = [];
80460
+ }
80461
+ }
80462
+ function getClassAliasIfNeeded(node) {
80463
+ if (resolver.getNodeCheckFlags(node) & 16777216) {
80464
+ enableSubstitutionForClassAliases();
80465
+ var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
80466
+ classAliases[ts.getOriginalNodeId(node)] = classAlias;
80467
+ hoistVariableDeclaration(classAlias);
80468
+ return classAlias;
80469
+ }
80470
+ }
80471
+ function getClassPrototype(node) {
80472
+ return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
80473
+ }
80474
+ function getClassMemberPrefix(node, member) {
80475
+ return ts.isStatic(member)
80476
+ ? factory.getDeclarationName(node)
80477
+ : getClassPrototype(node);
80478
+ }
80479
+ function onSubstituteNode(hint, node) {
80480
+ node = previousOnSubstituteNode(hint, node);
80481
+ if (hint === 1) {
80482
+ return substituteExpression(node);
80483
+ }
80484
+ return node;
80485
+ }
80486
+ function substituteExpression(node) {
80487
+ switch (node.kind) {
80488
+ case 79:
80489
+ return substituteExpressionIdentifier(node);
80490
+ }
80491
+ return node;
80492
+ }
80493
+ function substituteExpressionIdentifier(node) {
80494
+ var _a;
80495
+ return (_a = trySubstituteClassAlias(node)) !== null && _a !== void 0 ? _a : node;
80496
+ }
80497
+ function trySubstituteClassAlias(node) {
80498
+ if (classAliases) {
80499
+ if (resolver.getNodeCheckFlags(node) & 33554432) {
80500
+ var declaration = resolver.getReferencedValueDeclaration(node);
80501
+ if (declaration) {
80502
+ var classAlias = classAliases[declaration.id];
80503
+ if (classAlias) {
80504
+ var clone_3 = factory.cloneNode(classAlias);
80505
+ ts.setSourceMapRange(clone_3, node);
80506
+ ts.setCommentRange(clone_3, node);
80507
+ return clone_3;
80508
+ }
80509
+ }
80510
+ }
80511
+ }
80512
+ return undefined;
80513
+ }
80514
+ }
80515
+ ts.transformLegacyDecorators = transformLegacyDecorators;
80516
+ })(ts || (ts = {}));
80517
+ var ts;
80182
80518
  (function (ts) {
80183
80519
  function transformES2017(context) {
80184
80520
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
@@ -80844,7 +81180,7 @@ var ts;
80844
81180
  return objects;
80845
81181
  }
80846
81182
  function visitObjectLiteralExpression(node) {
80847
- if (node.transformFlags & 32768) {
81183
+ if (node.transformFlags & 65536) {
80848
81184
  var objects = chunkObjectLiteralElements(node.properties);
80849
81185
  if (objects.length && objects[0].kind !== 205) {
80850
81186
  objects.unshift(factory.createObjectLiteralExpression());
@@ -80885,7 +81221,7 @@ var ts;
80885
81221
  return ts.processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, ts.ProcessLevel.LiftRestriction);
80886
81222
  }
80887
81223
  function visitBinaryExpression(node, expressionResultIsUnused) {
80888
- if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768) {
81224
+ if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 65536) {
80889
81225
  return ts.flattenDestructuringAssignment(node, visitor, context, 1, !expressionResultIsUnused);
80890
81226
  }
80891
81227
  if (node.operatorToken.kind === 27) {
@@ -80912,7 +81248,7 @@ var ts;
80912
81248
  function visitCatchClause(node) {
80913
81249
  if (node.variableDeclaration &&
80914
81250
  ts.isBindingPattern(node.variableDeclaration.name) &&
80915
- node.variableDeclaration.name.transformFlags & 32768) {
81251
+ node.variableDeclaration.name.transformFlags & 65536) {
80916
81252
  var name = factory.getGeneratedNameForNode(node.variableDeclaration.name);
80917
81253
  var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, undefined, undefined, name);
80918
81254
  var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1);
@@ -80947,7 +81283,7 @@ var ts;
80947
81283
  return visitVariableDeclarationWorker(node, false);
80948
81284
  }
80949
81285
  function visitVariableDeclarationWorker(node, exportedVariableStatement) {
80950
- if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768) {
81286
+ if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536) {
80951
81287
  return ts.flattenDestructuringBinding(node, visitor, context, 1, undefined, exportedVariableStatement);
80952
81288
  }
80953
81289
  return ts.visitEachChild(node, visitor, context);
@@ -80960,7 +81296,7 @@ var ts;
80960
81296
  }
80961
81297
  function visitForOfStatement(node, outermostLabeledStatement) {
80962
81298
  var ancestorFacts = enterSubtree(0, 2);
80963
- if (node.initializer.transformFlags & 32768) {
81299
+ if (node.initializer.transformFlags & 65536) {
80964
81300
  node = transformForOfStatementWithObjectRest(node);
80965
81301
  }
80966
81302
  var result = node.awaitModifier ?
@@ -81057,7 +81393,7 @@ var ts;
81057
81393
  if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) {
81058
81394
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, undefined, undefined, undefined);
81059
81395
  }
81060
- if (node.transformFlags & 32768) {
81396
+ if (node.transformFlags & 65536) {
81061
81397
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
81062
81398
  }
81063
81399
  return ts.visitEachChild(node, visitor, context);
@@ -81069,7 +81405,7 @@ var ts;
81069
81405
  if (parameters) {
81070
81406
  parameters.add(parameter);
81071
81407
  }
81072
- else if (parameter.transformFlags & 32768) {
81408
+ else if (parameter.transformFlags & 65536) {
81073
81409
  parameters = new ts.Set();
81074
81410
  }
81075
81411
  }
@@ -81258,7 +81594,7 @@ var ts;
81258
81594
  statements = ts.append(statements, statement);
81259
81595
  }
81260
81596
  }
81261
- else if (parameter.transformFlags & 32768) {
81597
+ else if (parameter.transformFlags & 65536) {
81262
81598
  containsPrecedingObjectRestOrSpread = true;
81263
81599
  var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, factory.getGeneratedNameForNode(parameter), false, true);
81264
81600
  if (ts.some(declarations)) {
@@ -82391,7 +82727,7 @@ var ts;
82391
82727
  && !node.expression;
82392
82728
  }
82393
82729
  function isOrMayContainReturnCompletion(node) {
82394
- return node.transformFlags & 2097152
82730
+ return node.transformFlags & 4194304
82395
82731
  && (ts.isReturnStatement(node)
82396
82732
  || ts.isIfStatement(node)
82397
82733
  || ts.isWithStatement(node)
@@ -82798,7 +83134,7 @@ var ts;
82798
83134
  factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment());
82799
83135
  insertCaptureNewTargetIfNeeded(prologue, constructor, false);
82800
83136
  if (isDerivedClass || superCallExpression) {
82801
- if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192)) {
83137
+ if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 16384)) {
82802
83138
  var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression);
82803
83139
  var returnStatement = factory.createReturnStatement(superCallExpression);
82804
83140
  ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1));
@@ -83113,7 +83449,7 @@ var ts;
83113
83449
  return call;
83114
83450
  }
83115
83451
  function visitArrowFunction(node) {
83116
- if (node.transformFlags & 8192 && !(hierarchyFacts & 16384)) {
83452
+ if (node.transformFlags & 16384 && !(hierarchyFacts & 16384)) {
83117
83453
  hierarchyFacts |= 65536;
83118
83454
  }
83119
83455
  var savedConvertedLoopState = convertedLoopState;
@@ -83317,7 +83653,7 @@ var ts;
83317
83653
  return updated;
83318
83654
  }
83319
83655
  function visitVariableDeclarationList(node) {
83320
- if (node.flags & 3 || node.transformFlags & 262144) {
83656
+ if (node.flags & 3 || node.transformFlags & 524288) {
83321
83657
  if (node.flags & 3) {
83322
83658
  enableSubstitutionsForBlockScopedBindings();
83323
83659
  }
@@ -83328,7 +83664,7 @@ var ts;
83328
83664
  ts.setOriginalNode(declarationList, node);
83329
83665
  ts.setTextRange(declarationList, node);
83330
83666
  ts.setCommentRange(declarationList, node);
83331
- if (node.transformFlags & 262144
83667
+ if (node.transformFlags & 524288
83332
83668
  && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) {
83333
83669
  ts.setSourceMapRange(declarationList, getRangeUnion(declarations));
83334
83670
  }
@@ -83530,7 +83866,7 @@ var ts;
83530
83866
  var numInitialProperties = -1, hasComputed = false;
83531
83867
  for (var i = 0; i < properties.length; i++) {
83532
83868
  var property = properties[i];
83533
- if ((property.transformFlags & 524288 &&
83869
+ if ((property.transformFlags & 1048576 &&
83534
83870
  hierarchyFacts & 4)
83535
83871
  || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162)) {
83536
83872
  numInitialProperties = i;
@@ -83756,7 +84092,7 @@ var ts;
83756
84092
  }
83757
84093
  function createFunctionForInitializerOfForStatement(node, currentState) {
83758
84094
  var functionName = factory.createUniqueName("_loop_init");
83759
- var containsYield = (node.initializer.transformFlags & 524288) !== 0;
84095
+ var containsYield = (node.initializer.transformFlags & 1048576) !== 0;
83760
84096
  var emitFlags = 0;
83761
84097
  if (currentState.containsLexicalThis)
83762
84098
  emitFlags |= 8;
@@ -83800,7 +84136,7 @@ var ts;
83800
84136
  var loopBody = factory.createBlock(statements, true);
83801
84137
  if (ts.isBlock(statement))
83802
84138
  ts.setOriginalNode(loopBody, statement);
83803
- var containsYield = (node.statement.transformFlags & 524288) !== 0;
84139
+ var containsYield = (node.statement.transformFlags & 1048576) !== 0;
83804
84140
  var emitFlags = 524288;
83805
84141
  if (currentState.containsLexicalThis)
83806
84142
  emitFlags |= 8;
@@ -84110,7 +84446,7 @@ var ts;
84110
84446
  return visitCallExpressionWithPotentialCapturedThisAssignment(node, false);
84111
84447
  }
84112
84448
  function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) {
84113
- if (node.transformFlags & 16384 ||
84449
+ if (node.transformFlags & 32768 ||
84114
84450
  node.expression.kind === 106 ||
84115
84451
  ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) {
84116
84452
  var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg;
@@ -84118,7 +84454,7 @@ var ts;
84118
84454
  ts.setEmitFlags(thisArg, 4);
84119
84455
  }
84120
84456
  var resultingCall = void 0;
84121
- if (node.transformFlags & 16384) {
84457
+ if (node.transformFlags & 32768) {
84122
84458
  resultingCall = factory.createFunctionApplyCall(ts.visitNode(target, callExpressionVisitor, ts.isExpression), node.expression.kind === 106 ? thisArg : ts.visitNode(thisArg, visitor, ts.isExpression), transformAndSpreadElements(node.arguments, true, false, false));
84123
84459
  }
84124
84460
  else {
@@ -84549,10 +84885,10 @@ var ts;
84549
84885
  case 247:
84550
84886
  return visitReturnStatement(node);
84551
84887
  default:
84552
- if (node.transformFlags & 524288) {
84888
+ if (node.transformFlags & 1048576) {
84553
84889
  return visitJavaScriptContainingYield(node);
84554
84890
  }
84555
- else if (node.transformFlags & (2048 | 2097152)) {
84891
+ else if (node.transformFlags & (2048 | 4194304)) {
84556
84892
  return ts.visitEachChild(node, visitor, context);
84557
84893
  }
84558
84894
  else {
@@ -84690,7 +85026,7 @@ var ts;
84690
85026
  return ts.setTextRange(factory.createBlock(statements, body.multiLine), body);
84691
85027
  }
84692
85028
  function visitVariableStatement(node) {
84693
- if (node.transformFlags & 524288) {
85029
+ if (node.transformFlags & 1048576) {
84694
85030
  transformAndEmitVariableDeclarationList(node.declarationList);
84695
85031
  return undefined;
84696
85032
  }
@@ -85363,7 +85699,7 @@ var ts;
85363
85699
  }
85364
85700
  }
85365
85701
  function containsYield(node) {
85366
- return !!node && (node.transformFlags & 524288) !== 0;
85702
+ return !!node && (node.transformFlags & 1048576) !== 0;
85367
85703
  }
85368
85704
  function countInitialNodesWithoutYield(nodes) {
85369
85705
  var numNodes = nodes.length;
@@ -86093,7 +86429,7 @@ var ts;
86093
86429
  function transformSourceFile(node) {
86094
86430
  if (node.isDeclarationFile ||
86095
86431
  !(ts.isEffectiveExternalModule(node, compilerOptions) ||
86096
- node.transformFlags & 4194304 ||
86432
+ node.transformFlags & 8388608 ||
86097
86433
  (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) {
86098
86434
  return node;
86099
86435
  }
@@ -86299,7 +86635,7 @@ var ts;
86299
86635
  }
86300
86636
  }
86301
86637
  function visitorWorker(node, valueIsDiscarded) {
86302
- if (!(node.transformFlags & (4194304 | 4096 | 67108864))) {
86638
+ if (!(node.transformFlags & (8388608 | 4096 | 268435456))) {
86303
86639
  return node;
86304
86640
  }
86305
86641
  switch (node.kind) {
@@ -86440,7 +86776,7 @@ var ts;
86440
86776
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
86441
86777
  var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
86442
86778
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
86443
- var containsLexicalThis = !!(node.transformFlags & 8192);
86779
+ var containsLexicalThis = !!(node.transformFlags & 16384);
86444
86780
  switch (compilerOptions.module) {
86445
86781
  case ts.ModuleKind.AMD:
86446
86782
  return createImportCallExpressionAMD(argument, containsLexicalThis);
@@ -87071,7 +87407,7 @@ var ts;
87071
87407
  var noSubstitution;
87072
87408
  return ts.chainBundle(context, transformSourceFile);
87073
87409
  function transformSourceFile(node) {
87074
- if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304)) {
87410
+ if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 8388608)) {
87075
87411
  return node;
87076
87412
  }
87077
87413
  var id = ts.getOriginalNodeId(node);
@@ -87145,7 +87481,7 @@ var ts;
87145
87481
  ts.addRange(statements, hoistedStatements);
87146
87482
  ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment());
87147
87483
  var exportStarFunction = addExportStarIfNeeded(statements);
87148
- var modifiers = node.transformFlags & 1048576 ?
87484
+ var modifiers = node.transformFlags & 2097152 ?
87149
87485
  factory.createModifiersFromModifierFlags(256) :
87150
87486
  undefined;
87151
87487
  var moduleObject = factory.createObjectLiteralExpression([
@@ -87686,7 +88022,7 @@ var ts;
87686
88022
  return node;
87687
88023
  }
87688
88024
  function visitorWorker(node, valueIsDiscarded) {
87689
- if (!(node.transformFlags & (4096 | 4194304 | 67108864))) {
88025
+ if (!(node.transformFlags & (4096 | 8388608 | 268435456))) {
87690
88026
  return node;
87691
88027
  }
87692
88028
  switch (node.kind) {
@@ -89871,6 +90207,7 @@ var ts;
89871
90207
  var transformers = [];
89872
90208
  ts.addRange(transformers, customTransformers && ts.map(customTransformers.before, wrapScriptTransformerFactory));
89873
90209
  transformers.push(ts.transformTypeScript);
90210
+ transformers.push(ts.transformLegacyDecorators);
89874
90211
  transformers.push(ts.transformClassFields);
89875
90212
  if (ts.getJSXTransformEnabled(compilerOptions)) {
89876
90213
  transformers.push(ts.transformJsx);