@typescript-deploys/pr-build 4.8.0-pr-49285-8 → 4.8.0-pr-49387-9

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-insiders.20220601";
72
+ ts.version = ts.versionMajorMinor + ".0-insiders.20220604";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -2970,34 +2970,14 @@ var ts;
2970
2970
  })(ts || (ts = {}));
2971
2971
  var ts;
2972
2972
  (function (ts) {
2973
- var nullTimer = { enter: ts.noop, exit: ts.noop };
2974
- ts.performance = createPerformanceTracker();
2975
- ts.solutionPerformance = createPerformanceTracker();
2976
- function createPerformanceTracker() {
2973
+ var performance;
2974
+ (function (performance) {
2977
2975
  var perfHooks;
2978
2976
  var performanceImpl;
2979
- var enabled = false;
2980
- var timeorigin = ts.timestamp();
2981
- var marks = new ts.Map();
2982
- var counts = new ts.Map();
2983
- var durations = new ts.Map();
2984
- var durationMarks = new ts.Set();
2985
- return {
2986
- createTimerIf: createTimerIf,
2987
- createTimer: createTimer,
2988
- mark: mark,
2989
- measure: measure,
2990
- getCount: getCount,
2991
- getDuration: getDuration,
2992
- forEachMeasure: forEachMeasure,
2993
- forEachCount: forEachCount,
2994
- isEnabled: isEnabled,
2995
- enable: enable,
2996
- disable: disable,
2997
- };
2998
2977
  function createTimerIf(condition, measureName, startMarkName, endMarkName) {
2999
- return condition ? createTimer(measureName, startMarkName, endMarkName) : nullTimer;
2978
+ return condition ? createTimer(measureName, startMarkName, endMarkName) : performance.nullTimer;
3000
2979
  }
2980
+ performance.createTimerIf = createTimerIf;
3001
2981
  function createTimer(measureName, startMarkName, endMarkName) {
3002
2982
  var enterCount = 0;
3003
2983
  return {
@@ -3019,6 +2999,13 @@ var ts;
3019
2999
  }
3020
3000
  }
3021
3001
  }
3002
+ performance.createTimer = createTimer;
3003
+ performance.nullTimer = { enter: ts.noop, exit: ts.noop };
3004
+ var enabled = false;
3005
+ var timeorigin = ts.timestamp();
3006
+ var marks = new ts.Map();
3007
+ var counts = new ts.Map();
3008
+ var durations = new ts.Map();
3022
3009
  function mark(markName) {
3023
3010
  var _a;
3024
3011
  if (enabled) {
@@ -3028,32 +3015,34 @@ var ts;
3028
3015
  performanceImpl === null || performanceImpl === void 0 ? void 0 : performanceImpl.mark(markName);
3029
3016
  }
3030
3017
  }
3018
+ performance.mark = mark;
3031
3019
  function measure(measureName, startMarkName, endMarkName) {
3032
3020
  var _a, _b;
3033
3021
  if (enabled) {
3034
- durationMarks.add(startMarkName).add(endMarkName);
3035
- var end = (_a = marks.get(endMarkName)) !== null && _a !== void 0 ? _a : ts.timestamp();
3036
- var start = (_b = marks.get(startMarkName)) !== null && _b !== void 0 ? _b : timeorigin;
3022
+ var end = (_a = (endMarkName !== undefined ? marks.get(endMarkName) : undefined)) !== null && _a !== void 0 ? _a : ts.timestamp();
3023
+ var start = (_b = (startMarkName !== undefined ? marks.get(startMarkName) : undefined)) !== null && _b !== void 0 ? _b : timeorigin;
3037
3024
  var previousDuration = durations.get(measureName) || 0;
3038
3025
  durations.set(measureName, previousDuration + (end - start));
3039
3026
  performanceImpl === null || performanceImpl === void 0 ? void 0 : performanceImpl.measure(measureName, startMarkName, endMarkName);
3040
3027
  }
3041
3028
  }
3029
+ performance.measure = measure;
3042
3030
  function getCount(markName) {
3043
3031
  return counts.get(markName) || 0;
3044
3032
  }
3033
+ performance.getCount = getCount;
3045
3034
  function getDuration(measureName) {
3046
3035
  return durations.get(measureName) || 0;
3047
3036
  }
3037
+ performance.getDuration = getDuration;
3048
3038
  function forEachMeasure(cb) {
3049
3039
  durations.forEach(function (duration, measureName) { return cb(measureName, duration); });
3050
3040
  }
3051
- function forEachCount(cb) {
3052
- counts.forEach(function (count, countName) { return !durationMarks.has(countName) && cb(countName, count); });
3053
- }
3041
+ performance.forEachMeasure = forEachMeasure;
3054
3042
  function isEnabled() {
3055
3043
  return enabled;
3056
3044
  }
3045
+ performance.isEnabled = isEnabled;
3057
3046
  function enable(system) {
3058
3047
  var _a;
3059
3048
  if (system === void 0) { system = ts.sys; }
@@ -3069,6 +3058,7 @@ var ts;
3069
3058
  }
3070
3059
  return true;
3071
3060
  }
3061
+ performance.enable = enable;
3072
3062
  function disable() {
3073
3063
  if (enabled) {
3074
3064
  marks.clear();
@@ -3078,7 +3068,8 @@ var ts;
3078
3068
  enabled = false;
3079
3069
  }
3080
3070
  }
3081
- }
3071
+ performance.disable = disable;
3072
+ })(performance = ts.performance || (ts.performance = {}));
3082
3073
  })(ts || (ts = {}));
3083
3074
  var ts;
3084
3075
  (function (ts) {
@@ -5390,6 +5381,7 @@ var ts;
5390
5381
  Decorators_are_not_valid_here: diag(1206, ts.DiagnosticCategory.Error, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."),
5391
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."),
5392
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}()'?"),
5393
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."),
5394
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."),
5395
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."),
@@ -5586,7 +5578,7 @@ var ts;
5586
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."),
5587
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"),
5588
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"),
5589
- 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`."),
5590
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`."),
5591
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."),
5592
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."),
@@ -6094,6 +6086,7 @@ var ts;
6094
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."),
6095
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."),
6096
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'."),
6097
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}'."),
6098
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}'."),
6099
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}'."),
@@ -6201,7 +6194,7 @@ var ts;
6201
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}'."),
6202
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}'?"),
6203
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'."),
6204
- 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'."),
6205
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."),
6206
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."),
6207
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}'."),
@@ -6536,7 +6529,7 @@ var ts;
6536
6529
  Project_0_can_t_be_built_because_its_dependency_1_was_not_built: diag(6383, ts.DiagnosticCategory.Message, "Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383", "Project '{0}' can't be built because its dependency '{1}' was not built"),
6537
6530
  Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: diag(6384, ts.DiagnosticCategory.Message, "Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384", "Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),
6538
6531
  _0_is_deprecated: diag(6385, ts.DiagnosticCategory.Suggestion, "_0_is_deprecated_6385", "'{0}' is deprecated.", undefined, undefined, true),
6539
- Performance_timings_for_diagnostics_or_extendedDiagnostics_or_solutionDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found: diag(6386, ts.DiagnosticCategory.Message, "Performance_timings_for_diagnostics_or_extendedDiagnostics_or_solutionDiagnostics_are_not_available__6386", "Performance timings for '--diagnostics' or '--extendedDiagnostics' or '--solutionDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),
6532
+ Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found: diag(6386, ts.DiagnosticCategory.Message, "Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386", "Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),
6540
6533
  The_signature_0_of_1_is_deprecated: diag(6387, ts.DiagnosticCategory.Suggestion, "The_signature_0_of_1_is_deprecated_6387", "The signature '{0}' of '{1}' is deprecated.", undefined, undefined, true),
6541
6534
  Project_0_is_being_forcibly_rebuilt: diag(6388, ts.DiagnosticCategory.Message, "Project_0_is_being_forcibly_rebuilt_6388", "Project '{0}' is being forcibly rebuilt"),
6542
6535
  Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved: diag(6389, ts.DiagnosticCategory.Message, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389", "Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),
@@ -6670,7 +6663,6 @@ var ts;
6670
6663
  Specify_how_the_TypeScript_watch_mode_works: diag(6715, ts.DiagnosticCategory.Message, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."),
6671
6664
  Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, ts.DiagnosticCategory.Message, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."),
6672
6665
  Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, ts.DiagnosticCategory.Message, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."),
6673
- Output_more_detailed_solution_performance_information_after_building: diag(6719, ts.DiagnosticCategory.Message, "Output_more_detailed_solution_performance_information_after_building_6719", "Output more detailed solution performance information after building."),
6674
6666
  Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, ts.DiagnosticCategory.Message, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."),
6675
6667
  one_of_Colon: diag(6900, ts.DiagnosticCategory.Message, "one_of_Colon_6900", "one of:"),
6676
6668
  one_or_more_Colon: diag(6901, ts.DiagnosticCategory.Message, "one_or_more_Colon_6901", "one or more:"),
@@ -12448,6 +12440,8 @@ var ts;
12448
12440
  case 218:
12449
12441
  case 231:
12450
12442
  return true;
12443
+ case 228:
12444
+ return !ts.isHeritageClause(node.parent);
12451
12445
  case 161:
12452
12446
  while (node.parent.kind === 161) {
12453
12447
  node = node.parent;
@@ -13297,6 +13291,12 @@ var ts;
13297
13291
  return [child, node];
13298
13292
  }
13299
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;
13300
13300
  function skipParentheses(node, excludeJSDocTypeAssertions) {
13301
13301
  var flags = excludeJSDocTypeAssertions ?
13302
13302
  1 | 16 :
@@ -15135,13 +15135,13 @@ var ts;
15135
15135
  }
15136
15136
  ts.moveRangePos = moveRangePos;
15137
15137
  function moveRangePastDecorators(node) {
15138
- return node.decorators && node.decorators.length > 0
15138
+ return node.decorators && !positionIsSynthesized(node.decorators.end)
15139
15139
  ? moveRangePos(node, node.decorators.end)
15140
15140
  : node;
15141
15141
  }
15142
15142
  ts.moveRangePastDecorators = moveRangePastDecorators;
15143
15143
  function moveRangePastModifiers(node) {
15144
- return node.modifiers && node.modifiers.length > 0
15144
+ return node.modifiers && !positionIsSynthesized(node.modifiers.end)
15145
15145
  ? moveRangePos(node, node.modifiers.end)
15146
15146
  : moveRangePastDecorators(node);
15147
15147
  }
@@ -18069,7 +18069,7 @@ var ts;
18069
18069
  function createBaseFunctionLikeDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type, body) {
18070
18070
  var node = createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type);
18071
18071
  node.body = body;
18072
- node.transformFlags |= propagateChildFlags(node.body) & ~16777216;
18072
+ node.transformFlags |= propagateChildFlags(node.body) & ~67108864;
18073
18073
  if (!body)
18074
18074
  node.transformFlags |= 1;
18075
18075
  return node;
@@ -18182,7 +18182,7 @@ var ts;
18182
18182
  node.typeArguments = createNodeArray(typeArguments);
18183
18183
  }
18184
18184
  if (node.originalKeywordKind === 132) {
18185
- node.transformFlags |= 16777216;
18185
+ node.transformFlags |= 67108864;
18186
18186
  }
18187
18187
  return node;
18188
18188
  }
@@ -18225,7 +18225,7 @@ var ts;
18225
18225
  ts.Debug.fail("First character of private identifier must be #: " + text);
18226
18226
  var node = baseFactory.createBasePrivateIdentifierNode(80);
18227
18227
  node.escapedText = ts.escapeLeadingUnderscores(text);
18228
- node.transformFlags |= 8388608;
18228
+ node.transformFlags |= 16777216;
18229
18229
  return node;
18230
18230
  }
18231
18231
  function createBaseToken(kind) {
@@ -18268,13 +18268,13 @@ var ts;
18268
18268
  transformFlags = 1;
18269
18269
  break;
18270
18270
  case 106:
18271
- transformFlags = 1024 | 33554432;
18271
+ transformFlags = 1024 | 134217728;
18272
18272
  break;
18273
18273
  case 124:
18274
18274
  transformFlags = 1024;
18275
18275
  break;
18276
18276
  case 108:
18277
- transformFlags = 8192;
18277
+ transformFlags = 16384;
18278
18278
  break;
18279
18279
  }
18280
18280
  if (transformFlags) {
@@ -18353,7 +18353,7 @@ var ts;
18353
18353
  node.transformFlags |=
18354
18354
  propagateChildFlags(node.expression) |
18355
18355
  1024 |
18356
- 65536;
18356
+ 131072;
18357
18357
  return node;
18358
18358
  }
18359
18359
  function updateComputedPropertyName(node, expression) {
@@ -18416,7 +18416,7 @@ var ts;
18416
18416
  if (questionToken)
18417
18417
  node.transformFlags |= 1;
18418
18418
  if (ts.modifiersToFlags(node.modifiers) & 16476)
18419
- node.transformFlags |= 4096;
18419
+ node.transformFlags |= 8192;
18420
18420
  if (initializer || dotDotDotToken)
18421
18421
  node.transformFlags |= 1024;
18422
18422
  }
@@ -18439,7 +18439,8 @@ var ts;
18439
18439
  node.transformFlags |=
18440
18440
  propagateChildFlags(node.expression) |
18441
18441
  1 |
18442
- 4096;
18442
+ 8192 |
18443
+ 33554432;
18443
18444
  return node;
18444
18445
  }
18445
18446
  function updateDecorator(node, expression) {
@@ -18469,9 +18470,9 @@ var ts;
18469
18470
  node.transformFlags |=
18470
18471
  propagateChildFlags(node.questionToken) |
18471
18472
  propagateChildFlags(node.exclamationToken) |
18472
- 8388608;
18473
+ 16777216;
18473
18474
  if (ts.isComputedPropertyName(node.name) || (ts.hasStaticModifier(node) && node.initializer)) {
18474
- node.transformFlags |= 4096;
18475
+ node.transformFlags |= 8192;
18475
18476
  }
18476
18477
  if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2) {
18477
18478
  node.transformFlags |= 1;
@@ -18545,7 +18546,7 @@ var ts;
18545
18546
  function createClassStaticBlockDeclaration(decorators, modifiers, body) {
18546
18547
  var node = createBaseGenericNamedDeclaration(170, decorators, modifiers, undefined, undefined);
18547
18548
  node.body = body;
18548
- node.transformFlags = propagateChildFlags(body) | 8388608;
18549
+ node.transformFlags = propagateChildFlags(body) | 16777216;
18549
18550
  return node;
18550
18551
  }
18551
18552
  function updateClassStaticBlockDeclaration(node, decorators, modifiers, body) {
@@ -18982,11 +18983,11 @@ var ts;
18982
18983
  node.transformFlags |=
18983
18984
  propagateChildrenFlags(node.elements) |
18984
18985
  1024 |
18985
- 262144;
18986
- if (node.transformFlags & 16384) {
18986
+ 524288;
18987
+ if (node.transformFlags & 32768) {
18987
18988
  node.transformFlags |=
18988
18989
  128 |
18989
- 32768;
18990
+ 65536;
18990
18991
  }
18991
18992
  return node;
18992
18993
  }
@@ -19001,7 +19002,7 @@ var ts;
19001
19002
  node.transformFlags |=
19002
19003
  propagateChildrenFlags(node.elements) |
19003
19004
  1024 |
19004
- 262144;
19005
+ 524288;
19005
19006
  return node;
19006
19007
  }
19007
19008
  function updateArrayBindingPattern(node, elements) {
@@ -19022,7 +19023,7 @@ var ts;
19022
19023
  propagateChildFlags(node.propertyName);
19023
19024
  }
19024
19025
  if (dotDotDotToken)
19025
- node.transformFlags |= 16384;
19026
+ node.transformFlags |= 32768;
19026
19027
  return node;
19027
19028
  }
19028
19029
  function updateBindingElement(node, dotDotDotToken, propertyName, name, initializer) {
@@ -19168,10 +19169,10 @@ var ts;
19168
19169
  node.transformFlags |= 1;
19169
19170
  }
19170
19171
  if (ts.isImportKeyword(node.expression)) {
19171
- node.transformFlags |= 4194304;
19172
+ node.transformFlags |= 8388608;
19172
19173
  }
19173
19174
  else if (ts.isSuperProperty(node.expression)) {
19174
- node.transformFlags |= 8192;
19175
+ node.transformFlags |= 16384;
19175
19176
  }
19176
19177
  return node;
19177
19178
  }
@@ -19202,7 +19203,7 @@ var ts;
19202
19203
  node.transformFlags |= 1;
19203
19204
  }
19204
19205
  if (ts.isSuperProperty(node.expression)) {
19205
- node.transformFlags |= 8192;
19206
+ node.transformFlags |= 16384;
19206
19207
  }
19207
19208
  return node;
19208
19209
  }
@@ -19327,7 +19328,7 @@ var ts;
19327
19328
  propagateChildFlags(node.equalsGreaterThanToken) |
19328
19329
  1024;
19329
19330
  if (ts.modifiersToFlags(node.modifiers) & 256) {
19330
- node.transformFlags |= 256 | 8192;
19331
+ node.transformFlags |= 256 | 16384;
19331
19332
  }
19332
19333
  return node;
19333
19334
  }
@@ -19381,7 +19382,7 @@ var ts;
19381
19382
  propagateChildFlags(node.expression) |
19382
19383
  256 |
19383
19384
  128 |
19384
- 1048576;
19385
+ 2097152;
19385
19386
  return node;
19386
19387
  }
19387
19388
  function updateAwaitExpression(node, expression) {
@@ -19398,7 +19399,7 @@ var ts;
19398
19399
  ts.isIdentifier(node.operand) &&
19399
19400
  !ts.isGeneratedIdentifier(node.operand) &&
19400
19401
  !ts.isLocalName(node.operand)) {
19401
- node.transformFlags |= 67108864;
19402
+ node.transformFlags |= 268435456;
19402
19403
  }
19403
19404
  return node;
19404
19405
  }
@@ -19415,7 +19416,7 @@ var ts;
19415
19416
  if (ts.isIdentifier(node.operand) &&
19416
19417
  !ts.isGeneratedIdentifier(node.operand) &&
19417
19418
  !ts.isLocalName(node.operand)) {
19418
- node.transformFlags |= 67108864;
19419
+ node.transformFlags |= 268435456;
19419
19420
  }
19420
19421
  return node;
19421
19422
  }
@@ -19462,15 +19463,15 @@ var ts;
19462
19463
  return node;
19463
19464
  }
