typescript 4.8.0-dev.20220602 → 4.8.0-dev.20220605

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.20220602";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220605";
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) {
@@ -67802,8 +67850,11 @@ var ts;
67802
67850
  if (node.assertions) {
67803
67851
  var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode);
67804
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
+ }
67805
67856
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
67806
- 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);
67807
67858
  }
67808
67859
  }
67809
67860
  }
@@ -71463,10 +71514,10 @@ var ts;
71463
71514
  var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined);
71464
71515
  if (validForTypeAssertions && override) {
71465
71516
  if (!ts.isNightly()) {
71466
- 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);
71467
71518
  }
71468
71519
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
71469
- 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);
71470
71521
  }
71471
71522
  return;
71472
71523
  }
@@ -76664,6 +76715,90 @@ var ts;
76664
76715
  return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name);
76665
76716
  }
76666
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
+ }
76667
76802
  })(ts || (ts = {}));
76668
76803
  var ts;
76669
76804
  (function (ts) {
@@ -76865,8 +77000,8 @@ var ts;
76865
77000
  if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) {
76866
77001
  var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element);
76867
77002
  if (flattenContext.level >= 1
76868
- && !(element.transformFlags & (16384 | 32768))
76869
- && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 | 32768))
77003
+ && !(element.transformFlags & (32768 | 65536))
77004
+ && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 | 65536))
76870
77005
  && !ts.isComputedPropertyName(propertyName)) {
76871
77006
  bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor));
76872
77007
  }
@@ -76913,7 +77048,7 @@ var ts;
76913
77048
  for (var i = 0; i < numElements; i++) {
76914
77049
  var element = elements[i];
76915
77050
  if (flattenContext.level >= 1) {
76916
- if (element.transformFlags & 32768 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
77051
+ if (element.transformFlags & 65536 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
76917
77052
  flattenContext.hasTransformedPriorElement = true;
76918
77053
  var temp = flattenContext.context.factory.createTempVariable(undefined);
76919
77054
  if (flattenContext.hoistTempVariables) {
@@ -77081,9 +77216,9 @@ var ts;
77081
77216
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, startLexicalEnvironment = context.startLexicalEnvironment, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
77082
77217
  var resolver = context.getEmitResolver();
77083
77218
  var compilerOptions = context.getCompilerOptions();
77084
- var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
77085
77219
  var languageVersion = ts.getEmitScriptTarget(compilerOptions);
77086
77220
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
77221
+ var typeSerializer = compilerOptions.emitDecoratorMetadata ? ts.createRuntimeTypeSerializer(context) : undefined;
77087
77222
  var previousOnEmitNode = context.onEmitNode;
77088
77223
  var previousOnSubstituteNode = context.onSubstituteNode;
77089
77224
  context.onEmitNode = onEmitNode;
@@ -77094,11 +77229,9 @@ var ts;
77094
77229
  var currentNamespace;
77095
77230
  var currentNamespaceContainerName;
77096
77231
  var currentLexicalScope;
77097
- var currentNameScope;
77098
77232
  var currentScopeFirstDeclarationsOfName;
77099
77233
  var currentClassHasParameterProperties;
77100
77234
  var enabledSubstitutions;
77101
- var classAliases;
77102
77235
  var applicableSubstitutions;
77103
77236
  return transformSourceFileOrBundle;
77104
77237
  function transformSourceFileOrBundle(node) {
@@ -77127,7 +77260,6 @@ var ts;
77127
77260
  }
77128
77261
  function saveStateAndInvoke(node, f) {
77129
77262
  var savedCurrentScope = currentLexicalScope;
77130
- var savedCurrentNameScope = currentNameScope;
77131
77263
  var savedCurrentScopeFirstDeclarationsOfName = currentScopeFirstDeclarationsOfName;
77132
77264
  var savedCurrentClassHasParameterProperties = currentClassHasParameterProperties;
77133
77265
  onBeforeVisitNode(node);
@@ -77136,7 +77268,6 @@ var ts;
77136
77268
  currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName;
77137
77269
  }
77138
77270
  currentLexicalScope = savedCurrentScope;
77139
- currentNameScope = savedCurrentNameScope;
77140
77271
  currentClassHasParameterProperties = savedCurrentClassHasParameterProperties;
77141
77272
  return visited;
77142
77273
  }
@@ -77147,7 +77278,6 @@ var ts;
77147
77278
  case 262:
77148
77279
  case 235:
77149
77280
  currentLexicalScope = node;
77150
- currentNameScope = undefined;
77151
77281
  currentScopeFirstDeclarationsOfName = undefined;
77152
77282
  break;
77153
77283
  case 257:
@@ -77161,9 +77291,6 @@ var ts;
77161
77291
  else {
77162
77292
  ts.Debug.assert(node.kind === 257 || ts.hasSyntacticModifier(node, 512));
77163
77293
  }
77164
- if (ts.isClassDeclaration(node)) {
77165
- currentNameScope = node;
77166
- }
77167
77294
  break;
77168
77295
  }
77169
77296
  }
@@ -77227,23 +77354,46 @@ var ts;
77227
77354
  }
77228
77355
  return node;
77229
77356
  }
77230
- function classElementVisitor(node) {
77231
- return saveStateAndInvoke(node, classElementVisitorWorker);
77357
+ function getClassElementVisitor(parent) {
77358
+ return function (node) { return saveStateAndInvoke(node, function (n) { return classElementVisitorWorker(n, parent); }); };
77232
77359
  }
77233
- function classElementVisitorWorker(node) {
77360
+ function classElementVisitorWorker(node, parent) {
77234
77361
  switch (node.kind) {
77235
77362
  case 171:
77236
77363
  return visitConstructor(node);
77237
77364
  case 167:
77238
- return visitPropertyDeclaration(node);
77239
- case 176:
77365
+ return visitPropertyDeclaration(node, parent);
77240
77366
  case 172:
77367
+ return visitGetAccessor(node, parent);
77241
77368
  case 173:
77369
+ return visitSetAccessor(node, parent);
77242
77370
  case 169:
77371
+ return visitMethodDeclaration(node, parent);
77243
77372
  case 170:
77244
- return visitorWorker(node);
77373
+ return ts.visitEachChild(node, visitor, context);
77245
77374
  case 234:
77246
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);
77247
77397
  default:
77248
77398
  return ts.Debug.failBadSyntaxKind(node);
77249
77399
  }
@@ -77304,16 +77454,11 @@ var ts;
77304
77454
  case 195:
77305
77455
  case 196:
77306
77456
  case 176:
77307
- case 165:
77308
77457
  return undefined;
77309
77458
  case 259:
77310
77459
  return factory.createNotEmittedStatement(node);
77311
- case 167:
77312
- return visitPropertyDeclaration(node);
77313
77460
  case 264:
77314
77461
  return undefined;
77315
- case 171:
77316
- return visitConstructor(node);
77317
77462
  case 258:
77318
77463
  return factory.createNotEmittedStatement(node);
77319
77464
  case 257:
@@ -77324,12 +77469,15 @@ var ts;
77324
77469
  return visitHeritageClause(node);
77325
77470
  case 228:
77326
77471
  return visitExpressionWithTypeArguments(node);
77472
+ case 205:
77473
+ return visitObjectLiteralExpression(node);
77474
+ case 171:
77475
+ case 167:
77327
77476
  case 169:
77328
- return visitMethodDeclaration(node);
77329
77477
  case 172:
77330
- return visitGetAccessor(node);
77331
77478
  case 173:
77332
- return visitSetAccessor(node);
77479
+ case 170:
77480
+ return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors");
77333
77481
  case 256:
77334
77482
  return visitFunctionDeclaration(node);
77335
77483
  case 213:
@@ -77375,6 +77523,9 @@ var ts;
77375
77523
  !ts.isJsonSourceFile(node);
77376
77524
  return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict));
