typescript 4.8.0-dev.20220601 → 4.8.0-dev.20220604

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.20220601";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220604";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -5381,6 +5381,7 @@ var ts;
5381
5381
  Decorators_are_not_valid_here: diag(1206, ts.DiagnosticCategory.Error, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."),
5382
5382
  Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: diag(1207, ts.DiagnosticCategory.Error, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."),
5383
5383
  _0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module: diag(1208, ts.DiagnosticCategory.Error, "_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208", "'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),
5384
+ Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0: diag(1209, ts.DiagnosticCategory.Error, "Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209", "Invalid optional chain from new expression. Did you mean to call '{0}()'?"),
5384
5385
  Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: diag(1210, ts.DiagnosticCategory.Error, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),
5385
5386
  A_class_declaration_without_the_default_modifier_must_have_a_name: diag(1211, ts.DiagnosticCategory.Error, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."),
5386
5387
  Identifier_expected_0_is_a_reserved_word_in_strict_mode: diag(1212, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."),
@@ -5577,7 +5578,7 @@ var ts;
5577
5578
  Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: diag(1449, ts.DiagnosticCategory.Message, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."),
5578
5579
  Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments: diag(1450, ts.DiagnosticCategory.Message, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional assertion as arguments"),
5579
5580
  Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: diag(1451, ts.DiagnosticCategory.Error, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),
5580
- Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "Resolution modes are only supported when `moduleResolution` is `node16` or `nodenext`."),
5581
+ resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),
5581
5582
  resolution_mode_should_be_either_require_or_import: diag(1453, ts.DiagnosticCategory.Error, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."),
5582
5583
  resolution_mode_can_only_be_set_for_type_only_imports: diag(1454, ts.DiagnosticCategory.Error, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."),
5583
5584
  resolution_mode_is_the_only_valid_key_for_type_import_assertions: diag(1455, ts.DiagnosticCategory.Error, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."),
@@ -6085,6 +6086,7 @@ var ts;
6085
6086
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
6086
6087
  This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
6087
6088
  An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes: diag(2840, ts.DiagnosticCategory.Error, "An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840", "An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),
6089
+ The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(2841, ts.DiagnosticCategory.Error, "The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841", "The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),
6088
6090
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
6089
6091
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
6090
6092
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -6192,7 +6194,7 @@ var ts;
6192
6194
  This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0: diag(4122, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122", "This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),
6193
6195
  This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: diag(4123, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123", "This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),
6194
6196
  Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4124, ts.DiagnosticCategory.Error, "Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124", "Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),
6195
- Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4125, ts.DiagnosticCategory.Error, "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "Resolution mode assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),
6197
+ resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4125, ts.DiagnosticCategory.Error, "resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),
6196
6198
  The_current_host_does_not_support_the_0_option: diag(5001, ts.DiagnosticCategory.Error, "The_current_host_does_not_support_the_0_option_5001", "The current host does not support the '{0}' option."),
6197
6199
  Cannot_find_the_common_subdirectory_path_for_the_input_files: diag(5009, ts.DiagnosticCategory.Error, "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009", "Cannot find the common subdirectory path for the input files."),
6198
6200
  File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: diag(5010, ts.DiagnosticCategory.Error, "File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010", "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),
@@ -12438,6 +12440,8 @@ var ts;
12438
12440
  case 218:
12439
12441
  case 231:
12440
12442
  return true;
12443
+ case 228:
12444
+ return !ts.isHeritageClause(node.parent);
12441
12445
  case 161:
12442
12446
  while (node.parent.kind === 161) {
12443
12447
  node = node.parent;
@@ -13287,6 +13291,12 @@ var ts;
13287
13291
  return [child, node];
13288
13292
  }
13289
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;
13290
13300
  function skipParentheses(node, excludeJSDocTypeAssertions) {
13291
13301
  var flags = excludeJSDocTypeAssertions ?
13292
13302
  1 | 16 :
@@ -15125,13 +15135,13 @@ var ts;
15125
15135
  }
15126
15136
  ts.moveRangePos = moveRangePos;
15127
15137
  function moveRangePastDecorators(node) {
15128
- return node.decorators && node.decorators.length > 0
15138
+ return node.decorators && !positionIsSynthesized(node.decorators.end)
15129
15139
  ? moveRangePos(node, node.decorators.end)
15130
15140
  : node;
15131
15141
  }
15132
15142
  ts.moveRangePastDecorators = moveRangePastDecorators;
15133
15143
  function moveRangePastModifiers(node) {
15134
- return node.modifiers && node.modifiers.length > 0
15144
+ return node.modifiers && !positionIsSynthesized(node.modifiers.end)
15135
15145
  ? moveRangePos(node, node.modifiers.end)
15136
15146
  : moveRangePastDecorators(node);
15137
15147
  }
@@ -18059,7 +18069,7 @@ var ts;
18059
18069
  function createBaseFunctionLikeDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type, body) {
18060
18070
  var node = createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type);
18061
18071
  node.body = body;
18062
- node.transformFlags |= propagateChildFlags(node.body) & ~16777216;
18072
+ node.transformFlags |= propagateChildFlags(node.body) & ~67108864;
18063
18073
  if (!body)
18064
18074
  node.transformFlags |= 1;
18065
18075
  return node;
@@ -18172,7 +18182,7 @@ var ts;
18172
18182
  node.typeArguments = createNodeArray(typeArguments);
18173
18183
  }
18174
18184
  if (node.originalKeywordKind === 132) {
18175
- node.transformFlags |= 16777216;
18185
+ node.transformFlags |= 67108864;
18176
18186
  }
18177
18187
  return node;
18178
18188
  }
@@ -18215,7 +18225,7 @@ var ts;
18215
18225
  ts.Debug.fail("First character of private identifier must be #: " + text);
18216
18226
  var node = baseFactory.createBasePrivateIdentifierNode(80);
18217
18227
  node.escapedText = ts.escapeLeadingUnderscores(text);
18218
- node.transformFlags |= 8388608;
18228
+ node.transformFlags |= 16777216;
18219
18229
  return node;
18220
18230
  }
18221
18231
  function createBaseToken(kind) {
@@ -18258,13 +18268,13 @@ var ts;
18258
18268
  transformFlags = 1;
18259
18269
  break;
18260
18270
  case 106:
18261
- transformFlags = 1024 | 33554432;
18271
+ transformFlags = 1024 | 134217728;
18262
18272
  break;
18263
18273
  case 124:
18264
18274
  transformFlags = 1024;
18265
18275
  break;
18266
18276
  case 108:
18267
- transformFlags = 8192;
18277
+ transformFlags = 16384;
18268
18278
  break;
18269
18279
  }
18270
18280
  if (transformFlags) {
@@ -18343,7 +18353,7 @@ var ts;
18343
18353
  node.transformFlags |=
18344
18354
  propagateChildFlags(node.expression) |
18345
18355
  1024 |
18346
- 65536;
18356
+ 131072;
18347
18357
  return node;
18348
18358
  }
18349
18359
  function updateComputedPropertyName(node, expression) {
@@ -18406,7 +18416,7 @@ var ts;
18406
18416
  if (questionToken)
18407
18417
  node.transformFlags |= 1;
18408
18418
  if (ts.modifiersToFlags(node.modifiers) & 16476)
18409
- node.transformFlags |= 4096;
18419
+ node.transformFlags |= 8192;
18410
18420
  if (initializer || dotDotDotToken)
18411
18421
  node.transformFlags |= 1024;
18412
18422
  }
@@ -18429,7 +18439,8 @@ var ts;
18429
18439
  node.transformFlags |=
18430
18440
  propagateChildFlags(node.expression) |
18431
18441
  1 |
18432
- 4096;
18442
+ 8192 |
18443
+ 33554432;
18433
18444
  return node;
18434
18445
  }
18435
18446
  function updateDecorator(node, expression) {
@@ -18459,9 +18470,9 @@ var ts;
18459
18470
  node.transformFlags |=
18460
18471
  propagateChildFlags(node.questionToken) |
18461
18472
  propagateChildFlags(node.exclamationToken) |
18462
- 8388608;
18473
+ 16777216;
18463
18474
  if (ts.isComputedPropertyName(node.name) || (ts.hasStaticModifier(node) && node.initializer)) {
18464
- node.transformFlags |= 4096;
18475
+ node.transformFlags |= 8192;
18465
18476
  }
18466
18477
  if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2) {
18467
18478
  node.transformFlags |= 1;
@@ -18535,7 +18546,7 @@ var ts;
18535
18546
  function createClassStaticBlockDeclaration(decorators, modifiers, body) {
18536
18547
  var node = createBaseGenericNamedDeclaration(170, decorators, modifiers, undefined, undefined);
18537
18548
  node.body = body;
18538
- node.transformFlags = propagateChildFlags(body) | 8388608;
18549
+ node.transformFlags = propagateChildFlags(body) | 16777216;
18539
18550
  return node;
18540
18551
  }
18541
18552
  function updateClassStaticBlockDeclaration(node, decorators, modifiers, body) {
@@ -18972,11 +18983,11 @@ var ts;
18972
18983
  node.transformFlags |=
18973
18984
  propagateChildrenFlags(node.elements) |
18974
18985
  1024 |
18975
- 262144;
18976
- if (node.transformFlags & 16384) {
18986
+ 524288;
18987
+ if (node.transformFlags & 32768) {
18977
18988
  node.transformFlags |=
18978
18989
  128 |
18979
- 32768;
18990
+ 65536;
18980
18991
  }
18981
18992
  return node;
18982
18993
  }
@@ -18991,7 +19002,7 @@ var ts;
18991
19002
  node.transformFlags |=
18992
19003
  propagateChildrenFlags(node.elements) |
18993
19004
  1024 |
18994
- 262144;
19005
+ 524288;
18995
19006
  return node;
18996
19007
  }
18997
19008
  function updateArrayBindingPattern(node, elements) {
@@ -19012,7 +19023,7 @@ var ts;
19012
19023
  propagateChildFlags(node.propertyName);
19013
19024
  }
19014
19025
  if (dotDotDotToken)
19015
- node.transformFlags |= 16384;
19026
+ node.transformFlags |= 32768;
19016
19027
  return node;
19017
19028
  }
19018
19029
  function updateBindingElement(node, dotDotDotToken, propertyName, name, initializer) {
@@ -19158,10 +19169,10 @@ var ts;
19158
19169
  node.transformFlags |= 1;
19159
19170
  }
19160
19171
  if (ts.isImportKeyword(node.expression)) {
19161
- node.transformFlags |= 4194304;
19172
+ node.transformFlags |= 8388608;
19162
19173
  }
19163
19174
  else if (ts.isSuperProperty(node.expression)) {
19164
- node.transformFlags |= 8192;
19175
+ node.transformFlags |= 16384;
19165
19176
  }
19166
19177
  return node;
19167
19178
  }
@@ -19192,7 +19203,7 @@ var ts;
19192
19203
  node.transformFlags |= 1;
19193
19204
  }
19194
19205
  if (ts.isSuperProperty(node.expression)) {
19195
- node.transformFlags |= 8192;
19206
+ node.transformFlags |= 16384;
19196
19207
  }
19197
19208
  return node;
19198
19209
  }
@@ -19317,7 +19328,7 @@ var ts;
19317
19328
  propagateChildFlags(node.equalsGreaterThanToken) |
19318
19329
  1024;
19319
19330
  if (ts.modifiersToFlags(node.modifiers) & 256) {
19320
- node.transformFlags |= 256 | 8192;
19331
+ node.transformFlags |= 256 | 16384;
19321
19332
  }
19322
19333
  return node;
19323
19334
  }
@@ -19371,7 +19382,7 @@ var ts;
19371
19382
  propagateChildFlags(node.expression) |
19372
19383
  256 |
19373
19384
  128 |
19374
- 1048576;
19385
+ 2097152;
19375
19386
  return node;
19376
19387
  }