19464
19465
  function propagateAssignmentPatternFlags(node) {
19465
- if (node.transformFlags & 32768)
19466
- return 32768;
19466
+ if (node.transformFlags & 65536)
19467
+ return 65536;
19467
19468
  if (node.transformFlags & 128) {
19468
19469
  for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
19469
19470
  var element = _a[_i];
19470
19471
  var target = ts.getTargetOfBindingOrAssignmentElement(element);
19471
19472
  if (target && ts.isAssignmentPattern(target)) {
19472
- if (target.transformFlags & 32768) {
19473
- return 32768;
19473
+ if (target.transformFlags & 65536) {
19474
+ return 65536;
19474
19475
  }
19475
19476
  if (target.transformFlags & 128) {
19476
19477
  var flags_1 = propagateAssignmentPatternFlags(target);
@@ -19583,7 +19584,7 @@ var ts;
19583
19584
  propagateChildFlags(node.asteriskToken) |
19584
19585
  1024 |
19585
19586
  128 |
19586
- 524288;
19587
+ 1048576;
19587
19588
  return node;
19588
19589
  }
19589
19590
  function updateYieldExpression(node, asteriskToken, expression) {
@@ -19598,7 +19599,7 @@ var ts;
19598
19599
  node.transformFlags |=
19599
19600
  propagateChildFlags(node.expression) |
19600
19601
  1024 |
19601
- 16384;
19602
+ 32768;
19602
19603
  return node;
19603
19604
  }
19604
19605
  function updateSpreadElement(node, expression) {
@@ -19888,7 +19889,7 @@ var ts;
19888
19889
  node.label = asName(label);
19889
19890
  node.transformFlags |=
19890
19891
  propagateChildFlags(node.label) |
19891
- 2097152;
19892
+ 4194304;
19892
19893
  return node;
19893
19894
  }
19894
19895
  function updateContinueStatement(node, label) {
@@ -19901,7 +19902,7 @@ var ts;
19901
19902
  node.label = asName(label);
19902
19903
  node.transformFlags |=
19903
19904
  propagateChildFlags(node.label) |
19904
- 2097152;
19905
+ 4194304;
19905
19906
  return node;
19906
19907
  }
19907
19908
  function updateBreakStatement(node, label) {
@@ -19915,7 +19916,7 @@ var ts;
19915
19916
  node.transformFlags |=
19916
19917
  propagateChildFlags(node.expression) |
19917
19918
  128 |
19918
- 2097152;
19919
+ 4194304;
19919
19920
  return node;
19920
19921
  }
19921
19922
  function updateReturnStatement(node, expression) {
@@ -20024,11 +20025,11 @@ var ts;
20024
20025
  node.declarations = createNodeArray(declarations);
20025
20026
  node.transformFlags |=
20026
20027
  propagateChildrenFlags(node.declarations) |
20027
- 2097152;
20028
+ 4194304;
20028
20029
  if (flags & 3) {
20029
20030
  node.transformFlags |=
20030
20031
  1024 |
20031
- 131072;
20032
+ 262144;
20032
20033
  }
20033
20034
  return node;
20034
20035
  }
@@ -20046,7 +20047,7 @@ var ts;
20046
20047
  else {
20047
20048
  node.transformFlags |=
20048
20049
  propagateChildFlags(node.asteriskToken) |
20049
- 2097152;
20050
+ 4194304;
20050
20051
  if (ts.modifiersToFlags(node.modifiers) & 256) {
20051
20052
  if (node.asteriskToken) {
20052
20053
  node.transformFlags |= 128;
@@ -20080,7 +20081,7 @@ var ts;
20080
20081
  }
20081
20082
  else {
20082
20083
  node.transformFlags |= 1024;
20083
- if (node.transformFlags & 4096) {
20084
+ if (node.transformFlags & 8192) {
20084
20085
  node.transformFlags |= 1;
20085
20086
  }
20086
20087
  }
@@ -20133,7 +20134,7 @@ var ts;
20133
20134
  node.transformFlags |=
20134
20135
  propagateChildrenFlags(node.members) |
20135
20136
  1;
20136
- node.transformFlags &= ~16777216;
20137
+ node.transformFlags &= ~67108864;
20137
20138
  return node;
20138
20139
  }
20139
20140
  function updateEnumDeclaration(node, decorators, modifiers, name, members) {
@@ -20159,7 +20160,7 @@ var ts;
20159
20160
  propagateChildFlags(node.body) |
20160
20161
  1;
20161
20162
  }
20162
- node.transformFlags &= ~16777216;
20163
+ node.transformFlags &= ~67108864;
20163
20164
  return node;
20164
20165
  }
20165
20166
  function updateModuleDeclaration(node, decorators, modifiers, name, body) {
@@ -20209,7 +20210,7 @@ var ts;
20209
20210
  node.transformFlags |= propagateChildFlags(node.moduleReference);
20210
20211
  if (!ts.isExternalModuleReference(node.moduleReference))
20211
20212
  node.transformFlags |= 1;
20212
- node.transformFlags &= ~16777216;
20213
+ node.transformFlags &= ~67108864;
20213
20214
  return node;
20214
20215
  }
20215
20216
  function updateImportEqualsDeclaration(node, decorators, modifiers, isTypeOnly, name, moduleReference) {
@@ -20229,7 +20230,7 @@ var ts;
20229
20230
  node.transformFlags |=
20230
20231
  propagateChildFlags(node.importClause) |
20231
20232
  propagateChildFlags(node.moduleSpecifier);
20232
- node.transformFlags &= ~16777216;
20233
+ node.transformFlags &= ~67108864;
20233
20234
  return node;
20234
20235
  }
20235
20236
  function updateImportDeclaration(node, decorators, modifiers, importClause, moduleSpecifier, assertClause) {
@@ -20252,7 +20253,7 @@ var ts;
20252
20253
  if (isTypeOnly) {
20253
20254
  node.transformFlags |= 1;
20254
20255
  }
20255
- node.transformFlags &= ~16777216;
20256
+ node.transformFlags &= ~67108864;
20256
20257
  return node;
20257
20258
  }
20258
20259
  function updateImportClause(node, isTypeOnly, name, namedBindings) {
@@ -20304,7 +20305,7 @@ var ts;
20304
20305
  var node = createBaseNode(268);
20305
20306
  node.name = name;
20306
20307
  node.transformFlags |= propagateChildFlags(node.name);
20307
- node.transformFlags &= ~16777216;
20308
+ node.transformFlags &= ~67108864;
20308
20309
  return node;
20309
20310
  }
20310
20311
  function updateNamespaceImport(node, name) {
@@ -20318,7 +20319,7 @@ var ts;
20318
20319
  node.transformFlags |=
20319
20320
  propagateChildFlags(node.name) |
20320
20321
  4;
20321
- node.transformFlags &= ~16777216;
20322
+ node.transformFlags &= ~67108864;
20322
20323
  return node;
20323
20324
  }
20324
20325
  function updateNamespaceExport(node, name) {
@@ -20330,7 +20331,7 @@ var ts;
20330
20331
  var node = createBaseNode(269);
20331
20332
  node.elements = createNodeArray(elements);
20332
20333
  node.transformFlags |= propagateChildrenFlags(node.elements);
20333
- node.transformFlags &= ~16777216;
20334
+ node.transformFlags &= ~67108864;
20334
20335
  return node;
20335
20336
  }
20336
20337
  function updateNamedImports(node, elements) {
@@ -20346,7 +20347,7 @@ var ts;
20346
20347
  node.transformFlags |=
20347
20348
  propagateChildFlags(node.propertyName) |
20348
20349
  propagateChildFlags(node.name);
20349
- node.transformFlags &= ~16777216;
20350
+ node.transformFlags &= ~67108864;
20350
20351
  return node;
20351
20352
  }
20352
20353
  function updateImportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20363,7 +20364,7 @@ var ts;
20363
20364
  ? parenthesizerRules().parenthesizeRightSideOfBinary(63, undefined, expression)
20364
20365
  : parenthesizerRules().parenthesizeExpressionOfExportDefault(expression);
20365
20366
  node.transformFlags |= propagateChildFlags(node.expression);
20366
- node.transformFlags &= ~16777216;
20367
+ node.transformFlags &= ~67108864;
20367
20368
  return node;
20368
20369
  }
20369
20370
  function updateExportAssignment(node, decorators, modifiers, expression) {
@@ -20382,7 +20383,7 @@ var ts;
20382
20383
  node.transformFlags |=
20383
20384
  propagateChildFlags(node.exportClause) |
20384
20385
  propagateChildFlags(node.moduleSpecifier);
20385
- node.transformFlags &= ~16777216;
20386
+ node.transformFlags &= ~67108864;
20386
20387
  return node;
20387
20388
  }
20388
20389
  function updateExportDeclaration(node, decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) {
@@ -20399,7 +20400,7 @@ var ts;
20399
20400
  var node = createBaseNode(273);
20400
20401
  node.elements = createNodeArray(elements);
20401
20402
  node.transformFlags |= propagateChildrenFlags(node.elements);
20402
- node.transformFlags &= ~16777216;
20403
+ node.transformFlags &= ~67108864;
20403
20404
  return node;
20404
20405
  }
20405
20406
  function updateNamedExports(node, elements) {
@@ -20415,7 +20416,7 @@ var ts;
20415
20416
  node.transformFlags |=
20416
20417
  propagateChildFlags(node.propertyName) |
20417
20418
  propagateChildFlags(node.name);
20418
- node.transformFlags &= ~16777216;
20419
+ node.transformFlags &= ~67108864;
20419
20420
  return node;
20420
20421
  }
20421
20422
  function updateExportSpecifier(node, isTypeOnly, propertyName, name) {
@@ -20433,7 +20434,7 @@ var ts;
20433
20434
  var node = createBaseNode(277);
20434
20435
  node.expression = expression;
20435
20436
  node.transformFlags |= propagateChildFlags(node.expression);
20436
- node.transformFlags &= ~16777216;
20437
+ node.transformFlags &= ~67108864;
20437
20438
  return node;
20438
20439
  }
20439
20440
  function updateExternalModuleReference(node, expression) {
@@ -21062,7 +21063,7 @@ var ts;
21062
21063
  node.transformFlags |=
21063
21064
  propagateChildFlags(node.expression) |
21064
21065
  128 |
21065
- 32768;
21066
+ 65536;
21066
21067
  return node;
21067
21068
  }
21068
21069
  function updateSpreadAssignment(node, expression) {
@@ -21780,10 +21781,10 @@ var ts;
21780
21781
  return tokenValue;
21781
21782
  }
21782
21783
  function propagateIdentifierNameFlags(node) {
21783
- return propagateChildFlags(node) & ~16777216;
21784
+ return propagateChildFlags(node) & ~67108864;
21784
21785
  }
21785
21786
  function propagatePropertyNameFlagsOfChild(node, transformFlags) {
21786
- return transformFlags | (node.transformFlags & 33562624);
21787
+ return transformFlags | (node.transformFlags & 134234112);
21787
21788
  }
21788
21789
  function propagateChildFlags(child) {
21789
21790
  if (!child)
@@ -21810,29 +21811,29 @@ var ts;
21810
21811
  case 208:
21811
21812
  case 209:
21812
21813
  case 204:
21813
- return 536887296;
21814
+ return 536903680;
21814
21815
  case 261:
21815
- return 589443072;
21816
+ return 742678528;
21816
21817
  case 164:
21817
21818
  return 536870912;
21818
21819
  case 214:
21819
- return 557748224;
21820
+ return 612179968;
21820
21821
  case 213:
21821
21822
  case 256:
21822
- return 591310848;
21823
+ return 746414080;
21823
21824
  case 255:
21824
- return 537165824;
21825
+ return 537460736;
21825
21826
  case 257:
21826
21827
  case 226:
21827
- return 536940544;
21828
+ return 537010176;
21828
21829
  case 171:
21829
- return 591306752;
21830
+ return 746405888;
21830
21831
  case 167:
21831
- return 570433536;
21832
+ return 671105024;
21832
21833
  case 169:
21833
21834
  case 172:
21834
21835
  case 173:
21835
- return 574529536;
21836
+ return 679297024;
21836
21837
  case 130:
21837
21838
  case 147:
21838
21839
  case 158:
@@ -21852,12 +21853,12 @@ var ts;
21852
21853
  case 259:
21853
21854
  return -2;
21854
21855
  case 205:
21855
- return 536973312;
21856
+ return 537075712;
21856
21857
  case 292:
21857
- return 536903680;
21858
+ return 536936448;
21858
21859
  case 201:
21859
21860
  case 202:
21860
- return 536887296;
21861
+ return 536903680;
21861
21862
  case 211:
21862
21863
  case 229:
21863
21864
  case 350:
@@ -23369,6 +23370,10 @@ var ts;
23369
23370
  return node.kind === 267;
23370
23371
  }
23371
23372
  ts.isImportClause = isImportClause;
23373
+ function isImportTypeAssertionContainer(node) {
23374
+ return node.kind === 295;
23375
+ }
23376
+ ts.isImportTypeAssertionContainer = isImportTypeAssertionContainer;
23372
23377
  function isAssertClause(node) {
23373
23378
  return node.kind === 293;
23374
23379
  }
@@ -24468,6 +24473,14 @@ var ts;
24468
24473
  }
24469
24474
  }
24470
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;
24471
24484
  })(ts || (ts = {}));
24472
24485
  var ts;
24473
24486
  (function (ts) {
@@ -25459,7 +25472,7 @@ var ts;
25459
25472
  return factory.updateSourceFile(sourceFile, ts.setTextRange(factory.createNodeArray(statements), sourceFile.statements));
25460
25473
  function containsPossibleTopLevelAwait(node) {
25461
25474
  return !(node.flags & 32768)
25462
- && !!(node.transformFlags & 16777216);
25475
+ && !!(node.transformFlags & 67108864);
25463
25476
  }
25464
25477
  function findNextStatementWithAwait(statements, start) {
25465
25478
  for (var i = start; i < statements.length; i++) {
@@ -25493,7 +25506,7 @@ var ts;
25493
25506
  var sourceFile = factory.createSourceFile(statements, endOfFileToken, flags);
25494
25507
  ts.setTextRangePosWidth(sourceFile, 0, sourceText.length);
25495
25508
  setFields(sourceFile);
25496
- if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216) {
25509
+ if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 67108864) {
25497
25510
  sourceFile = reparseTopLevelAwait(sourceFile);
25498
25511
  setFields(sourceFile);
25499
25512
  }
@@ -28661,6 +28674,9 @@ var ts;
28661
28674
  typeArguments = expression.typeArguments;
28662
28675
  expression = expression.expression;
28663
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
+ }
28664
28680
  var argumentList = token() === 20 ? parseArgumentList() : undefined;
28665
28681
  return finishNode(factory.createNewExpression(expression, typeArguments, argumentList), pos);
28666
28682
  }
@@ -32700,14 +32716,7 @@ var ts;
32700
32716
  description: ts.Diagnostics.Delete_the_outputs_of_all_projects,
32701
32717
  type: "boolean",
32702
32718
  defaultValueDescription: false,
32703
- },
32704
- {
32705
- name: "solutionDiagnostics",
32706
- type: "boolean",
32707
- category: ts.Diagnostics.Compiler_Diagnostics,
32708
- description: ts.Diagnostics.Output_more_detailed_solution_performance_information_after_building,
32709
- defaultValueDescription: false,
32710
- },
32719
+ }
32711
32720
  ];
32712
32721
  ts.buildOpts = __spreadArray(__spreadArray([], ts.commonOptionsWithBuild, true), ts.optionsForBuild, true);
32713
32722
  ts.typeAcquisitionDeclarations = [
@@ -35851,13 +35860,32 @@ var ts;
35851
35860
  }
35852
35861
  return toSearchResult(undefined);
35853
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
+ }
35854
35882
  function loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, lookupTable, scope, isImports) {
35855
35883
  var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports);
35856
35884
  if (!ts.endsWith(moduleName, ts.directorySeparator) && moduleName.indexOf("*") === -1 && ts.hasProperty(lookupTable, moduleName)) {
35857
35885
  var target = lookupTable[moduleName];
35858
35886
  return loadModuleFromTargetImportOrExport(target, "", false);
35859
35887
  }
35860
- 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);
35861
35889
  for (var _i = 0, expandingKeys_1 = expandingKeys; _i < expandingKeys_1.length; _i++) {
35862
35890
  var potentialTarget = expandingKeys_1[_i];
35863
35891
  if (state.features & NodeResolutionFeatures.ExportsPatternTrailers && matchesPatternWithTrailer(potentialTarget, moduleName)) {
@@ -44073,6 +44101,7 @@ var ts;
44073
44101
  return symbol.parent ? ts.factory.createQualifiedName(symbolToEntityNameNode(symbol.parent), identifier) : identifier;
44074
44102
  }
44075
44103
  function symbolToTypeNode(symbol, context, meaning, overrideTypeArguments) {
44104
+ var _a, _b, _c, _d;
44076
44105
  var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384));
44077
44106
  var isTypeOf = meaning === 111551;
44078
44107
  if (ts.some(chain[0].declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
@@ -44088,6 +44117,7 @@ var ts;
44088
44117
  assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([
44089
44118
  ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral("import"))
44090
44119
  ])));
44120
+ (_b = (_a = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _b === void 0 ? void 0 : _b.call(_a);
44091
44121
  }
44092
44122
  }
44093
44123
  if (!specifier) {
@@ -44105,6 +44135,7 @@ var ts;
44105
44135
  assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([
44106
44136
  ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral(swappedMode === ts.ModuleKind.ESNext ? "import" : "require"))
44107
44137
  ])));
44138
+ (_d = (_c = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _d === void 0 ? void 0 : _d.call(_c);
44108
44139
  }
44109
44140
  }
44110
44141
  if (!assertion) {
@@ -53588,6 +53619,9 @@ var ts;
53588
53619
  }
53589
53620
  return false;
53590
53621
  }
53622
+ function containsUndefinedType(type) {
53623
+ return !!((type.flags & 1048576 ? type.types[0] : type).flags & 32768);
53624
+ }
53591
53625
  function isStringIndexSignatureOnlyType(type) {
53592
53626
  return type.flags & 524288 && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfosOfType(type).length === 1 && !!getIndexInfoOfType(type, stringType) ||
53593
53627
  type.flags & 3145728 && ts.every(type.types, isStringIndexSignatureOnlyType) ||
@@ -59916,7 +59950,7 @@ var ts;
59916
59950
  return convertAutoToAny(flowType);
59917
59951
  }
59918
59952
  }
59919
- else if (!assumeInitialized && !(getTypeFacts(type) & 16777216) && getTypeFacts(flowType) & 16777216) {
59953
+ else if (!assumeInitialized && !containsUndefinedType(type) && containsUndefinedType(flowType)) {
59920
59954
  error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol));
59921
59955
  return type;
59922
59956
  }
@@ -62448,7 +62482,7 @@ var ts;
62448
62482
  assumeUninitialized = true;
62449
62483
  }
62450
62484
  var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType);
62451
- if (assumeUninitialized && !(getTypeFacts(propType) & 16777216) && getTypeFacts(flowType) & 16777216) {
62485
+ if (assumeUninitialized && !containsUndefinedType(propType) && containsUndefinedType(flowType)) {
62452
62486
  error(errorNode, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop));
62453
62487
  return propType;
62454
62488
  }
@@ -65924,6 +65958,9 @@ var ts;
65924
65958
  if (target.kind === 221 && target.operatorToken.kind === 63) {
65925
65959
  checkBinaryExpression(target, checkMode);
65926
65960
  target = target.left;
65961
+ if (strictNullChecks) {
65962
+ sourceType = getTypeWithFacts(sourceType, 524288);
65963
+ }
65927
65964
  }
65928
65965
  if (target.kind === 205) {
65929
65966
  return checkObjectLiteralAssignment(target, sourceType, rightIsThis);
@@ -67816,8 +67853,11 @@ var ts;
67816
67853
  if (node.assertions) {
67817
67854
  var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode);
67818
67855
  if (override) {
67856
+ if (!ts.isNightly()) {
67857
+ 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);
67858
+ }
67819
67859
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
67820
- grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
67860
+ grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
67821
67861
  }
67822
67862
  }
67823
67863
  }
@@ -70863,7 +70903,7 @@ var ts;
70863
70903
  var propName = member.name;
70864
70904
  if (ts.isIdentifier(propName) || ts.isPrivateIdentifier(propName) || ts.isComputedPropertyName(propName)) {
70865
70905
  var type = getTypeOfSymbol(getSymbolOfNode(member));
70866
- if (!(type.flags & 3 || getTypeFacts(type) & 16777216)) {
70906
+ if (!(type.flags & 3 || containsUndefinedType(type))) {
70867
70907
  if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) {
70868
70908
  error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName));
70869
70909
  }
@@ -70887,7 +70927,7 @@ var ts;
70887
70927
  ts.setParent(reference, staticBlock);
70888
70928
  reference.flowNode = staticBlock.returnFlowNode;
70889
70929
  var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType));
70890
- if (!(getTypeFacts(flowType) & 16777216)) {
70930
+ if (!containsUndefinedType(flowType)) {
70891
70931
  return true;
70892
70932
  }
70893
70933
  }
@@ -70902,7 +70942,7 @@ var ts;
70902
70942
  ts.setParent(reference, constructor);
70903
70943
  reference.flowNode = constructor.returnFlowNode;
70904
70944
  var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType));
70905
- return !(getTypeFacts(flowType) & 16777216);
70945
+ return !containsUndefinedType(flowType);
70906
70946
  }
70907
70947
  function checkInterfaceDeclaration(node) {
70908
70948
  if (!checkGrammarDecoratorsAndModifiers(node))
@@ -71477,10 +71517,10 @@ var ts;
71477
71517
  var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined);
71478
71518
  if (validForTypeAssertions && override) {
71479
71519
  if (!ts.isNightly()) {
71480
- 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);
71520
+ 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);
71481
71521
  }
71482
71522
  if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) {
71483
- return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
71523
+ return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext);
71484
71524
  }
71485
71525
  return;
71486
71526
  }
@@ -75781,7 +75821,9 @@ var ts;
75781
75821
  var ts;