77377
77525
  }
77526
+ function visitObjectLiteralExpression(node) {
77527
+ return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement));
77528
+ }
77378
77529
  function getClassFacts(node, staticProperties) {
77379
77530
  var facts = 0;
77380
77531
  if (ts.some(staticProperties))
@@ -77397,7 +77548,7 @@ var ts;
77397
77548
  return facts;
77398
77549
  }
77399
77550
  function hasTypeScriptClassSyntax(node) {
77400
- return !!(node.transformFlags & 4096);
77551
+ return !!(node.transformFlags & 8192);
77401
77552
  }
77402
77553
  function isClassLikeDeclarationWithTypeScriptSyntax(node) {
77403
77554
  return ts.some(node.decorators)
@@ -77407,7 +77558,7 @@ var ts;
77407
77558
  }
77408
77559
  function visitClassDeclaration(node) {
77409
77560
  if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1))) {
77410
- 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));
77411
77562
  }
77412
77563
  var staticProperties = ts.getProperties(node, true, true);
77413
77564
  var facts = getClassFacts(node, staticProperties);
@@ -77415,13 +77566,18 @@ var ts;
77415
77566
  context.startLexicalEnvironment();
77416
77567
  }
77417
77568
  var name = node.name || (facts & 5 ? factory.getGeneratedNameForNode(node) : undefined);
77418
- var classStatement = facts & 2
77419
- ? createClassDeclarationHeadWithDecorators(node, name)
77420
- : 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);
77421
77580
  var statements = [classStatement];
77422
- addClassElementDecorationStatements(statements, node, false);
77423
- addClassElementDecorationStatements(statements, node, true);
77424
- addConstructorDecorationStatement(statements, node);
77425
77581
  if (facts & 128) {
77426
77582
  var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19);
77427
77583
  var localName = factory.getInternalName(node);
@@ -77461,47 +77617,12 @@ var ts;
77461
77617
  }
77462
77618
  return ts.singleOrMany(statements);
77463
77619
  }
77464
- function createClassDeclarationHeadWithoutDecorators(node, name, facts) {
77465
- var modifiers = !(facts & 128)
77466
- ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77467
- : undefined;
77468
- var classDeclaration = factory.createClassDeclaration(undefined, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77469
- var emitFlags = ts.getEmitFlags(node);
77470
- if (facts & 1) {
77471
- emitFlags |= 32;
77472
- }
77473
- ts.setTextRange(classDeclaration, node);
77474
- ts.setOriginalNode(classDeclaration, node);
77475
- ts.setEmitFlags(classDeclaration, emitFlags);
77476
- return classDeclaration;
77477
- }
77478
- function createClassDeclarationHeadWithDecorators(node, name) {
77479
- var location = ts.moveRangePastDecorators(node);
77480
- var classAlias = getClassAliasIfNeeded(node);
77481
- var declName = languageVersion <= 2 ?
77482
- factory.getInternalName(node, false, true) :
77483
- factory.getLocalName(node, false, true);
77484
- var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
77485
- var members = transformClassMembers(node);
77486
- var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
77487
- ts.setOriginalNode(classExpression, node);
77488
- ts.setTextRange(classExpression, location);
77489
- var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
77490
- factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
77491
- ], 1));
77492
- ts.setOriginalNode(statement, node);
77493
- ts.setTextRange(statement, location);
77494
- ts.setCommentRange(statement, node);
77495
- return statement;
77496
- }
77497
77620
  function visitClassExpression(node) {
77498
- if (!isClassLikeDeclarationWithTypeScriptSyntax(node)) {
77499
- return ts.visitEachChild(node, visitor, context);
77500
- }
77501
- var classExpression = factory.createClassExpression(undefined, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77502
- ts.setOriginalNode(classExpression, node);
77503
- ts.setTextRange(classExpression, node);
77504
- 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));
77505
77626
  }
77506
77627
  function transformClassMembers(node) {
77507
77628
  var members = [];
@@ -77516,22 +77637,9 @@ var ts;
77516
77637
  }
77517
77638
  }
77518
77639
  }
77519
- ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement));
77640
+ ts.addRange(members, ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77520
77641
  return ts.setTextRange(factory.createNodeArray(members), node.members);
77521
77642
  }
77522
- function getDecoratedClassElements(node, isStatic) {
77523
- return ts.filter(node.members, isStatic ? function (m) { return isStaticDecoratedClassElement(m, node); } : function (m) { return isInstanceDecoratedClassElement(m, node); });
77524
- }
77525
- function isStaticDecoratedClassElement(member, parent) {
77526
- return isDecoratedClassElement(member, true, parent);
77527
- }
77528
- function isInstanceDecoratedClassElement(member, parent) {
77529
- return isDecoratedClassElement(member, false, parent);
77530
- }
77531
- function isDecoratedClassElement(member, isStaticElement, parent) {
77532
- return ts.nodeOrChildIsDecorated(member, parent)
77533
- && isStaticElement === ts.isStatic(member);
77534
- }
77535
77643
  function getDecoratorsOfParameters(node) {
77536
77644
  var decorators;
77537
77645
  if (node) {
@@ -77562,11 +77670,11 @@ var ts;
77562
77670
  parameters: parameters
77563
77671
  };
77564
77672
  }