19377
19388
  function updateAwaitExpression(node, expression) {
@@ -19388,7 +19399,7 @@ var ts;
19388
19399
  ts.isIdentifier(node.operand) &&
19389
19400
  !ts.isGeneratedIdentifier(node.operand) &&
19390
19401
  !ts.isLocalName(node.operand)) {
19391
- node.transformFlags |= 67108864;
19402
+ node.transformFlags |= 268435456;
19392
19403
  }
19393
19404
  return node;
19394
19405
  }
@@ -19405,7 +19416,7 @@ var ts;
19405
19416
  if (ts.isIdentifier(node.operand) &&
19406
19417
  !ts.isGeneratedIdentifier(node.operand) &&
19407
19418
  !ts.isLocalName(node.operand)) {
19408
- node.transformFlags |= 67108864;
19419
+ node.transformFlags |= 268435456;
19409
19420
  }
19410
19421
  return node;
19411
19422
  }
@@ -19452,15 +19463,15 @@ var ts;
19452
19463
  return node;
19453
19464
  }
19454
19465
  function propagateAssignmentPatternFlags(node) {
19455
- if (node.transformFlags & 32768)
19456
- return 32768;
19466
+ if (node.transformFlags & 65536)
19467
+ return 65536;
19457
19468
  if (node.transformFlags & 128) {
19458
19469
  for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
19459
19470
  var element = _a[_i];
19460
19471
  var target = ts.getTargetOfBindingOrAssignmentElement(element);
19461
19472
  if (target && ts.isAssignmentPattern(target)) {
19462
- if (target.transformFlags & 32768) {
19463
- return 32768;
19473
+ if (target.transformFlags & 65536) {
19474
+ return 65536;
19464
19475
  }
19465
19476
  if (target.transformFlags & 128) {
19466
19477
  var flags_1 = propagateAssignmentPatternFlags(target);
@@ -19573,7 +19584,7 @@ var ts;
19573
19584
  propagateChildFlags(node.asteriskToken) |
19574
19585
  1024 |
19575
19586
  128 |
19576
- 524288;
19587
+ 1048576;
19577
19588
  return node;
19578
19589
  }
19579
19590
  function updateYieldExpression(node, asteriskToken, expression) {
@@ -19588,7 +19599,7 @@ var ts;
19588
19599
  node.transformFlags |=
19589
19600
  propagateChildFlags(node.expression) |
19590
19601
  1024 |
19591
- 16384;
19602
+ 32768;
19592
19603
  return node;
19593
19604
  }
19594
19605
  function updateSpreadElement(node, expression) {
@@ -19878,7 +19889,7 @@ var ts;
19878
19889
  node.label = asName(label);
19879
19890
  node.transformFlags |=
19880
19891
  propagateChildFlags(node.label) |
19881
- 2097152;
19892
+ 4194304;
19882
19893
  return node;
19883
19894
  }
19884
19895
  function updateContinueStatement(node, label) {
@@ -19891,7 +19902,7 @@ var ts;
19891
19902
  node.label = asName(label);
19892
19903
  node.transformFlags |=
19893
19904
  propagateChildFlags(node.label) |
19894
- 2097152;
19905
+ 4194304;
19895
19906
  return node;
19896
19907
  }
19897
19908
  function updateBreakStatement(node, label) {
@@ -19905,7 +19916,7 @@ var ts;
19905
19916
  node.transformFlags |=
19906
19917
  propagateChildFlags(node.expression) |
19907
19918
  128 |
19908
- 2097152;
19919
+ 4194304;
19909
19920
  return node;
19910
19921
  }
19911
19922
  function updateReturnStatement(node, expression) {
@@ -20014,11 +20025,11 @@ var ts;
20014
20025
  node.declarations = createNodeArray(declarations);
20015
20026
  node.transformFlags |=
20016
20027
  propagateChildrenFlags(node.declarations) |
20017
- 2097152;
20028
+ 4194304;
20018
20029
  if (flags & 3) {
20019
20030
  node.transformFlags |=
20020
20031
  1024 |
20021
- 131072;
20032
+ 262144;
20022
20033
  }
20023
20034
  return node;
20024
20035
  }
@@ -20036,7 +20047,7 @@ var ts;
20036
20047
  else {
20037
20048
  node.transformFlags |=
20038
20049
  propagateChildFlags(node.asteriskToken) |
20039
- 2097152;
20050
+ 4194304;
20040
20051
  if (ts.modifiersToFlags(node.modifiers) & 256) {
20041
20052
  if (node.asteriskToken) {
20042
20053
  node.transformFlags |= 128;
@@ -20070,7 +20081,7 @@ var ts;
20070
20081
  }
20071
20082
  else {
20072
20083
  node.transformFlags |= 1024;
20073
- if (node.transformFlags & 4096) {
20084
+ if (node.transformFlags & 8192) {
20074
20085
  node.transformFlags |= 1;
20075
20086
  }
20076
20087
  }
@@ -20123,7 +20134,7 @@ var ts;
20123
20134
  node.transformFlags |=
20124
20135
  propagateChildrenFlags(node.members) |
20125
20136
  1;
20126
- node.transformFlags &= ~16777216;
20137
+ node.transformFlags &= ~67108864;
20127
20138
  return node;
20128
20139
  }
20129
20140
  function updateEnumDeclaration(node, decorators, modifiers, name, members) {
@@ -20149,7 +20160,7 @@ var ts;
20149
20160
  propagateChildFlags(node.body) |
20150
20161
  1;
20151
20162
  }
20152
- node.transformFlags &= ~16777216;
20163
+ node.transformFlags &= ~67108864;
20153
20164
  return node;
20154
20165
  }
20155
20166
  function updateModuleDeclaration(node, decorators, modifiers, name, body) {
@@ -20199,7 +20210,7 @@ var ts;
20199
20210
  node.transformFlags |= propagateChildFlags(node.moduleReference);
20200
20211
  if (!ts.isExternalModuleReference(node.moduleReference))
20201
20212
  node.transformFlags |= 1;
20202
- node.transformFlags &= ~16777216;
20213
+ node.transformFlags &= ~67108864;
20203
20214
  return node;
20204
20215
  }
20205
20216
  function updateImportEqualsDeclaration(node, decorators, modifiers, isTypeOnly, name, moduleReference) {
@@ -20219,7 +20230,7 @@ var ts;
20219
20230
  node.transformFlags |=
20220
20231
  propagateChildFlags(node.importClause) |
20221
20232
  propagateChildFlags(node.moduleSpecifier);
20222
- node.transformFlags &= ~16777216;
20233
+ node.transformFlags &= ~67108864;
20223
20234
  return node;
20224
20235
  }
20225
20236
  function updateImportDeclaration(node, decorators, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -20242,7 +20253,7 @@ var ts;
20242
20253
  if (isTypeOnly) {
20243
20254
  node.transformFlags |= 1;
20244
20255
  }
20245
- node.transformFlags &= ~16777216;
20256
+ node.transformFlags &= ~67108864;
20246
20257
  return node;
20247
20258
  }
20248
20259
  function updateImportClause(node, isTypeOnly, name, namedBindings) {
@@ -20294,7 +20305,7 @@ var ts;
20294
20305
  var node = createBaseNode(268);
20295
20306
  node.name = name;
20296
20307
  node.transformFlags |= propagateChildFlags(node.name);
20297
- node.transformFlags &= ~16777216;
20308
+ node.transformFlags &= ~67108864;
20298
20309
  return node;
20299
20310
  }
20300
20311
  function updateNamespaceImport(node, name) {
@@ -20308,7 +20319,7 @@ var ts;
20308
20319
  node.transformFlags |=
20309
20320
  propagateChildFlags(node.name) |
20310
20321
  4;
20311
- node.transformFlags &= ~16777216;
20322
+ node.transformFlags &= ~67108864;
20312
20323
  return node;
20313
20324
  }
20314
20325
  function updateNamespaceExport(node, name) {
@@ -20320,7 +20331,7 @@ var ts;
20320
20331
  var node = createBaseNode(269);
20321
20332
  node.elements = createNodeArray(elements);
20322
20333
  node.transformFlags |= propagateChildrenFlags(node.elements);
20323
- node.transformFlags &= ~16777216;
20334
+ node.transformFlags &= ~67108864;
20324
20335
  return node;
20325
20336
  }
20326
20337
  function updateNamedImports(node, elements) {
@@ -20336,7 +20347,7 @@ var ts;
20336
20347
  node.transformFlags |=
20337
20348
  propagateChildFlags(node.propertyName) |
20338
20349
  propagateChildFlags(node.name);
20339
- node.transformFlags &= ~16777216;
20350
+ node.transformFlags &= ~67108864;
20340
20351
  return node;
20341
20352
  }
20342
20353
  function updateImportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20353,7 +20364,7 @@ var ts;
20353
20364
  ? parenthesizerRules().parenthesizeRightSideOfBinary(63, undefined, expression)
20354
20365
  : parenthesizerRules().parenthesizeExpressionOfExportDefault(expression);
20355
20366
  node.transformFlags |= propagateChildFlags(node.expression);
20356
- node.transformFlags &= ~16777216;
20367
+ node.transformFlags &= ~67108864;
20357
20368
  return node;
20358
20369
  }
20359
20370
  function updateExportAssignment(node, decorators, modifiers, expression) {
@@ -20372,7 +20383,7 @@ var ts;
20372
20383
  node.transformFlags |=
20373
20384
  propagateChildFlags(node.exportClause) |
20374
20385
  propagateChildFlags(node.moduleSpecifier);
20375
- node.transformFlags &= ~16777216;
20386
+ node.transformFlags &= ~67108864;
20376
20387
  return node;
20377
20388
  }
20378
20389
  function updateExportDeclaration(node, decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -20389,7 +20400,7 @@ var ts;
20389
20400
  var node = createBaseNode(273);
20390
20401
  node.elements = createNodeArray(elements);
20391
20402
  node.transformFlags |= propagateChildrenFlags(node.elements);
20392
- node.transformFlags &= ~16777216;
20403
+ node.transformFlags &= ~67108864;
20393
20404
  return node;
20394
20405
  }
20395
20406
  function updateNamedExports(node, elements) {
@@ -20405,7 +20416,7 @@ var ts;
20405
20416
  node.transformFlags |=
20406
20417
  propagateChildFlags(node.propertyName) |
20407
20418
  propagateChildFlags(node.name);
20408
- node.transformFlags &= ~16777216;
20419
+ node.transformFlags &= ~67108864;
20409
20420
  return node;
20410
20421
  }
20411
20422
  function updateExportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20423,7 +20434,7 @@ var ts;
20423
20434
  var node = createBaseNode(277);
20424
20435
  node.expression = expression;
20425
20436
  node.transformFlags |= propagateChildFlags(node.expression);
20426
- node.transformFlags &= ~16777216;
20437
+ node.transformFlags &= ~67108864;
20427
20438
  return node;
20428
20439
  }
20429
20440
  function updateExternalModuleReference(node, expression) {
@@ -21052,7 +21063,7 @@ var ts;
21052
21063
  node.transformFlags |=
21053
21064
  propagateChildFlags(node.expression) |
21054
21065
  128 |
21055
- 32768;
21066
+ 65536;
21056
21067
  return node;
21057
21068
  }
21058
21069
  function updateSpreadAssignment(node, expression) {
@@ -21770,10 +21781,10 @@ var ts;
21770
21781
  return tokenValue;
21771
21782
  }
21772
21783
  function propagateIdentifierNameFlags(node) {
21773
- return propagateChildFlags(node) & ~16777216;
21784
+ return propagateChildFlags(node) & ~67108864;
21774
21785
  }
21775
21786
  function propagatePropertyNameFlagsOfChild(node, transformFlags) {
21776
- return transformFlags | (node.transformFlags & 33562624);
21787
+ return transformFlags | (node.transformFlags & 134234112);
21777
21788
  }
21778
21789
  function propagateChildFlags(child) {
21779
21790
  if (!child)
@@ -21800,29 +21811,29 @@ var ts;
21800
21811
  case 208:
21801
21812
  case 209:
21802
21813
  case 204:
21803
- return 536887296;
21814
+ return 536903680;
21804
21815
  case 261:
21805
- return 589443072;
21816
+ return 742678528;
21806
21817
  case 164:
21807
21818
  return 536870912;
21808
21819
  case 214:
21809
- return 557748224;
21820
+ return 612179968;
21810
21821
  case 213:
21811
21822
  case 256:
21812
- return 591310848;
21823
+ return 746414080;
21813
21824
  case 255:
21814
- return 537165824;
21825
+ return 537460736;
21815
21826
  case 257:
21816
21827
  case 226:
21817
- return 536940544;
21828
+ return 537010176;
21818
21829
  case 171:
21819
- return 591306752;
21830
+ return 746405888;
21820
21831
  case 167:
21821
- return 570433536;
21832
+ return 671105024;
21822
21833
  case 169:
21823
21834
  case 172:
21824
21835
  case 173:
21825
- return 574529536;
21836
+ return 679297024;
21826
21837
  case 130:
21827
21838
  case 147:
21828
21839
  case 158:
@@ -21842,12 +21853,12 @@ var ts;
21842
21853
  case 259:
21843
21854
  return -2;
21844
21855
  case 205:
21845
- return 536973312;
21856
+ return 537075712;
21846
21857
  case 292:
21847
- return 536903680;
21858
+ return 536936448;
21848
21859
  case 201:
21849
21860
  case 202:
21850
- return 536887296;
21861
+ return 536903680;
21851
21862
  case 211:
21852
21863
  case 229:
21853
21864
  case 350:
@@ -23359,6 +23370,10 @@ var ts;
23359
23370
  return node.kind === 267;
23360
23371
  }
23361
23372
  ts.isImportClause = isImportClause;
23373
+ function isImportTypeAssertionContainer(node) {
23374
+ return node.kind === 295;
23375
+ }
23376
+ ts.isImportTypeAssertionContainer = isImportTypeAssertionContainer;
23362
23377
  function isAssertClause(node) {
23363
23378
  return node.kind === 293;
23364
23379
  }
@@ -24458,6 +24473,14 @@ var ts;
24458
24473
  }
24459
24474
  }
24460
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;
24461
24484
  })(ts || (ts = {}));