75782
75822
  (function (ts) {
75783
75823
  function createSourceMapGenerator(host, file, sourceRoot, sourcesDirectoryPath, generatorOptions) {
75784
- var _a = ts.performance.createTimerIf(!!generatorOptions.extendedDiagnostics, "Source Map", "beforeSourcemap", "afterSourcemap"), enter = _a.enter, exit = _a.exit;
75824
+ var _a = generatorOptions.extendedDiagnostics
75825
+ ? ts.performance.createTimer("Source Map", "beforeSourcemap", "afterSourcemap")
75826
+ : ts.performance.nullTimer, enter = _a.enter, exit = _a.exit;
75785
75827
  var rawSources = [];
75786
75828
  var sources = [];
75787
75829
  var sourceToSourceIndexMap = new ts.Map();
@@ -76676,6 +76718,90 @@ var ts;
76676
76718
  return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name);
76677
76719
  }
76678
76720
  ts.isNonStaticMethodOrAccessorWithPrivateName = isNonStaticMethodOrAccessorWithPrivateName;
76721
+ function getDecoratorsOfParameters(node) {
76722
+ var decorators;
76723
+ if (node) {
76724
+ var parameters = node.parameters;
76725
+ var firstParameterIsThis = parameters.length > 0 && ts.parameterIsThisKeyword(parameters[0]);
76726
+ var firstParameterOffset = firstParameterIsThis ? 1 : 0;
76727
+ var numParameters = firstParameterIsThis ? parameters.length - 1 : parameters.length;
76728
+ for (var i = 0; i < numParameters; i++) {
76729
+ var parameter = parameters[i + firstParameterOffset];
76730
+ if (decorators || parameter.decorators) {
76731
+ if (!decorators) {
76732
+ decorators = new Array(numParameters);
76733
+ }
76734
+ decorators[i] = parameter.decorators;
76735
+ }
76736
+ }
76737
+ }
76738
+ return decorators;
76739
+ }
76740
+ function getAllDecoratorsOfClass(node) {
76741
+ var decorators = node.decorators;
76742
+ var parameters = getDecoratorsOfParameters(ts.getFirstConstructorWithBody(node));
76743
+ if (!decorators && !parameters) {
76744
+ return undefined;
76745
+ }
76746
+ return {
76747
+ decorators: decorators,
76748
+ parameters: parameters
76749
+ };
76750
+ }
76751
+ ts.getAllDecoratorsOfClass = getAllDecoratorsOfClass;
76752
+ function getAllDecoratorsOfClassElement(member, parent) {
76753
+ switch (member.kind) {
76754
+ case 172:
76755
+ case 173:
76756
+ return getAllDecoratorsOfAccessors(member, parent);
76757
+ case 169:
76758
+ return getAllDecoratorsOfMethod(member);
76759
+ case 167:
76760
+ return getAllDecoratorsOfProperty(member);
76761
+ default:
76762
+ return undefined;
76763
+ }
76764
+ }
76765
+ ts.getAllDecoratorsOfClassElement = getAllDecoratorsOfClassElement;
76766
+ function getAllDecoratorsOfAccessors(accessor, parent) {
76767
+ if (!accessor.body) {
76768
+ return undefined;
76769
+ }
76770
+ var _a = ts.getAllAccessorDeclarations(parent.members, accessor), firstAccessor = _a.firstAccessor, secondAccessor = _a.secondAccessor, getAccessor = _a.getAccessor, setAccessor = _a.setAccessor;
76771
+ var firstAccessorWithDecorators = firstAccessor.decorators ? firstAccessor : secondAccessor && secondAccessor.decorators ? secondAccessor : undefined;
76772
+ if (!firstAccessorWithDecorators || accessor !== firstAccessorWithDecorators) {
76773
+ return undefined;
76774
+ }
76775
+ var decorators = firstAccessorWithDecorators.decorators;
76776
+ var parameters = getDecoratorsOfParameters(setAccessor);
76777
+ if (!decorators && !parameters) {
76778
+ return undefined;
76779
+ }
76780
+ return {
76781
+ decorators: decorators,
76782
+ parameters: parameters,
76783
+ getDecorators: getAccessor === null || getAccessor === void 0 ? void 0 : getAccessor.decorators,
76784
+ setDecorators: setAccessor === null || setAccessor === void 0 ? void 0 : setAccessor.decorators
76785
+ };
76786
+ }
76787
+ function getAllDecoratorsOfMethod(method) {
76788
+ if (!method.body) {
76789
+ return undefined;
76790
+ }
76791
+ var decorators = method.decorators;
76792
+ var parameters = getDecoratorsOfParameters(method);
76793
+ if (!decorators && !parameters) {
76794
+ return undefined;
76795
+ }
76796
+ return { decorators: decorators, parameters: parameters };
76797
+ }
76798
+ function getAllDecoratorsOfProperty(property) {
76799
+ var decorators = property.decorators;
76800
+ if (!decorators) {
76801
+ return undefined;
76802
+ }
76803
+ return { decorators: decorators };
76804
+ }
76679
76805
  })(ts || (ts = {}));
76680
76806
  var ts;
76681
76807
  (function (ts) {
@@ -76877,8 +77003,8 @@ var ts;
76877
77003
  if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) {
76878
77004
  var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element);
76879
77005
  if (flattenContext.level >= 1
76880
- && !(element.transformFlags & (16384 | 32768))
76881
- && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 | 32768))
77006
+ && !(element.transformFlags & (32768 | 65536))
77007
+ && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 | 65536))
76882
77008
  && !ts.isComputedPropertyName(propertyName)) {
76883
77009
  bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor));
76884
77010
  }
@@ -76925,7 +77051,7 @@ var ts;
76925
77051
  for (var i = 0; i < numElements; i++) {
76926
77052
  var element = elements[i];
76927
77053
  if (flattenContext.level >= 1) {
76928
- if (element.transformFlags & 32768 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
77054
+ if (element.transformFlags & 65536 || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) {
76929
77055
  flattenContext.hasTransformedPriorElement = true;
76930
77056
  var temp = flattenContext.context.factory.createTempVariable(undefined);
76931
77057
  if (flattenContext.hoistTempVariables) {
@@ -77093,9 +77219,9 @@ var ts;
77093
77219
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, startLexicalEnvironment = context.startLexicalEnvironment, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
77094
77220
  var resolver = context.getEmitResolver();
77095
77221
  var compilerOptions = context.getCompilerOptions();
77096
- var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
77097
77222
  var languageVersion = ts.getEmitScriptTarget(compilerOptions);
77098
77223
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
77224
+ var typeSerializer = compilerOptions.emitDecoratorMetadata ? ts.createRuntimeTypeSerializer(context) : undefined;
77099
77225
  var previousOnEmitNode = context.onEmitNode;
77100
77226
  var previousOnSubstituteNode = context.onSubstituteNode;
77101
77227
  context.onEmitNode = onEmitNode;
@@ -77106,11 +77232,9 @@ var ts;
77106
77232
  var currentNamespace;
77107
77233
  var currentNamespaceContainerName;
77108
77234
  var currentLexicalScope;
77109
- var currentNameScope;
77110
77235
  var currentScopeFirstDeclarationsOfName;
77111
77236
  var currentClassHasParameterProperties;
77112
77237
  var enabledSubstitutions;
77113
- var classAliases;
77114
77238
  var applicableSubstitutions;
77115
77239
  return transformSourceFileOrBundle;
77116
77240
  function transformSourceFileOrBundle(node) {
@@ -77139,7 +77263,6 @@ var ts;
77139
77263
  }
77140
77264
  function saveStateAndInvoke(node, f) {
77141
77265
  var savedCurrentScope = currentLexicalScope;
77142
- var savedCurrentNameScope = currentNameScope;
77143
77266
  var savedCurrentScopeFirstDeclarationsOfName = currentScopeFirstDeclarationsOfName;
77144
77267
  var savedCurrentClassHasParameterProperties = currentClassHasParameterProperties;
77145
77268
  onBeforeVisitNode(node);
@@ -77148,7 +77271,6 @@ var ts;
77148
77271
  currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName;
77149
77272
  }
77150
77273
  currentLexicalScope = savedCurrentScope;
77151
- currentNameScope = savedCurrentNameScope;
77152
77274
  currentClassHasParameterProperties = savedCurrentClassHasParameterProperties;
77153
77275
  return visited;
77154
77276
  }
@@ -77159,7 +77281,6 @@ var ts;
77159
77281
  case 262:
77160
77282
  case 235:
77161
77283
  currentLexicalScope = node;
77162
- currentNameScope = undefined;
77163
77284
  currentScopeFirstDeclarationsOfName = undefined;
77164
77285
  break;
77165
77286
  case 257:
@@ -77173,9 +77294,6 @@ var ts;
77173
77294
  else {
77174
77295
  ts.Debug.assert(node.kind === 257 || ts.hasSyntacticModifier(node, 512));
77175
77296
  }
77176
- if (ts.isClassDeclaration(node)) {
77177
- currentNameScope = node;
77178
- }
77179
77297
  break;
77180
77298
  }
77181
77299
  }
@@ -77239,23 +77357,46 @@ var ts;
77239
77357
  }
77240
77358
  return node;
77241
77359
  }
77242
- function classElementVisitor(node) {
77243
- return saveStateAndInvoke(node, classElementVisitorWorker);
77360
+ function getClassElementVisitor(parent) {
77361
+ return function (node) { return saveStateAndInvoke(node, function (n) { return classElementVisitorWorker(n, parent); }); };
77244
77362
  }
77245
- function classElementVisitorWorker(node) {
77363
+ function classElementVisitorWorker(node, parent) {
77246
77364
  switch (node.kind) {
77247
77365
  case 171:
77248
77366
  return visitConstructor(node);
77249
77367
  case 167:
77250
- return visitPropertyDeclaration(node);
77251
- case 176:
77368
+ return visitPropertyDeclaration(node, parent);
77252
77369
  case 172:
77370
+ return visitGetAccessor(node, parent);
77253
77371
  case 173:
77372
+ return visitSetAccessor(node, parent);
77254
77373
  case 169:
77374
+ return visitMethodDeclaration(node, parent);
77255
77375
  case 170:
77256
- return visitorWorker(node);
77376
+ return ts.visitEachChild(node, visitor, context);
77257
77377
  case 234:
77258
77378
  return node;
77379
+ case 176:
77380
+ return;
77381
+ default:
77382
+ return ts.Debug.failBadSyntaxKind(node);
77383
+ }
77384
+ }
77385
+ function getObjectLiteralElementVisitor(parent) {
77386
+ return function (node) { return saveStateAndInvoke(node, function (n) { return objectLiteralElementVisitorWorker(n, parent); }); };
77387
+ }
77388
+ function objectLiteralElementVisitorWorker(node, parent) {
77389
+ switch (node.kind) {
77390
+ case 296:
77391
+ case 297:
77392
+ case 298:
77393
+ return visitor(node);
77394
+ case 172:
77395
+ return visitGetAccessor(node, parent);
77396
+ case 173:
77397
+ return visitSetAccessor(node, parent);
77398
+ case 169:
77399
+ return visitMethodDeclaration(node, parent);
77259
77400
  default:
77260
77401
  return ts.Debug.failBadSyntaxKind(node);
77261
77402
  }
@@ -77316,16 +77457,11 @@ var ts;
77316
77457
  case 195:
77317
77458
  case 196:
77318
77459
  case 176:
77319
- case 165:
77320
77460
  return undefined;
77321
77461
  case 259:
77322
77462
  return factory.createNotEmittedStatement(node);
77323
- case 167:
77324
- return visitPropertyDeclaration(node);
77325
77463
  case 264:
77326
77464
  return undefined;
77327
- case 171:
77328
- return visitConstructor(node);
77329
77465
  case 258:
77330
77466
  return factory.createNotEmittedStatement(node);
77331
77467
  case 257:
@@ -77336,12 +77472,15 @@ var ts;
77336
77472
  return visitHeritageClause(node);
77337
77473
  case 228:
77338
77474
  return visitExpressionWithTypeArguments(node);
77475
+ case 205:
77476
+ return visitObjectLiteralExpression(node);
77477
+ case 171:
77478
+ case 167:
77339
77479
  case 169:
77340
- return visitMethodDeclaration(node);
77341
77480
  case 172:
77342
- return visitGetAccessor(node);
77343
77481
  case 173:
77344
- return visitSetAccessor(node);
77482
+ case 170:
77483
+ return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors");
77345
77484
  case 256:
77346
77485
  return visitFunctionDeclaration(node);
77347
77486
  case 213:
@@ -77387,6 +77526,9 @@ var ts;
77387
77526
  !ts.isJsonSourceFile(node);
77388
77527
  return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, 0, alwaysStrict));
77389
77528
  }
77529
+ function visitObjectLiteralExpression(node) {
77530
+ return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement));
77531
+ }
77390
77532
  function getClassFacts(node, staticProperties) {
77391
77533
  var facts = 0;
77392
77534
  if (ts.some(staticProperties))
@@ -77409,7 +77551,7 @@ var ts;
77409
77551
  return facts;
77410
77552
  }
77411
77553
  function hasTypeScriptClassSyntax(node) {
77412
- return !!(node.transformFlags & 4096);
77554
+ return !!(node.transformFlags & 8192);
77413
77555
  }
77414
77556
  function isClassLikeDeclarationWithTypeScriptSyntax(node) {
77415
77557
  return ts.some(node.decorators)
@@ -77419,7 +77561,7 @@ var ts;
77419
77561
  }
77420
77562
  function visitClassDeclaration(node) {
77421
77563
  if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1))) {
77422
- return ts.visitEachChild(node, visitor, context);
77564
+ 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));
77423
77565
  }
77424
77566
  var staticProperties = ts.getProperties(node, true, true);
77425
77567
  var facts = getClassFacts(node, staticProperties);
@@ -77427,13 +77569,18 @@ var ts;
77427
77569
  context.startLexicalEnvironment();
77428
77570
  }
77429
77571
  var name = node.name || (facts & 5 ? factory.getGeneratedNameForNode(node) : undefined);
77430
- var classStatement = facts & 2
77431
- ? createClassDeclarationHeadWithDecorators(node, name)
77432
- : createClassDeclarationHeadWithoutDecorators(node, name, facts);
77572
+ var allDecorators = getAllDecoratorsOfConstructor(node);
77573
+ var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77574
+ var modifiers = !(facts & 128)
77575
+ ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77576
+ : ts.elideNodes(factory, node.modifiers);
77577
+ var classStatement = factory.updateClassDeclaration(node, decorators, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77578
+ var emitFlags = ts.getEmitFlags(node);
77579
+ if (facts & 1) {
77580
+ emitFlags |= 32;
77581
+ }
77582
+ ts.setEmitFlags(classStatement, emitFlags);
77433
77583
  var statements = [classStatement];
77434
- addClassElementDecorationStatements(statements, node, false);
77435
- addClassElementDecorationStatements(statements, node, true);
77436
- addConstructorDecorationStatement(statements, node);
77437
77584
  if (facts & 128) {
77438
77585
  var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19);
77439
77586
  var localName = factory.getInternalName(node);
@@ -77473,47 +77620,12 @@ var ts;
77473
77620
  }
77474
77621
  return ts.singleOrMany(statements);
77475
77622
  }
77476
- function createClassDeclarationHeadWithoutDecorators(node, name, facts) {
77477
- var modifiers = !(facts & 128)
77478
- ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier)
77479
- : undefined;
77480
- var classDeclaration = factory.createClassDeclaration(undefined, modifiers, name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77481
- var emitFlags = ts.getEmitFlags(node);
77482
- if (facts & 1) {
77483
- emitFlags |= 32;
77484
- }
77485
- ts.setTextRange(classDeclaration, node);
77486
- ts.setOriginalNode(classDeclaration, node);
77487
- ts.setEmitFlags(classDeclaration, emitFlags);
77488
- return classDeclaration;
77489
- }
77490
- function createClassDeclarationHeadWithDecorators(node, name) {
77491
- var location = ts.moveRangePastDecorators(node);
77492
- var classAlias = getClassAliasIfNeeded(node);
77493
- var declName = languageVersion <= 2 ?
77494
- factory.getInternalName(node, false, true) :
77495
- factory.getLocalName(node, false, true);
77496
- var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
77497
- var members = transformClassMembers(node);
77498
- var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
77499
- ts.setOriginalNode(classExpression, node);
77500
- ts.setTextRange(classExpression, location);
77501
- var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
77502
- factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
77503
- ], 1));
77504
- ts.setOriginalNode(statement, node);
77505
- ts.setTextRange(statement, location);
77506
- ts.setCommentRange(statement, node);
77507
- return statement;
77508
- }
77509
77623
  function visitClassExpression(node) {
77510
- if (!isClassLikeDeclarationWithTypeScriptSyntax(node)) {
77511
- return ts.visitEachChild(node, visitor, context);
77512
- }
77513
- var classExpression = factory.createClassExpression(undefined, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node));
77514
- ts.setOriginalNode(classExpression, node);
77515
- ts.setTextRange(classExpression, node);
77516
- return classExpression;
77624
+ var allDecorators = getAllDecoratorsOfConstructor(node);
77625
+ var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77626
+ return factory.updateClassExpression(node, decorators, undefined, node.name, undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), isClassLikeDeclarationWithTypeScriptSyntax(node) ?
77627
+ transformClassMembers(node) :
77628
+ ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77517
77629
  }
77518
77630
  function transformClassMembers(node) {
77519
77631
  var members = [];
@@ -77528,22 +77640,9 @@ var ts;
77528
77640
  }
77529
77641
  }
77530
77642
  }
77531
- ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement));
77643
+ ts.addRange(members, ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement));
77532
77644
  return ts.setTextRange(factory.createNodeArray(members), node.members);
77533
77645
  }
77534
- function getDecoratedClassElements(node, isStatic) {
77535
- return ts.filter(node.members, isStatic ? function (m) { return isStaticDecoratedClassElement(m, node); } : function (m) { return isInstanceDecoratedClassElement(m, node); });
77536
- }
77537
- function isStaticDecoratedClassElement(member, parent) {
77538
- return isDecoratedClassElement(member, true, parent);
77539
- }
77540
- function isInstanceDecoratedClassElement(member, parent) {
77541
- return isDecoratedClassElement(member, false, parent);
77542
- }
77543
- function isDecoratedClassElement(member, isStaticElement, parent) {
77544
- return ts.nodeOrChildIsDecorated(member, parent)
77545
- && isStaticElement === ts.isStatic(member);
77546
- }
77547
77646
  function getDecoratorsOfParameters(node) {
77548
77647
  var decorators;
77549
77648
  if (node) {
@@ -77574,11 +77673,11 @@ var ts;
77574
77673
  parameters: parameters
77575
77674
  };
77576
77675
  }
77577
- function getAllDecoratorsOfClassElement(node, member) {
77676
+ function getAllDecoratorsOfClassElement(member, parent) {
77578
77677
  switch (member.kind) {
77579
77678
  case 172:
77580
77679
  case 173:
77581
- return getAllDecoratorsOfAccessors(node, member);
77680
+ return getAllDecoratorsOfAccessors(parent, member);
77582
77681
  case 169:
77583
77682
  return getAllDecoratorsOfMethod(member);
77584
77683
  case 167:
@@ -77625,124 +77724,71 @@ var ts;
77625
77724
  if (!allDecorators) {
77626
77725
  return undefined;
77627
77726
  }
77628
- var decoratorExpressions = [];
77629
- ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
77630
- ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
77631
- addTypeMetadata(node, container, decoratorExpressions);
77632
- return decoratorExpressions;
77633
- }
77634
- function addClassElementDecorationStatements(statements, node, isStatic) {
77635
- ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), expressionToStatement));
77636
- }
77637
- function generateClassElementDecorationExpressions(node, isStatic) {
77638
- var members = getDecoratedClassElements(node, isStatic);
77639
- var expressions;
77640
- for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
77641
- var member = members_8[_i];
77642
- var expression = generateClassElementDecorationExpression(node, member);
77643
- if (expression) {
77644
- if (!expressions) {
77645
- expressions = [expression];
77646
- }
77647
- else {
77648
- expressions.push(expression);
77649
- }
77650
- }
77651
- }
77652
- return expressions;
77653
- }
77654
- function generateClassElementDecorationExpression(node, member) {
77655
- var allDecorators = getAllDecoratorsOfClassElement(node, member);
77656
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(member, node, allDecorators);
77657
- if (!decoratorExpressions) {
77658
- return undefined;
77659
- }
77660
- var prefix = getClassMemberPrefix(node, member);
77661
- var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
77662
- var descriptor = languageVersion > 0
77663
- ? member.kind === 167
77664
- ? factory.createVoidZero()
77665
- : factory.createNull()
77666
- : undefined;
77667
- var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
77668
- ts.setTextRange(helper, ts.moveRangePastDecorators(member));
77669
- ts.setEmitFlags(helper, 1536);
77670
- return helper;
77671
- }
77672
- function addConstructorDecorationStatement(statements, node) {
77673
- var expression = generateConstructorDecorationExpression(node);
77674
- if (expression) {
77675
- statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
77676
- }
77677
- }
77678
- function generateConstructorDecorationExpression(node) {
77679
- var allDecorators = getAllDecoratorsOfConstructor(node);
77680
- var decoratorExpressions = transformAllDecoratorsOfDeclaration(node, node, allDecorators);
77681
- if (!decoratorExpressions) {
77682
- return undefined;
77683
- }
77684
- var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
77685
- var localName = languageVersion <= 2 ?
77686
- factory.getInternalName(node, false, true) :
77687
- factory.getLocalName(node, false, true);
77688
- var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
77689
- var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
77690
- ts.setEmitFlags(expression, 1536);
77691
- ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node));
77692
- return expression;
77693
- }
77694
- function transformDecorator(decorator) {
77695
- return ts.visitNode(decorator.expression, visitor, ts.isExpression);
77727
+ var decorators = ts.visitNodes(allDecorators.decorators, visitor, ts.isDecorator);
77728
+ var parameterDecorators = ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter);
77729
+ var metadataDecorators = ts.some(decorators) || ts.some(parameterDecorators) ? getTypeMetadata(node, container) : undefined;
77730
+ var result = factory.createNodeArray(ts.concatenate(ts.concatenate(decorators, parameterDecorators), metadataDecorators));
77731
+ ts.setTextRange(result, decorators);
77732
+ return result;
77696
77733
  }