77565
- function getAllDecoratorsOfClassElement(node, member) {
77673
+ function getAllDecoratorsOfClassElement(member, parent) {
77566
77674
  switch (member.kind) {
77567
77675
  case 172:
77568
77676
  case 173:
77569
- return getAllDecoratorsOfAccessors(node, member);
77677
+ return getAllDecoratorsOfAccessors(parent, member);
77570
77678
  case 169:
77571
77679
  return getAllDecoratorsOfMethod(member);
77572
77680
  case 167:
@@ -77613,124 +77721,71 @@ var ts;
77613
77721
  if (!allDecorators) {
77614
77722
  return undefined;
77615
77723
  }
77616
- var decoratorExpressions = [];
77617
- ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
77618
- ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
77619
- addTypeMetadata(node, container, decoratorExpressions);
77620
- return decoratorExpressions;
77621
- }
77622
- function addClassElementDecorationStatements(statements, node, isStatic) {
77623
- ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), expressionToStatement));
77624
- }
77625
- function generateClassElementDecorationExpressions(node, isStatic) {
77626
- var members = getDecoratedClassElements(node, isStatic);
77627
- var expressions;
77628
- for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
77629
- var member = members_8[_i];
77630
- var expression = generateClassElementDecorationExpression(node, member);
77631
- if (expression) {
77632
- if (!expressions) {
77633
- expressions = [expression];
77634
- }
77635
- else {
77636
- expressions.push(expression);
77637
- }
77638
- }
77639
- }
77640
- return expressions;
77641
- }
77642
- function generateClassElementDecorationExpression(node, member) {
77643
- var allDecorators = getAllDecoratorsOfClassElement(node, member);
77644
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(member, node, allDecorators);
77645
- if (!decoratorExpressions) {
77646
- return undefined;
77647
- }
77648
- var prefix = getClassMemberPrefix(node, member);
77649
- var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
77650
- var descriptor = languageVersion > 0
77651
- ? member.kind === 167
77652
- ? factory.createVoidZero()
77653
- : factory.createNull()
77654
- : undefined;
77655
- var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
77656
- ts.setTextRange(helper, ts.moveRangePastDecorators(member));
77657
- ts.setEmitFlags(helper, 1536);
77658
- return helper;
77659
- }
77660
- function addConstructorDecorationStatement(statements, node) {
77661
- var expression = generateConstructorDecorationExpression(node);
77662
- if (expression) {
77663
- statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
77664
- }
77665
- }
77666
- function generateConstructorDecorationExpression(node) {
77667
- var allDecorators = getAllDecoratorsOfConstructor(node);
77668
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77669
- if (!decoratorExpressions) {
77670
- return undefined;
77671
- }
77672
- var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
77673
- var localName = languageVersion <= 2 ?
77674
- factory.getInternalName(node, false, true) :
77675
- factory.getLocalName(node, false, true);
77676
- var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
77677
- var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
77678
- ts.setEmitFlags(expression, 1536);
77679
- ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node));
77680
- return expression;
77681
- }
77682
- function transformDecorator(decorator) {
77683
- 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;
77684
77730
  }
77685
- function transformDecoratorsOfParameter(decorators, parameterOffset) {
77686
- var expressions;
77687
- if (decorators) {
77688
- expressions = [];
77689
- for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
77690
- var decorator = decorators_1[_i];
77691
- var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
77692
- 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);
77693
77739
  ts.setEmitFlags(helper, 1536);
77694
- expressions.push(helper);
77740
+ var decorator = factory.createDecorator(helper);
77741
+ ts.setTextRange(decorator, parameterDecorator.expression);
77742
+ ts.setEmitFlags(decorator, 1536);
77743
+ decorators.push(decorator);
77695
77744
  }
77745
+ return decorators;
77696
77746
  }
77697
- return expressions;
77698
77747
  }
77699
- function addTypeMetadata(node, container, decoratorExpressions) {
77700
- if (USE_NEW_TYPE_METADATA_FORMAT) {
77701
- addNewTypeMetadata(node, container, decoratorExpressions);
77702
- }
77703
- else {
77704
- addOldTypeMetadata(node, container, decoratorExpressions);
77705
- }
77748
+ function getTypeMetadata(node, container) {
77749
+ return USE_NEW_TYPE_METADATA_FORMAT ?
77750
+ getNewTypeMetadata(node, container) :
77751
+ getOldTypeMetadata(node, container);
77706
77752
  }
77707
- function addOldTypeMetadata(node, container, decoratorExpressions) {
77708
- if (compilerOptions.emitDecoratorMetadata) {
77753
+ function getOldTypeMetadata(node, container) {
77754
+ if (typeSerializer) {
77755
+ var decorators = void 0;
77709
77756
  if (shouldAddTypeMetadata(node)) {
77710
- 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));
77711
77759
  }
77712
77760
  if (shouldAddParamTypesMetadata(node)) {
77713
- 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));
77714
77763
  }
77715
77764
  if (shouldAddReturnTypeMetadata(node)) {
77716
- 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));
77717
77767
  }
77768
+ return decorators;
77718
77769
  }
77719
77770
  }
77720
- function addNewTypeMetadata(node, container, decoratorExpressions) {
77721
- if (compilerOptions.emitDecoratorMetadata) {
77771
+ function getNewTypeMetadata(node, container) {
77772
+ if (typeSerializer) {
77722
77773
  var properties = void 0;
77723
77774
  if (shouldAddTypeMetadata(node)) {
77724
- (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);
77725
77777
  }
77726
77778
  if (shouldAddParamTypesMetadata(node)) {
77727
- (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);
77728
77781
  }
77729
77782
  if (shouldAddReturnTypeMetadata(node)) {
77730
- (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);
77731
77785
  }
77732
77786
  if (properties) {
77733
- 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)];
77734
77789
  }
77735
77790
  }
77736
77791
  }
@@ -77756,262 +77811,6 @@ var ts;
77756
77811
  }
77757
77812
  return false;
77758
77813
  }