24462
24485
  var ts;
24463
24486
  (function (ts) {
@@ -25449,7 +25472,7 @@ var ts;
25449
25472
  return factory.updateSourceFile(sourceFile, ts.setTextRange(factory.createNodeArray(statements), sourceFile.statements));
25450
25473
  function containsPossibleTopLevelAwait(node) {
25451
25474
  return !(node.flags & 32768)
25452
- && !!(node.transformFlags & 16777216);
25475
+ && !!(node.transformFlags & 67108864);
25453
25476
  }
25454
25477
  function findNextStatementWithAwait(statements, start) {
25455
25478
  for (var i = start; i < statements.length; i++) {
@@ -25483,7 +25506,7 @@ var ts;
25483
25506
  var sourceFile = factory.createSourceFile(statements, endOfFileToken, flags);
25484
25507
  ts.setTextRangePosWidth(sourceFile, 0, sourceText.length);
25485
25508
  setFields(sourceFile);
25486
- if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216) {
25509
+ if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 67108864) {
25487
25510
  sourceFile = reparseTopLevelAwait(sourceFile);
25488
25511
  setFields(sourceFile);
25489
25512
  }
@@ -28651,6 +28674,9 @@ var ts;
28651
28674
  typeArguments = expression.typeArguments;
28652
28675
  expression = expression.expression;
28653
28676
  }
28677
+ if (token() === 28) {
28678
+ parseErrorAtCurrentToken(ts.Diagnostics.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, ts.getTextOfNodeFromSourceText(sourceText, expression));
28679
+ }
28654
28680
  var argumentList = token() === 20 ? parseArgumentList() : undefined;
28655
28681
  return finishNode(factory.createNewExpression(expression, typeArguments, argumentList), pos);
28656
28682
  }
@@ -35834,13 +35860,32 @@ var ts;
35834
35860
  }
35835
35861
  return toSearchResult(undefined);
35836
35862
  }
35863
+ function comparePatternKeys(a, b) {
35864
+ var aPatternIndex = a.indexOf("*");
35865
+ var bPatternIndex = b.indexOf("*");
35866
+ var baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
35867
+ var baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
35868
+ if (baseLenA > baseLenB)
35869
+ return -1;
35870
+ if (baseLenB > baseLenA)
35871
+ return 1;
35872
+ if (aPatternIndex === -1)
35873
+ return 1;
35874
+ if (bPatternIndex === -1)
35875
+ return -1;
35876
+ if (a.length > b.length)
35877
+ return -1;
35878
+ if (b.length > a.length)
35879
+ return 1;
35880
+ return 0;
35881
+ }
35837
35882
  function loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, lookupTable, scope, isImports) {
35838
35883
  var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports);
35839
35884
  if (!ts.endsWith(moduleName, ts.directorySeparator) && moduleName.indexOf("*") === -1 && ts.hasProperty(lookupTable, moduleName)) {
35840
35885
  var target = lookupTable[moduleName];
35841
35886
  return loadModuleFromTargetImportOrExport(target, "", false);
35842
35887
  }
35843
- var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), function (a, b) { return a.length - b.length; });
35888
+ var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), comparePatternKeys);
35844
35889
  for (var _i = 0, expandingKeys_1 = expandingKeys; _i < expandingKeys_1.length; _i++) {
35845
35890
  var potentialTarget = expandingKeys_1[_i];
35846
35891
  if (state.features & NodeResolutionFeatures.ExportsPatternTrailers && matchesPatternWithTrailer(potentialTarget, moduleName)) {
@@ -44056,6 +44101,7 @@ var ts;
44056
44101
  return symbol.parent ? ts.factory.createQualifiedName(symbolToEntityNameNode(symbol.parent), identifier) : identifier;
44057
44102
  }
44058
44103
  function symbolToTypeNode(symbol, context, meaning, overrideTypeArguments) {
44104
+ var _a, _b, _c, _d;
44059
44105
  var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384));
44060
44106
  var isTypeOf = meaning === 111551;
44061
44107
  if (ts.some(chain[0].declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
@@ -44071,6 +44117,7 @@ var ts;
44071
44117
  assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([
44072
44118
  ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral("import"))
44073
44119
  ])));
44120
+ (_b = (_a = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _b === void 0 ? void 0 : _b.call(_a);
44074
44121
  }
44075
44122
  }
44076
44123
  if (!specifier) {
@@ -44088,6 +44135,7 @@ var ts;
44088
44135
  assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([
44089
44136
  ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral(swappedMode === ts.ModuleKind.ESNext ? "import" : "require"))
44090
44137
  ])));
44138
+ (_d = (_c = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _d === void 0 ? void 0 : _d.call(_c);
44091
44139
  }
44092
44140
  }
44093
44141
  if (!assertion) {
@@ -48757,7 +48805,7 @@ var ts;
48757
48805
  var objectType;
48758
48806
  return !!(type.flags & 8388608 && ts.getObjectFlags(objectType = type.objectType) & 32 &&
48759
48807
  !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) &&
48760
- !objectType.declaration.questionToken && !objectType.declaration.nameType);
48808
+ !(getMappedTypeModifiers(objectType) & 8) && !objectType.declaration.nameType);
48761
48809
  }