77697
- function transformDecoratorsOfParameter(decorators, parameterOffset) {
77698
- var expressions;
77699
- if (decorators) {
77700
- expressions = [];
77701
- for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
77702
- var decorator = decorators_1[_i];
77703
- var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
77704
- ts.setTextRange(helper, decorator.expression);
77734
+ function transformDecoratorsOfParameter(parameterDecorators, parameterOffset) {
77735
+ if (parameterDecorators) {
77736
+ var decorators = [];
77737
+ for (var _i = 0, parameterDecorators_1 = parameterDecorators; _i < parameterDecorators_1.length; _i++) {
77738
+ var parameterDecorator = parameterDecorators_1[_i];
77739
+ var expression = ts.visitNode(parameterDecorator.expression, visitor, ts.isExpression);
77740
+ var helper = emitHelpers().createParamHelper(expression, parameterOffset);
77741
+ ts.setTextRange(helper, parameterDecorator.expression);
77705
77742
  ts.setEmitFlags(helper, 1536);
77706
- expressions.push(helper);
77743
+ var decorator = factory.createDecorator(helper);
77744
+ ts.setTextRange(decorator, parameterDecorator.expression);
77745
+ ts.setEmitFlags(decorator, 1536);
77746
+ decorators.push(decorator);
77707
77747
  }
77748
+ return decorators;
77708
77749
  }
77709
- return expressions;
77710
77750
  }
77711
- function addTypeMetadata(node, container, decoratorExpressions) {
77712
- if (USE_NEW_TYPE_METADATA_FORMAT) {
77713
- addNewTypeMetadata(node, container, decoratorExpressions);
77714
- }
77715
- else {
77716
- addOldTypeMetadata(node, container, decoratorExpressions);
77717
- }
77751
+ function getTypeMetadata(node, container) {
77752
+ return USE_NEW_TYPE_METADATA_FORMAT ?
77753
+ getNewTypeMetadata(node, container) :
77754
+ getOldTypeMetadata(node, container);
77718
77755
  }
77719
- function addOldTypeMetadata(node, container, decoratorExpressions) {
77720
- if (compilerOptions.emitDecoratorMetadata) {
77756
+ function getOldTypeMetadata(node, container) {
77757
+ if (typeSerializer) {
77758
+ var decorators = void 0;
77721
77759
  if (shouldAddTypeMetadata(node)) {
77722
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:type", serializeTypeOfNode(node)));
77760
+ var typeMetadata = emitHelpers().createMetadataHelper("design:type", typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node));
77761
+ decorators = ts.append(decorators, factory.createDecorator(typeMetadata));
77723
77762
  }
77724
77763
  if (shouldAddParamTypesMetadata(node)) {
77725
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:paramtypes", serializeParameterTypesOfNode(node, container)));
77764
+ var paramTypesMetadata = emitHelpers().createMetadataHelper("design:paramtypes", typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container));
77765
+ decorators = ts.append(decorators, factory.createDecorator(paramTypesMetadata));
77726
77766
  }
77727
77767
  if (shouldAddReturnTypeMetadata(node)) {
77728
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:returntype", serializeReturnTypeOfNode(node)));
77768
+ var returnTypeMetadata = emitHelpers().createMetadataHelper("design:returntype", typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node));
77769
+ decorators = ts.append(decorators, factory.createDecorator(returnTypeMetadata));
77729
77770
  }
77771
+ return decorators;
77730
77772
  }
77731
77773
  }
77732
- function addNewTypeMetadata(node, container, decoratorExpressions) {
77733
- if (compilerOptions.emitDecoratorMetadata) {
77774
+ function getNewTypeMetadata(node, container) {
77775
+ if (typeSerializer) {
77734
77776
  var properties = void 0;
77735
77777
  if (shouldAddTypeMetadata(node)) {
77736
- (properties || (properties = [])).push(factory.createPropertyAssignment("type", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeTypeOfNode(node))));
77778
+ var typeProperty = factory.createPropertyAssignment("type", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)));
77779
+ properties = ts.append(properties, typeProperty);
77737
77780
  }
77738
77781
  if (shouldAddParamTypesMetadata(node)) {
77739
- (properties || (properties = [])).push(factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeParameterTypesOfNode(node, container))));
77782
+ var paramTypeProperty = factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container)));
77783
+ properties = ts.append(properties, paramTypeProperty);
77740
77784
  }
77741
77785
  if (shouldAddReturnTypeMetadata(node)) {
77742
- (properties || (properties = [])).push(factory.createPropertyAssignment("returnType", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), serializeReturnTypeOfNode(node))));
77786
+ var returnTypeProperty = factory.createPropertyAssignment("returnType", factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(38), typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)));
77787
+ properties = ts.append(properties, returnTypeProperty);
77743
77788
  }
77744
77789
  if (properties) {
77745
- decoratorExpressions.push(emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, true)));
77790
+ var typeInfoMetadata = emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, true));
77791
+ return [factory.createDecorator(typeInfoMetadata)];
77746
77792
  }
77747
77793
  }
77748
77794
  }
@@ -77768,262 +77814,6 @@ var ts;
77768
77814
  }
77769
77815
  return false;
77770
77816
  }
77771
- function getAccessorTypeNode(node) {
77772
- var accessors = resolver.getAllAccessorDeclarations(node);
77773
- return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
77774
- || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
77775
- }
77776
- function serializeTypeOfNode(node) {
77777
- switch (node.kind) {
77778
- case 167:
77779
- case 164:
77780
- return serializeTypeNode(node.type);
77781
- case 173:
77782
- case 172:
77783
- return serializeTypeNode(getAccessorTypeNode(node));
77784
- case 257:
77785
- case 226:
77786
- case 169:
77787
- return factory.createIdentifier("Function");
77788
- default:
77789
- return factory.createVoidZero();
77790
- }
77791
- }
77792
- function serializeParameterTypesOfNode(node, container) {
77793
- var valueDeclaration = ts.isClassLike(node)
77794
- ? ts.getFirstConstructorWithBody(node)
77795
- : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
77796
- ? node
77797
- : undefined;
77798
- var expressions = [];
77799
- if (valueDeclaration) {
77800
- var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
77801
- var numParameters = parameters.length;
77802
- for (var i = 0; i < numParameters; i++) {
77803
- var parameter = parameters[i];
77804
- if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
77805
- continue;
77806
- }
77807
- if (parameter.dotDotDotToken) {
77808
- expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
77809
- }
77810
- else {
77811
- expressions.push(serializeTypeOfNode(parameter));
77812
- }
77813
- }
77814
- }
77815
- return factory.createArrayLiteralExpression(expressions);
77816
- }
77817
- function getParametersOfDecoratedDeclaration(node, container) {
77818
- if (container && node.kind === 172) {
77819
- var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
77820
- if (setAccessor) {
77821
- return setAccessor.parameters;
77822
- }
77823
- }
77824
- return node.parameters;
77825
- }
77826
- function serializeReturnTypeOfNode(node) {
77827
- if (ts.isFunctionLike(node) && node.type) {
77828
- return serializeTypeNode(node.type);
77829
- }
77830
- else if (ts.isAsyncFunction(node)) {
77831
- return factory.createIdentifier("Promise");
77832
- }
77833
- return factory.createVoidZero();
77834
- }
77835
- function serializeTypeNode(node) {
77836
- if (node === undefined) {
77837
- return factory.createIdentifier("Object");
77838
- }
77839
- switch (node.kind) {
77840
- case 114:
77841
- case 153:
77842
- case 143:
77843
- return factory.createVoidZero();
77844
- case 191:
77845
- return serializeTypeNode(node.type);
77846
- case 179:
77847
- case 180:
77848
- return factory.createIdentifier("Function");
77849
- case 183:
77850
- case 184:
77851
- return factory.createIdentifier("Array");
77852
- case 177:
77853
- case 133:
77854
- return factory.createIdentifier("Boolean");
77855
- case 198:
77856
- case 150:
77857
- return factory.createIdentifier("String");
77858
- case 148:
77859
- return factory.createIdentifier("Object");
77860
- case 196:
77861
- switch (node.literal.kind) {
77862
- case 10:
77863
- case 14:
77864
- return factory.createIdentifier("String");
77865
- case 219:
77866
- case 8:
77867
- return factory.createIdentifier("Number");
77868
- case 9:
77869
- return getGlobalBigIntNameWithFallback();
77870
- case 110:
77871
- case 95:
77872
- return factory.createIdentifier("Boolean");
77873
- case 104:
77874
- return factory.createVoidZero();
77875
- default:
77876
- return ts.Debug.failBadSyntaxKind(node.literal);
77877
- }
77878
- case 147:
77879
- return factory.createIdentifier("Number");
77880
- case 158:
77881
- return getGlobalBigIntNameWithFallback();
77882
- case 151:
77883
- return languageVersion < 2
77884
- ? getGlobalSymbolNameWithFallback()
77885
- : factory.createIdentifier("Symbol");
77886
- case 178:
77887
- return serializeTypeReferenceNode(node);
77888
- case 188:
77889
- case 187:
77890
- return serializeTypeList(node.types);
77891
- case 189:
77892
- return serializeTypeList([node.trueType, node.falseType]);
77893
- case 193:
77894
- if (node.operator === 145) {
77895
- return serializeTypeNode(node.type);
77896
- }
77897
- break;
77898
- case 181:
77899
- case 194:
77900
- case 195:
77901
- case 182:
77902
- case 130:
77903
- case 155:
77904
- case 192:
77905
- case 200:
77906
- break;
77907
- case 312:
77908
- case 313:
77909
- case 317:
77910
- case 318:
77911
- case 319:
77912
- break;
77913
- case 314:
77914
- case 315:
77915
- case 316:
77916
- return serializeTypeNode(node.type);
77917
- default:
77918
- return ts.Debug.failBadSyntaxKind(node);
77919
- }
77920
- return factory.createIdentifier("Object");
77921
- }
77922
- function serializeTypeList(types) {
77923
- var serializedUnion;
77924
- for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
77925
- var typeNode = types_22[_i];
77926
- while (typeNode.kind === 191) {
77927
- typeNode = typeNode.type;
77928
- }
77929
- if (typeNode.kind === 143) {
77930
- continue;
77931
- }
77932
- if (!strictNullChecks && (typeNode.kind === 196 && typeNode.literal.kind === 104 || typeNode.kind === 153)) {
77933
- continue;
77934
- }
77935
- var serializedIndividual = serializeTypeNode(typeNode);
77936
- if (ts.isIdentifier(serializedIndividual) && serializedIndividual.escapedText === "Object") {
77937
- return serializedIndividual;
77938
- }
77939
- else if (serializedUnion) {
77940
- if (!ts.isIdentifier(serializedUnion) ||
77941
- !ts.isIdentifier(serializedIndividual) ||
77942
- serializedUnion.escapedText !== serializedIndividual.escapedText) {
77943
- return factory.createIdentifier("Object");
77944
- }
77945
- }
77946
- else {
77947
- serializedUnion = serializedIndividual;
77948
- }
77949
- }
77950
- return serializedUnion || factory.createVoidZero();
77951
- }
77952
- function serializeTypeReferenceNode(node) {
77953
- var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope || currentLexicalScope);
77954
- switch (kind) {
77955
- case ts.TypeReferenceSerializationKind.Unknown:
77956
- if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
77957
- return factory.createIdentifier("Object");
77958
- }
77959
- var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
77960
- var temp = factory.createTempVariable(hoistVariableDeclaration);
77961
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, factory.createIdentifier("Object"));
77962
- case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
77963
- return serializeEntityNameAsExpression(node.typeName);
77964
- case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
77965
- return factory.createVoidZero();
77966
- case ts.TypeReferenceSerializationKind.BigIntLikeType:
77967
- return getGlobalBigIntNameWithFallback();
77968
- case ts.TypeReferenceSerializationKind.BooleanType:
77969
- return factory.createIdentifier("Boolean");
77970
- case ts.TypeReferenceSerializationKind.NumberLikeType:
77971
- return factory.createIdentifier("Number");
77972
- case ts.TypeReferenceSerializationKind.StringLikeType:
77973
- return factory.createIdentifier("String");
77974
- case ts.TypeReferenceSerializationKind.ArrayLikeType:
77975
- return factory.createIdentifier("Array");
77976
- case ts.TypeReferenceSerializationKind.ESSymbolType:
77977
- return languageVersion < 2
77978
- ? getGlobalSymbolNameWithFallback()
77979
- : factory.createIdentifier("Symbol");
77980
- case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
77981
- return factory.createIdentifier("Function");
77982
- case ts.TypeReferenceSerializationKind.Promise:
77983
- return factory.createIdentifier("Promise");
77984
- case ts.TypeReferenceSerializationKind.ObjectType:
77985
- return factory.createIdentifier("Object");
77986
- default:
77987
- return ts.Debug.assertNever(kind);
77988
- }
77989
- }
77990
- function createCheckedValue(left, right) {
77991
- return factory.createLogicalAnd(factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")), right);
77992
- }
77993
- function serializeEntityNameAsExpressionFallback(node) {
77994
- if (node.kind === 79) {
77995
- var copied = serializeEntityNameAsExpression(node);
77996
- return createCheckedValue(copied, copied);
77997
- }
77998
- if (node.left.kind === 79) {
77999
- return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
78000
- }
78001
- var left = serializeEntityNameAsExpressionFallback(node.left);
78002
- var temp = factory.createTempVariable(hoistVariableDeclaration);
78003
- return factory.createLogicalAnd(factory.createLogicalAnd(left.left, factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())), factory.createPropertyAccessExpression(temp, node.right));
78004
- }
78005
- function serializeEntityNameAsExpression(node) {
78006
- switch (node.kind) {
78007
- case 79:
78008
- var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
78009
- name.original = undefined;
78010
- ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
78011
- return name;
78012
- case 161:
78013
- return serializeQualifiedNameAsExpression(node);
78014
- }
78015
- }
78016
- function serializeQualifiedNameAsExpression(node) {
78017
- return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
78018
- }
78019
- function getGlobalSymbolNameWithFallback() {
78020
- return factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("Symbol"), "function"), undefined, factory.createIdentifier("Symbol"), undefined, factory.createIdentifier("Object"));
78021
- }
78022
- function getGlobalBigIntNameWithFallback() {
78023
- return languageVersion < 99
78024
- ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), undefined, factory.createIdentifier("BigInt"), undefined, factory.createIdentifier("Object"))
78025
- : factory.createIdentifier("BigInt");
78026
- }
78027
77817
  function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
78028
77818
  var name = member.name;
78029
77819
  if (ts.isPrivateIdentifier(name)) {
@@ -78066,22 +77856,23 @@ var ts;
78066
77856
  function shouldEmitFunctionLikeDeclaration(node) {
78067
77857
  return !ts.nodeIsMissing(node.body);
78068
77858
  }
78069
- function visitPropertyDeclaration(node) {
78070
- if (node.flags & 16777216 || ts.hasSyntacticModifier(node, 128)) {
77859
+ function visitPropertyDeclaration(node, parent) {
77860
+ var isAmbient = node.flags & 16777216 || ts.hasSyntacticModifier(node, 128);
77861
+ if (isAmbient && !ts.some(node.decorators)) {
78071
77862
  return undefined;
78072
77863
  }
78073
- var updated = factory.updatePropertyDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78074
- if (updated !== node) {
78075
- ts.setCommentRange(updated, node);
78076
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
77864
+ var allDecorators = getAllDecoratorsOfClassElement(node, parent);
77865
+ var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators);
77866
+ if (isAmbient) {
77867
+ return factory.updatePropertyDeclaration(node, decorators, factory.createModifiersFromModifierFlags(2), ts.visitNode(node.name, visitor, ts.isPropertyName), undefined, undefined, undefined);
78077
77868
  }
78078
- return updated;
77869
+ return factory.updatePropertyDeclaration(node, decorators, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), undefined, undefined, ts.visitNode(node.initializer, visitor));
78079
77870
  }
78080
77871
  function visitConstructor(node) {
78081
77872
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78082
77873
  return undefined;
78083
77874
  }
78084
- return factory.updateConstructorDeclaration(node, undefined, undefined, ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node));
77875
+ return factory.updateConstructorDeclaration(node, undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node));
78085
77876
  }
78086
77877
  function transformConstructorBody(body, constructor) {
78087
77878
  var parametersWithPropertyAssignments = constructor &&
@@ -78121,41 +77912,43 @@ var ts;
78121
77912
  ts.setEmitFlags(localName, 1536);
78122
77913
  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))));
78123
77914
  }
78124
- function visitMethodDeclaration(node) {
77915
+ function visitMethodDeclaration(node, parent) {
77916
+ if (!(node.transformFlags & 1)) {
77917
+ return node;
77918
+ }
78125
77919
  if (!shouldEmitFunctionLikeDeclaration(node)) {
78126
77920
  return undefined;
78127
77921
  }
78128
- 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));
78129
- if (updated !== node) {
78130
- ts.setCommentRange(updated, node);
78131
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78132
- }
78133
- return updated;
77922
+ var allDecorators = ts.isClassLike(parent) ? getAllDecoratorsOfClassElement(node, parent) : undefined;
77923
+ var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, allDecorators) : undefined;
77924
+ 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));
78134
77925
  }
78135
77926
  function shouldEmitAccessorDeclaration(node) {
78136
77927
  return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128));
78137
77928
  }
78138
- function visitGetAccessor(node) {
77929
+ function visitGetAccessor(node, parent) {
77930
+ if (!(node.transformFlags & 1)) {
77931
+ return node;
77932
+ }
78139
77933
  if (!shouldEmitAccessorDeclaration(node)) {
78140
77934
  return undefined;
78141
77935
  }
78142
- 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([]));
78143
- if (updated !== node) {
78144
- ts.setCommentRange(updated, node);
78145
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78146
- }
78147
- return updated;
77936
+ var decorators = ts.isClassLike(parent) ?
77937
+ transformAllDecoratorsOfDeclaration(node, parent, getAllDecoratorsOfClassElement(node, parent)) :
77938
+ undefined;
77939
+ 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([]));
78148
77940
  }
78149
- function visitSetAccessor(node) {
77941
+ function visitSetAccessor(node, parent) {
77942
+ if (!(node.transformFlags & 1)) {
77943
+ return node;
77944
+ }
78150
77945
  if (!shouldEmitAccessorDeclaration(node)) {
78151
77946
  return undefined;
78152
77947
  }
78153
- 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([]));
78154
- if (updated !== node) {
78155
- ts.setCommentRange(updated, node);
78156
- ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node));
78157
- }
78158
- return updated;
77948
+ var decorators = ts.isClassLike(parent) ?
77949
+ transformAllDecoratorsOfDeclaration(node, parent, getAllDecoratorsOfClassElement(node, parent)) :
77950
+ undefined;
77951
+ 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([]));
78159
77952
  }
78160
77953
  function visitFunctionDeclaration(node) {
78161
77954
  if (!shouldEmitFunctionLikeDeclaration(node)) {
@@ -78184,7 +77977,7 @@ var ts;
78184
77977
  if (ts.parameterIsThisKeyword(node)) {
78185
77978
  return undefined;
78186
77979
  }
78187
- 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));
77980
+ 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));
78188
77981
  if (updated !== node) {
78189
77982
  ts.setCommentRange(updated, node);
78190
77983
  ts.setTextRange(updated, ts.moveRangePastModifiers(node));
@@ -78580,9 +78373,6 @@ var ts;
78580
78373
  return isExternalModuleExport(node)
78581
78374
  && ts.hasSyntacticModifier(node, 512);
78582
78375
  }
78583
- function expressionToStatement(expression) {
78584
- return factory.createExpressionStatement(expression);
78585
- }
78586
78376
  function addExportMemberAssignment(statements, node) {
78587
78377
  var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, false, true), factory.getLocalName(node));
78588
78378
  ts.setSourceMapRange(expression, ts.createRange(node.name ? node.name.pos : node.pos, node.end));
@@ -78607,36 +78397,12 @@ var ts;
78607
78397
  function getNamespaceContainerName(node) {
78608
78398
  return factory.getGeneratedNameForNode(node);
78609
78399
  }
78610
- function getClassAliasIfNeeded(node) {
78611
- if (resolver.getNodeCheckFlags(node) & 16777216) {
78612
- enableSubstitutionForClassAliases();
78613
- var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
78614
- classAliases[ts.getOriginalNodeId(node)] = classAlias;
78615
- hoistVariableDeclaration(classAlias);
78616
- return classAlias;
78617
- }
78618
- }
78619
- function getClassPrototype(node) {
78620
- return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
78621
- }
78622
- function getClassMemberPrefix(node, member) {
78623
- return ts.isStatic(member)
78624
- ? factory.getDeclarationName(node)
78625
- : getClassPrototype(node);
78626
- }
78627
78400
  function enableSubstitutionForNonQualifiedEnumMembers() {
78628
78401
  if ((enabledSubstitutions & 8) === 0) {
78629
78402
  enabledSubstitutions |= 8;
78630
78403
  context.enableSubstitution(79);
78631
78404
  }
78632
78405
  }