77759
- function getAccessorTypeNode(node) {
77760
- var accessors = resolver.getAllAccessorDeclarations(node);
77761
- return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
77762
- || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
77763
- }
77764
- function serializeTypeOfNode(node) {
77765
- switch (node.kind) {
77766
- case 167:
77767
- case 164:
77768
- return serializeTypeNode(node.type);
77769
- case 173:
77770
- case 172:
77771
- return serializeTypeNode(getAccessorTypeNode(node));
77772
- case 257:
77773
- case 226:
77774
- case 169:
77775
- return factory.createIdentifier("Function");
77776
- default:
77777
- return factory.createVoidZero();
77778
- }
77779
- }
77780
- function serializeParameterTypesOfNode(node, container) {
77781
- var valueDeclaration = ts.isClassLike(node)
77782
- ? ts.getFirstConstructorWithBody(node)
77783
- : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
77784
- ? node
77785
- : undefined;
77786
- var expressions = [];
77787
- if (valueDeclaration) {
77788
- var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
77789
- var numParameters = parameters.length;
77790
- for (var i = 0; i < numParameters; i++) {
77791
- var parameter = parameters[i];
77792
- if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
77793
- continue;
77794
- }
77795
- if (parameter.dotDotDotToken) {
77796
- expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
77797
- }
77798
- else {
77799
- expressions.push(serializeTypeOfNode(parameter));
77800
- }
77801
- }
77802
- }
77803
- return factory.createArrayLiteralExpression(expressions);
77804
- }
77805
- function getParametersOfDecoratedDeclaration(node, container) {
77806
- if (container && node.kind === 172) {
77807
- var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
77808
- if (setAccessor) {
77809
- return setAccessor.parameters;
77810
- }
77811
- }
77812
- return node.parameters;
77813
- }
77814
- function serializeReturnTypeOfNode(node) {
77815
- if (ts.isFunctionLike(node) && node.type) {
77816
- return serializeTypeNode(node.type);
77817
- }
77818
- else if (ts.isAsyncFunction(node)) {
77819
- return factory.createIdentifier("Promise");
77820
- }
77821
- return factory.createVoidZero();
77822
- }
77823
- function serializeTypeNode(node) {
77824
- if (node === undefined) {
77825
- return factory.createIdentifier("Object");
77826
- }
77827
- switch (node.kind) {
77828
- case 114:
77829
- case 153:
77830
- case 143:
77831
- return factory.createVoidZero();
77832
- case 191:
77833
- return serializeTypeNode(node.type);
77834
- case 179:
77835
- case 180:
77836
- return factory.createIdentifier("Function");
77837
- case 183:
77838
- case 184:
77839
- return factory.createIdentifier("Array");
77840
- case 177:
77841
- case 133:
77842
- return factory.createIdentifier("Boolean");
77843
- case 198:
77844
- case 150:
77845
- return factory.createIdentifier("String");
77846
- case 148:
77847
- return factory.createIdentifier("Object");
77848
- case 196:
77849
- switch (node.literal.kind) {
77850
- case 10:
77851
- case 14:
77852
- return factory.createIdentifier("String");
77853
- case 219:
77854
- case 8:
77855
- return factory.createIdentifier("Number");
77856
- case 9:
77857
- return getGlobalBigIntNameWithFallback();
77858
- case 110:
77859
- case 95:
77860
- return factory.createIdentifier("Boolean");
77861
- case 104:
77862
- return factory.createVoidZero();
77863
- default:
77864
- return ts.Debug.failBadSyntaxKind(node.literal);
77865
- }
77866
- case 147:
77867
- return factory.createIdentifier("Number");
77868
- case 158:
77869
- return getGlobalBigIntNameWithFallback();
77870
- case 151:
77871
- return languageVersion < 2
77872
- ? getGlobalSymbolNameWithFallback()
77873
- : factory.createIdentifier("Symbol");
77874
- case 178:
77875
- return serializeTypeReferenceNode(node);
77876
- case 188:
77877
- case 187:
77878
- return serializeTypeList(node.types);
77879
- case 189:
77880
- return serializeTypeList([node.trueType, node.falseType]);
77881
- case 193:
77882
- if (node.operator === 145) {
77883
- return serializeTypeNode(node.type);
77884
- }
77885
- break;
77886
- case 181:
77887
- case 194:
77888
- case 195:
77889
- case 182:
77890
- case 130:
77891
- case 155:
77892
- case 192:
77893
- case 200:
77894
- break;
77895
- case 312:
77896
- case 313:
77897
- case 317:
77898
- case 318:
77899
- case 319:
77900
- break;
77901
- case 314:
77902
- case 315:
77903
- case 316:
77904
- return serializeTypeNode(node.type);
77905
- default:
77906
- return ts.Debug.failBadSyntaxKind(node);
77907
- }
77908
- return factory.createIdentifier("Object");
77909
- }
77910
- function serializeTypeList(types) {
77911
- var serializedUnion;
77912
- for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
77913
- var typeNode = types_22[_i];
77914
- while (typeNode.kind === 191) {
77915
- typeNode = typeNode.type;
77916
- }
77917
- if (typeNode.kind === 143) {
77918
- continue;
77919
- }
77920
- if (!strictNullChecks && (typeNode.kind === 196 && typeNode.literal.kind === 104 || typeNode.kind === 153)) {
77921
- continue;
77922
- }
77923
- var serializedIndividual = serializeTypeNode(typeNode);
77924
- if (ts.isIdentifier(serializedIndividual) && serializedIndividual.escapedText === "Object") {
77925
- return serializedIndividual;
77926
- }
77927
- else if (serializedUnion) {
77928
- if (!ts.isIdentifier(serializedUnion) ||
77929
- !ts.isIdentifier(serializedIndividual) ||
77930
- serializedUnion.escapedText !== serializedIndividual.escapedText) {
77931
- return factory.createIdentifier("Object");
77932
- }
77933
- }
77934
- else {
77935
- serializedUnion = serializedIndividual;
77936
- }
77937
- }
77938
- return serializedUnion || factory.createVoidZero();
77939
- }
77940
- function serializeTypeReferenceNode(node) {
77941
- var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope || currentLexicalScope);
77942
- switch (kind) {
77943
- case ts.TypeReferenceSerializationKind.Unknown:
77944
- if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
77945
- return factory.createIdentifier("Object");
77946
- }
77947
- var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
77948
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77949
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, factory.createIdentifier("Object"));
77950
- case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
77951
- return serializeEntityNameAsExpression(node.typeName);
77952
- case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
77953
- return factory.createVoidZero();
77954
- case ts.TypeReferenceSerializationKind.BigIntLikeType:
77955
- return getGlobalBigIntNameWithFallback();
77956
- case ts.TypeReferenceSerializationKind.BooleanType:
77957
- return factory.createIdentifier("Boolean");
77958
- case ts.TypeReferenceSerializationKind.NumberLikeType:
77959
- return factory.createIdentifier("Number");
77960
- case ts.TypeReferenceSerializationKind.StringLikeType:
77961
- return factory.createIdentifier("String");
77962
- case ts.TypeReferenceSerializationKind.ArrayLikeType:
77963
- return factory.createIdentifier("Array");
77964
- case ts.TypeReferenceSerializationKind.ESSymbolType:
77965
- return languageVersion < 2
77966
- ? getGlobalSymbolNameWithFallback()
77967
- : factory.createIdentifier("Symbol");
77968
- case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
77969
- return factory.createIdentifier("Function");
77970
- case ts.TypeReferenceSerializationKind.Promise:
77971
- return factory.createIdentifier("Promise");
77972
- case ts.TypeReferenceSerializationKind.ObjectType:
77973
- return factory.createIdentifier("Object");
77974
- default:
77975
- return ts.Debug.assertNever(kind);
77976
- }
77977
- }
77978
- function createCheckedValue(left, right) {
77979
- return factory.createLogicalAnd(factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")), right);
77980
- }
77981
- function serializeEntityNameAsExpressionFallback(node) {
77982
- if (node.kind === 79) {
77983
- var copied = serializeEntityNameAsExpression(node);
77984
- return createCheckedValue(copied, copied);
77985
- }
77986
- if (node.left.kind === 79) {
77987
- return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
77988
- }
77989
- var left = serializeEntityNameAsExpressionFallback(node.left);
77990
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77991
- return factory.createLogicalAnd(factory.createLogicalAnd(left.left, factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())), factory.createPropertyAccessExpression(temp, node.right));
77992
- }
77993
- function serializeEntityNameAsExpression(node) {
77994
- switch (node.kind) {
77995
- case 79:
77996
- var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
77997
- name.original = undefined;
77998
- ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
77999
- return name;
78000
- case 161:
78001
- return serializeQualifiedNameAsExpression(node);
78002
- }
78003
- }
78004
- function serializeQualifiedNameAsExpression(node) {
78005
- return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
78006
- }
78007
- function getGlobalSymbolNameWithFallback() {
78008
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("Symbol"), "function"), undefined, factory.createIdentifier("Symbol"), undefined, factory.createIdentifier("Object"));
78009
- }
78010
- function getGlobalBigIntNameWithFallback() {
78011
- return languageVersion < 99
78012
- ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), undefined, factory.createIdentifier("BigInt"), undefined, factory.createIdentifier("Object"))
78013
- : factory.createIdentifier("BigInt");
78014
- }
78015
77814
  function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