48762
48810
  function getApparentType(type) {
48763
48811
  var t = !(type.flags & 465829888) ? type : getBaseConstraintOfType(type) || unknownType;
@@ -65907,6 +65955,9 @@ var ts;
65907
65955
  if (target.kind === 221 && target.operatorToken.kind === 63) {
65908
65956
  checkBinaryExpression(target, checkMode);
65909
65957
  target = target.left;
65958
+ if (strictNullChecks) {
65959
+ sourceType = getTypeWithFacts(sourceType, 524288);
65960
+ }
65910
65961
  }
65911
65962
  if (target.kind === 205) {
65912
65963
  return checkObjectLiteralAssignment(target, sourceType, rightIsThis);
@@ -67799,8 +67850,11 @@ var ts;
67799
67850
  if (node.assertions) {
67800
67851
  var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode);
67801
67852
  if (override) {
67853
+ if (!ts.isNightly()) {
67854
+ grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next);
67855
+ }
67802
67856
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
67803
- grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
67857
+ grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
67804
67858
  }
67805
67859
  }
67806
67860
  }
@@ -71460,10 +71514,10 @@ var ts;
71460
71514
  var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined);
71461
71515
  if (validForTypeAssertions && override) {
71462
71516
  if (!ts.isNightly()) {
71463
- grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next);
71517
+ grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next);
71464
71518
  }
71465
71519
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
71466
- return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
71520
+ return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
71467
71521
  }
71468
71522
  return;
71469
71523
  }
@@ -76661,6 +76715,90 @@ var ts;
76661
76715
  return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name);
76662
76716
  }
76663
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
+ }
76664
76802
  })(ts || (ts = {}));
76665
76803
  var ts;
76666
76804
  (function (ts) {
@@ -76862,8 +77000,8 @@ var ts;
76862
77000
  if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) {
76863
77001
  var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element);
76864
77002
  if (flattenContext.level >= 1
76865
- && !(element.transformFlags & (16384 | 32768))
76866
- && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 | 32768))
77003
+ && !(element.transformFlags & (32768 | 65536))
77004
+ && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 | 65536))
76867
77005
  && !ts.isComputedPropertyName(propertyName)) {
76868
77006
  bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor));
76869
77007
  }
@@ -76910,7 +77048,7 @@ var ts;
76910
77048
  for (var i = 0; i < numElements; i++) {
76911
77049
  var element = elements[i];
76912
77050
  if (flattenContext.level >= 1) {
76913
- if (element.transformFlags & 32768 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
77051
+ if (element.transformFlags & 65536 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
76914
77052
  flattenContext.hasTransformedPriorElement = true;
76915
77053
  var temp = flattenContext.context.factory.createTempVariable(undefined);
76916
77054
  if (flattenContext.hoistTempVariables) {
@@ -77078,9 +77216,9 @@ var ts;
77078
77216
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, startLexicalEnvironment = context.startLexicalEnvironment, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
77079
77217
  var resolver = context.getEmitResolver();
77080
77218
  var compilerOptions = context.getCompilerOptions();
77081
- var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
77082
77219
  var languageVersion = ts.getEmitScriptTarget(compilerOptions);
77083
77220
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
77221
+ var typeSerializer = compilerOptions.emitDecoratorMetadata ? ts.createRuntimeTypeSerializer(context) : undefined;
77084
77222
  var previousOnEmitNode = context.onEmitNode;
77085
77223
  var previousOnSubstituteNode = context.onSubstituteNode;
77086
77224
  context.onEmitNode = onEmitNode;
@@ -77091,11 +77229,9 @@ var ts;
77091
77229
  var currentNamespace;
77092
77230
  var currentNamespaceContainerName;
77093
77231
  var currentLexicalScope;
77094
- var currentNameScope;
77095
77232
  var currentScopeFirstDeclarationsOfName;
77096
77233
  var currentClassHasParameterProperties;
77097
77234
  var enabledSubstitutions;
77098
- var classAliases;
77099
77235
  var applicableSubstitutions;
77100
77236
  return transformSourceFileOrBundle;
77101
77237
  function transformSourceFileOrBundle(node) {
@@ -77124,7 +77260,6 @@ var ts;
77124
77260
  }
77125
77261
  function saveStateAndInvoke(node, f) {
77126
77262
  var savedCurrentScope = currentLexicalScope;
77127
- var savedCurrentNameScope = currentNameScope;
77128
77263
  var savedCurrentScopeFirstDeclarationsOfName = currentScopeFirstDeclarationsOfName;
77129
77264
  var savedCurrentClassHasParameterProperties = currentClassHasParameterProperties;
77130
77265
  onBeforeVisitNode(node);
@@ -77133,7 +77268,6 @@ var ts;
77133
77268
  currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName;
77134
77269
  }
77135
77270
  currentLexicalScope = savedCurrentScope;
77136
- currentNameScope = savedCurrentNameScope;
77137
77271
  currentClassHasParameterProperties = savedCurrentClassHasParameterProperties;
77138
77272
  return visited;
77139
77273
  }
@@ -77144,7 +77278,6 @@ var ts;
77144
77278
  case 262:
77145
77279
  case 235:
77146
77280
  currentLexicalScope = node;
77147
- currentNameScope = undefined;
77148
77281
  currentScopeFirstDeclarationsOfName = undefined;
77149
77282
  break;
77150
77283
  case 257:
@@ -77158,9 +77291,6 @@ var ts;
77158
77291
  else {
77159
77292
  ts.Debug.assert(node.kind === 257 || ts.hasSyntacticModifier(node, 512));
77160
77293
  }
77161
- if (ts.isClassDeclaration(node)) {
77162
- currentNameScope = node;
77163
- }
77164
77294
  break;
77165
77295
  }
77166
77296
  }
@@ -77224,23 +77354,46 @@ var ts;
77224
77354
  }
77225
77355
  return node;
77226
77356
  }
77227
- function classElementVisitor(node) {
77228
- return saveStateAndInvoke(node, classElementVisitorWorker);
77357
+ function getClassElementVisitor(parent) {
77358
+ return function (node) { return saveStateAndInvoke(node, function (n) { return classElementVisitorWorker(n, parent); }); };
77229
77359
  }
77230
- function classElementVisitorWorker(node) {
77360
+ function classElementVisitorWorker(node, parent) {
77231
77361
  switch (node.kind) {
77232
77362
  case 171:
77233
77363
  return visitConstructor(node);
77234
77364
  case 167:
77235
- return visitPropertyDeclaration(node);
77236
- case 176:
77365
+ return visitPropertyDeclaration(node, parent);
77237
77366
  case 172:
77367
+ return visitGetAccessor(node, parent);
77238
77368
  case 173:
77369
+ return visitSetAccessor(node, parent);
77239
77370
  case 169:
77371
+ return visitMethodDeclaration(node, parent);
77240
77372
  case 170:
77241
- return visitorWorker(node);
77373
+ return ts.visitEachChild(node, visitor, context);
77242
77374
  case 234:
77243
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);
77244
77397
  default:
77245
77398
  return ts.Debug.failBadSyntaxKind(node);
77246
77399
  }
@@ -77301,16 +77454,11 @@ var ts;
77301
77454
  case 195:
77302
77455
  case 196:
77303
77456
  case 176:
77304
- case 165:
77305
77457
  return undefined;
77306
77458
  case 259:
77307
77459
  return factory.createNotEmittedStatement(node);
77308
- case 167:
77309
- return visitPropertyDeclaration(node);
77310
77460
  case 264:
77311
77461
  return undefined;
77312
- case 171:
77313
- return visitConstructor(node);
77314
77462
  case 258:
77315
77463
  return factory.createNotEmittedStatement(node);
77316
77464
  case 257:
@@ -77321,12 +77469,15 @@ var ts;
77321
77469
  return visitHeritageClause(node);
77322
77470
  case 228:
77323
77471
  return visitExpressionWithTypeArguments(node);
77472
+ case 205:
77473
+ return visitObjectLiteralExpression(node);
77474
+ case 171:
77475
+ case 167:
77324
77476
  case 169:
77325
- return visitMethodDeclaration(node);
77326
77477
  case 172:
77327
- return visitGetAccessor(node);
77328
77478
  case 173:
77329
- return visitSetAccessor(node);
77479
+ case 170:
77480
+ return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors");
77330
77481
  case 256:
77331
77482
  return visitFunctionDeclaration(node);
77332
77483
  case 213:
@@ -77372,6 +77523,9 @@ var ts;
77372
77523
  !ts.isJsonSourceFile(node);
77373
77524
  return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict));
77374
77525
  }
77526
+ function visitObjectLiteralExpression(node) {
77527
+ return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement));
77528
+ }
77375
77529
  function getClassFacts(node, staticProperties) {
77376
77530
  var facts = 0;
77377
77531
  if (ts.some(staticProperties))
@@ -77394,7 +77548,7 @@ var ts;
77394
77548
  return facts;
77395
77549
  }
77396
77550
  function hasTypeScriptClassSyntax(node) {
77397
- return !!(node.transformFlags & 4096);
77551
+ return !!(node.transformFlags & 8192);
77398
77552
  }
77399
77553
  function isClassLikeDeclarationWithTypeScriptSyntax(node) {
77400
77554
  return ts.some(node.decorators)
@@ -77404,7 +77558,7 @@ var ts;
77404
77558
  }
77405
77559
  function visitClassDeclaration(node) {
77406
77560
  if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1))) {
77407
- 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));
77408
77562
  }
77409
77563
  var staticProperties = ts.getProperties(node, true, true);
77410
77564
  var facts = getClassFacts(node, staticProperties);
@@ -77412,13 +77566,18 @@ var ts;
77412
77566
  context.startLexicalEnvironment();
77413
77567
  }
77414
77568
  var name = node.name || (facts & 5 ? factory.getGeneratedNameForNode(node) : undefined);
77415
- var classStatement = facts & 2
77416
- ? createClassDeclarationHeadWithDecorators(node, name)
77417
- : 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);
77418
77580
  var statements = [classStatement];
77419
- addClassElementDecorationStatements(statements, node, false);
77420
- addClassElementDecorationStatements(statements, node, true);
77421
- addConstructorDecorationStatement(statements, node);
77422
77581
  if (facts & 128) {
77423
77582
  var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19);
77424
77583
  var localName = factory.getInternalName(node);
@@ -77458,47 +77617,12 @@ var ts;
77458
77617
  }
77459
77618
  return ts.singleOrMany(statements);
77460
77619
  }