78633
- function enableSubstitutionForClassAliases() {
78634
- if ((enabledSubstitutions & 1) === 0) {
78635
- enabledSubstitutions |= 1;
78636
- context.enableSubstitution(79);
78637
- classAliases = [];
78638
- }
78639
- }
78640
78406
  function enableSubstitutionForNamespaceExports() {
78641
78407
  if ((enabledSubstitutions & 2) === 0) {
78642
78408
  enabledSubstitutions |= 2;
@@ -78703,27 +78469,9 @@ var ts;
78703
78469
  return node;
78704
78470
  }
78705
78471
  function substituteExpressionIdentifier(node) {
78706
- return trySubstituteClassAlias(node)
78707
- || trySubstituteNamespaceExportedName(node)
78472
+ return trySubstituteNamespaceExportedName(node)
78708
78473
  || node;
78709
78474
  }
78710
- function trySubstituteClassAlias(node) {
78711
- if (enabledSubstitutions & 1) {
78712
- if (resolver.getNodeCheckFlags(node) & 33554432) {
78713
- var declaration = resolver.getReferencedValueDeclaration(node);
78714
- if (declaration) {
78715
- var classAlias = classAliases[declaration.id];
78716
- if (classAlias) {
78717
- var clone_2 = factory.cloneNode(classAlias);
78718
- ts.setSourceMapRange(clone_2, node);
78719
- ts.setCommentRange(clone_2, node);
78720
- return clone_2;
78721
- }
78722
- }
78723
- }
78724
- }
78725
- return undefined;
78726
- }
78727
78475
  function trySubstituteNamespaceExportedName(node) {
78728
78476
  if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) {
78729
78477
  var container = resolver.getReferencedExportContainer(node, false);
@@ -78809,7 +78557,7 @@ var ts;
78809
78557
  return visited;
78810
78558
  }
78811
78559
  function visitorWorker(node, valueIsDiscarded) {
78812
- if (node.transformFlags & 8388608) {
78560
+ if (node.transformFlags & 16777216) {
78813
78561
  switch (node.kind) {
78814
78562
  case 226:
78815
78563
  case 257:
@@ -78824,8 +78572,8 @@ var ts;
78824
78572
  return visitClassStaticBlockDeclaration(node);
78825
78573
  }
78826
78574
  }
78827
- if (node.transformFlags & 8388608 ||
78828
- node.transformFlags & 33554432 &&
78575
+ if (node.transformFlags & 16777216 ||
78576
+ node.transformFlags & 134217728 &&
78829
78577
  shouldTransformSuperInStaticInitializers &&
78830
78578
  currentStaticPropertyDeclarationOrStaticBlock &&
78831
78579
  currentClassLexicalEnvironment) {
@@ -79336,13 +79084,13 @@ var ts;
79336
79084
  facts |= 2;
79337
79085
  }
79338
79086
  if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) {
79339
- if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192) {
79087
+ if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384) {
79340
79088
  facts |= 8;
79341
79089
  if (!(facts & 1)) {
79342
79090
  facts |= 2;
79343
79091
  }
79344
79092
  }
79345
- if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432) {
79093
+ if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728) {
79346
79094
  if (!(facts & 1)) {
79347
79095
  facts |= 2 | 4;
79348
79096
  }
@@ -79817,10 +79565,10 @@ var ts;
79817
79565
  if (declaration) {
79818
79566
  var classAlias = classAliases[declaration.id];
79819
79567
  if (classAlias) {
79820
- var clone_3 = factory.cloneNode(classAlias);
79821
- ts.setSourceMapRange(clone_3, node);
79822
- ts.setCommentRange(clone_3, node);
79823
- return clone_3;
79568
+ var clone_2 = factory.cloneNode(classAlias);
79569
+ ts.setSourceMapRange(clone_2, node);
79570
+ ts.setCommentRange(clone_2, node);
79571
+ return clone_2;
79824
79572
  }
79825
79573
  }
79826
79574
  }
@@ -80155,6 +79903,621 @@ var ts;
80155
79903
  }
80156
79904
  })(ts || (ts = {}));
80157
79905
  var ts;
79906
+ (function (ts) {
79907
+ function createRuntimeTypeSerializer(context) {
79908
+ var hoistVariableDeclaration = context.hoistVariableDeclaration;
79909
+ var resolver = context.getEmitResolver();
79910
+ var compilerOptions = context.getCompilerOptions();
79911
+ var languageVersion = ts.getEmitScriptTarget(compilerOptions);
79912
+ var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks");
79913
+ var currentLexicalScope;
79914
+ var currentNameScope;
79915
+ return {
79916
+ serializeTypeNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeNode, node); },
79917
+ serializeTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeOfNode, node); },
79918
+ serializeParameterTypesOfNode: function (serializerContext, node, container) { return setSerializerContextAnd(serializerContext, serializeParameterTypesOfNode, node, container); },
79919
+ serializeReturnTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeReturnTypeOfNode, node); },
79920
+ };
79921
+ function setSerializerContextAnd(serializerContext, cb, node, arg) {
79922
+ var savedCurrentLexicalScope = currentLexicalScope;
79923
+ var savedCurrentNameScope = currentNameScope;
79924
+ currentLexicalScope = serializerContext.currentLexicalScope;
79925
+ currentNameScope = serializerContext.currentNameScope;
79926
+ var result = arg === undefined ? cb(node) : cb(node, arg);
79927
+ currentLexicalScope = savedCurrentLexicalScope;
79928
+ currentNameScope = savedCurrentNameScope;
79929
+ return result;
79930
+ }
79931
+ function getAccessorTypeNode(node) {
79932
+ var accessors = resolver.getAllAccessorDeclarations(node);
79933
+ return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor)
79934
+ || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor);
79935
+ }
79936
+ function serializeTypeOfNode(node) {
79937
+ switch (node.kind) {
79938
+ case 167:
79939
+ case 164:
79940
+ return serializeTypeNode(node.type);
79941
+ case 173:
79942
+ case 172:
79943
+ return serializeTypeNode(getAccessorTypeNode(node));
79944
+ case 257:
79945
+ case 226:
79946
+ case 169:
79947
+ return ts.factory.createIdentifier("Function");
79948
+ default:
79949
+ return ts.factory.createVoidZero();
79950
+ }
79951
+ }
79952
+ function serializeParameterTypesOfNode(node, container) {
79953
+ var valueDeclaration = ts.isClassLike(node)
79954
+ ? ts.getFirstConstructorWithBody(node)
79955
+ : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body)
79956
+ ? node
79957
+ : undefined;
79958
+ var expressions = [];
79959
+ if (valueDeclaration) {
79960
+ var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container);
79961
+ var numParameters = parameters.length;
79962
+ for (var i = 0; i < numParameters; i++) {
79963
+ var parameter = parameters[i];
79964
+ if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") {
79965
+ continue;
79966
+ }
79967
+ if (parameter.dotDotDotToken) {
79968
+ expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type)));
79969
+ }
79970
+ else {
79971
+ expressions.push(serializeTypeOfNode(parameter));
79972
+ }
79973
+ }
79974
+ }
79975
+ return ts.factory.createArrayLiteralExpression(expressions);
79976
+ }
79977
+ function getParametersOfDecoratedDeclaration(node, container) {
79978
+ if (container && node.kind === 172) {
79979
+ var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor;
79980
+ if (setAccessor) {
79981
+ return setAccessor.parameters;
79982
+ }
79983
+ }
79984
+ return node.parameters;
79985
+ }
79986
+ function serializeReturnTypeOfNode(node) {
79987
+ if (ts.isFunctionLike(node) && node.type) {
79988
+ return serializeTypeNode(node.type);
79989
+ }
79990
+ else if (ts.isAsyncFunction(node)) {
79991
+ return ts.factory.createIdentifier("Promise");
79992
+ }
79993
+ return ts.factory.createVoidZero();
79994
+ }
79995
+ function serializeTypeNode(node) {
79996
+ if (node === undefined) {
79997
+ return ts.factory.createIdentifier("Object");
79998
+ }
79999
+ node = ts.skipTypeParentheses(node);
80000
+ switch (node.kind) {
80001
+ case 114:
80002
+ case 153:
80003
+ case 143:
80004
+ return ts.factory.createVoidZero();
80005
+ case 179:
80006
+ case 180:
80007
+ return ts.factory.createIdentifier("Function");
80008
+ case 183:
80009
+ case 184:
80010
+ return ts.factory.createIdentifier("Array");
80011
+ case 177:
80012
+ return node.assertsModifier ?
80013
+ ts.factory.createVoidZero() :
80014
+ ts.factory.createIdentifier("Boolean");
80015
+ case 133:
80016
+ return ts.factory.createIdentifier("Boolean");
80017
+ case 198:
80018
+ case 150:
80019
+ return ts.factory.createIdentifier("String");
80020
+ case 148:
80021
+ return ts.factory.createIdentifier("Object");
80022
+ case 196:
80023
+ return serializeLiteralOfLiteralTypeNode(node.literal);
80024
+ case 147:
80025
+ return ts.factory.createIdentifier("Number");
80026
+ case 158:
80027
+ return getGlobalConstructor("BigInt", 7);
80028
+ case 151:
80029
+ return getGlobalConstructor("Symbol", 2);
80030
+ case 178:
80031
+ return serializeTypeReferenceNode(node);
80032
+ case 188:
80033
+ return serializeUnionOrIntersectionConstituents(node.types, true);
80034
+ case 187:
80035
+ return serializeUnionOrIntersectionConstituents(node.types, false);
80036
+ case 189:
80037
+ return serializeUnionOrIntersectionConstituents([node.trueType, node.falseType], false);
80038
+ case 193:
80039
+ if (node.operator === 145) {
80040
+ return serializeTypeNode(node.type);
80041
+ }
80042
+ break;
80043
+ case 181:
80044
+ case 194:
80045
+ case 195:
80046
+ case 182:
80047
+ case 130:
80048
+ case 155:
80049
+ case 192:
80050
+ case 200:
80051
+ break;
80052
+ case 312:
80053
+ case 313:
80054
+ case 317:
80055
+ case 318:
80056
+ case 319:
80057
+ break;
80058
+ case 314:
80059
+ case 315:
80060
+ case 316:
80061
+ return serializeTypeNode(node.type);
80062
+ default:
80063
+ return ts.Debug.failBadSyntaxKind(node);
80064
+ }
80065
+ return ts.factory.createIdentifier("Object");
80066
+ }
80067
+ function serializeLiteralOfLiteralTypeNode(node) {
80068
+ switch (node.kind) {
80069
+ case 10:
80070
+ case 14:
80071
+ return ts.factory.createIdentifier("String");
80072
+ case 219: {
80073
+ var operand = node.operand;
80074
+ switch (operand.kind) {
80075
+ case 8:
80076
+ case 9:
80077
+ return serializeLiteralOfLiteralTypeNode(operand);
80078
+ default:
80079
+ return ts.Debug.failBadSyntaxKind(operand);
80080
+ }
80081
+ }
80082
+ case 8:
80083
+ return ts.factory.createIdentifier("Number");
80084
+ case 9:
80085
+ return getGlobalConstructor("BigInt", 7);
80086
+ case 110:
80087
+ case 95:
80088
+ return ts.factory.createIdentifier("Boolean");
80089
+ case 104:
80090
+ return ts.factory.createVoidZero();
80091
+ default:
80092
+ return ts.Debug.failBadSyntaxKind(node);
80093
+ }
80094
+ }
80095
+ function serializeUnionOrIntersectionConstituents(types, isIntersection) {
80096
+ var serializedType;
80097
+ for (var _i = 0, types_22 = types; _i < types_22.length; _i++) {
80098
+ var typeNode = types_22[_i];
80099
+ typeNode = ts.skipTypeParentheses(typeNode);
80100
+ if (typeNode.kind === 143) {
80101
+ if (isIntersection)
80102
+ return ts.factory.createVoidZero();
80103
+ continue;
80104
+ }
80105
+ if (typeNode.kind === 155) {
80106
+ if (!isIntersection)
80107
+ return ts.factory.createIdentifier("Object");
80108
+ continue;
80109
+ }
80110
+ if (typeNode.kind === 130) {
80111
+ return ts.factory.createIdentifier("Object");
80112
+ }
80113
+ if (!strictNullChecks && ((ts.isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104) || typeNode.kind === 153)) {
80114
+ continue;
80115
+ }
80116
+ var serializedConstituent = serializeTypeNode(typeNode);
80117
+ if (ts.isIdentifier(serializedConstituent) && serializedConstituent.escapedText === "Object") {
80118
+ return serializedConstituent;
80119
+ }
80120
+ if (serializedType) {
80121
+ if (!equateSerializedTypeNodes(serializedType, serializedConstituent)) {
80122
+ return ts.factory.createIdentifier("Object");
80123
+ }
80124
+ }
80125
+ else {
80126
+ serializedType = serializedConstituent;
80127
+ }
80128
+ }
80129
+ return serializedType !== null && serializedType !== void 0 ? serializedType : (ts.factory.createVoidZero());
80130
+ }
80131
+ function equateSerializedTypeNodes(left, right) {
80132
+ return (ts.isGeneratedIdentifier(left) ? ts.isGeneratedIdentifier(right) :
80133
+ ts.isIdentifier(left) ? ts.isIdentifier(right)
80134
+ && left.escapedText === right.escapedText :
80135
+ ts.isPropertyAccessExpression(left) ? ts.isPropertyAccessExpression(right)
80136
+ && equateSerializedTypeNodes(left.expression, right.expression)
80137
+ && equateSerializedTypeNodes(left.name, right.name) :
80138
+ ts.isVoidExpression(left) ? ts.isVoidExpression(right)
80139
+ && ts.isNumericLiteral(left.expression) && left.expression.text === "0"
80140
+ && ts.isNumericLiteral(right.expression) && right.expression.text === "0" :
80141
+ ts.isStringLiteral(left) ? ts.isStringLiteral(right)
80142
+ && left.text === right.text :
80143
+ ts.isTypeOfExpression(left) ? ts.isTypeOfExpression(right)
80144
+ && equateSerializedTypeNodes(left.expression, right.expression) :
80145
+ ts.isParenthesizedExpression(left) ? ts.isParenthesizedExpression(right)
80146
+ && equateSerializedTypeNodes(left.expression, right.expression) :
80147
+ ts.isConditionalExpression(left) ? ts.isConditionalExpression(right)
80148
+ && equateSerializedTypeNodes(left.condition, right.condition)
80149
+ && equateSerializedTypeNodes(left.whenTrue, right.whenTrue)
80150
+ && equateSerializedTypeNodes(left.whenFalse, right.whenFalse) :
80151
+ ts.isBinaryExpression(left) ? ts.isBinaryExpression(right)
80152
+ && left.operatorToken.kind === right.operatorToken.kind
80153
+ && equateSerializedTypeNodes(left.left, right.left)
80154
+ && equateSerializedTypeNodes(left.right, right.right) :
80155
+ false);
80156
+ }
80157
+ function serializeTypeReferenceNode(node) {
80158
+ var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope !== null && currentNameScope !== void 0 ? currentNameScope : currentLexicalScope);
80159
+ switch (kind) {
80160
+ case ts.TypeReferenceSerializationKind.Unknown:
80161
+ if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) {
80162
+ return ts.factory.createIdentifier("Object");
80163
+ }
80164
+ var serialized = serializeEntityNameAsExpressionFallback(node.typeName);
80165
+ var temp = ts.factory.createTempVariable(hoistVariableDeclaration);
80166
+ return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), undefined, temp, undefined, ts.factory.createIdentifier("Object"));
80167
+ case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:
80168
+ return serializeEntityNameAsExpression(node.typeName);
80169
+ case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType:
80170
+ return ts.factory.createVoidZero();
80171
+ case ts.TypeReferenceSerializationKind.BigIntLikeType:
80172
+ return getGlobalConstructor("BigInt", 7);
80173
+ case ts.TypeReferenceSerializationKind.BooleanType:
80174
+ return ts.factory.createIdentifier("Boolean");
80175
+ case ts.TypeReferenceSerializationKind.NumberLikeType:
80176
+ return ts.factory.createIdentifier("Number");
80177
+ case ts.TypeReferenceSerializationKind.StringLikeType:
80178
+ return ts.factory.createIdentifier("String");
80179
+ case ts.TypeReferenceSerializationKind.ArrayLikeType:
80180
+ return ts.factory.createIdentifier("Array");
80181
+ case ts.TypeReferenceSerializationKind.ESSymbolType:
80182
+ return getGlobalConstructor("Symbol", 2);
80183
+ case ts.TypeReferenceSerializationKind.TypeWithCallSignature:
80184
+ return ts.factory.createIdentifier("Function");
80185
+ case ts.TypeReferenceSerializationKind.Promise:
80186
+ return ts.factory.createIdentifier("Promise");
80187
+ case ts.TypeReferenceSerializationKind.ObjectType:
80188
+ return ts.factory.createIdentifier("Object");
80189
+ default:
80190
+ return ts.Debug.assertNever(kind);
80191
+ }
80192
+ }
80193
+ function createCheckedValue(left, right) {
80194
+ return ts.factory.createLogicalAnd(ts.factory.createStrictInequality(ts.factory.createTypeOfExpression(left), ts.factory.createStringLiteral("undefined")), right);
80195
+ }
80196
+ function serializeEntityNameAsExpressionFallback(node) {
80197
+ if (node.kind === 79) {
80198
+ var copied = serializeEntityNameAsExpression(node);
80199
+ return createCheckedValue(copied, copied);
80200
+ }
80201
+ if (node.left.kind === 79) {
80202
+ return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
80203
+ }
80204
+ var left = serializeEntityNameAsExpressionFallback(node.left);
80205
+ var temp = ts.factory.createTempVariable(hoistVariableDeclaration);
80206
+ 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));
80207
+ }
80208
+ function serializeEntityNameAsExpression(node) {
80209
+ switch (node.kind) {
80210
+ case 79:
80211
+ var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent);
80212
+ name.original = undefined;
80213
+ ts.setParent(name, ts.getParseTreeNode(currentLexicalScope));
80214
+ return name;
80215
+ case 161:
80216
+ return serializeQualifiedNameAsExpression(node);
80217
+ }
80218
+ }
80219
+ function serializeQualifiedNameAsExpression(node) {
80220
+ return ts.factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
80221
+ }
80222
+ function getGlobalConstructorWithFallback(name) {
80223
+ return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), undefined, ts.factory.createIdentifier(name), undefined, ts.factory.createIdentifier("Object"));
80224
+ }
80225
+ function getGlobalConstructor(name, minLanguageVersion) {
80226
+ return languageVersion < minLanguageVersion ?
80227
+ getGlobalConstructorWithFallback(name) :
80228
+ ts.factory.createIdentifier(name);
80229
+ }
80230
+ }
80231
+ ts.createRuntimeTypeSerializer = createRuntimeTypeSerializer;
80232
+ })(ts || (ts = {}));
80233
+ var ts;
80234
+ (function (ts) {
80235
+ function transformLegacyDecorators(context) {
80236
+ var factory = context.factory, emitHelpers = context.getEmitHelperFactory, hoistVariableDeclaration = context.hoistVariableDeclaration;
80237
+ var resolver = context.getEmitResolver();
80238
+ var compilerOptions = context.getCompilerOptions();
80239
+ var languageVersion = ts.getEmitScriptTarget(compilerOptions);
80240
+ var previousOnSubstituteNode = context.onSubstituteNode;
80241
+ context.onSubstituteNode = onSubstituteNode;
80242
+ var classAliases;
80243
+ return ts.chainBundle(context, transformSourceFile);
80244
+ function transformSourceFile(node) {
80245
+ var visited = ts.visitEachChild(node, visitor, context);
80246
+ ts.addEmitHelpers(visited, context.readEmitHelpers());
80247
+ return visited;
80248
+ }
80249
+ function visitor(node) {
80250
+ if (!(node.transformFlags & 33554432)) {
80251
+ return node;
80252
+ }
80253
+ switch (node.kind) {
80254
+ case 165:
80255
+ return undefined;
80256
+ case 257:
80257
+ return visitClassDeclaration(node);
80258
+ case 226:
80259
+ return visitClassExpression(node);
80260
+ case 171:
80261
+ return visitConstructorDeclaration(node);
80262
+ case 169:
80263
+ return visitMethodDeclaration(node);
80264
+ case 173:
80265
+ return visitSetAccessorDeclaration(node);
80266
+ case 172:
80267
+ return visitGetAccessorDeclaration(node);
80268
+ case 170:
80269
+ return visitClassStaticBlockDeclaration(node);
80270
+ case 167:
80271
+ return visitPropertyDeclaration(node);
80272
+ case 164:
80273
+ return visitParameterDeclaration(node);
80274
+ default:
80275
+ return ts.visitEachChild(node, visitor, context);
80276
+ }
80277
+ }
80278
+ function visitClassDeclaration(node) {
80279
+ if (!(ts.classOrConstructorParameterIsDecorated(node) || ts.childIsDecorated(node)))
80280
+ return ts.visitEachChild(node, visitor, context);
80281
+ var classStatement = ts.some(node.decorators) ?
80282
+ createClassDeclarationHeadWithDecorators(node, node.name) :
80283
+ createClassDeclarationHeadWithoutDecorators(node, node.name);
80284
+ var statements = [classStatement];
80285
+ addClassElementDecorationStatements(statements, node, false);
80286
+ addClassElementDecorationStatements(statements, node, true);
80287
+ addConstructorDecorationStatement(statements, node);
80288
+ if (statements.length > 1) {
80289
+ statements.push(factory.createEndOfDeclarationMarker(node));
80290
+ ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304);
80291
+ }
80292
+ return ts.singleOrMany(statements);
80293
+ }
80294
+ function createClassDeclarationHeadWithoutDecorators(node, name) {
80295
+ 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));
80296
+ }
80297
+ function createClassDeclarationHeadWithDecorators(node, name) {
80298
+ var location = ts.moveRangePastModifiers(node);
80299
+ var classAlias = getClassAliasIfNeeded(node);
80300
+ var declName = languageVersion <= 2 ?
80301
+ factory.getInternalName(node, false, true) :
80302
+ factory.getLocalName(node, false, true);
80303
+ var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause);
80304
+ var members = ts.visitNodes(node.members, visitor, ts.isClassElement);
80305
+ var classExpression = factory.createClassExpression(undefined, undefined, name, undefined, heritageClauses, members);
80306
+ ts.setOriginalNode(classExpression, node);
80307
+ ts.setTextRange(classExpression, location);
80308
+ var statement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
80309
+ factory.createVariableDeclaration(declName, undefined, undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression)
80310
+ ], 1));
80311
+ ts.setOriginalNode(statement, node);
80312
+ ts.setTextRange(statement, location);
80313
+ ts.setCommentRange(statement, node);
80314
+ return statement;
80315
+ }
80316
+ function visitClassExpression(node) {
80317
+ 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));
80318
+ }
80319
+ function visitConstructorDeclaration(node) {
80320
+ return factory.updateConstructorDeclaration(node, undefined, node.modifiers, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock));
80321
+ }
80322
+ function finishClassElement(updated, original) {
80323
+ if (updated !== original) {
80324
+ ts.setCommentRange(updated, original);
80325
+ ts.setSourceMapRange(updated, ts.moveRangePastModifiers(original));
80326
+ }
80327
+ return updated;
80328
+ }
80329
+ function visitMethodDeclaration(node) {
80330
+ 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);
80331
+ }
80332
+ function visitGetAccessorDeclaration(node) {
80333
+ 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);
80334
+ }
80335
+ function visitSetAccessorDeclaration(node) {
80336
+ 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);
80337
+ }
80338
+ function visitClassStaticBlockDeclaration(node) {
80339
+ return factory.updateClassStaticBlockDeclaration(node, undefined, node.modifiers, ts.visitNode(node.body, visitor, ts.isBlock));
80340
+ }
80341
+ function visitPropertyDeclaration(node) {
80342
+ if (node.flags & 16777216 || ts.hasSyntacticModifier(node, 2)) {
80343
+ return undefined;
80344
+ }
80345
+ 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);
80346
+ }
80347
+ function visitParameterDeclaration(node) {
80348
+ 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));
80349
+ if (updated !== node) {
80350
+ ts.setCommentRange(updated, node);
80351
+ ts.setTextRange(updated, ts.moveRangePastModifiers(node));
80352
+ ts.setSourceMapRange(updated, ts.moveRangePastModifiers(node));
80353
+ ts.setEmitFlags(updated.name, 32);
80354
+ }
80355
+ return updated;
80356
+ }
80357
+ function transformAllDecoratorsOfDeclaration(allDecorators) {
80358
+ if (!allDecorators) {
80359
+ return undefined;
80360
+ }
80361
+ var decoratorExpressions = [];
80362
+ ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator));
80363
+ ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter));
80364
+ return decoratorExpressions;
80365
+ }
80366
+ function addClassElementDecorationStatements(statements, node, isStatic) {
80367
+ ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), function (expr) { return factory.createExpressionStatement(expr); }));
80368
+ }
80369
+ function isDecoratedClassElement(member, isStaticElement, parent) {
80370
+ return ts.nodeOrChildIsDecorated(member, parent)
80371
+ && isStaticElement === ts.isStatic(member);
80372
+ }
80373
+ function getDecoratedClassElements(node, isStatic) {
80374
+ return ts.filter(node.members, function (m) { return isDecoratedClassElement(m, isStatic, node); });
80375
+ }
80376
+ function generateClassElementDecorationExpressions(node, isStatic) {
80377
+ var members = getDecoratedClassElements(node, isStatic);
80378
+ var expressions;
80379
+ for (var _i = 0, members_8 = members; _i < members_8.length; _i++) {
80380
+ var member = members_8[_i];
80381
+ expressions = ts.append(expressions, generateClassElementDecorationExpression(node, member));
80382
+ }
80383
+ return expressions;
80384
+ }
80385
+ function generateClassElementDecorationExpression(node, member) {
80386
+ var allDecorators = ts.getAllDecoratorsOfClassElement(member, node);
80387
+ var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators);
80388
+ if (!decoratorExpressions) {
80389
+ return undefined;
80390
+ }
80391
+ var prefix = getClassMemberPrefix(node, member);
80392
+ var memberName = getExpressionForPropertyName(member, !ts.hasSyntacticModifier(member, 2));
80393
+ var descriptor = languageVersion > 0
80394
+ ? member.kind === 167
80395
+ ? factory.createVoidZero()
80396
+ : factory.createNull()
80397
+ : undefined;
80398
+ var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor);
80399
+ ts.setEmitFlags(helper, 1536);
80400
+ ts.setSourceMapRange(helper, ts.moveRangePastModifiers(member));
80401
+ return helper;
80402
+ }
80403
+ function addConstructorDecorationStatement(statements, node) {
80404
+ var expression = generateConstructorDecorationExpression(node);
80405
+ if (expression) {
80406
+ statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node));
80407
+ }
80408
+ }
80409
+ function generateConstructorDecorationExpression(node) {
80410
+ var allDecorators = ts.getAllDecoratorsOfClass(node);
80411
+ var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators);
80412
+ if (!decoratorExpressions) {
80413
+ return undefined;
80414
+ }
80415
+ var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)];
80416
+ var localName = languageVersion <= 2 ?
80417
+ factory.getInternalName(node, false, true) :
80418
+ factory.getLocalName(node, false, true);
80419
+ var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName);
80420
+ var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate);
80421
+ ts.setEmitFlags(expression, 1536);
80422
+ ts.setSourceMapRange(expression, ts.moveRangePastModifiers(node));
80423
+ return expression;
80424
+ }
80425
+ function transformDecorator(decorator) {
80426
+ return ts.visitNode(decorator.expression, visitor, ts.isExpression);
80427
+ }
80428
+ function transformDecoratorsOfParameter(decorators, parameterOffset) {
80429
+ var expressions;
80430
+ if (decorators) {
80431
+ expressions = [];
80432
+ for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) {
80433
+ var decorator = decorators_1[_i];
80434
+ var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset);
80435
+ ts.setTextRange(helper, decorator.expression);
80436
+ ts.setEmitFlags(helper, 1536);
80437
+ expressions.push(helper);
80438
+ }
80439
+ }
80440
+ return expressions;
80441
+ }
80442
+ function getExpressionForPropertyName(member, generateNameForComputedPropertyName) {
80443
+ var name = member.name;
80444
+ if (ts.isPrivateIdentifier(name)) {
80445
+ return factory.createIdentifier("");
80446
+ }
80447
+ else if (ts.isComputedPropertyName(name)) {
80448
+ return generateNameForComputedPropertyName && !ts.isSimpleInlineableExpression(name.expression)
80449
+ ? factory.getGeneratedNameForNode(name)
80450
+ : name.expression;
80451
+ }
80452
+ else if (ts.isIdentifier(name)) {
80453
+ return factory.createStringLiteral(ts.idText(name));
80454
+ }
80455
+ else {
80456
+ return factory.cloneNode(name);
80457
+ }
80458
+ }
80459
+ function enableSubstitutionForClassAliases() {
80460
+ if (!classAliases) {
80461
+ context.enableSubstitution(79);
80462
+ classAliases = [];
80463
+ }
80464
+ }
80465
+ function getClassAliasIfNeeded(node) {
80466
+ if (resolver.getNodeCheckFlags(node) & 16777216) {
80467
+ enableSubstitutionForClassAliases();
80468
+ var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default");
80469
+ classAliases[ts.getOriginalNodeId(node)] = classAlias;
80470
+ hoistVariableDeclaration(classAlias);
80471
+ return classAlias;
80472
+ }
80473
+ }
80474
+ function getClassPrototype(node) {
80475
+ return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype");
80476
+ }
80477
+ function getClassMemberPrefix(node, member) {
80478
+ return ts.isStatic(member)
80479
+ ? factory.getDeclarationName(node)
80480
+ : getClassPrototype(node);
80481
+ }
80482
+ function onSubstituteNode(hint, node) {
80483
+ node = previousOnSubstituteNode(hint, node);
80484
+ if (hint === 1) {
80485
+ return substituteExpression(node);
80486
+ }
80487
+ return node;
80488
+ }
80489
+ function substituteExpression(node) {
80490
+ switch (node.kind) {
80491
+ case 79:
80492
+ return substituteExpressionIdentifier(node);
80493
+ }
80494
+ return node;
80495
+ }
80496
+ function substituteExpressionIdentifier(node) {
80497
+ var _a;
80498
+ return (_a = trySubstituteClassAlias(node)) !== null && _a !== void 0 ? _a : node;
80499
+ }
80500
+ function trySubstituteClassAlias(node) {
80501
+ if (classAliases) {
80502
+ if (resolver.getNodeCheckFlags(node) & 33554432) {
80503
+ var declaration = resolver.getReferencedValueDeclaration(node);
80504
+ if (declaration) {
80505
+ var classAlias = classAliases[declaration.id];
80506
+ if (classAlias) {
80507
+ var clone_3 = factory.cloneNode(classAlias);
80508
+ ts.setSourceMapRange(clone_3, node);
80509
+ ts.setCommentRange(clone_3, node);
80510
+ return clone_3;
80511
+ }
80512
+ }
80513
+ }
80514
+ }
80515
+ return undefined;
80516
+ }
80517
+ }
80518
+ ts.transformLegacyDecorators = transformLegacyDecorators;
80519
+ })(ts || (ts = {}));
80520
+ var ts;
80158
80521
  (function (ts) {
80159
80522
  function transformES2017(context) {
80160
80523
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration;
@@ -80820,7 +81183,7 @@ var ts;
80820
81183
  return objects;
80821
81184
  }
80822
81185
  function visitObjectLiteralExpression(node) {
80823
- if (node.transformFlags & 32768) {
81186
+ if (node.transformFlags & 65536) {
80824
81187
  var objects = chunkObjectLiteralElements(node.properties);
80825
81188
  if (objects.length && objects[0].kind !== 205) {
80826
81189
  objects.unshift(factory.createObjectLiteralExpression());
@@ -80861,7 +81224,7 @@ var ts;
80861
81224
  return ts.processTaggedTemplateExpression(context, node, visitor, currentSourceFile, recordTaggedTemplateString, ts.ProcessLevel.LiftRestriction);
80862
81225
  }
80863
81226
  function visitBinaryExpression(node, expressionResultIsUnused) {
80864
- if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768) {
81227
+ if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 65536) {
80865
81228
  return ts.flattenDestructuringAssignment(node, visitor, context, 1, !expressionResultIsUnused);
80866
81229
  }
80867
81230
  if (node.operatorToken.kind === 27) {
@@ -80888,7 +81251,7 @@ var ts;
80888
81251
  function visitCatchClause(node) {
80889
81252
  if (node.variableDeclaration &&
80890
81253
  ts.isBindingPattern(node.variableDeclaration.name) &&
80891
- node.variableDeclaration.name.transformFlags & 32768) {
81254
+ node.variableDeclaration.name.transformFlags & 65536) {
80892
81255
  var name = factory.getGeneratedNameForNode(node.variableDeclaration.name);
80893
81256
  var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, undefined, undefined, name);
80894
81257
  var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1);
@@ -80923,7 +81286,7 @@ var ts;
80923
81286
  return visitVariableDeclarationWorker(node, false);
80924
81287
  }
80925
81288
  function visitVariableDeclarationWorker(node, exportedVariableStatement) {
80926
- if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768) {
81289
+ if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536) {
80927
81290
  return ts.flattenDestructuringBinding(node, visitor, context, 1, undefined, exportedVariableStatement);
80928
81291
  }
80929
81292
  return ts.visitEachChild(node, visitor, context);
@@ -80936,7 +81299,7 @@ var ts;
80936
81299
  }
80937
81300
  function visitForOfStatement(node, outermostLabeledStatement) {
80938
81301
  var ancestorFacts = enterSubtree(0, 2);
80939
- if (node.initializer.transformFlags & 32768) {
81302
+ if (node.initializer.transformFlags & 65536) {
80940
81303
  node = transformForOfStatementWithObjectRest(node);
80941
81304
  }
80942
81305
  var result = node.awaitModifier ?
@@ -81033,7 +81396,7 @@ var ts;
81033
81396
  if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) {
81034
81397
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, undefined, undefined, undefined);
81035
81398
  }
81036
- if (node.transformFlags & 32768) {
81399
+ if (node.transformFlags & 65536) {
81037
81400
  return factory.updateParameterDeclaration(node, undefined, undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), undefined, undefined, ts.visitNode(node.initializer, visitor, ts.isExpression));
81038
81401
  }
81039
81402
  return ts.visitEachChild(node, visitor, context);
@@ -81045,7 +81408,7 @@ var ts;
81045
81408
  if (parameters) {
81046
81409
  parameters.add(parameter);
81047
81410
  }
81048
- else if (parameter.transformFlags & 32768) {
81411
+ else if (parameter.transformFlags & 65536) {
81049
81412
  parameters = new ts.Set();
81050
81413
  }
81051
81414
  }
@@ -81234,7 +81597,7 @@ var ts;
81234
81597
  statements = ts.append(statements, statement);
81235
81598
  }
81236
81599
  }
81237
- else if (parameter.transformFlags & 32768) {
81600
+ else if (parameter.transformFlags & 65536) {
81238
81601
  containsPrecedingObjectRestOrSpread = true;
81239
81602
  var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1, factory.getGeneratedNameForNode(parameter), false, true);
81240
81603
  if (ts.some(declarations)) {
@@ -82367,7 +82730,7 @@ var ts;
82367
82730
  && !node.expression;
82368
82731
  }
82369
82732
  function isOrMayContainReturnCompletion(node) {
82370
- return node.transformFlags & 2097152
82733
+ return node.transformFlags & 4194304
82371
82734
  && (ts.isReturnStatement(node)
82372
82735
  || ts.isIfStatement(node)
82373
82736
  || ts.isWithStatement(node)
@@ -82774,7 +83137,7 @@ var ts;
82774
83137
  factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment());
82775
83138
  insertCaptureNewTargetIfNeeded(prologue, constructor, false);
82776
83139
  if (isDerivedClass || superCallExpression) {
82777
- if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192)) {
83140
+ if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 16384)) {
82778
83141
  var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression);
82779
83142
  var returnStatement = factory.createReturnStatement(superCallExpression);
82780
83143
  ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1));