78016
77815
  var name = member.name;
78017
77816
  if (ts.isPrivateIdentifier(name)) {
@@ -78054,22 +77853,23 @@ var ts;
78054
77853
  function shouldEmitFunctionLikeDeclaration(node) {
78055
77854
  return !ts.nodeIsMissing(node.body);
78056
77855
  }
78057
- function visitPropertyDeclaration(node) {
78058
- 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)) {
78059
77859
  return undefined;
78060
77860
  }
78061
- var updated = factory.updatePropertyDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78062
- if (updated !== node) {
78063
- ts.setCommentRange(updated, node);
78064
- 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);
78065
77865
  }
78066
- return updated;
77866
+ return factory.updatePropertyDeclaration(node, decorators, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78067
77867
  }
78068
77868
  function visitConstructor(node) {
78069
77869
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78070
77870
  return undefined;
78071
77871
  }
78072
- 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));
78073
77873
  }
78074
77874
  function transformConstructorBody(body, constructor) {
78075
77875
  var parametersWithPropertyAssignments = constructor &&
@@ -78109,41 +77909,43 @@ var ts;
78109
77909
  ts.setEmitFlags(localName, 1536);
78110
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))));
78111
77911
  }
78112
- function visitMethodDeclaration(node) {
77912
+ function visitMethodDeclaration(node, parent) {
77913
+ if (!(node.transformFlags & 1)) {
77914
+ return node;
77915
+ }
78113
77916
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78114
77917
  return undefined;
78115
77918
  }
78116
- 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));
78117
- if (updated !== node) {
78118
- ts.setCommentRange(updated, node);
78119
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78120
- }
78121
- 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));
78122
77922
  }
78123
77923
  function shouldEmitAccessorDeclaration(node) {
78124
77924
  return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128));
78125
77925
  }
78126
- function visitGetAccessor(node) {
77926
+ function visitGetAccessor(node, parent) {
77927
+ if (!(node.transformFlags & 1)) {
77928
+ return node;
77929
+ }
78127
77930
  if (!shouldEmitAccessorDeclaration(node)) {
78128
77931
  return undefined;
78129
77932
  }
78130
- 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([]));
78131
- if (updated !== node) {
78132
- ts.setCommentRange(updated, node);
78133
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78134
- }
78135
- 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([]));
78136
77937
  }
78137
- function visitSetAccessor(node) {
77938
+ function visitSetAccessor(node, parent) {
77939
+ if (!(node.transformFlags & 1)) {
77940
+ return node;
77941
+ }
78138
77942
  if (!shouldEmitAccessorDeclaration(node)) {
78139
77943
  return undefined;
78140
77944
  }
78141
- 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([]));
78142
- if (updated !== node) {
78143
- ts.setCommentRange(updated, node);
78144
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78145
- }
78146
- 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([]));
78147
77949
  }
78148
77950
  function visitFunctionDeclaration(node) {
78149
77951
  if (!shouldEmitFunctionLikeDeclaration(node)) {
@@ -78172,7 +77974,7 @@ var ts;
78172
77974
  if (ts.parameterIsThisKeyword(node)) {
78173
77975
  return undefined;
78174
77976
  }
78175
- 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));
78176
77978
  if (updated !== node) {
78177
77979
  ts.setCommentRange(updated, node);
78178
77980
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -78568,9 +78370,6 @@ var ts;
78568
78370
  return isExternalModuleExport(node)
78569
78371
  && ts.hasSyntacticModifier(node, 512);
78570
78372
  }
78571
- function expressionToStatement(expression) {
78572
- return factory.createExpressionStatement(expression);
78573
- }
78574
78373
  function addExportMemberAssignment(statements, node) {
78575
78374
  var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, false, true), factory.getLocalName(node));
78576
78375
  ts.setSourceMapRange(expression, ts.createRange(node.name ? node.name.pos : node.pos, node.end));
@@ -78595,36 +78394,12 @@ var ts;
78595
78394
  function getNamespaceContainerName(node) {
78596
78395
  return factory.getGeneratedNameForNode(node);
78597
78396
  }