77461
- function createClassDeclarationHeadWithoutDecorators(node, name, facts) {
77462
- var modifiers = !(facts & 128)
77463
- ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77464
- : undefined;
77465
- var classDeclaration = factory.createClassDeclaration(undefined, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77466
- var emitFlags = ts.getEmitFlags(node);
77467
- if (facts & 1) {
77468
- emitFlags |= 32;
77469
- }
77470
- ts.setTextRange(classDeclaration, node);
77471
- ts.setOriginalNode(classDeclaration, node);
77472
- ts.setEmitFlags(classDeclaration, emitFlags);
77473
- return classDeclaration;
77474
- }
77475
- function createClassDeclarationHeadWithDecorators(node, name) {
77476
- var location = ts.moveRangePastDecorators(node);
77477
- var classAlias = getClassAliasIfNeeded(node);
77478
- var declName = languageVersion <= 2 ?
77479
- factory.getInternalName(node, false, true) :
77480
- factory.getLocalName(node, false, true);
77481
- var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
77482
- var members = transformClassMembers(node);
77483
- var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
77484
- ts.setOriginalNode(classExpression, node);
77485
- ts.setTextRange(classExpression, location);
77486
- var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
77487
- factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
77488
- ], 1));
77489
- ts.setOriginalNode(statement, node);
77490
- ts.setTextRange(statement, location);
77491
- ts.setCommentRange(statement, node);
77492
- return statement;
77493
- }
77494
77620
  function visitClassExpression(node) {
77495
- if (!isClassLikeDeclarationWithTypeScriptSyntax(node)) {
77496
- return ts.visitEachChild(node, visitor, context);
77497
- }
77498
- var classExpression = factory.createClassExpression(undefined, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77499
- ts.setOriginalNode(classExpression, node);
77500
- ts.setTextRange(classExpression, node);
77501
- 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));
77502
77626
  }
77503
77627
  function transformClassMembers(node) {
77504
77628
  var members = [];
@@ -77513,22 +77637,9 @@ var ts;
77513
77637
  }
77514
77638
  }
77515
77639
  }
77516
- ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement));
77640
+ ts.addRange(members, ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77517
77641
  return ts.setTextRange(factory.createNodeArray(members), node.members);
77518
77642
  }
77519
- function getDecoratedClassElements(node, isStatic) {
77520
- return ts.filter(node.members, isStatic ? function (m) { return isStaticDecoratedClassElement(m, node); } : function (m) { return isInstanceDecoratedClassElement(m, node); });
77521
- }
77522
- function isStaticDecoratedClassElement(member, parent) {
77523
- return isDecoratedClassElement(member, true, parent);
77524
- }
77525
- function isInstanceDecoratedClassElement(member, parent) {
77526
- return isDecoratedClassElement(member, false, parent);
77527
- }
77528
- function isDecoratedClassElement(member, isStaticElement, parent) {
77529
- return ts.nodeOrChildIsDecorated(member, parent)
77530
- && isStaticElement === ts.isStatic(member);
77531
- }
77532
77643
  function getDecoratorsOfParameters(node) {
77533
77644
  var decorators;
77534
77645
  if (node) {
@@ -77559,11 +77670,11 @@ var ts;
77559
77670
  parameters: parameters
77560
77671
  };
77561
77672
  }
77562
- function getAllDecoratorsOfClassElement(node, member) {
77673
+ function getAllDecoratorsOfClassElement(member, parent) {
77563
77674
  switch (member.kind) {
77564
77675
  case 172:
77565
77676
  case 173:
77566
- return getAllDecoratorsOfAccessors(node, member);
77677
+ return getAllDecoratorsOfAccessors(parent, member);
77567
77678
  case 169:
77568
77679
  return getAllDecoratorsOfMethod(member);
77569
77680
  case 167:
@@ -77610,124 +77721,71 @@ var ts;
77610
77721
  if (!allDecorators) {
77611
77722
  return undefined;
77612
77723
  }
77613
- var decoratorExpressions = [];
77614
- ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
77615
- ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
77616
- addTypeMetadata(node, container, decoratorExpressions);
77617
- return decoratorExpressions;
77618
- }
77619
- function addClassElementDecorationStatements(statements, node, isStatic) {
77620
- ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), expressionToStatement));
77621
- }
77622
- function generateClassElementDecorationExpressions(node, isStatic) {
77623
- var members = getDecoratedClassElements(node, isStatic);
77624
- var expressions;
77625
- for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
77626
- var member = members_8[_i];
77627
- var expression = generateClassElementDecorationExpression(node, member);
77628
- if (expression) {
77629
- if (!expressions) {
77630
- expressions = [expression];
77631
- }
77632
- else {
77633
- expressions.push(expression);
77634
- }
77635
- }
77636
- }
77637
- return expressions;
77638
- }
77639
- function generateClassElementDecorationExpression(node, member) {
77640
- var allDecorators = getAllDecoratorsOfClassElement(node, member);
77641
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(member, node, allDecorators);
77642
- if (!decoratorExpressions) {
77643
- return undefined;
77644
- }
77645
- var prefix = getClassMemberPrefix(node, member);
77646
- var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
77647
- var descriptor = languageVersion > 0
77648
- ? member.kind === 167
77649
- ? factory.createVoidZero()
77650
- : factory.createNull()
77651
- : undefined;
77652
- var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
77653
- ts.setTextRange(helper, ts.moveRangePastDecorators(member));
77654
- ts.setEmitFlags(helper, 1536);
77655
- return helper;
77656
- }
77657
- function addConstructorDecorationStatement(statements, node) {
77658
- var expression = generateConstructorDecorationExpression(node);
77659
- if (expression) {
77660
- statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
77661
- }
77662
- }
77663
- function generateConstructorDecorationExpression(node) {
77664
- var allDecorators = getAllDecoratorsOfConstructor(node);
77665
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77666
- if (!decoratorExpressions) {
77667
- return undefined;
77668
- }
77669
- var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
77670
- var localName = languageVersion <= 2 ?
77671
- factory.getInternalName(node, false, true) :
77672
- factory.getLocalName(node, false, true);
77673
- var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
77674
- var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
77675
- ts.setEmitFlags(expression, 1536);
77676
- ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node));
77677
- return expression;
77678
- }
77679
- function transformDecorator(decorator) {
77680
- 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;
77681
77730
  }
77682
- function transformDecoratorsOfParameter(decorators, parameterOffset) {
77683
- var expressions;
77684
- if (decorators) {
77685
- expressions = [];
77686
- for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
77687
- var decorator = decorators_1[_i];
77688
- var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
77689
- 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);
77690
77739
  ts.setEmitFlags(helper, 1536);
77691
- expressions.push(helper);
77740
+ var decorator = factory.createDecorator(helper);
77741
+ ts.setTextRange(decorator, parameterDecorator.expression);
77742
+ ts.setEmitFlags(decorator, 1536);
77743
+ decorators.push(decorator);
77692
77744
  }
77745
+ return decorators;
77693
77746
  }
77694
- return expressions;
77695
77747
  }
77696
- function addTypeMetadata(node, container, decoratorExpressions) {
77697
- if (USE_NEW_TYPE_METADATA_FORMAT) {
77698
- addNewTypeMetadata(node, container, decoratorExpressions);
77699
- }
77700
- else {
77701
- addOldTypeMetadata(node, container, decoratorExpressions);
77702
- }
77748
+ function getTypeMetadata(node, container) {
77749
+ return USE_NEW_TYPE_METADATA_FORMAT ?
77750
+ getNewTypeMetadata(node, container) :
77751
+ getOldTypeMetadata(node, container);
77703
77752
  }
77704
- function addOldTypeMetadata(node, container, decoratorExpressions) {
77705
- if (compilerOptions.emitDecoratorMetadata) {
77753
+ function getOldTypeMetadata(node, container) {
77754
+ if (typeSerializer) {
77755
+ var decorators = void 0;
77706
77756
  if (shouldAddTypeMetadata(node)) {
77707
- 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));
77708
77759
  }
77709
77760
  if (shouldAddParamTypesMetadata(node)) {
77710
- 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));
77711
77763
  }
77712
77764
  if (shouldAddReturnTypeMetadata(node)) {
77713
- 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));
77714
77767
  }
77768
+ return decorators;
77715
77769
  }
77716
77770
  }
77717
- function addNewTypeMetadata(node, container, decoratorExpressions) {
77718
- if (compilerOptions.emitDecoratorMetadata) {
77771
+ function getNewTypeMetadata(node, container) {
77772
+ if (typeSerializer) {
77719
77773
  var properties = void 0;
77720
77774
  if (shouldAddTypeMetadata(node)) {
77721
- (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);
77722
77777
  }
77723
77778
  if (shouldAddParamTypesMetadata(node)) {
77724
- (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);
77725
77781
  }
77726
77782
  if (shouldAddReturnTypeMetadata(node)) {
77727
- (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);
77728
77785
  }
77729
77786
  if (properties) {
77730
- 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)];
77731
77789
  }
77732
77790
  }
77733
77791
  }
@@ -77753,262 +77811,6 @@ var ts;
77753
77811
  }
77754
77812
  return false;
77755
77813
  }