@@ -83089,7 +83452,7 @@ var ts;
83089
83452
  return call;
83090
83453
  }
83091
83454
  function visitArrowFunction(node) {
83092
- if (node.transformFlags & 8192 && !(hierarchyFacts & 16384)) {
83455
+ if (node.transformFlags & 16384 && !(hierarchyFacts & 16384)) {
83093
83456
  hierarchyFacts |= 65536;
83094
83457
  }
83095
83458
  var savedConvertedLoopState = convertedLoopState;
@@ -83293,7 +83656,7 @@ var ts;
83293
83656
  return updated;
83294
83657
  }
83295
83658
  function visitVariableDeclarationList(node) {
83296
- if (node.flags & 3 || node.transformFlags & 262144) {
83659
+ if (node.flags & 3 || node.transformFlags & 524288) {
83297
83660
  if (node.flags & 3) {
83298
83661
  enableSubstitutionsForBlockScopedBindings();
83299
83662
  }
@@ -83304,7 +83667,7 @@ var ts;
83304
83667
  ts.setOriginalNode(declarationList, node);
83305
83668
  ts.setTextRange(declarationList, node);
83306
83669
  ts.setCommentRange(declarationList, node);
83307
- if (node.transformFlags & 262144
83670
+ if (node.transformFlags & 524288
83308
83671
  && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) {
83309
83672
  ts.setSourceMapRange(declarationList, getRangeUnion(declarations));
83310
83673
  }
@@ -83506,7 +83869,7 @@ var ts;
83506
83869
  var numInitialProperties = -1, hasComputed = false;
83507
83870
  for (var i = 0; i < properties.length; i++) {
83508
83871
  var property = properties[i];
83509
- if ((property.transformFlags & 524288 &&
83872
+ if ((property.transformFlags & 1048576 &&
83510
83873
  hierarchyFacts & 4)
83511
83874
  || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162)) {
83512
83875
  numInitialProperties = i;
@@ -83732,7 +84095,7 @@ var ts;
83732
84095
  }
83733
84096
  function createFunctionForInitializerOfForStatement(node, currentState) {
83734
84097
  var functionName = factory.createUniqueName("_loop_init");
83735
- var containsYield = (node.initializer.transformFlags & 524288) !== 0;
84098
+ var containsYield = (node.initializer.transformFlags & 1048576) !== 0;
83736
84099
  var emitFlags = 0;
83737
84100
  if (currentState.containsLexicalThis)
83738
84101
  emitFlags |= 8;
@@ -83776,7 +84139,7 @@ var ts;
83776
84139
  var loopBody = factory.createBlock(statements, true);
83777
84140
  if (ts.isBlock(statement))
83778
84141
  ts.setOriginalNode(loopBody, statement);
83779
- var containsYield = (node.statement.transformFlags & 524288) !== 0;
84142
+ var containsYield = (node.statement.transformFlags & 1048576) !== 0;
83780
84143
  var emitFlags = 524288;
83781
84144
  if (currentState.containsLexicalThis)
83782
84145
  emitFlags |= 8;
@@ -84086,7 +84449,7 @@ var ts;
84086
84449
  return visitCallExpressionWithPotentialCapturedThisAssignment(node, false);
84087
84450
  }
84088
84451
  function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) {
84089
- if (node.transformFlags & 16384 ||
84452
+ if (node.transformFlags & 32768 ||
84090
84453
  node.expression.kind === 106 ||
84091
84454
  ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) {
84092
84455
  var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg;
@@ -84094,7 +84457,7 @@ var ts;
84094
84457
  ts.setEmitFlags(thisArg, 4);
84095
84458
  }
84096
84459
  var resultingCall = void 0;
84097
- if (node.transformFlags & 16384) {
84460
+ if (node.transformFlags & 32768) {
84098
84461
  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));
84099
84462
  }
84100
84463
  else {
@@ -84525,10 +84888,10 @@ var ts;
84525
84888
  case 247:
84526
84889
  return visitReturnStatement(node);
84527
84890
  default:
84528
- if (node.transformFlags & 524288) {
84891
+ if (node.transformFlags & 1048576) {
84529
84892
  return visitJavaScriptContainingYield(node);
84530
84893
  }
84531
- else if (node.transformFlags & (2048 | 2097152)) {
84894
+ else if (node.transformFlags & (2048 | 4194304)) {
84532
84895
  return ts.visitEachChild(node, visitor, context);
84533
84896
  }
84534
84897
  else {
@@ -84666,7 +85029,7 @@ var ts;
84666
85029
  return ts.setTextRange(factory.createBlock(statements, body.multiLine), body);
84667
85030
  }
84668
85031
  function visitVariableStatement(node) {
84669
- if (node.transformFlags & 524288) {
85032
+ if (node.transformFlags & 1048576) {
84670
85033
  transformAndEmitVariableDeclarationList(node.declarationList);
84671
85034
  return undefined;
84672
85035
  }
@@ -85339,7 +85702,7 @@ var ts;
85339
85702
  }
85340
85703
  }
85341
85704
  function containsYield(node) {
85342
- return !!node && (node.transformFlags & 524288) !== 0;
85705
+ return !!node && (node.transformFlags & 1048576) !== 0;
85343
85706
  }
85344
85707
  function countInitialNodesWithoutYield(nodes) {
85345
85708
  var numNodes = nodes.length;
@@ -86069,7 +86432,7 @@ var ts;
86069
86432
  function transformSourceFile(node) {
86070
86433
  if (node.isDeclarationFile ||
86071
86434
  !(ts.isEffectiveExternalModule(node, compilerOptions) ||
86072
- node.transformFlags & 4194304 ||
86435
+ node.transformFlags & 8388608 ||
86073
86436
  (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) {
86074
86437
  return node;
86075
86438
  }
@@ -86275,7 +86638,7 @@ var ts;
86275
86638
  }
86276
86639
  }
86277
86640
  function visitorWorker(node, valueIsDiscarded) {
86278
- if (!(node.transformFlags & (4194304 | 4096 | 67108864))) {
86641
+ if (!(node.transformFlags & (8388608 | 4096 | 268435456))) {
86279
86642
  return node;
86280
86643
  }
86281
86644
  switch (node.kind) {
@@ -86416,7 +86779,7 @@ var ts;
86416
86779
  var externalModuleName = ts.getExternalModuleNameLiteral(factory, node, currentSourceFile, host, resolver, compilerOptions);
86417
86780
  var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor);
86418
86781
  var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
86419
- var containsLexicalThis = !!(node.transformFlags & 8192);
86782
+ var containsLexicalThis = !!(node.transformFlags & 16384);
86420
86783
  switch (compilerOptions.module) {
86421
86784
  case ts.ModuleKind.AMD:
86422
86785
  return createImportCallExpressionAMD(argument, containsLexicalThis);
@@ -87047,7 +87410,7 @@ var ts;
87047
87410
  var noSubstitution;
87048
87411
  return ts.chainBundle(context, transformSourceFile);
87049
87412
  function transformSourceFile(node) {
87050
- if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304)) {
87413
+ if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 8388608)) {
87051
87414
  return node;
87052
87415
  }
87053
87416
  var id = ts.getOriginalNodeId(node);
@@ -87121,7 +87484,7 @@ var ts;
87121
87484
  ts.addRange(statements, hoistedStatements);
87122
87485
  ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment());
87123
87486
  var exportStarFunction = addExportStarIfNeeded(statements);
87124
- var modifiers = node.transformFlags & 1048576 ?
87487
+ var modifiers = node.transformFlags & 2097152 ?
87125
87488
  factory.createModifiersFromModifierFlags(256) :
87126
87489
  undefined;
87127
87490
  var moduleObject = factory.createObjectLiteralExpression([
@@ -87662,7 +88025,7 @@ var ts;
87662
88025
  return node;
87663
88026
  }
87664
88027
  function visitorWorker(node, valueIsDiscarded) {
87665
- if (!(node.transformFlags & (4096 | 4194304 | 67108864))) {
88028
+ if (!(node.transformFlags & (4096 | 8388608 | 268435456))) {
87666
88029
  return node;
87667
88030
  }
87668
88031
  switch (node.kind) {
@@ -88617,7 +88980,8 @@ var ts;
88617
88980
  trackReferencedAmbientModule: trackReferencedAmbientModule,
88618
88981
  trackExternalModuleSymbolOfImportTypeNode: trackExternalModuleSymbolOfImportTypeNode,
88619
88982
  reportNonlocalAugmentation: reportNonlocalAugmentation,
88620
- reportNonSerializableProperty: reportNonSerializableProperty
88983
+ reportNonSerializableProperty: reportNonSerializableProperty,
88984
+ reportImportTypeNodeResolutionModeOverride: reportImportTypeNodeResolutionModeOverride,
88621
88985
  };
88622
88986
  var errorNameNode;
88623
88987
  var errorFallbackNode;
@@ -88739,6 +89103,11 @@ var ts;
88739
89103
  context.addDiagnostic(ts.createDiagnosticForNode((errorNameNode || errorFallbackNode), ts.Diagnostics.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, propertyName));
88740
89104
  }
88741
89105
  }
89106
+ function reportImportTypeNodeResolutionModeOverride() {
89107
+ if (!ts.isNightly() && (errorNameNode || errorFallbackNode)) {
89108
+ 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));
89109
+ }
89110
+ }
88742
89111
  function transformDeclarationsForJS(sourceFile, bundled) {
88743
89112
  var oldDiag = getSymbolAccessibilityDiagnostic;
88744
89113
  getSymbolAccessibilityDiagnostic = function (s) { return (s.errorNode && ts.canProduceDiagnostics(s.errorNode) ? ts.createGetSymbolAccessibilityDiagnosticForNode(s.errorNode)(s) : ({
@@ -89155,7 +89524,7 @@ var ts;
89155
89524
  var mode = ts.getResolutionModeOverrideForClause(assertClause);
89156
89525
  if (mode !== undefined) {
89157
89526
  if (!ts.isNightly()) {
89158
- 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));
89527
+ 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));
89159
89528
  }
89160
89529
  return assertClause;
89161
89530
  }
@@ -89841,6 +90210,7 @@ var ts;
89841
90210
  var transformers = [];
89842
90211
  ts.addRange(transformers, customTransformers && ts.map(customTransformers.before, wrapScriptTransformerFactory));
89843
90212
  transformers.push(ts.transformTypeScript);
90213
+ transformers.push(ts.transformLegacyDecorators);
89844
90214
  transformers.push(ts.transformClassFields);
89845
90215
  if (ts.getJSXTransformEnabled(compilerOptions)) {
89846
90216
  transformers.push(ts.transformJsx);
@@ -90567,7 +90937,7 @@ var ts;
90567
90937
  sourceMap: compilerOptions.sourceMap,
90568
90938
  inlineSourceMap: compilerOptions.inlineSourceMap,
90569
90939
  inlineSources: compilerOptions.inlineSources,
90570
- extendedDiagnostics: compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics,
90940
+ extendedDiagnostics: compilerOptions.extendedDiagnostics,
90571
90941
  writeBundleFileInfo: !!bundleBuildInfo,
90572
90942
  relativeToBuildInfo: relativeToBuildInfo
90573
90943
  };
@@ -90612,7 +90982,7 @@ var ts;
90612
90982
  target: compilerOptions.target,
90613
90983
  sourceMap: compilerOptions.sourceMap,
90614
90984
  inlineSourceMap: compilerOptions.inlineSourceMap,
90615
- extendedDiagnostics: compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics,
90985
+ extendedDiagnostics: compilerOptions.extendedDiagnostics,
90616
90986
  onlyPrintJsDocStyle: true,
90617
90987
  writeBundleFileInfo: !!bundleBuildInfo,
90618
90988
  recordInternalSection: !!bundleBuildInfo,
@@ -90632,7 +91002,7 @@ var ts;
90632
91002
  sourceMap: !forceDtsEmit && compilerOptions.declarationMap,
90633
91003
  sourceRoot: compilerOptions.sourceRoot,
90634
91004
  mapRoot: compilerOptions.mapRoot,
90635
- extendedDiagnostics: compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics,
91005
+ extendedDiagnostics: compilerOptions.extendedDiagnostics,
90636
91006
  });
90637
91007
  if (forceDtsEmit && declarationTransform.transformed[0].kind === 305) {
90638
91008
  var sourceFile = declarationTransform.transformed[0];
@@ -97863,7 +98233,7 @@ var ts;
97863
98233
  ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective);
97864
98234
  var mode = ref.resolutionMode || file.impliedNodeFormat;
97865
98235
  if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) {
97866
- programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext));
98236
+ programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext));
97867
98237
  }
97868
98238
  processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, });
97869
98239
  }
@@ -101515,7 +101885,6 @@ var ts;
101515
101885
  if (system.clearScreen &&
101516
101886
  !options.preserveWatchOutput &&
101517
101887
  !options.extendedDiagnostics &&
101518
- !options.solutionDiagnostics &&
101519
101888
  !options.diagnostics &&
101520
101889
  ts.contains(ts.screenStartingMessageCodes, diagnostic.code)) {
101521
101890
  system.clearScreen();
@@ -102825,8 +103194,6 @@ var ts;
102825
103194
  if (ts.hasProperty(buildOptions, option.name))
102826
103195
  result[option.name] = buildOptions[option.name];
102827
103196
  });
102828
- if (buildOptions.solutionDiagnostics)
102829
- result.solutionDiagnostics = true;
102830
103197
  return result;
102831
103198
  }