78598
- function getClassAliasIfNeeded(node) {
78599
- if (resolver.getNodeCheckFlags(node) & 16777216) {
78600
- enableSubstitutionForClassAliases();
78601
- var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
78602
- classAliases[ts.getOriginalNodeId(node)] = classAlias;
78603
- hoistVariableDeclaration(classAlias);
78604
- return classAlias;
78605
- }
78606
- }
78607
- function getClassPrototype(node) {
78608
- return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
78609
- }
78610
- function getClassMemberPrefix(node, member) {
78611
- return ts.isStatic(member)
78612
- ? factory.getDeclarationName(node)
78613
- : getClassPrototype(node);
78614
- }
78615
78397
  function enableSubstitutionForNonQualifiedEnumMembers() {
78616
78398
  if ((enabledSubstitutions & 8) === 0) {
78617
78399
  enabledSubstitutions |= 8;
78618
78400
  context.enableSubstitution(79);
78619
78401
  }
78620
78402
  }
78621
- function enableSubstitutionForClassAliases() {
78622
- if ((enabledSubstitutions & 1) === 0) {
78623
- enabledSubstitutions |= 1;
78624
- context.enableSubstitution(79);
78625
- classAliases = [];
78626
- }
78627
- }
78628
78403
  function enableSubstitutionForNamespaceExports() {
78629
78404
  if ((enabledSubstitutions & 2) === 0) {
78630
78405
  enabledSubstitutions |= 2;
@@ -78691,27 +78466,9 @@ var ts;
78691
78466
  return node;
78692
78467
  }
78693
78468
  function substituteExpressionIdentifier(node) {
78694
- return trySubstituteClassAlias(node)
78695
- || trySubstituteNamespaceExportedName(node)
78469
+ return trySubstituteNamespaceExportedName(node)
78696
78470
  || node;
78697
78471
  }
78698
- function trySubstituteClassAlias(node) {
78699
- if (enabledSubstitutions & 1) {
78700
- if (resolver.getNodeCheckFlags(node) & 33554432) {
78701
- var declaration = resolver.getReferencedValueDeclaration(node);
78702
- if (declaration) {
78703
- var classAlias = classAliases[declaration.id];
78704
- if (classAlias) {
78705
- var clone_2 = factory.cloneNode(classAlias);
78706
- ts.setSourceMapRange(clone_2, node);
78707
- ts.setCommentRange(clone_2, node);
78708
- return clone_2;
78709
- }
78710
- }
78711
- }
78712
- }
78713
- return undefined;
78714
- }
78715
78472
  function trySubstituteNamespaceExportedName(node) {
78716
78473
  if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) {
78717
78474
  var container = resolver.getReferencedExportContainer(node, false);
@@ -78797,7 +78554,7 @@ var ts;
78797
78554
  return visited;
78798
78555
  }
78799
78556
  function visitorWorker(node, valueIsDiscarded) {
78800
- if (node.transformFlags & 8388608) {
78557
+ if (node.transformFlags & 16777216) {
78801
78558
  switch (node.kind) {
78802
78559
  case 226:
78803
78560
  case 257:
@@ -78812,8 +78569,8 @@ var ts;
78812
78569
  return visitClassStaticBlockDeclaration(node);
78813
78570
  }
78814
78571
  }
78815
- if (node.transformFlags & 8388608 ||
78816
- node.transformFlags & 33554432 &&
78572
+ if (node.transformFlags & 16777216 ||
78573
+ node.transformFlags & 134217728 &&
78817
78574
  shouldTransformSuperInStaticInitializers &&
78818
78575
  currentStaticPropertyDeclarationOrStaticBlock &&
78819
78576
  currentClassLexicalEnvironment) {
@@ -79324,13 +79081,13 @@ var ts;
79324
79081
  facts |= 2;
79325
79082
  }
79326
79083
  if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) {
79327
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192) {
79084
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384) {
79328
79085
  facts |= 8;
79329
79086
  if (!(facts & 1)) {
79330
79087
  facts |= 2;
79331
79088
  }
79332
79089
  }
79333
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432) {
79090
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728) {
79334
79091
  if (!(facts & 1)) {
79335
79092
  facts |= 2 | 4;
79336
79093
  }
@@ -79805,10 +79562,10 @@ var ts;
79805
79562
  if (declaration) {
79806
79563
  var classAlias = classAliases[declaration.id];
79807
79564
  if (classAlias) {
79808
- var clone_3 = factory.cloneNode(classAlias);
79809
- ts.setSourceMapRange(clone_3, node);
79810
- ts.setCommentRange(clone_3, node);
79811
- 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;
79812
79569
  }
79813
79570
  }
79814
79571
  }
@@ -80143,6 +79900,621 @@ var ts;
80143
79900
  }
80144
79901
  })(ts || (ts = {}));