77756
- function getAccessorTypeNode(node) {
77757
- var accessors = resolver.getAllAccessorDeclarations(node);
77758
- return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
77759
- || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
77760
- }
77761
- function serializeTypeOfNode(node) {
77762
- switch (node.kind) {
77763
- case 167:
77764
- case 164:
77765
- return serializeTypeNode(node.type);
77766
- case 173:
77767
- case 172:
77768
- return serializeTypeNode(getAccessorTypeNode(node));
77769
- case 257:
77770
- case 226:
77771
- case 169:
77772
- return factory.createIdentifier("Function");
77773
- default:
77774
- return factory.createVoidZero();
77775
- }
77776
- }
77777
- function serializeParameterTypesOfNode(node, container) {
77778
- var valueDeclaration = ts.isClassLike(node)
77779
- ? ts.getFirstConstructorWithBody(node)
77780
- : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
77781
- ? node
77782
- : undefined;
77783
- var expressions = [];
77784
- if (valueDeclaration) {
77785
- var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
77786
- var numParameters = parameters.length;
77787
- for (var i = 0; i < numParameters; i++) {
77788
- var parameter = parameters[i];
77789
- if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
77790
- continue;
77791
- }
77792
- if (parameter.dotDotDotToken) {
77793
- expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
77794
- }
77795
- else {
77796
- expressions.push(serializeTypeOfNode(parameter));
77797
- }
77798
- }
77799
- }
77800
- return factory.createArrayLiteralExpression(expressions);
77801
- }
77802
- function getParametersOfDecoratedDeclaration(node, container) {
77803
- if (container && node.kind === 172) {
77804
- var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
77805
- if (setAccessor) {
77806
- return setAccessor.parameters;
77807
- }
77808
- }
77809
- return node.parameters;
77810
- }
77811
- function serializeReturnTypeOfNode(node) {
77812
- if (ts.isFunctionLike(node) && node.type) {
77813
- return serializeTypeNode(node.type);
77814
- }
77815
- else if (ts.isAsyncFunction(node)) {
77816
- return factory.createIdentifier("Promise");
77817
- }
77818
- return factory.createVoidZero();
77819
- }
77820
- function serializeTypeNode(node) {
77821
- if (node === undefined) {
77822
- return factory.createIdentifier("Object");
77823
- }
77824
- switch (node.kind) {
77825
- case 114:
77826
- case 153:
77827
- case 143:
77828
- return factory.createVoidZero();
77829
- case 191:
77830
- return serializeTypeNode(node.type);
77831
- case 179:
77832
- case 180:
77833
- return factory.createIdentifier("Function");
77834
- case 183:
77835
- case 184:
77836
- return factory.createIdentifier("Array");
77837
- case 177:
77838
- case 133:
77839
- return factory.createIdentifier("Boolean");
77840
- case 198:
77841
- case 150:
77842
- return factory.createIdentifier("String");
77843
- case 148:
77844
- return factory.createIdentifier("Object");
77845
- case 196:
77846
- switch (node.literal.kind) {
77847
- case 10:
77848
- case 14:
77849
- return factory.createIdentifier("String");
77850
- case 219:
77851
- case 8:
77852
- return factory.createIdentifier("Number");
77853
- case 9:
77854
- return getGlobalBigIntNameWithFallback();
77855
- case 110:
77856
- case 95:
77857
- return factory.createIdentifier("Boolean");
77858
- case 104:
77859
- return factory.createVoidZero();
77860
- default:
77861
- return ts.Debug.failBadSyntaxKind(node.literal);
77862
- }
77863
- case 147:
77864
- return factory.createIdentifier("Number");
77865
- case 158:
77866
- return getGlobalBigIntNameWithFallback();
77867
- case 151:
77868
- return languageVersion < 2
77869
- ? getGlobalSymbolNameWithFallback()
77870
- : factory.createIdentifier("Symbol");
77871
- case 178:
77872
- return serializeTypeReferenceNode(node);
77873
- case 188:
77874
- case 187:
77875
- return serializeTypeList(node.types);
77876
- case 189:
77877
- return serializeTypeList([node.trueType, node.falseType]);
77878
- case 193:
77879
- if (node.operator === 145) {
77880
- return serializeTypeNode(node.type);
77881
- }
77882
- break;
77883
- case 181:
77884
- case 194:
77885
- case 195:
77886
- case 182:
77887
- case 130:
77888
- case 155:
77889
- case 192:
77890
- case 200:
77891
- break;
77892
- case 312:
77893
- case 313:
77894
- case 317:
77895
- case 318:
77896
- case 319:
77897
- break;
77898
- case 314:
77899
- case 315:
77900
- case 316:
77901
- return serializeTypeNode(node.type);
77902
- default:
77903
- return ts.Debug.failBadSyntaxKind(node);
77904
- }
77905
- return factory.createIdentifier("Object");
77906
- }
77907
- function serializeTypeList(types) {
77908
- var serializedUnion;
77909
- for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
77910
- var typeNode = types_22[_i];
77911
- while (typeNode.kind === 191) {
77912
- typeNode = typeNode.type;
77913
- }
77914
- if (typeNode.kind === 143) {
77915
- continue;
77916
- }
77917
- if (!strictNullChecks && (typeNode.kind === 196 && typeNode.literal.kind === 104 || typeNode.kind === 153)) {
77918
- continue;
77919
- }
77920
- var serializedIndividual = serializeTypeNode(typeNode);
77921
- if (ts.isIdentifier(serializedIndividual) && serializedIndividual.escapedText === "Object") {
77922
- return serializedIndividual;
77923
- }
77924
- else if (serializedUnion) {
77925
- if (!ts.isIdentifier(serializedUnion) ||
77926
- !ts.isIdentifier(serializedIndividual) ||
77927
- serializedUnion.escapedText !== serializedIndividual.escapedText) {
77928
- return factory.createIdentifier("Object");
77929
- }
77930
- }
77931
- else {
77932
- serializedUnion = serializedIndividual;
77933
- }
77934
- }
77935
- return serializedUnion || factory.createVoidZero();
77936
- }
77937
- function serializeTypeReferenceNode(node) {
77938
- var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope || currentLexicalScope);
77939
- switch (kind) {
77940
- case ts.TypeReferenceSerializationKind.Unknown:
77941
- if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
77942
- return factory.createIdentifier("Object");
77943
- }
77944
- var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
77945
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77946
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, factory.createIdentifier("Object"));
77947
- case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
77948
- return serializeEntityNameAsExpression(node.typeName);
77949
- case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
77950
- return factory.createVoidZero();
77951
- case ts.TypeReferenceSerializationKind.BigIntLikeType:
77952
- return getGlobalBigIntNameWithFallback();
77953
- case ts.TypeReferenceSerializationKind.BooleanType:
77954
- return factory.createIdentifier("Boolean");
77955
- case ts.TypeReferenceSerializationKind.NumberLikeType:
77956
- return factory.createIdentifier("Number");
77957
- case ts.TypeReferenceSerializationKind.StringLikeType:
77958
- return factory.createIdentifier("String");
77959
- case ts.TypeReferenceSerializationKind.ArrayLikeType:
77960
- return factory.createIdentifier("Array");
77961
- case ts.TypeReferenceSerializationKind.ESSymbolType:
77962
- return languageVersion < 2
77963
- ? getGlobalSymbolNameWithFallback()
77964
- : factory.createIdentifier("Symbol");
77965
- case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
77966
- return factory.createIdentifier("Function");
77967
- case ts.TypeReferenceSerializationKind.Promise:
77968
- return factory.createIdentifier("Promise");
77969
- case ts.TypeReferenceSerializationKind.ObjectType:
77970
- return factory.createIdentifier("Object");
77971
- default:
77972
- return ts.Debug.assertNever(kind);
77973
- }
77974
- }
77975
- function createCheckedValue(left, right) {
77976
- return factory.createLogicalAnd(factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")), right);
77977
- }
77978
- function serializeEntityNameAsExpressionFallback(node) {
77979
- if (node.kind === 79) {
77980
- var copied = serializeEntityNameAsExpression(node);
77981
- return createCheckedValue(copied, copied);
77982
- }
77983
- if (node.left.kind === 79) {
77984
- return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
77985
- }
77986
- var left = serializeEntityNameAsExpressionFallback(node.left);
77987
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77988
- return factory.createLogicalAnd(factory.createLogicalAnd(left.left, factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())), factory.createPropertyAccessExpression(temp, node.right));
77989
- }
77990
- function serializeEntityNameAsExpression(node) {
77991
- switch (node.kind) {
77992
- case 79:
77993
- var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
77994
- name.original = undefined;
77995
- ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
77996
- return name;
77997
- case 161:
77998
- return serializeQualifiedNameAsExpression(node);
77999
- }
78000
- }
78001
- function serializeQualifiedNameAsExpression(node) {
78002
- return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
78003
- }
78004
- function getGlobalSymbolNameWithFallback() {
78005
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("Symbol"), "function"), undefined, factory.createIdentifier("Symbol"), undefined, factory.createIdentifier("Object"));
78006
- }
78007
- function getGlobalBigIntNameWithFallback() {
78008
- return languageVersion < 99
78009
- ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), undefined, factory.createIdentifier("BigInt"), undefined, factory.createIdentifier("Object"))
78010
- : factory.createIdentifier("BigInt");
78011
- }
78012
77814
  function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
78013
77815
  var name = member.name;
78014
77816
  if (ts.isPrivateIdentifier(name)) {
@@ -78051,22 +77853,23 @@ var ts;
78051
77853
  function shouldEmitFunctionLikeDeclaration(node) {
78052
77854
  return !ts.nodeIsMissing(node.body);
78053
77855
  }
78054
- function visitPropertyDeclaration(node) {
78055
- 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)) {
78056
77859
  return undefined;
78057
77860
  }
78058
- var updated = factory.updatePropertyDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78059
- if (updated !== node) {
78060
- ts.setCommentRange(updated, node);
78061
- 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);
78062
77865
  }
78063
- return updated;
77866
+ return factory.updatePropertyDeclaration(node, decorators, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78064
77867
  }
78065
77868
  function visitConstructor(node) {
78066
77869
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78067
77870
  return undefined;
78068
77871
  }
78069
- 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));
78070
77873
  }
78071
77874
  function transformConstructorBody(body, constructor) {
78072
77875
  var parametersWithPropertyAssignments = constructor &&
@@ -78106,41 +77909,43 @@ var ts;
78106
77909
  ts.setEmitFlags(localName, 1536);
78107
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))));
78108
77911
  }
78109
- function visitMethodDeclaration(node) {
77912
+ function visitMethodDeclaration(node, parent) {
77913
+ if (!(node.transformFlags & 1)) {
77914
+ return node;
77915
+ }
78110
77916
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78111
77917
  return undefined;
78112
77918
  }
78113
- 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));
78114
- if (updated !== node) {
78115
- ts.setCommentRange(updated, node);
78116
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78117
- }
78118
- 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));
78119
77922
  }
78120
77923
  function shouldEmitAccessorDeclaration(node) {
78121
77924
  return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128));
78122
77925
  }
78123
- function visitGetAccessor(node) {
77926
+ function visitGetAccessor(node, parent) {
77927
+ if (!(node.transformFlags & 1)) {
77928
+ return node;
77929
+ }
78124
77930
  if (!shouldEmitAccessorDeclaration(node)) {
78125
77931
  return undefined;
78126
77932
  }
78127
- 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([]));
78128
- if (updated !== node) {
78129
- ts.setCommentRange(updated, node);
78130
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78131
- }
78132
- 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([]));
78133
77937
  }
78134
- function visitSetAccessor(node) {
77938
+ function visitSetAccessor(node, parent) {
77939
+ if (!(node.transformFlags & 1)) {
77940
+ return node;
77941
+ }
78135
77942
  if (!shouldEmitAccessorDeclaration(node)) {
78136
77943
  return undefined;
78137
77944
  }
78138
- 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([]));
78139
- if (updated !== node) {
78140
- ts.setCommentRange(updated, node);
78141
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78142
- }
78143
- 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([]));
78144
77949
  }
78145
77950
  function visitFunctionDeclaration(node) {
78146
77951
  if (!shouldEmitFunctionLikeDeclaration(node)) {
@@ -78169,7 +77974,7 @@ var ts;
78169
77974
  if (ts.parameterIsThisKeyword(node)) {
78170
77975
  return undefined;
78171
77976
  }
78172
- 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));
78173
77978
  if (updated !== node) {
78174
77979
  ts.setCommentRange(updated, node);
78175
77980
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -78565,9 +78370,6 @@ var ts;
78565
78370
  return isExternalModuleExport(node)
78566
78371
  && ts.hasSyntacticModifier(node, 512);
78567
78372
  }