102832
103199
  function createSolutionBuilder(host, rootNames, defaultOptions) {
@@ -102934,7 +103301,6 @@ var ts;
102934
103301
  if (value) {
102935
103302
  return isParsedCommandLine(value) ? value : undefined;
102936
103303
  }
102937
- ts.solutionPerformance.mark("beforeParseConfigFile");
102938
103304
  var diagnostic;
102939
103305
  var parseConfigFileHost = state.parseConfigFileHost, baseCompilerOptions = state.baseCompilerOptions, baseWatchOptions = state.baseWatchOptions, extendedConfigCache = state.extendedConfigCache, host = state.host;
102940
103306
  var parsed;
@@ -102949,8 +103315,6 @@ var ts;
102949
103315
  parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = ts.noop;
102950
103316
  }
102951
103317
  configFileCache.set(configFilePath, parsed || diagnostic);
102952
- ts.solutionPerformance.mark("afterParseConfigFile");
102953
- ts.solutionPerformance.measure("ParseConfigFile", "beforeParseConfigFile", "afterParseConfigFile");
102954
103318
  return parsed;
102955
103319
  }
102956
103320
  function resolveProjectName(state, name) {
@@ -102998,7 +103362,6 @@ var ts;
102998
103362
  return state.buildOrder || createStateBuildOrder(state);
102999
103363
  }
103000
103364
  function createStateBuildOrder(state) {
103001
- ts.solutionPerformance.mark("beforeCreateBuildOrder");
103002
103365
  var buildOrder = createBuildOrder(state, state.rootNames.map(function (f) { return resolveProjectName(state, f); }));
103003
103366
  state.resolvedConfigFilePaths.clear();
103004
103367
  var currentProjects = new ts.Map(getBuildOrderFromAnyBuildOrder(buildOrder).map(function (resolved) { return [toResolvedConfigFilePath(state, resolved), true]; }));
@@ -103024,8 +103387,6 @@ var ts;
103024
103387
  ts.mutateMapSkippingNewValues(state.allWatchedInputFiles, currentProjects, { onDeleteValue: function (existingMap) { return existingMap.forEach(ts.closeFileWatcher); } });
103025
103388
  ts.mutateMapSkippingNewValues(state.allWatchedPackageJsonFiles, currentProjects, { onDeleteValue: function (existingMap) { return existingMap.forEach(ts.closeFileWatcher); } });
103026
103389
  }
103027
- ts.solutionPerformance.mark("afterCreateBuildOrder");
103028
- ts.solutionPerformance.measure("CreateBuildOrder", "beforeCreateBuildOrder", "afterCreateBuildOrder");
103029
103390
  return state.buildOrder = buildOrder;
103030
103391
  }
103031
103392
  function getBuildOrderFor(state, project, onlyReferences) {
@@ -103145,7 +103506,6 @@ var ts;
103145
103506
  if (updateOutputFileStampsPending) {
103146
103507
  updateOutputTimestamps(state, config, projectPath);
103147
103508
  }
103148
- ts.solutionPerformance.mark("timestampUpdated");
103149
103509
  return doneInvalidatedProject(state, projectPath);
103150
103510
  }
103151
103511
  };
@@ -103239,10 +103599,6 @@ var ts;
103239
103599
  };
103240
103600
  function done(cancellationToken, writeFile, customTransformers) {
103241
103601
  executeSteps(BuildStep.Done, cancellationToken, writeFile, customTransformers);
103242
- if (kind === InvalidatedProjectKind.Build)
103243
- ts.solutionPerformance.mark("projectsBuilt");
103244
- else
103245
- ts.solutionPerformance.mark("bundlesUpdated");
103246
103602
  return doneInvalidatedProject(state, projectPath);
103247
103603
  }
103248
103604
  function withProgramOrUndefined(action) {
@@ -103323,7 +103679,6 @@ var ts;
103323
103679
  var anyDtsChanged = false;
103324
103680
  var emitterDiagnostics = ts.createDiagnosticCollection();
103325
103681
  var emittedOutputs = new ts.Map();
103326
- ts.solutionPerformance.mark("beforeOutputFilesWrite");
103327
103682
  outputFiles.forEach(function (_a) {
103328
103683
  var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark;
103329
103684
  var priorChangeTime;
@@ -103342,8 +103697,6 @@ var ts;
103342
103697
  newestDeclarationFileContentChangedTime = newer(priorChangeTime, newestDeclarationFileContentChangedTime);
103343
103698
  }
103344
103699
  });
103345
- ts.solutionPerformance.mark("afterOutputFilesWrite");
103346
- ts.solutionPerformance.measure("OutputFilesWrite", "beforeOutputFilesWrite", "afterOutputFilesWrite");
103347
103700
  finishEmit(emitterDiagnostics, emittedOutputs, newestDeclarationFileContentChangedTime, anyDtsChanged, outputFiles.length ? outputFiles[0].name : ts.getFirstProjectOutput(config, !host.useCaseSensitiveFileNames()), resultFlags);
103348
103701
  return emitResult;
103349
103702
  }
@@ -103467,13 +103820,6 @@ var ts;
103467
103820
  !ts.isIncrementalCompilation(config.options);
103468
103821
  }
103469
103822
  function getNextInvalidatedProjectCreateInfo(state, buildOrder, reportQueue) {
103470
- ts.solutionPerformance.mark("beforeGetNextInvalidatedProjectCreateInfo");
103471
- var result = getNextInvalidatedProjectCreateInfoWorker(state, buildOrder, reportQueue);
103472
- ts.solutionPerformance.mark("afterGetNextInvalidatedProjectCreateInfo");
103473
- ts.solutionPerformance.measure("GetNextInvalidatedProjectCreateInfo", "beforeGetNextInvalidatedProjectCreateInfo", "afterGetNextInvalidatedProjectCreateInfo");
103474
- return result;
103475
- }
103476
- function getNextInvalidatedProjectCreateInfoWorker(state, buildOrder, reportQueue) {
103477
103823
  if (!state.projectPendingBuild.size)
103478
103824
  return undefined;
103479
103825
  if (isCircularBuildOrder(buildOrder))
@@ -103569,7 +103915,9 @@ var ts;
103569
103915
  }
103570
103916
  function getNextInvalidatedProject(state, buildOrder, reportQueue) {
103571
103917
  var info = getNextInvalidatedProjectCreateInfo(state, buildOrder, reportQueue);
103572
- return info && createInvalidatedProjectWithInfo(state, info, buildOrder);
103918
+ if (!info)
103919
+ return info;
103920
+ return createInvalidatedProjectWithInfo(state, info, buildOrder);
103573
103921
  }
103574
103922
  function listEmittedFile(_a, proj, file) {
103575
103923
  var write = _a.write;
@@ -103577,17 +103925,14 @@ var ts;
103577
103925
  write("TSFILE: " + file);
103578
103926
  }
103579
103927
  }