80145
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;
80146
80518
  (function (ts) {
80147
80519
  function transformES2017(context) {
80148
80520
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
@@ -80808,7 +81180,7 @@ var ts;
80808
81180
  return objects;
80809
81181
  }
80810
81182
  function visitObjectLiteralExpression(node) {
80811
- if (node.transformFlags & 32768) {
81183
+ if (node.transformFlags & 65536) {
80812
81184
  var objects = chunkObjectLiteralElements(node.properties);
80813
81185
  if (objects.length && objects[0].kind !== 205) {
80814
81186
  objects.unshift(factory.createObjectLiteralExpression());
@@ -80849,7 +81221,7 @@ var ts;
80849
81221
  return ts.processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, ts.ProcessLevel.LiftRestriction);
80850
81222
  }
80851
81223
  function visitBinaryExpression(node, expressionResultIsUnused) {
80852
- if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768) {
81224
+ if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 65536) {
80853
81225
  return ts.flattenDestructuringAssignment(node, visitor, context, 1, !expressionResultIsUnused);
80854
81226
  }
80855
81227
  if (node.operatorToken.kind === 27) {
@@ -80876,7 +81248,7 @@ var ts;
80876
81248
  function visitCatchClause(node) {
80877
81249
  if (node.variableDeclaration &&
80878
81250
  ts.isBindingPattern(node.variableDeclaration.name) &&
80879
- node.variableDeclaration.name.transformFlags & 32768) {
81251
+ node.variableDeclaration.name.transformFlags & 65536) {
80880
81252
  var name = factory.getGeneratedNameForNode(node.variableDeclaration.name);
80881
81253
  var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, undefined, undefined, name);
80882
81254
  var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1);
@@ -80911,7 +81283,7 @@ var ts;
80911
81283
  return visitVariableDeclarationWorker(node, false);
80912
81284
  }
80913
81285
  function visitVariableDeclarationWorker(node, exportedVariableStatement) {
80914
- if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768) {
81286
+ if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536) {
80915
81287
  return ts.flattenDestructuringBinding(node, visitor, context, 1, undefined, exportedVariableStatement);
80916
81288
  }
80917
81289
  return ts.visitEachChild(node, visitor, context);
@@ -80924,7 +81296,7 @@ var ts;
80924
81296
  }
80925
81297
  function visitForOfStatement(node, outermostLabeledStatement) {
80926
81298
  var ancestorFacts = enterSubtree(0, 2);
80927
- if (node.initializer.transformFlags & 32768) {
81299
+ if (node.initializer.transformFlags & 65536) {
80928
81300
  node = transformForOfStatementWithObjectRest(node);
80929
81301
  }
80930
81302
  var result = node.awaitModifier ?
@@ -81021,7 +81393,7 @@ var ts;
81021
81393
  if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) {
81022
81394
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, undefined, undefined, undefined);
81023
81395
  }
81024
- if (node.transformFlags & 32768) {
81396
+ if (node.transformFlags & 65536) {
81025
81397
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
81026
81398
  }
81027
81399
  return ts.visitEachChild(node, visitor, context);
@@ -81033,7 +81405,7 @@ var ts;
81033
81405
  if (parameters) {
81034
81406
  parameters.add(parameter);
81035
81407
  }
81036
- else if (parameter.transformFlags & 32768) {
81408
+ else if (parameter.transformFlags & 65536) {
81037
81409
  parameters = new ts.Set();
81038
81410
  }
81039
81411
  }
@@ -81222,7 +81594,7 @@ var ts;
81222
81594
  statements = ts.append(statements, statement);
81223
81595
  }
81224
81596
  }
81225
- else if (parameter.transformFlags & 32768) {
81597
+ else if (parameter.transformFlags & 65536) {
81226
81598
  containsPrecedingObjectRestOrSpread = true;
81227
81599
  var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, factory.getGeneratedNameForNode(parameter), false, true);
81228
81600
  if (ts.some(declarations)) {
@@ -82355,7 +82727,7 @@ var ts;
82355
82727
  && !node.expression;
82356
82728
  }
82357
82729
  function isOrMayContainReturnCompletion(node) {
82358
- return node.transformFlags & 2097152
82730
+ return node.transformFlags & 4194304
82359
82731
  && (ts.isReturnStatement(node)
82360
82732
  || ts.isIfStatement(node)
82361
82733
  || ts.isWithStatement(node)
@@ -82762,7 +83134,7 @@ var ts;
82762
83134
  factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment());
82763
83135
  insertCaptureNewTargetIfNeeded(prologue, constructor, false);
82764
83136
  if (isDerivedClass || superCallExpression) {
82765
- if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192)) {
83137
+ if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 16384)) {
82766
83138
  var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression);
82767
83139
  var returnStatement = factory.createReturnStatement(superCallExpression);
82768
83140
  ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1));
@@ -83077,7 +83449,7 @@ var ts;
83077
83449
  return call;
83078
83450
  }