78568
- function expressionToStatement(expression) {
78569
- return factory.createExpressionStatement(expression);
78570
- }
78571
78373
  function addExportMemberAssignment(statements, node) {
78572
78374
  var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, false, true), factory.getLocalName(node));
78573
78375
  ts.setSourceMapRange(expression, ts.createRange(node.name ? node.name.pos : node.pos, node.end));
@@ -78592,36 +78394,12 @@ var ts;
78592
78394
  function getNamespaceContainerName(node) {
78593
78395
  return factory.getGeneratedNameForNode(node);
78594
78396
  }
78595
- function getClassAliasIfNeeded(node) {
78596
- if (resolver.getNodeCheckFlags(node) & 16777216) {
78597
- enableSubstitutionForClassAliases();
78598
- var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
78599
- classAliases[ts.getOriginalNodeId(node)] = classAlias;
78600
- hoistVariableDeclaration(classAlias);
78601
- return classAlias;
78602
- }
78603
- }
78604
- function getClassPrototype(node) {
78605
- return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
78606
- }
78607
- function getClassMemberPrefix(node, member) {
78608
- return ts.isStatic(member)
78609
- ? factory.getDeclarationName(node)
78610
- : getClassPrototype(node);
78611
- }
78612
78397
  function enableSubstitutionForNonQualifiedEnumMembers() {
78613
78398
  if ((enabledSubstitutions & 8) === 0) {
78614
78399
  enabledSubstitutions |= 8;
78615
78400
  context.enableSubstitution(79);
78616
78401
  }
78617
78402
  }
78618
- function enableSubstitutionForClassAliases() {
78619
- if ((enabledSubstitutions & 1) === 0) {
78620
- enabledSubstitutions |= 1;
78621
- context.enableSubstitution(79);
78622
- classAliases = [];
78623
- }
78624
- }
78625
78403
  function enableSubstitutionForNamespaceExports() {
78626
78404
  if ((enabledSubstitutions & 2) === 0) {
78627
78405
  enabledSubstitutions |= 2;
@@ -78688,27 +78466,9 @@ var ts;
78688
78466
  return node;
78689
78467
  }
78690
78468
  function substituteExpressionIdentifier(node) {
78691
- return trySubstituteClassAlias(node)
78692
- || trySubstituteNamespaceExportedName(node)
78469
+ return trySubstituteNamespaceExportedName(node)
78693
78470
  || node;
78694
78471
  }
78695
- function trySubstituteClassAlias(node) {
78696
- if (enabledSubstitutions & 1) {
78697
- if (resolver.getNodeCheckFlags(node) & 33554432) {
78698
- var declaration = resolver.getReferencedValueDeclaration(node);
78699
- if (declaration) {
78700
- var classAlias = classAliases[declaration.id];
78701
- if (classAlias) {
78702
- var clone_2 = factory.cloneNode(classAlias);
78703
- ts.setSourceMapRange(clone_2, node);
78704
- ts.setCommentRange(clone_2, node);
78705
- return clone_2;
78706
- }
78707
- }
78708
- }
78709
- }
78710
- return undefined;
78711
- }
78712
78472
  function trySubstituteNamespaceExportedName(node) {
78713
78473
  if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) {
78714
78474
  var container = resolver.getReferencedExportContainer(node, false);
@@ -78794,7 +78554,7 @@ var ts;
78794
78554
  return visited;
78795
78555
  }
78796
78556
  function visitorWorker(node, valueIsDiscarded) {
78797
- if (node.transformFlags & 8388608) {
78557
+ if (node.transformFlags & 16777216) {
78798
78558
  switch (node.kind) {
78799
78559
  case 226:
78800
78560
  case 257:
@@ -78809,8 +78569,8 @@ var ts;
78809
78569
  return visitClassStaticBlockDeclaration(node);
78810
78570
  }
78811
78571
  }
78812
- if (node.transformFlags & 8388608 ||
78813
- node.transformFlags & 33554432 &&
78572
+ if (node.transformFlags & 16777216 ||
78573
+ node.transformFlags & 134217728 &&
78814
78574
  shouldTransformSuperInStaticInitializers &&
78815
78575
  currentStaticPropertyDeclarationOrStaticBlock &&
78816
78576
  currentClassLexicalEnvironment) {
@@ -79321,13 +79081,13 @@ var ts;
79321
79081
  facts |= 2;
79322
79082
  }
79323
79083
  if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) {
79324
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192) {
79084
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384) {
79325
79085
  facts |= 8;
79326
79086
  if (!(facts & 1)) {
79327
79087
  facts |= 2;
79328
79088
  }
79329
79089
  }
79330
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432) {
79090
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728) {
79331
79091
  if (!(facts & 1)) {
79332
79092
  facts |= 2 | 4;
79333
79093
  }
@@ -79802,10 +79562,10 @@ var ts;
79802
79562
  if (declaration) {
79803
79563
  var classAlias = classAliases[declaration.id];
79804
79564
  if (classAlias) {
79805
- var clone_3 = factory.cloneNode(classAlias);
79806
- ts.setSourceMapRange(clone_3, node);
79807
- ts.setCommentRange(clone_3, node);
79808
- 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;
79809
79569
  }
79810
79570
  }
79811
79571
  }
@@ -80140,6 +79900,621 @@ var ts;
80140
79900
  }
80141
79901
  })(ts || (ts = {}));
80142
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;
80143
80518
  (function (ts) {
80144
80519
  function transformES2017(context) {
80145
80520
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
@@ -80805,7 +81180,7 @@ var ts;
80805
81180
  return objects;
80806
81181
  }
80807
81182
  function visitObjectLiteralExpression(node) {
80808
- if (node.transformFlags & 32768) {
81183
+ if (node.transformFlags & 65536) {
80809
81184
  var objects = chunkObjectLiteralElements(node.properties);
80810
81185
  if (objects.length && objects[0].kind !== 205) {
80811
81186
  objects.unshift(factory.createObjectLiteralExpression());
@@ -80846,7 +81221,7 @@ var ts;
80846
81221
  return ts.processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, ts.ProcessLevel.LiftRestriction);
80847
81222
  }
80848
81223
  function visitBinaryExpression(node, expressionResultIsUnused) {
80849
- if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768) {
81224
+ if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 65536) {
80850
81225
  return ts.flattenDestructuringAssignment(node, visitor, context, 1, !expressionResultIsUnused);
80851
81226
  }
80852
81227
  if (node.operatorToken.kind === 27) {
@@ -80873,7 +81248,7 @@ var ts;
80873
81248
  function visitCatchClause(node) {
80874
81249
  if (node.variableDeclaration &&
80875
81250
  ts.isBindingPattern(node.variableDeclaration.name) &&
80876
- node.variableDeclaration.name.transformFlags & 32768) {
81251
+ node.variableDeclaration.name.transformFlags & 65536) {
80877
81252
  var name = factory.getGeneratedNameForNode(node.variableDeclaration.name);
80878
81253
  var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, undefined, undefined, name);
80879
81254
  var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1);
@@ -80908,7 +81283,7 @@ var ts;
80908
81283
  return visitVariableDeclarationWorker(node, false);
80909
81284
  }
80910
81285
  function visitVariableDeclarationWorker(node, exportedVariableStatement) {
80911
- if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768) {
81286
+ if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536) {
80912
81287
  return ts.flattenDestructuringBinding(node, visitor, context, 1, undefined, exportedVariableStatement);
80913
81288
  }
80914
81289
  return ts.visitEachChild(node, visitor, context);
@@ -80921,7 +81296,7 @@ var ts;
80921
81296
  }
80922
81297
  function visitForOfStatement(node, outermostLabeledStatement) {
80923
81298
  var ancestorFacts = enterSubtree(0, 2);
80924
- if (node.initializer.transformFlags & 32768) {
81299
+ if (node.initializer.transformFlags & 65536) {
80925
81300
  node = transformForOfStatementWithObjectRest(node);
80926
81301
  }
80927
81302
  var result = node.awaitModifier ?
@@ -81018,7 +81393,7 @@ var ts;
81018
81393
  if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) {
81019
81394
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, undefined, undefined, undefined);
81020
81395
  }
81021
- if (node.transformFlags & 32768) {
81396
+ if (node.transformFlags & 65536) {
81022
81397
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
81023
81398
  }
81024
81399
  return ts.visitEachChild(node, visitor, context);
@@ -81030,7 +81405,7 @@ var ts;
81030
81405
  if (parameters) {
81031
81406
  parameters.add(parameter);
81032
81407
  }
81033
- else if (parameter.transformFlags & 32768) {
81408
+ else if (parameter.transformFlags & 65536) {
81034
81409
  parameters = new ts.Set();
81035
81410
  }
81036
81411
  }
@@ -81219,7 +81594,7 @@ var ts;
81219
81594
  statements = ts.append(statements, statement);
81220
81595
  }
81221
81596
  }
81222
- else if (parameter.transformFlags & 32768) {
81597
+ else if (parameter.transformFlags & 65536) {
81223
81598
  containsPrecedingObjectRestOrSpread = true;
81224
81599
  var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, factory.getGeneratedNameForNode(parameter), false, true);
81225
81600
  if (ts.some(declarations)) {
@@ -82352,7 +82727,7 @@ var ts;
82352
82727
  && !node.expression;
82353
82728
  }
82354
82729
  function isOrMayContainReturnCompletion(node) {
82355
- return node.transformFlags & 2097152
82730
+ return node.transformFlags & 4194304
82356
82731
  && (ts.isReturnStatement(node)
82357
82732
  || ts.isIfStatement(node)
82358
82733
  || ts.isWithStatement(node)
@@ -82759,7 +83134,7 @@ var ts;
82759
83134
  factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment());
82760
83135
  insertCaptureNewTargetIfNeeded(prologue, constructor, false);
82761
83136
  if (isDerivedClass || superCallExpression) {
82762
- if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192)) {
83137
+ if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 16384)) {
82763
83138
  var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression);
82764
83139
  var returnStatement = factory.createReturnStatement(superCallExpression);
82765
83140
  ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1));
@@ -83074,7 +83449,7 @@ var ts;
83074
83449
  return call;
83075
83450
  }