103580
- function getOldProgram(state, proj, parsed) {
103581
- if (state.options.force)
103928
+ function getOldProgram(_a, proj, parsed) {
103929
+ var options = _a.options, builderPrograms = _a.builderPrograms, compilerHost = _a.compilerHost;
103930
+ if (options.force)
103582
103931
  return undefined;
103583
- var value = state.builderPrograms.get(proj);
103932
+ var value = builderPrograms.get(proj);
103584
103933
  if (value)
103585
103934
  return value;
103586
- ts.solutionPerformance.mark("beforeReadBuilderProgram");
103587
- var program = ts.readBuilderProgram(parsed.options, state.compilerHost);
103588
- ts.solutionPerformance.mark("afterReadBuilderProgram");
103589
- ts.solutionPerformance.measure("ReadBuilderProgram", "beforeReadBuilderProgram", "afterReadBuilderProgram");
103590
- return program;
103935
+ return ts.readBuilderProgram(parsed.options, compilerHost);
103591
103936
  }
103592
103937
  function afterProgramDone(state, program, config) {
103593
103938
  if (program) {
@@ -103760,10 +104105,7 @@ var ts;
103760
104105
  state.buildInfoChecked.set(resolvedPath, true);
103761
104106
  var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(project.options);
103762
104107
  if (buildInfoPath) {
103763
- ts.solutionPerformance.mark("beforeBuildInfoRead");
103764
104108
  var value = state.readFileWithCache(buildInfoPath);
103765
- ts.solutionPerformance.mark("afterBuildInfoRead");
103766
- ts.solutionPerformance.measure("BuildInfoRead", "beforeBuildInfoRead", "afterBuildInfoRead");
103767
104109
  var buildInfo = value && ts.getBuildInfo(value);
103768
104110
  if (buildInfo && (buildInfo.bundle || buildInfo.program) && buildInfo.version !== ts.version) {
103769
104111
  return {
@@ -103798,17 +104140,13 @@ var ts;
103798
104140
  if (prior !== undefined) {
103799
104141
  return prior;
103800
104142
  }
103801
- ts.solutionPerformance.mark("beforeGetUpToDateStatus");
103802
104143
  var actual = getUpToDateStatusWorker(state, project, resolvedPath);
103803
- ts.solutionPerformance.mark("afterGetUpToDateStatus");
103804
- ts.solutionPerformance.measure("GetUpToDateStatus", "beforeGetUpToDateStatus", "afterGetUpToDateStatus");
103805
104144
  state.projectStatus.set(resolvedPath, actual);
103806
104145
  return actual;
103807
104146
  }
103808
104147
  function updateOutputTimestampsWorker(state, proj, priorNewestUpdateTime, verboseMessage, skipOutputs) {
103809
104148
  if (proj.options.noEmit)
103810
104149
  return priorNewestUpdateTime;
103811
- ts.solutionPerformance.mark("beforeUpdateOutputTimestamps");
103812
104150
  var host = state.host;
103813
104151
  var outputs = ts.getAllProjectOutputs(proj, !host.useCaseSensitiveFileNames());
103814
104152
  if (!skipOutputs || outputs.length !== skipOutputs.size) {
@@ -103829,8 +104167,6 @@ var ts;
103829
104167
  host.setModifiedTime(file, now);
103830
104168
  }
103831
104169
  }
103832
- ts.solutionPerformance.mark("afterUpdateOutputTimestamps");
103833
- ts.solutionPerformance.measure("UpdateOutputTimestamps", "beforeUpdateOutputTimestamps", "afterUpdateOutputTimestamps");
103834
104170
  return priorNewestUpdateTime;
103835
104171
  }
103836
104172
  function updateOutputTimestamps(state, proj, resolvedPath) {
@@ -103902,13 +104238,6 @@ var ts;
103902
104238
  }
103903
104239
  }
103904
104240
  function build(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences) {
103905
- ts.solutionPerformance.mark("beforeBuild");
103906
- var result = buildWorker(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences);
103907
- ts.solutionPerformance.mark("afterBuild");
103908
- ts.solutionPerformance.measure("Build", "beforeBuild", "afterBuild");
103909
- return result;
103910
- }
103911
- function buildWorker(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences) {
103912
104241
  var buildOrder = getBuildOrderFor(state, project, onlyReferences);
103913
104242
  if (!buildOrder)
103914
104243
  return ts.ExitStatus.InvalidProject_OutputsSkipped;
@@ -103920,10 +104249,7 @@ var ts;
103920
104249
  if (!invalidatedProject)
103921
104250
  break;
103922
104251
  reportQueue = false;
103923
- ts.solutionPerformance.mark("beforeInvalidatedProjectBuild");
103924
104252
  invalidatedProject.done(cancellationToken, writeFile, getCustomTransformers === null || getCustomTransformers === void 0 ? void 0 : getCustomTransformers(invalidatedProject.project));
103925
- ts.solutionPerformance.mark("afterInvalidatedProjectBuild");
103926
- ts.solutionPerformance.measure("InvalidatedProjectBuild", "beforeInvalidatedProjectBuild", "afterInvalidatedProjectBuild");
103927
104253
  if (!state.diagnostics.has(invalidatedProject.projectPath))
103928
104254
  successfulProjects++;
103929
104255
  }
@@ -103939,13 +104265,6 @@ var ts;
103939
104265
  : ts.ExitStatus.DiagnosticsPresent_OutputsSkipped;
103940
104266
  }
103941
104267
  function clean(state, project, onlyReferences) {
103942
- ts.solutionPerformance.mark("beforeClean");
103943
- var result = cleanWorker(state, project, onlyReferences);
103944
- ts.solutionPerformance.mark("afterClean");
103945
- ts.solutionPerformance.measure("Clean", "beforeClean", "afterClean");
103946
- return result;
103947
- }
103948
- function cleanWorker(state, project, onlyReferences) {
103949
104268
  var buildOrder = getBuildOrderFor(state, project, onlyReferences);
103950
104269
  if (!buildOrder)
103951
104270
  return ts.ExitStatus.InvalidProject_OutputsSkipped;
@@ -104016,14 +104335,6 @@ var ts;
104016
104335
  state.timerToBuildInvalidatedProject = hostWithWatch.setTimeout(buildNextInvalidatedProject, time, state, changeDetected);
104017
104336
  }
104018
104337
  function buildNextInvalidatedProject(state, changeDetected) {
104019
- ts.solutionPerformance.mark("beforeBuild");
104020
- var buildOrder = buildNextInvalidatedProjectWorker(state, changeDetected);
104021
- ts.solutionPerformance.mark("afterBuild");
104022
- ts.solutionPerformance.measure("Build", "beforeBuild", "afterBuild");
104023
- if (buildOrder)
104024
- reportErrorSummary(state, buildOrder);
104025
- }
104026
- function buildNextInvalidatedProjectWorker(state, changeDetected) {
104027
104338
  state.timerToBuildInvalidatedProject = undefined;
104028
104339
  if (state.reportFileChangeDetected) {
104029
104340
  state.reportFileChangeDetected = false;
@@ -104034,10 +104345,7 @@ var ts;
104034
104345
  var buildOrder = getBuildOrder(state);
104035
104346
  var invalidatedProject = getNextInvalidatedProject(state, buildOrder, false);
104036
104347
  if (invalidatedProject) {
104037
- ts.solutionPerformance.mark("beforeInvalidatedProjectBuild");
104038
104348
  invalidatedProject.done();
104039
- ts.solutionPerformance.mark("afterInvalidatedProjectBuild");
104040
- ts.solutionPerformance.measure("InvalidatedProjectBuild", "beforeInvalidatedProjectBuild", "afterInvalidatedProjectBuild");
104041
104349
  projectsBuilt++;
104042
104350
  while (state.projectPendingBuild.size) {
104043
104351
  if (state.timerToBuildInvalidatedProject)
@@ -104050,16 +104358,13 @@ var ts;
104050
104358
  return;
104051
104359
  }
104052
104360
  var project = createInvalidatedProjectWithInfo(state, info, buildOrder);
104053
- ts.solutionPerformance.mark("beforeInvalidatedProjectBuild");
104054
104361
  project.done();
104055
- ts.solutionPerformance.mark("afterInvalidatedProjectBuild");
104056
- ts.solutionPerformance.measure("InvalidatedProjectBuild", "beforeInvalidatedProjectBuild", "afterInvalidatedProjectBuild");
104057
104362
  if (info.kind !== InvalidatedProjectKind.UpdateOutputFileStamps)
104058
104363
  projectsBuilt++;
104059
104364
  }
104060
104365
  }
104061
104366
  disableCache(state);
104062
- return buildOrder;
104367
+ reportErrorSummary(state, buildOrder);
104063
104368
  }
104064
104369
  function watchConfigFile(state, resolved, resolvedPath, parsed) {
104065
104370
  if (!state.watch || state.allWatchedConfigFiles.has(resolvedPath))
@@ -104116,7 +104421,6 @@ var ts;
104116
104421
  function startWatching(state, buildOrder) {
104117
104422
  if (!state.watchAllProjectsPending)
104118
104423
  return;
104119
- ts.solutionPerformance.mark("beforeStartWatching");
104120
104424
  state.watchAllProjectsPending = false;
104121
104425
  for (var _i = 0, _a = getBuildOrderFromAnyBuildOrder(buildOrder); _i < _a.length; _i++) {
104122
104426
  var resolved = _a[_i];
@@ -104130,8 +104434,6 @@ var ts;
104130
104434
  watchPackageJsonFiles(state, resolved, resolvedPath, cfg);
104131
104435
  }
104132
104436
  }
104133
- ts.solutionPerformance.mark("afterStartWatching");
104134
- ts.solutionPerformance.measure("StartWatching", "beforeStartWatching", "afterStartWatching");
104135
104437
  }
104136
104438
  function stopWatching(state) {
104137
104439
  ts.clearMap(state.allWatchedConfigFiles, ts.closeFileWatcher);
@@ -104278,12 +104580,6 @@ var ts;
104278
104580
  })(ts || (ts = {}));
104279
104581
  var ts;
104280
104582
  (function (ts) {
104281
- var StatisticType;
104282
- (function (StatisticType) {
104283
- StatisticType[StatisticType["time"] = 0] = "time";
104284
- StatisticType[StatisticType["count"] = 1] = "count";
104285
- StatisticType[StatisticType["memory"] = 2] = "memory";
104286
- })(StatisticType = ts.StatisticType || (ts.StatisticType = {}));
104287
104583
  function countLines(program) {
104288
104584
  var counts = getCountsMap();
104289
104585
  ts.forEach(program.getSourceFiles(), function (file) {
@@ -104844,77 +105140,18 @@ var ts;
104844
105140
  if (reportWatchModeWithoutSysSupport(sys, reportDiagnostic))
104845
105141
  return;
104846
105142
  var buildHost_1 = ts.createSolutionBuilderWithWatchHost(sys, undefined, reportDiagnostic, ts.createBuilderStatusReporter(sys, shouldBePretty(sys, buildOptions)), createWatchStatusReporter(sys, buildOptions));
104847
- var onWatchStatusChange_1 = buildHost_1.onWatchStatusChange;
104848
- var reportWatchStatistics_1 = false;
104849
- buildHost_1.onWatchStatusChange = function (d, newLine, options, errorCount) {
104850
- onWatchStatusChange_1 === null || onWatchStatusChange_1 === void 0 ? void 0 : onWatchStatusChange_1(d, newLine, options, errorCount);
104851
- if (!reportWatchStatistics_1)
104852
- return;
104853
- if (d.code === ts.Diagnostics.Found_0_errors_Watching_for_file_changes.code ||
104854
- d.code === ts.Diagnostics.Found_1_error_Watching_for_file_changes.code) {
104855
- reportSolutionBuilderTimes(sys, buildOptions, builder_1, buildHost_1);
104856
- }
104857
- };
104858
105143
  updateSolutionBuilderHost(sys, cb, buildHost_1);
104859
- enableSolutionPerformance(sys, buildOptions);
104860
105144
  var builder_1 = ts.createSolutionBuilderWithWatch(buildHost_1, projects, buildOptions, watchOptions);
104861
105145
  builder_1.build();
104862
- reportSolutionBuilderTimes(sys, buildOptions, builder_1, buildHost_1);
104863
- reportWatchStatistics_1 = true;
104864
105146
  return builder_1;
104865
105147
  }
104866
105148
  var buildHost = ts.createSolutionBuilderHost(sys, undefined, reportDiagnostic, ts.createBuilderStatusReporter(sys, shouldBePretty(sys, buildOptions)), createReportErrorSummary(sys, buildOptions));
104867
105149
  updateSolutionBuilderHost(sys, cb, buildHost);
104868
- enableSolutionPerformance(sys, buildOptions);
104869
105150
  var builder = ts.createSolutionBuilder(buildHost, projects, buildOptions);
104870
105151
  var exitStatus = buildOptions.clean ? builder.clean() : builder.build();
104871
- reportSolutionBuilderTimes(sys, buildOptions, builder, buildHost);
104872
105152
  ts.dumpTracingLegend();
104873
105153
  return sys.exit(exitStatus);
104874
105154
  }
104875
- function enableSolutionPerformance(system, options) {
104876
- if (system === ts.sys && options.solutionDiagnostics)
104877
- ts.solutionPerformance.enable();
104878
- }
104879
- function reportSolutionBuilderTimes(system, buildOptions, builder, buildHost) {
104880
- if (system !== ts.sys || !buildOptions.solutionDiagnostics)
104881
- return;
104882
- if (ts.solutionPerformance.isEnabled()) {
104883
- var solutionStatistics_1 = [];
104884
- solutionStatistics_1.push({ name: "Projects", value: ts.getBuildOrderFromAnyBuildOrder(builder.getBuildOrder()).length, type: StatisticType.count });
104885
- ts.solutionPerformance.forEachCount(function (name, count) { return solutionStatistics_1.push({ name: name, value: count, type: StatisticType.count }); });
104886
- ts.solutionPerformance.forEachMeasure(function (name, duration) { return solutionStatistics_1.push({ name: name + " time", value: duration, type: StatisticType.time }); });
104887
- buildHost.statistics = ts.append(buildHost.statistics, solutionStatistics_1);
104888
- ts.solutionPerformance.disable();
104889
- ts.solutionPerformance.enable();
104890
- }
104891
- else {
104892
- ts.sys.write(ts.Diagnostics.Performance_timings_for_diagnostics_or_extendedDiagnostics_or_solutionDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message + "\n");
104893
- }
104894
- if (!buildHost.statistics)
104895
- return;
104896
- var statistics = [];
104897
- var map = new ts.Map();
104898
- for (var _i = 0, _a = buildHost.statistics; _i < _a.length; _i++) {
104899
- var statistic = _a[_i];
104900
- for (var _b = 0, statistic_1 = statistic; _b < statistic_1.length; _b++) {
104901
- var s = statistic_1[_b];
104902
- var existing = map.get(s.name);
104903
- if (existing) {
104904
- if (existing.type === StatisticType.memory)
104905
- existing.value = Math.max(existing.value, s.value);
104906
- else
104907
- existing.value += s.value;
104908
- }
104909
- else {
104910
- map.set(s.name, s);
104911
- statistics.push(s);
104912
- }
104913
- }
104914
- }
104915
- buildHost.statistics = undefined;
104916
- reportAllStatistics(system, statistics);
104917
- }
104918
105155
  function createReportErrorSummary(sys, options) {
104919
105156
  return shouldBePretty(sys, options) ?
104920
105157
  function (errorCount, filesInError) { return sys.write(ts.getErrorSummaryText(errorCount, filesInError, sys.newLine, sys)); } :
@@ -104963,13 +105200,10 @@ var ts;
104963
105200
  function updateSolutionBuilderHost(sys, cb, buildHost) {
104964
105201
  updateCreateProgram(sys, buildHost);
104965
105202
  buildHost.afterProgramEmitAndDiagnostics = function (program) {
104966
- buildHost.statistics = ts.append(buildHost.statistics, reportStatistics(sys, program.getProgram()));
105203
+ reportStatistics(sys, program.getProgram());
104967
105204
  cb(program);
104968
105205
  };
104969
- buildHost.afterEmitBundle = function (config) {
104970
- buildHost.statistics = ts.append(buildHost.statistics, reportStatistics(sys, config));
104971
- cb(config);
104972
- };
105206
+ buildHost.afterEmitBundle = cb;
104973
105207
  }
104974
105208
  function updateCreateProgram(sys, host) {
104975
105209
  var compileUsingBuilder = host.createProgram;
@@ -105019,73 +105253,64 @@ var ts;
105019
105253
  updateWatchCompilationHost(system, cb, watchCompilerHost);
105020
105254
  return ts.createWatchProgram(watchCompilerHost);
105021
105255
  }
105022
- function canGenerateStatistics(system, compilerOptions) {
105023
- return system === ts.sys && (compilerOptions.diagnostics || compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics);
105256
+ function canReportDiagnostics(system, compilerOptions) {
105257
+ return system === ts.sys && (compilerOptions.diagnostics || compilerOptions.extendedDiagnostics);
105024
105258
  }
105025
105259
  function canTrace(system, compilerOptions) {
105026
105260
  return system === ts.sys && compilerOptions.generateTrace;
105027
105261
  }
105028
105262
  function enableStatisticsAndTracing(system, compilerOptions, isBuildMode) {
105029
- if (canGenerateStatistics(system, compilerOptions)) {
105263
+ if (canReportDiagnostics(system, compilerOptions)) {
105030
105264
  ts.performance.enable(system);
105031
105265
  }
105032
105266
  if (canTrace(system, compilerOptions)) {
105033
105267
  ts.startTracing(isBuildMode ? "build" : "project", compilerOptions.generateTrace, compilerOptions.configFilePath);
105034
105268
  }
105035
105269
  }
105036
- function isProgram(programOrConfig) {
105037
- return !!programOrConfig.getCompilerOptions;
105038
- }
105039
- function reportStatistics(sys, programOrConfig) {
105040
- var program = isProgram(programOrConfig) ? programOrConfig : undefined;
105041
- var config = !isProgram(programOrConfig) ? programOrConfig : undefined;
105042
- var compilerOptions = (program === null || program === void 0 ? void 0 : program.getCompilerOptions()) || (config === null || config === void 0 ? void 0 : config.options);
105270
+ function reportStatistics(sys, program) {
105271
+ var compilerOptions = program.getCompilerOptions();
105043
105272
  if (canTrace(sys, compilerOptions)) {
105044
105273
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.stopTracing();
105045
105274
  }
105046
105275
  var statistics;
105047
- if (canGenerateStatistics(sys, compilerOptions)) {
105276
+ if (canReportDiagnostics(sys, compilerOptions)) {
105048
105277
  statistics = [];
105049
105278
  var memoryUsed = sys.getMemoryUsage ? sys.getMemoryUsage() : -1;
105050
- if (program) {
105051
- reportCountStatistic("Files", program.getSourceFiles().length);
105052
- var lineCounts = countLines(program);
105053
- var nodeCounts = countNodes(program);
105054
- if (compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics) {
105055
- for (var _i = 0, _a = ts.arrayFrom(lineCounts.keys()); _i < _a.length; _i++) {
105056
- var key = _a[_i];
105057
- reportCountStatistic("Lines of " + key, lineCounts.get(key));
105058
- }
105059
- for (var _b = 0, _c = ts.arrayFrom(nodeCounts.keys()); _b < _c.length; _b++) {
105060
- var key = _c[_b];
105061
- reportCountStatistic("Nodes of " + key, nodeCounts.get(key));
105062
- }
105279
+ reportCountStatistic("Files", program.getSourceFiles().length);
105280
+ var lineCounts = countLines(program);
105281
+ var nodeCounts = countNodes(program);
105282
+ if (compilerOptions.extendedDiagnostics) {
105283
+ for (var _i = 0, _a = ts.arrayFrom(lineCounts.keys()); _i < _a.length; _i++) {
105284
+ var key = _a[_i];
105285
+ reportCountStatistic("Lines of " + key, lineCounts.get(key));
105063
105286
  }
105064
- else {
105065
- reportCountStatistic("Lines", ts.reduceLeftIterator(lineCounts.values(), function (sum, count) { return sum + count; }, 0));
105066
- reportCountStatistic("Nodes", ts.reduceLeftIterator(nodeCounts.values(), function (sum, count) { return sum + count; }, 0));
105287
+ for (var _b = 0, _c = ts.arrayFrom(nodeCounts.keys()); _b < _c.length; _b++) {
105288
+ var key = _c[_b];
105289
+ reportCountStatistic("Nodes of " + key, nodeCounts.get(key));
105067
105290
  }
105068
- reportCountStatistic("Identifiers", program.getIdentifierCount());
105069
- reportCountStatistic("Symbols", program.getSymbolCount());
105070
- reportCountStatistic("Types", program.getTypeCount());
105071
- reportCountStatistic("Instantiations", program.getInstantiationCount());
105072
105291
  }
105292
+ else {
105293
+ reportCountStatistic("Lines", ts.reduceLeftIterator(lineCounts.values(), function (sum, count) { return sum + count; }, 0));
105294
+ reportCountStatistic("Nodes", ts.reduceLeftIterator(nodeCounts.values(), function (sum, count) { return sum + count; }, 0));
105295
+ }
105296
+ reportCountStatistic("Identifiers", program.getIdentifierCount());
105297
+ reportCountStatistic("Symbols", program.getSymbolCount());
105298
+ reportCountStatistic("Types", program.getTypeCount());
105299
+ reportCountStatistic("Instantiations", program.getInstantiationCount());
105073
105300
  if (memoryUsed >= 0) {
105074
- reportMemoryStatistic("Memory used", memoryUsed);
105301
+ reportStatisticalValue("Memory used", Math.round(memoryUsed / 1000) + "K");
105075
105302
  }
105076
105303
  var isPerformanceEnabled = ts.performance.isEnabled();
105077
105304
  var programTime = isPerformanceEnabled ? ts.performance.getDuration("Program") : 0;
105078
105305
  var bindTime = isPerformanceEnabled ? ts.performance.getDuration("Bind") : 0;
105079
105306
  var checkTime = isPerformanceEnabled ? ts.performance.getDuration("Check") : 0;
105080
105307
  var emitTime = isPerformanceEnabled ? ts.performance.getDuration("Emit") : 0;
105081
- if (compilerOptions.extendedDiagnostics || compilerOptions.solutionDiagnostics) {
105082
- if (program) {
105083
- var caches = program.getRelationCacheSizes();
105084
- reportCountStatistic("Assignability cache size", caches.assignable);
105085
- reportCountStatistic("Identity cache size", caches.identity);
105086
- reportCountStatistic("Subtype cache size", caches.subtype);
105087
- reportCountStatistic("Strict subtype cache size", caches.strictSubtype);
105088
- }
105308
+ if (compilerOptions.extendedDiagnostics) {
105309
+ var caches = program.getRelationCacheSizes();
105310
+ reportCountStatistic("Assignability cache size", caches.assignable);
105311
+ reportCountStatistic("Identity cache size", caches.identity);
105312
+ reportCountStatistic("Subtype cache size", caches.subtype);
105313
+ reportCountStatistic("Strict subtype cache size", caches.strictSubtype);
105089
105314
  if (isPerformanceEnabled) {
105090
105315
  ts.performance.forEachMeasure(function (name, duration) { return reportTimeStatistic(name + " time", duration); });
105091
105316
  }
@@ -105101,55 +105326,39 @@ var ts;
105101
105326
  if (isPerformanceEnabled) {
105102
105327
  reportTimeStatistic("Total time", programTime + bindTime + checkTime + emitTime);
105103
105328
  }
105104
- if (compilerOptions.diagnostics || compilerOptions.extendedDiagnostics)
105105
- reportAllStatistics(sys, statistics);
105329
+ reportStatistics();
105106
105330
  if (!isPerformanceEnabled) {
105107
- sys.write(ts.Diagnostics.Performance_timings_for_diagnostics_or_extendedDiagnostics_or_solutionDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message + "\n");
105331
+ sys.write(ts.Diagnostics.Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message + "\n");
105108
105332
  }
105109
105333
  else {
105110
105334
  ts.performance.disable();
105111
105335
  }
105112
- return statistics;
105113
- }
105114
- function reportMemoryStatistic(name, memoryUsed) {
105115
- statistics.push({ name: name, value: memoryUsed, type: StatisticType.memory });
105116
- }
105117
- function reportCountStatistic(name, count) {
105118
- statistics.push({ name: name, value: count, type: StatisticType.count });
105119
- }
105120
- function reportTimeStatistic(name, time) {
105121
- statistics.push({ name: name, value: time, type: StatisticType.time });
105122
105336
  }
105123
- }
105124
- function reportAllStatistics(sys, statistics) {
105125
- var nameSize = 0;
105126
- var valueSize = 0;
105127
- for (var _i = 0, statistics_1 = statistics; _i < statistics_1.length; _i++) {
105128
- var s = statistics_1[_i];
105129
- if (s.name.length > nameSize) {
105130
- nameSize = s.name.length;
105337
+ function reportStatistics() {
105338
+ var nameSize = 0;
105339
+ var valueSize = 0;
105340
+ for (var _i = 0, statistics_1 = statistics; _i < statistics_1.length; _i++) {
105341
+ var _a = statistics_1[_i], name = _a.name, value = _a.value;
105342
+ if (name.length > nameSize) {
105343
+ nameSize = name.length;
105344
+ }
105345
+ if (value.length > valueSize) {
105346
+ valueSize = value.length;
105347
+ }
105131
105348
  }
105132
- var valueString = statisticValue(s);
105133
- if (valueString.length > valueSize) {
105134
- valueSize = valueString.length;
105349
+ for (var _b = 0, statistics_2 = statistics; _b < statistics_2.length; _b++) {
105350
+ var _c = statistics_2[_b], name = _c.name, value = _c.value;
105351
+ sys.write(ts.padRight(name + ":", nameSize + 2) + ts.padLeft(value.toString(), valueSize) + sys.newLine);
105135
105352
  }
105136
105353
  }
105137
- for (var _a = 0, statistics_2 = statistics; _a < statistics_2.length; _a++) {
105138
- var s = statistics_2[_a];
105139
- sys.write(ts.padRight(s.name + ":", nameSize + 2) + ts.padLeft(statisticValue(s).toString(), valueSize) + sys.newLine);
105354
+ function reportStatisticalValue(name, value) {
105355
+ statistics.push({ name: name, value: value });
105140
105356
  }
105141
- }
105142
- function statisticValue(s) {
105143
- switch (s.type) {
105144
- case StatisticType.count:
105145
- return "" + s.value;
105146
- case StatisticType.time:
105147
- return (s.value / 1000).toFixed(2) + "s";
105148
- case StatisticType.memory:
105149
- return Math.round(s.value / 1000) + "K";
105150
- break;
105151
- default:
105152
- ts.Debug.assertNever(s.type);
105357
+ function reportCountStatistic(name, count) {
105358
+ reportStatisticalValue(name, "" + count);
105359
+ }
105360
+ function reportTimeStatistic(name, time) {
105361
+ reportStatisticalValue(name, (time / 1000).toFixed(2) + "s");
105153
105362
  }
105154
105363
  }
105155
105364
  function writeConfigFile(sys, reportDiagnostic, options, fileNames) {