83079
83451
  function visitArrowFunction(node) {
83080
- if (node.transformFlags & 8192 && !(hierarchyFacts & 16384)) {
83452
+ if (node.transformFlags & 16384 && !(hierarchyFacts & 16384)) {
83081
83453
  hierarchyFacts |= 65536;
83082
83454
  }
83083
83455
  var savedConvertedLoopState = convertedLoopState;
@@ -83281,7 +83653,7 @@ var ts;
83281
83653
  return updated;
83282
83654
  }
83283
83655
  function visitVariableDeclarationList(node) {
83284
- if (node.flags & 3 || node.transformFlags & 262144) {
83656
+ if (node.flags & 3 || node.transformFlags & 524288) {
83285
83657
  if (node.flags & 3) {
83286
83658
  enableSubstitutionsForBlockScopedBindings();
83287
83659
  }
@@ -83292,7 +83664,7 @@ var ts;
83292
83664
  ts.setOriginalNode(declarationList, node);
83293
83665
  ts.setTextRange(declarationList, node);
83294
83666
  ts.setCommentRange(declarationList, node);
83295
- if (node.transformFlags & 262144
83667
+ if (node.transformFlags & 524288
83296
83668
  && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) {
83297
83669
  ts.setSourceMapRange(declarationList, getRangeUnion(declarations));
83298
83670
  }
@@ -83494,7 +83866,7 @@ var ts;
83494
83866
  var numInitialProperties = -1, hasComputed = false;
83495
83867
  for (var i = 0; i < properties.length; i++) {
83496
83868
  var property = properties[i];
83497
- if ((property.transformFlags & 524288 &&
83869
+ if ((property.transformFlags & 1048576 &&
83498
83870
  hierarchyFacts & 4)
83499
83871
  || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162)) {
83500
83872
  numInitialProperties = i;
@@ -83720,7 +84092,7 @@ var ts;
83720
84092
  }
83721
84093
  function createFunctionForInitializerOfForStatement(node, currentState) {
83722
84094
  var functionName = factory.createUniqueName("_loop_init");
83723
- var containsYield = (node.initializer.transformFlags & 524288) !== 0;
84095
+ var containsYield = (node.initializer.transformFlags & 1048576) !== 0;
83724
84096
  var emitFlags = 0;
83725
84097
  if (currentState.containsLexicalThis)
83726
84098
  emitFlags |= 8;
@@ -83764,7 +84136,7 @@ var ts;
83764
84136
  var loopBody = factory.createBlock(statements, true);
83765
84137
  if (ts.isBlock(statement))
83766
84138
  ts.setOriginalNode(loopBody, statement);
83767
- var containsYield = (node.statement.transformFlags & 524288) !== 0;
84139
+ var containsYield = (node.statement.transformFlags & 1048576) !== 0;
83768
84140
  var emitFlags = 524288;
83769
84141
  if (currentState.containsLexicalThis)
83770
84142
  emitFlags |= 8;
@@ -84074,7 +84446,7 @@ var ts;
84074
84446
  return visitCallExpressionWithPotentialCapturedThisAssignment(node, false);
84075
84447
  }
84076
84448
  function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) {
84077
- if (node.transformFlags & 16384 ||
84449
+ if (node.transformFlags & 32768 ||
84078
84450
  node.expression.kind === 106 ||
84079
84451
  ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) {
84080
84452
  var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg;
@@ -84082,7 +84454,7 @@ var ts;
84082
84454
  ts.setEmitFlags(thisArg, 4);
84083
84455
  }
84084
84456
  var resultingCall = void 0;
84085
- if (node.transformFlags & 16384) {
84457
+ if (node.transformFlags & 32768) {
84086
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));
84087
84459
  }
84088
84460
  else {
@@ -84513,10 +84885,10 @@ var ts;
84513
84885
  case 247:
84514
84886
  return visitReturnStatement(node);
84515
84887
  default:
84516
- if (node.transformFlags & 524288) {
84888
+ if (node.transformFlags & 1048576) {
84517
84889
  return visitJavaScriptContainingYield(node);
84518
84890
  }
84519
- else if (node.transformFlags & (2048 | 2097152)) {
84891
+ else if (node.transformFlags & (2048 | 4194304)) {
84520
84892
  return ts.visitEachChild(node, visitor, context);
84521
84893
  }
84522
84894
  else {
@@ -84654,7 +85026,7 @@ var ts;
84654
85026
  return ts.setTextRange(factory.createBlock(statements, body.multiLine), body);
84655
85027
  }
84656
85028
  function visitVariableStatement(node) {
84657
- if (node.transformFlags & 524288) {
85029
+ if (node.transformFlags & 1048576) {
84658
85030
  transformAndEmitVariableDeclarationList(node.declarationList);
84659
85031
  return undefined;
84660
85032
  }
@@ -85327,7 +85699,7 @@ var ts;
85327
85699
  }
85328
85700
  }
85329
85701
  function containsYield(node) {
85330
- return !!node && (node.transformFlags & 524288) !== 0;
85702
+ return !!node && (node.transformFlags & 1048576) !== 0;
85331
85703
  }
85332
85704
  function countInitialNodesWithoutYield(nodes) {
85333
85705
  var numNodes = nodes.length;
@@ -86057,7 +86429,7 @@ var ts;
86057
86429
  function transformSourceFile(node) {
86058
86430
  if (node.isDeclarationFile ||
86059
86431
  !(ts.isEffectiveExternalModule(node, compilerOptions) ||
86060
- node.transformFlags & 4194304 ||
86432
+ node.transformFlags & 8388608 ||
86061
86433
  (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) {
86062
86434
  return node;
86063
86435
  }
@@ -86263,7 +86635,7 @@ var ts;
86263
86635
  }
86264
86636
  }
86265
86637
  function visitorWorker(node, valueIsDiscarded) {
86266
- if (!(node.transformFlags & (4194304 | 4096 | 67108864))) {
86638
+ if (!(node.transformFlags & (8388608 | 4096 | 268435456))) {
86267
86639
  return node;
86268
86640
  }
86269
86641
  switch (node.kind) {
@@ -86404,7 +86776,7 @@ var ts;
86404
86776
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
86405
86777
  var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
86406
86778
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
86407
- var containsLexicalThis = !!(node.transformFlags & 8192);
86779
+ var containsLexicalThis = !!(node.transformFlags & 16384);
86408
86780
  switch (compilerOptions.module) {
86409
86781
  case ts.ModuleKind.AMD:
86410
86782
  return createImportCallExpressionAMD(argument, containsLexicalThis);
@@ -87035,7 +87407,7 @@ var ts;
87035
87407
  var noSubstitution;
87036
87408
  return ts.chainBundle(context, transformSourceFile);
87037
87409
  function transformSourceFile(node) {
87038
- if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304)) {
87410
+ if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 8388608)) {
87039
87411
  return node;
87040
87412
  }
87041
87413
  var id = ts.getOriginalNodeId(node);
@@ -87109,7 +87481,7 @@ var ts;
87109
87481
  ts.addRange(statements, hoistedStatements);
87110
87482
  ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment());
87111
87483
  var exportStarFunction = addExportStarIfNeeded(statements);
87112
- var modifiers = node.transformFlags & 1048576 ?
87484
+ var modifiers = node.transformFlags & 2097152 ?
87113
87485
  factory.createModifiersFromModifierFlags(256) :
87114
87486
  undefined;
87115
87487
  var moduleObject = factory.createObjectLiteralExpression([
@@ -87650,7 +88022,7 @@ var ts;
87650
88022
  return node;
87651
88023
  }
87652
88024
  function visitorWorker(node, valueIsDiscarded) {
87653
- if (!(node.transformFlags & (4096 | 4194304 | 67108864))) {
88025
+ if (!(node.transformFlags & (4096 | 8388608 | 268435456))) {
87654
88026
  return node;
87655
88027
  }
87656
88028
  switch (node.kind) {
@@ -88605,7 +88977,8 @@ var ts;
88605
88977
  trackReferencedAmbientModule: trackReferencedAmbientModule,
88606
88978
  trackExternalModuleSymbolOfImportTypeNode: trackExternalModuleSymbolOfImportTypeNode,
88607
88979
  reportNonlocalAugmentation: reportNonlocalAugmentation,
88608
- reportNonSerializableProperty: reportNonSerializableProperty
88980
+ reportNonSerializableProperty: reportNonSerializableProperty,
88981
+ reportImportTypeNodeResolutionModeOverride: reportImportTypeNodeResolutionModeOverride,
88609
88982
  };
88610
88983
  var errorNameNode;
88611
88984
  var errorFallbackNode;
@@ -88727,6 +89100,11 @@ var ts;
88727
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));
88728
89101
  }
88729
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
+ }
88730
89108
  function transformDeclarationsForJS(sourceFile, bundled) {
88731
89109
  var oldDiag = getSymbolAccessibilityDiagnostic;
88732
89110
  getSymbolAccessibilityDiagnostic = function (s) { return (s.errorNode && ts.canProduceDiagnostics(s.errorNode) ? ts.createGetSymbolAccessibilityDiagnosticForNode(s.errorNode)(s) : ({
@@ -89143,7 +89521,7 @@ var ts;
89143
89521
  var mode = ts.getResolutionModeOverrideForClause(assertClause);
89144
89522
  if (mode !== undefined) {
89145
89523
  if (!ts.isNightly()) {
89146
- 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));
89147
89525
  }
89148
89526
  return assertClause;
89149
89527
  }
@@ -89829,6 +90207,7 @@ var ts;
89829
90207
  var transformers = [];
89830
90208
  ts.addRange(transformers, customTransformers && ts.map(customTransformers.before, wrapScriptTransformerFactory));
89831
90209
  transformers.push(ts.transformTypeScript);
90210
+ transformers.push(ts.transformLegacyDecorators);
89832
90211
  transformers.push(ts.transformClassFields);
89833
90212
  if (ts.getJSXTransformEnabled(compilerOptions)) {
89834
90213
  transformers.push(ts.transformJsx);
@@ -97851,7 +98230,7 @@ var ts;
97851
98230
  ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective);
97852
98231
  var mode = ref.resolutionMode || file.impliedNodeFormat;
97853
98232
  if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) {
97854
- 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));
97855
98234
  }
97856
98235
  processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, });
97857
98236
  }