83076
83451
  function visitArrowFunction(node) {
83077
- if (node.transformFlags & 8192 && !(hierarchyFacts & 16384)) {
83452
+ if (node.transformFlags & 16384 && !(hierarchyFacts & 16384)) {
83078
83453
  hierarchyFacts |= 65536;
83079
83454
  }
83080
83455
  var savedConvertedLoopState = convertedLoopState;
@@ -83278,7 +83653,7 @@ var ts;
83278
83653
  return updated;
83279
83654
  }
83280
83655
  function visitVariableDeclarationList(node) {
83281
- if (node.flags & 3 || node.transformFlags & 262144) {
83656
+ if (node.flags & 3 || node.transformFlags & 524288) {
83282
83657
  if (node.flags & 3) {
83283
83658
  enableSubstitutionsForBlockScopedBindings();
83284
83659
  }
@@ -83289,7 +83664,7 @@ var ts;
83289
83664
  ts.setOriginalNode(declarationList, node);
83290
83665
  ts.setTextRange(declarationList, node);
83291
83666
  ts.setCommentRange(declarationList, node);
83292
- if (node.transformFlags & 262144
83667
+ if (node.transformFlags & 524288
83293
83668
  && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) {
83294
83669
  ts.setSourceMapRange(declarationList, getRangeUnion(declarations));
83295
83670
  }
@@ -83491,7 +83866,7 @@ var ts;
83491
83866
  var numInitialProperties = -1, hasComputed = false;
83492
83867
  for (var i = 0; i < properties.length; i++) {
83493
83868
  var property = properties[i];
83494
- if ((property.transformFlags & 524288 &&
83869
+ if ((property.transformFlags & 1048576 &&
83495
83870
  hierarchyFacts & 4)
83496
83871
  || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162)) {
83497
83872
  numInitialProperties = i;
@@ -83717,7 +84092,7 @@ var ts;
83717
84092
  }
83718
84093
  function createFunctionForInitializerOfForStatement(node, currentState) {
83719
84094
  var functionName = factory.createUniqueName("_loop_init");
83720
- var containsYield = (node.initializer.transformFlags & 524288) !== 0;
84095
+ var containsYield = (node.initializer.transformFlags & 1048576) !== 0;
83721
84096
  var emitFlags = 0;
83722
84097
  if (currentState.containsLexicalThis)
83723
84098
  emitFlags |= 8;
@@ -83761,7 +84136,7 @@ var ts;
83761
84136
  var loopBody = factory.createBlock(statements, true);
83762
84137
  if (ts.isBlock(statement))
83763
84138
  ts.setOriginalNode(loopBody, statement);
83764
- var containsYield = (node.statement.transformFlags & 524288) !== 0;
84139
+ var containsYield = (node.statement.transformFlags & 1048576) !== 0;
83765
84140
  var emitFlags = 524288;
83766
84141
  if (currentState.containsLexicalThis)
83767
84142
  emitFlags |= 8;
@@ -84071,7 +84446,7 @@ var ts;
84071
84446
  return visitCallExpressionWithPotentialCapturedThisAssignment(node, false);
84072
84447
  }
84073
84448
  function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) {
84074
- if (node.transformFlags & 16384 ||
84449
+ if (node.transformFlags & 32768 ||
84075
84450
  node.expression.kind === 106 ||
84076
84451
  ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) {
84077
84452
  var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg;
@@ -84079,7 +84454,7 @@ var ts;
84079
84454
  ts.setEmitFlags(thisArg, 4);
84080
84455
  }
84081
84456
  var resultingCall = void 0;
84082
- if (node.transformFlags & 16384) {
84457
+ if (node.transformFlags & 32768) {
84083
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));
84084
84459
  }
84085
84460
  else {
@@ -84510,10 +84885,10 @@ var ts;
84510
84885
  case 247:
84511
84886
  return visitReturnStatement(node);
84512
84887
  default:
84513
- if (node.transformFlags & 524288) {
84888
+ if (node.transformFlags & 1048576) {
84514
84889
  return visitJavaScriptContainingYield(node);
84515
84890
  }
84516
- else if (node.transformFlags & (2048 | 2097152)) {
84891
+ else if (node.transformFlags & (2048 | 4194304)) {
84517
84892
  return ts.visitEachChild(node, visitor, context);
84518
84893
  }
84519
84894
  else {
@@ -84651,7 +85026,7 @@ var ts;
84651
85026
  return ts.setTextRange(factory.createBlock(statements, body.multiLine), body);
84652
85027
  }
84653
85028
  function visitVariableStatement(node) {
84654
- if (node.transformFlags & 524288) {
85029
+ if (node.transformFlags & 1048576) {
84655
85030
  transformAndEmitVariableDeclarationList(node.declarationList);
84656
85031
  return undefined;
84657
85032
  }
@@ -85324,7 +85699,7 @@ var ts;
85324
85699
  }
85325
85700
  }
85326
85701
  function containsYield(node) {
85327
- return !!node && (node.transformFlags & 524288) !== 0;
85702
+ return !!node && (node.transformFlags & 1048576) !== 0;
85328
85703
  }
85329
85704
  function countInitialNodesWithoutYield(nodes) {
85330
85705
  var numNodes = nodes.length;
@@ -86054,7 +86429,7 @@ var ts;
86054
86429
  function transformSourceFile(node) {
86055
86430
  if (node.isDeclarationFile ||
86056
86431
  !(ts.isEffectiveExternalModule(node, compilerOptions) ||
86057
- node.transformFlags & 4194304 ||
86432
+ node.transformFlags & 8388608 ||
86058
86433
  (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) {
86059
86434
  return node;
86060
86435
  }
@@ -86260,7 +86635,7 @@ var ts;
86260
86635
  }
86261
86636
  }
86262
86637
  function visitorWorker(node, valueIsDiscarded) {
86263
- if (!(node.transformFlags & (4194304 | 4096 | 67108864))) {
86638
+ if (!(node.transformFlags & (8388608 | 4096 | 268435456))) {
86264
86639
  return node;
86265
86640
  }
86266
86641
  switch (node.kind) {
@@ -86401,7 +86776,7 @@ var ts;
86401
86776
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
86402
86777
  var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
86403
86778
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
86404
- var containsLexicalThis = !!(node.transformFlags & 8192);
86779
+ var containsLexicalThis = !!(node.transformFlags & 16384);
86405
86780
  switch (compilerOptions.module) {
86406
86781
  case ts.ModuleKind.AMD:
86407
86782
  return createImportCallExpressionAMD(argument, containsLexicalThis);
@@ -87032,7 +87407,7 @@ var ts;
87032
87407
  var noSubstitution;
87033
87408
  return ts.chainBundle(context, transformSourceFile);
87034
87409
  function transformSourceFile(node) {
87035
- if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304)) {
87410
+ if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 8388608)) {
87036
87411
  return node;
87037
87412
  }
87038
87413
  var id = ts.getOriginalNodeId(node);
@@ -87106,7 +87481,7 @@ var ts;
87106
87481
  ts.addRange(statements, hoistedStatements);
87107
87482
  ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment());
87108
87483
  var exportStarFunction = addExportStarIfNeeded(statements);
87109
- var modifiers = node.transformFlags & 1048576 ?
87484
+ var modifiers = node.transformFlags & 2097152 ?
87110
87485
  factory.createModifiersFromModifierFlags(256) :
87111
87486
  undefined;
87112
87487
  var moduleObject = factory.createObjectLiteralExpression([
@@ -87647,7 +88022,7 @@ var ts;
87647
88022
  return node;
87648
88023
  }
87649
88024
  function visitorWorker(node, valueIsDiscarded) {
87650
- if (!(node.transformFlags & (4096 | 4194304 | 67108864))) {
88025
+ if (!(node.transformFlags & (4096 | 8388608 | 268435456))) {
87651
88026
  return node;
87652
88027
  }
87653
88028
  switch (node.kind) {
@@ -88602,7 +88977,8 @@ var ts;
88602
88977
  trackReferencedAmbientModule: trackReferencedAmbientModule,
88603
88978
  trackExternalModuleSymbolOfImportTypeNode: trackExternalModuleSymbolOfImportTypeNode,
88604
88979
  reportNonlocalAugmentation: reportNonlocalAugmentation,
88605
- reportNonSerializableProperty: reportNonSerializableProperty
88980
+ reportNonSerializableProperty: reportNonSerializableProperty,
88981
+ reportImportTypeNodeResolutionModeOverride: reportImportTypeNodeResolutionModeOverride,
88606
88982
  };
88607
88983
  var errorNameNode;
88608
88984
  var errorFallbackNode;
@@ -88724,6 +89100,11 @@ var ts;
88724
89100
  context.addDiagnostic(ts.createDiagnosticForNode((errorNameNode || errorFallbackNode), ts.Diagnostics.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, propertyName));
88725
89101
  }
88726
89102
  }
89103
+ function reportImportTypeNodeResolutionModeOverride() {
89104
+ if (!ts.isNightly() && (errorNameNode || errorFallbackNode)) {
89105
+ context.addDiagnostic(ts.createDiagnosticForNode((errorNameNode || errorFallbackNode), ts.Diagnostics.The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next));
89106
+ }
89107
+ }
88727
89108
  function transformDeclarationsForJS(sourceFile, bundled) {
88728
89109
  var oldDiag = getSymbolAccessibilityDiagnostic;
88729
89110
  getSymbolAccessibilityDiagnostic = function (s) { return (s.errorNode && ts.canProduceDiagnostics(s.errorNode) ? ts.createGetSymbolAccessibilityDiagnosticForNode(s.errorNode)(s) : ({
@@ -89140,7 +89521,7 @@ var ts;
89140
89521
  var mode = ts.getResolutionModeOverrideForClause(assertClause);
89141
89522
  if (mode !== undefined) {
89142
89523
  if (!ts.isNightly()) {
89143
- context.addDiagnostic(ts.createDiagnosticForNode(assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next));
89524
+ context.addDiagnostic(ts.createDiagnosticForNode(assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next));
89144
89525
  }
89145
89526
  return assertClause;
89146
89527
  }
@@ -89826,6 +90207,7 @@ var ts;
89826
90207
  var transformers = [];
89827
90208
  ts.addRange(transformers, customTransformers && ts.map(customTransformers.before, wrapScriptTransformerFactory));
89828
90209
  transformers.push(ts.transformTypeScript);
90210
+ transformers.push(ts.transformLegacyDecorators);
89829
90211
  transformers.push(ts.transformClassFields);
89830
90212
  if (ts.getJSXTransformEnabled(compilerOptions)) {
89831
90213
  transformers.push(ts.transformJsx);
@@ -97848,7 +98230,7 @@ var ts;
97848
98230
  ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective);
97849
98231
  var mode = ref.resolutionMode || file.impliedNodeFormat;
97850
98232
  if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) {
97851
- programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext));
98233
+ programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext));
97852
98234
  }
97853
98235
  processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, });
97854
98236
  }