typescript 5.0.0-dev.20221215 → 5.0.0-dev.20221216

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
@@ -23,7 +23,7 @@ var __export = (target, all) => {
23
23
 
24
24
  // src/compiler/corePublic.ts
25
25
  var versionMajorMinor = "5.0";
26
- var version = `${versionMajorMinor}.0-dev.20221215`;
26
+ var version = `${versionMajorMinor}.0-dev.20221216`;
27
27
 
28
28
  // src/compiler/core.ts
29
29
  var emptyArray = [];
@@ -3714,7 +3714,7 @@ function diagnosticCategoryName(d, lowerCase = true) {
3714
3714
  }
3715
3715
  var ModuleResolutionKind = /* @__PURE__ */ ((ModuleResolutionKind2) => {
3716
3716
  ModuleResolutionKind2[ModuleResolutionKind2["Classic"] = 1] = "Classic";
3717
- ModuleResolutionKind2[ModuleResolutionKind2["NodeJs"] = 2] = "NodeJs";
3717
+ ModuleResolutionKind2[ModuleResolutionKind2["Node10"] = 2] = "Node10";
3718
3718
  ModuleResolutionKind2[ModuleResolutionKind2["Node16"] = 3] = "Node16";
3719
3719
  ModuleResolutionKind2[ModuleResolutionKind2["NodeNext"] = 99] = "NodeNext";
3720
3720
  ModuleResolutionKind2[ModuleResolutionKind2["Bundler"] = 100] = "Bundler";
@@ -6425,7 +6425,7 @@ var Diagnostics = {
6425
6425
  Its_element_type_0_is_not_a_valid_JSX_element: diag(2789, 1 /* Error */, "Its_element_type_0_is_not_a_valid_JSX_element_2789", "Its element type '{0}' is not a valid JSX element."),
6426
6426
  The_operand_of_a_delete_operator_must_be_optional: diag(2790, 1 /* Error */, "The_operand_of_a_delete_operator_must_be_optional_2790", "The operand of a 'delete' operator must be optional."),
6427
6427
  Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later: diag(2791, 1 /* Error */, "Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791", "Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),
6428
- Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option: diag(2792, 1 /* Error */, "Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792", "Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),
6428
+ Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option: diag(2792, 1 /* Error */, "Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792", "Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),
6429
6429
  The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible: diag(2793, 1 /* Error */, "The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793", "The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),
6430
6430
  Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise: diag(2794, 1 /* Error */, "Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794", "Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),
6431
6431
  The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types: diag(2795, 1 /* Error */, "The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795", "The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),
@@ -6607,7 +6607,7 @@ var Diagnostics = {
6607
6607
  Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name: diag(5067, 1 /* Error */, "Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067", "Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),
6608
6608
  Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig: diag(5068, 1 /* Error */, "Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068", "Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),
6609
6609
  Option_0_cannot_be_specified_without_specifying_option_1_or_option_2: diag(5069, 1 /* Error */, "Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069", "Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),
6610
- Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy: diag(5070, 1 /* Error */, "Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070", "Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),
6610
+ Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic: diag(5070, 1 /* Error */, "Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070", "Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),
6611
6611
  Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext: diag(5071, 1 /* Error */, "Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071", "Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),
6612
6612
  Unknown_build_option_0: diag(5072, 1 /* Error */, "Unknown_build_option_0_5072", "Unknown build option '{0}'."),
6613
6613
  Build_option_0_requires_a_value_of_type_1: diag(5073, 1 /* Error */, "Build_option_0_requires_a_value_of_type_1_5073", "Build option '{0}' requires a value of type {1}."),
@@ -6638,6 +6638,9 @@ var Diagnostics = {
6638
6638
  Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: diag(5098, 1 /* Error */, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),
6639
6639
  Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: diag(5099, 1 /* Error */, "Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Aster_5099", `Import assignment is not allowed when 'moduleResolution' is set to 'bundler'. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),
6640
6640
  Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_default_or_another_module_format_instead: diag(5100, 1 /* Error */, "Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_defau_5100", "Export assignment cannot be used when 'moduleResolution' is set to 'bundler'. Consider using 'export default' or another module format instead."),
6641
+ Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_ignoreDeprecations_Colon_2_to_silence_this_error: diag(5101, 1 /* Error */, "Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_ignoreDeprecations_Colon_2_to_5101", `Flag '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify 'ignoreDeprecations: "{2}"' to silence this error.`),
6642
+ Flag_0_is_deprecated_Please_remove_it_from_your_configuration: diag(5102, 1 /* Error */, "Flag_0_is_deprecated_Please_remove_it_from_your_configuration_5102", "Flag '{0}' is deprecated. Please remove it from your configuration."),
6643
+ Invalid_value_for_ignoreDeprecations: diag(5103, 1 /* Error */, "Invalid_value_for_ignoreDeprecations_5103", "Invalid value for '--ignoreDeprecations'."),
6641
6644
  Generates_a_sourcemap_for_each_corresponding_d_ts_file: diag(6e3, 3 /* Message */, "Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000", "Generates a sourcemap for each corresponding '.d.ts' file."),
6642
6645
  Concatenate_and_emit_output_to_single_file: diag(6001, 3 /* Message */, "Concatenate_and_emit_output_to_single_file_6001", "Concatenate and emit output to single file."),
6643
6646
  Generates_corresponding_d_ts_file: diag(6002, 3 /* Message */, "Generates_corresponding_d_ts_file_6002", "Generates corresponding '.d.ts' file."),
@@ -10103,10 +10106,10 @@ function isAssertionKey(node) {
10103
10106
  return isStringLiteral(node) || isIdentifier(node);
10104
10107
  }
10105
10108
  function isGeneratedIdentifier(node) {
10106
- return isIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */;
10109
+ return isIdentifier(node) && node.autoGenerate !== void 0;
10107
10110
  }
10108
10111
  function isGeneratedPrivateIdentifier(node) {
10109
- return isPrivateIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */;
10112
+ return isPrivateIdentifier(node) && node.autoGenerate !== void 0;
10110
10113
  }
10111
10114
  function isPrivateIdentifierClassElementDeclaration(node) {
10112
10115
  return (isPropertyDeclaration(node) || isMethodOrAccessor(node)) && isPrivateIdentifier(node.name);
@@ -11355,7 +11358,7 @@ function tryGetTextOfPropertyName(name) {
11355
11358
  switch (name.kind) {
11356
11359
  case 79 /* Identifier */:
11357
11360
  case 80 /* PrivateIdentifier */:
11358
- return name.autoGenerateFlags ? void 0 : name.escapedText;
11361
+ return name.autoGenerate ? void 0 : name.escapedText;
11359
11362
  case 10 /* StringLiteral */:
11360
11363
  case 8 /* NumericLiteral */:
11361
11364
  case 14 /* NoSubstitutionTemplateLiteral */:
@@ -14412,7 +14415,7 @@ function closeFileWatcher(watcher) {
14412
14415
  watcher.close();
14413
14416
  }
14414
14417
  function getCheckFlags(symbol) {
14415
- return symbol.flags & 33554432 /* Transient */ ? symbol.checkFlags : 0;
14418
+ return symbol.flags & 33554432 /* Transient */ ? symbol.links.checkFlags : 0;
14416
14419
  }
14417
14420
  function getDeclarationModifierFlagsFromSymbol(s, isWrite = false) {
14418
14421
  if (s.valueDeclaration) {
@@ -14421,7 +14424,7 @@ function getDeclarationModifierFlagsFromSymbol(s, isWrite = false) {
14421
14424
  return s.parent && s.parent.flags & 32 /* Class */ ? flags : flags & ~28 /* AccessibilityModifier */;
14422
14425
  }
14423
14426
  if (getCheckFlags(s) & 6 /* Synthetic */) {
14424
- const checkFlags = s.checkFlags;
14427
+ const checkFlags = s.links.checkFlags;
14425
14428
  const accessModifier = checkFlags & 1024 /* ContainsPrivate */ ? 8 /* Private */ : checkFlags & 256 /* ContainsPublic */ ? 4 /* Public */ : 16 /* Protected */;
14426
14429
  const staticModifier = checkFlags & 2048 /* ContainsStatic */ ? 32 /* Static */ : 0;
14427
14430
  return accessModifier | staticModifier;
@@ -14620,9 +14623,16 @@ function Symbol4(flags, name) {
14620
14623
  this.escapedName = name;
14621
14624
  this.declarations = void 0;
14622
14625
  this.valueDeclaration = void 0;
14623
- this.id = void 0;
14624
- this.mergeId = void 0;
14626
+ this.id = 0;
14627
+ this.mergeId = 0;
14625
14628
  this.parent = void 0;
14629
+ this.members = void 0;
14630
+ this.exports = void 0;
14631
+ this.exportSymbol = void 0;
14632
+ this.constEnumOnlyModule = void 0;
14633
+ this.isReferenced = void 0;
14634
+ this.isAssigned = void 0;
14635
+ this.links = void 0;
14626
14636
  }
14627
14637
  function Type3(checker, flags) {
14628
14638
  this.flags = flags;
@@ -14928,7 +14938,7 @@ function getEmitModuleResolutionKind(compilerOptions) {
14928
14938
  if (moduleResolution === void 0) {
14929
14939
  switch (getEmitModuleKind(compilerOptions)) {
14930
14940
  case 1 /* CommonJS */:
14931
- moduleResolution = 2 /* NodeJs */;
14941
+ moduleResolution = 2 /* Node10 */;
14932
14942
  break;
14933
14943
  case 100 /* Node16 */:
14934
14944
  moduleResolution = 3 /* Node16 */;
@@ -17225,15 +17235,23 @@ function createNodeFactory(flags, baseFactory2) {
17225
17235
  const node = baseFactory2.createBaseIdentifierNode(79 /* Identifier */);
17226
17236
  node.originalKeywordKind = originalKeywordKind;
17227
17237
  node.escapedText = escapedText;
17228
- node.autoGenerateFlags = 0 /* None */;
17238
+ node.autoGenerate = void 0;
17239
+ node.typeArguments = void 0;
17240
+ node.hasExtendedUnicodeEscape = void 0;
17241
+ node.jsDoc = void 0;
17242
+ node.jsDocCache = void 0;
17243
+ node.flowNode = void 0;
17244
+ node.symbol = void 0;
17229
17245
  return node;
17230
17246
  }
17231
17247
  function createBaseGeneratedIdentifier(text, autoGenerateFlags, prefix, suffix) {
17232
17248
  const node = createBaseIdentifier(escapeLeadingUnderscores(text), void 0);
17233
- node.autoGenerateFlags = autoGenerateFlags;
17234
- node.autoGenerateId = nextAutoGenerateId;
17235
- node.autoGeneratePrefix = prefix;
17236
- node.autoGenerateSuffix = suffix;
17249
+ node.autoGenerate = {
17250
+ flags: autoGenerateFlags,
17251
+ id: nextAutoGenerateId,
17252
+ prefix,
17253
+ suffix
17254
+ };
17237
17255
  nextAutoGenerateId++;
17238
17256
  return node;
17239
17257
  }
@@ -17247,10 +17265,6 @@ function createNodeFactory(flags, baseFactory2) {
17247
17265
  const node = createBaseIdentifier(escapeLeadingUnderscores(text), originalKeywordKind);
17248
17266
  node.typeArguments = asNodeArray(typeArguments);
17249
17267
  node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
17250
- node.jsDoc = void 0;
17251
- node.jsDocCache = void 0;
17252
- node.flowNode = void 0;
17253
- node.symbol = void 0;
17254
17268
  if (node.originalKeywordKind === 133 /* AwaitKeyword */) {
17255
17269
  node.transformFlags |= 67108864 /* ContainsPossibleTopLevelAwait */;
17256
17270
  }
@@ -17295,7 +17309,7 @@ function createNodeFactory(flags, baseFactory2) {
17295
17309
  function createBasePrivateIdentifier(escapedText) {
17296
17310
  const node = baseFactory2.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */);
17297
17311
  node.escapedText = escapedText;
17298
- node.autoGenerateFlags = 0 /* None */;
17312
+ node.autoGenerate = void 0;
17299
17313
  node.transformFlags |= 16777216 /* ContainsClassFields */;
17300
17314
  return node;
17301
17315
  }
@@ -17306,10 +17320,12 @@ function createNodeFactory(flags, baseFactory2) {
17306
17320
  }
17307
17321
  function createBaseGeneratedPrivateIdentifier(text, autoGenerateFlags, prefix, suffix) {
17308
17322
  const node = createBasePrivateIdentifier(escapeLeadingUnderscores(text));
17309
- node.autoGenerateFlags = autoGenerateFlags;
17310
- node.autoGenerateId = nextAutoGenerateId;
17311
- node.autoGeneratePrefix = prefix;
17312
- node.autoGenerateSuffix = suffix;
17323
+ node.autoGenerate = {
17324
+ flags: autoGenerateFlags,
17325
+ id: nextAutoGenerateId,
17326
+ prefix,
17327
+ suffix
17328
+ };
17313
17329
  nextAutoGenerateId++;
17314
17330
  return node;
17315
17331
  }
@@ -20102,10 +20118,7 @@ function createNodeFactory(flags, baseFactory2) {
20102
20118
  function cloneGeneratedIdentifier(node) {
20103
20119
  const clone2 = createBaseIdentifier(node.escapedText, void 0);
20104
20120
  clone2.flags |= node.flags & ~8 /* Synthesized */;
20105
- clone2.autoGenerateFlags = node.autoGenerateFlags;
20106
- clone2.autoGenerateId = node.autoGenerateId;
20107
- clone2.autoGeneratePrefix = node.autoGeneratePrefix;
20108
- clone2.autoGenerateSuffix = node.autoGenerateSuffix;
20121
+ clone2.autoGenerate = { ...node.autoGenerate };
20109
20122
  clone2.transformFlags = node.transformFlags;
20110
20123
  setOriginalNode(clone2, node);
20111
20124
  return clone2;
@@ -20126,10 +20139,7 @@ function createNodeFactory(flags, baseFactory2) {
20126
20139
  function cloneGeneratedPrivateIdentifier(node) {
20127
20140
  const clone2 = createBasePrivateIdentifier(node.escapedText);
20128
20141
  clone2.flags |= node.flags & ~8 /* Synthesized */;
20129
- clone2.autoGenerateFlags = node.autoGenerateFlags;
20130
- clone2.autoGenerateId = node.autoGenerateId;
20131
- clone2.autoGeneratePrefix = node.autoGeneratePrefix;
20132
- clone2.autoGenerateSuffix = node.autoGenerateSuffix;
20142
+ clone2.autoGenerate = { ...node.autoGenerate };
20133
20143
  clone2.transformFlags = node.transformFlags;
20134
20144
  setOriginalNode(clone2, node);
20135
20145
  return clone2;
@@ -23328,13 +23338,13 @@ function elideNodes(factory2, nodes) {
23328
23338
  return setTextRange(factory2.createNodeArray([], nodes.hasTrailingComma), nodes);
23329
23339
  }
23330
23340
  function getNodeForGeneratedName(name) {
23331
- if (name.autoGenerateFlags & 4 /* Node */) {
23332
- const autoGenerateId = name.autoGenerateId;
23341
+ if (name.autoGenerate.flags & 4 /* Node */) {
23342
+ const autoGenerateId = name.autoGenerate.id;
23333
23343
  let node = name;
23334
23344
  let original = node.original;
23335
23345
  while (original) {
23336
23346
  node = original;
23337
- if (isMemberName(node) && !!(node.autoGenerateFlags & 4 /* Node */) && node.autoGenerateId !== autoGenerateId) {
23347
+ if (isMemberName(node) && (node.autoGenerate === void 0 || !!(node.autoGenerate.flags & 4 /* Node */) && node.autoGenerate.id !== autoGenerateId)) {
23338
23348
  break;
23339
23349
  }
23340
23350
  original = node.original;
@@ -31133,12 +31143,14 @@ var commandOptionsWithoutBuild = [
31133
31143
  {
31134
31144
  name: "moduleResolution",
31135
31145
  type: new Map(getEntries({
31136
- node: 2 /* NodeJs */,
31146
+ node10: 2 /* Node10 */,
31147
+ node: 2 /* Node10 */,
31137
31148
  classic: 1 /* Classic */,
31138
31149
  node16: 3 /* Node16 */,
31139
31150
  nodenext: 99 /* NodeNext */,
31140
31151
  bundler: 100 /* Bundler */
31141
31152
  })),
31153
+ deprecatedKeys: /* @__PURE__ */ new Set(["node"]),
31142
31154
  affectsModuleResolution: true,
31143
31155
  paramType: Diagnostics.STRATEGY,
31144
31156
  category: Diagnostics.Modules,
@@ -31658,6 +31670,11 @@ var commandOptionsWithoutBuild = [
31658
31670
  description: Diagnostics.Control_what_method_is_used_to_detect_module_format_JS_files,
31659
31671
  category: Diagnostics.Language_and_Environment,
31660
31672
  defaultValueDescription: Diagnostics.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules
31673
+ },
31674
+ {
31675
+ name: "ignoreDeprecations",
31676
+ type: "string",
31677
+ defaultValueDescription: void 0
31661
31678
  }
31662
31679
  ];
31663
31680
  var optionDeclarations = [
@@ -31782,8 +31799,9 @@ function createCompilerDiagnosticForInvalidCustomType(opt) {
31782
31799
  return createDiagnosticForInvalidCustomType(opt, createCompilerDiagnostic);
31783
31800
  }
31784
31801
  function createDiagnosticForInvalidCustomType(opt, createDiagnostic) {
31785
- const namesOfType = arrayFrom(opt.type.keys()).map((key) => `'${key}'`).join(", ");
31786
- return createDiagnostic(Diagnostics.Argument_for_0_option_must_be_Colon_1, `--${opt.name}`, namesOfType);
31802
+ const namesOfType = arrayFrom(opt.type.keys());
31803
+ const stringNames = (opt.deprecatedKeys ? namesOfType.filter((k) => !opt.deprecatedKeys.has(k)) : namesOfType).map((key) => `'${key}'`).join(", ");
31804
+ return createDiagnostic(Diagnostics.Argument_for_0_option_must_be_Colon_1, `--${opt.name}`, stringNames);
31787
31805
  }
31788
31806
  function parseCustomTypeOption(opt, value, errors) {
31789
31807
  return convertJsonOptionOfCustomType(opt, trimString(value || ""), errors);
@@ -33009,7 +33027,7 @@ function getExtendsConfigPath(extendedConfig, host, basePath, errors, createDiag
33009
33027
  }
33010
33028
  return extendedConfigPath;
33011
33029
  }
33012
- const resolved = nodeModuleNameResolver(extendedConfig, combinePaths(basePath, "tsconfig.json"), { moduleResolution: 2 /* NodeJs */ }, host, void 0, void 0, true);
33030
+ const resolved = nodeModuleNameResolver(extendedConfig, combinePaths(basePath, "tsconfig.json"), { moduleResolution: 2 /* Node10 */ }, host, void 0, void 0, true);
33013
33031
  if (resolved.resolvedModule) {
33014
33032
  return resolved.resolvedModule.resolvedFileName;
33015
33033
  }
@@ -34145,7 +34163,7 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
34145
34163
  if (moduleResolution === void 0) {
34146
34164
  switch (getEmitModuleKind(compilerOptions)) {
34147
34165
  case 1 /* CommonJS */:
34148
- moduleResolution = 2 /* NodeJs */;
34166
+ moduleResolution = 2 /* Node10 */;
34149
34167
  break;
34150
34168
  case 100 /* Node16 */:
34151
34169
  moduleResolution = 3 /* Node16 */;
@@ -34173,7 +34191,7 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
34173
34191
  case 99 /* NodeNext */:
34174
34192
  result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
34175
34193
  break;
34176
- case 2 /* NodeJs */:
34194
+ case 2 /* Node10 */:
34177
34195
  result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
34178
34196
  break;
34179
34197
  case 1 /* Classic */:
@@ -34362,7 +34380,7 @@ function tryResolveJSModuleWorker(moduleName, initialDir, host) {
34362
34380
  0 /* None */,
34363
34381
  moduleName,
34364
34382
  initialDir,
34365
- { moduleResolution: 2 /* NodeJs */, allowJs: true },
34383
+ { moduleResolution: 2 /* Node10 */, allowJs: true },
34366
34384
  host,
34367
34385
  void 0,
34368
34386
  2 /* JavaScript */,
@@ -34415,7 +34433,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
34415
34433
  trace(host, Diagnostics.Resolving_in_0_mode_with_conditions_1, features & 32 /* EsmMode */ ? "ESM" : "CJS", conditions.map((c) => `'${c}'`).join(", "));
34416
34434
  }
34417
34435
  let result;
34418
- if (getEmitModuleResolutionKind(compilerOptions) === 2 /* NodeJs */) {
34436
+ if (getEmitModuleResolutionKind(compilerOptions) === 2 /* Node10 */) {
34419
34437
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
34420
34438
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
34421
34439
  result = priorityExtensions && tryResolve(priorityExtensions) || secondaryExtensions && tryResolve(secondaryExtensions) || void 0;
@@ -38991,8 +39009,8 @@ var intrinsicTypeKinds = new Map(getEntries({
38991
39009
  Capitalize: 2 /* Capitalize */,
38992
39010
  Uncapitalize: 3 /* Uncapitalize */
38993
39011
  }));
38994
- function SymbolLinks() {
38995
- }
39012
+ var SymbolLinks = class {
39013
+ };
38996
39014
  function NodeLinks() {
38997
39015
  this.flags = 0 /* None */;
38998
39016
  }
@@ -39847,7 +39865,8 @@ function createTypeChecker(host) {
39847
39865
  function createSymbol(flags, name, checkFlags) {
39848
39866
  symbolCount++;
39849
39867
  const symbol = new Symbol12(flags | 33554432 /* Transient */, name);
39850
- symbol.checkFlags = checkFlags || 0 /* None */;
39868
+ symbol.links = new SymbolLinks();
39869
+ symbol.links.checkFlags = checkFlags || 0 /* None */;
39851
39870
  return symbol;
39852
39871
  }
39853
39872
  function getExcludedSymbolFlags(flags) {
@@ -40072,10 +40091,11 @@ function createTypeChecker(host) {
40072
40091
  }
40073
40092
  }
40074
40093
  function getSymbolLinks(symbol) {
40094
+ var _a2;
40075
40095
  if (symbol.flags & 33554432 /* Transient */)
40076
- return symbol;
40096
+ return symbol.links;
40077
40097
  const id = getSymbolId(symbol);
40078
- return symbolLinks[id] || (symbolLinks[id] = new SymbolLinks());
40098
+ return (_a2 = symbolLinks[id]) != null ? _a2 : symbolLinks[id] = new SymbolLinks();
40079
40099
  }
40080
40100
  function getNodeLinks(node) {
40081
40101
  const nodeId = getNodeId(node);
@@ -41609,7 +41629,7 @@ function createTypeChecker(host) {
41609
41629
  }
41610
41630
  function resolveExternalModuleName(location, moduleReferenceExpression, ignoreErrors) {
41611
41631
  const isClassic = getEmitModuleResolutionKind(compilerOptions) === 1 /* Classic */;
41612
- const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option : Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;
41632
+ const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;
41613
41633
  return resolveExternalModuleNameWorker(location, moduleReferenceExpression, ignoreErrors ? void 0 : errorMessage);
41614
41634
  }
41615
41635
  function resolveExternalModuleNameWorker(location, moduleReferenceExpression, moduleNotFoundError, isForAugmentation = false) {
@@ -41875,8 +41895,8 @@ function createTypeChecker(host) {
41875
41895
  const result = createSymbol(symbol.flags, symbol.escapedName);
41876
41896
  result.declarations = symbol.declarations ? symbol.declarations.slice() : [];
41877
41897
  result.parent = symbol.parent;
41878
- result.target = symbol;
41879
- result.originatingImport = referenceParent;
41898
+ result.links.target = symbol;
41899
+ result.links.originatingImport = referenceParent;
41880
41900
  if (symbol.valueDeclaration)
41881
41901
  result.valueDeclaration = symbol.valueDeclaration;
41882
41902
  if (symbol.constEnumOnlyModule)
@@ -41886,7 +41906,7 @@ function createTypeChecker(host) {
41886
41906
  if (symbol.exports)
41887
41907
  result.exports = new Map(symbol.exports);
41888
41908
  const resolvedModuleType = resolveStructuredTypeMembers(moduleType);
41889
- result.type = createAnonymousType(result, resolvedModuleType.members, emptyArray, emptyArray, resolvedModuleType.indexInfos);
41909
+ result.links.type = createAnonymousType(result, resolvedModuleType.members, emptyArray, emptyArray, resolvedModuleType.indexInfos);
41890
41910
  return result;
41891
41911
  }
41892
41912
  function hasExportAssignmentSymbol(moduleSymbol) {
@@ -43341,7 +43361,7 @@ function createTypeChecker(host) {
43341
43361
  }
43342
43362
  function shouldUsePlaceholderForProperty(propertySymbol, context) {
43343
43363
  var _a2;
43344
- return !!(getCheckFlags(propertySymbol) & 8192 /* ReverseMapped */) && (contains(context.reverseMappedStack, propertySymbol) || ((_a2 = context.reverseMappedStack) == null ? void 0 : _a2[0]) && !(getObjectFlags(last(context.reverseMappedStack).propertyType) & 16 /* Anonymous */));
43364
+ return !!(getCheckFlags(propertySymbol) & 8192 /* ReverseMapped */) && (contains(context.reverseMappedStack, propertySymbol) || ((_a2 = context.reverseMappedStack) == null ? void 0 : _a2[0]) && !(getObjectFlags(last(context.reverseMappedStack).links.propertyType) & 16 /* Anonymous */));
43345
43365
  }
43346
43366
  function addPropertyToElementList(propertySymbol, context, typeElements) {
43347
43367
  var _a2;
@@ -43717,7 +43737,7 @@ function createTypeChecker(host) {
43717
43737
  const params = getTypeParametersOfClassOrInterface(
43718
43738
  parentSymbol.flags & 2097152 /* Alias */ ? resolveAlias(parentSymbol) : parentSymbol
43719
43739
  );
43720
- typeParameterNodes = mapToTypeNodes(map(params, (t) => getMappedType(t, nextSymbol.mapper)), context);
43740
+ typeParameterNodes = mapToTypeNodes(map(params, (t) => getMappedType(t, nextSymbol.links.mapper)), context);
43721
43741
  } else {
43722
43742
  typeParameterNodes = typeParametersToTypeParameterDeclarations(symbol, context);
43723
43743
  }
@@ -46194,7 +46214,7 @@ function createTypeChecker(host) {
46194
46214
  );
46195
46215
  }
46196
46216
  const union = createSymbol(s.flags | exportedMember.flags, name);
46197
- union.type = getUnionType([getTypeOfSymbol(s), getTypeOfSymbol(exportedMember)]);
46217
+ union.links.type = getUnionType([getTypeOfSymbol(s), getTypeOfSymbol(exportedMember)]);
46198
46218
  union.valueDeclaration = exportedMember.valueDeclaration;
46199
46219
  union.declarations = concatenate(exportedMember.declarations, s.declarations);
46200
46220
  members.set(name, union);
@@ -46281,8 +46301,8 @@ function createTypeChecker(host) {
46281
46301
  const text = getPropertyNameFromType(exprType);
46282
46302
  const flags = 4 /* Property */ | (e.initializer ? 16777216 /* Optional */ : 0);
46283
46303
  const symbol = createSymbol(flags, text);
46284
- symbol.type = getTypeFromBindingElement(e, includePatternInType, reportErrors2);
46285
- symbol.bindingElement = e;
46304
+ symbol.links.type = getTypeFromBindingElement(e, includePatternInType, reportErrors2);
46305
+ symbol.links.bindingElement = e;
46286
46306
  members.set(symbol.escapedName, symbol);
46287
46307
  });
46288
46308
  const result = createAnonymousType(void 0, members, emptyArray, emptyArray, stringIndexInfo ? [stringIndexInfo] : emptyArray);
@@ -46390,7 +46410,7 @@ function createTypeChecker(host) {
46390
46410
  const result = createSymbol(fileSymbol.flags, "exports");
46391
46411
  result.declarations = fileSymbol.declarations ? fileSymbol.declarations.slice() : [];
46392
46412
  result.parent = symbol;
46393
- result.target = fileSymbol;
46413
+ result.links.target = fileSymbol;
46394
46414
  if (fileSymbol.valueDeclaration)
46395
46415
  result.valueDeclaration = fileSymbol.valueDeclaration;
46396
46416
  if (fileSymbol.members)
@@ -46556,7 +46576,8 @@ function createTypeChecker(host) {
46556
46576
  if (expando) {
46557
46577
  const merged = mergeJSSymbols(symbol, expando);
46558
46578
  if (merged) {
46559
- symbol = links = merged;
46579
+ symbol = merged;
46580
+ links = merged.links;
46560
46581
  }
46561
46582
  }
46562
46583
  originalLinks.type = links.type = getTypeOfFuncClassEnumModuleWorker(symbol);
@@ -46653,7 +46674,7 @@ function createTypeChecker(host) {
46653
46674
  function getWriteTypeOfSymbol(symbol) {
46654
46675
  const checkFlags = getCheckFlags(symbol);
46655
46676
  if (symbol.flags & 4 /* Property */) {
46656
- return checkFlags & 2 /* SyntheticProperty */ ? checkFlags & 65536 /* DeferredType */ ? getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : symbol.writeType || symbol.type : getTypeOfSymbol(symbol);
46677
+ return checkFlags & 2 /* SyntheticProperty */ ? checkFlags & 65536 /* DeferredType */ ? getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : symbol.links.writeType || symbol.links.type : getTypeOfSymbol(symbol);
46657
46678
  }
46658
46679
  if (symbol.flags & 98304 /* Accessor */) {
46659
46680
  return checkFlags & 1 /* Instantiated */ ? getWriteTypeOfInstantiatedSymbol(symbol) : getWriteTypeOfAccessors(symbol);
@@ -47055,7 +47076,8 @@ function createTypeChecker(host) {
47055
47076
  const kind = symbol.flags & 32 /* Class */ ? 1 /* Class */ : 2 /* Interface */;
47056
47077
  const merged = mergeJSSymbols(symbol, symbol.valueDeclaration && getAssignedClassSymbol(symbol.valueDeclaration));
47057
47078
  if (merged) {
47058
- symbol = links = merged;
47079
+ symbol = merged;
47080
+ links = merged.links;
47059
47081
  }
47060
47082
  const type = originalLinks.declaredType = links.declaredType = createObjectType(kind, symbol);
47061
47083
  const outerTypeParameters = getOuterTypeParametersOfClassOrInterface(symbol);
@@ -47331,7 +47353,7 @@ function createTypeChecker(host) {
47331
47353
  error(declName || decl, Diagnostics.Duplicate_property_0, name);
47332
47354
  lateSymbol = createSymbol(0 /* None */, memberName, 4096 /* Late */);
47333
47355
  }
47334
- lateSymbol.nameType = type;
47356
+ lateSymbol.links.nameType = type;
47335
47357
  addDeclarationToLateBoundSymbol(lateSymbol, decl, symbolFlags);
47336
47358
  if (lateSymbol.parent) {
47337
47359
  Debug.assert(lateSymbol.parent === parent, "Existing symbol parent should match new one");
@@ -47537,7 +47559,7 @@ function createTypeChecker(host) {
47537
47559
  const flags = restType.target.elementFlags[i];
47538
47560
  const checkFlags = flags & 12 /* Variable */ ? 32768 /* RestParameter */ : flags & 2 /* Optional */ ? 16384 /* OptionalParameter */ : 0;
47539
47561
  const symbol = createSymbol(1 /* FunctionScopedVariable */, name, checkFlags);
47540
- symbol.type = flags & 4 /* Rest */ ? createArrayType(t) : t;
47562
+ symbol.links.type = flags & 4 /* Rest */ ? createArrayType(t) : t;
47541
47563
  return symbol;
47542
47564
  });
47543
47565
  return concatenate(sig.parameters.slice(0, restIndex), restParams);
@@ -47697,14 +47719,14 @@ function createTypeChecker(host) {
47697
47719
  1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0),
47698
47720
  paramName || `arg${i}`
47699
47721
  );
47700
- paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
47722
+ paramSymbol.links.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
47701
47723
  params[i] = paramSymbol;
47702
47724
  }
47703
47725
  if (needsExtraRestElement) {
47704
47726
  const restParamSymbol = createSymbol(1 /* FunctionScopedVariable */, "args");
47705
- restParamSymbol.type = createArrayType(getTypeAtPosition(shorter, longestCount));
47727
+ restParamSymbol.links.type = createArrayType(getTypeAtPosition(shorter, longestCount));
47706
47728
  if (shorter === right) {
47707
- restParamSymbol.type = instantiateType(restParamSymbol.type, mapper);
47729
+ restParamSymbol.links.type = instantiateType(restParamSymbol.links.type, mapper);
47708
47730
  }
47709
47731
  params[longestCount] = restParamSymbol;
47710
47732
  }
@@ -47924,16 +47946,16 @@ function createTypeChecker(host) {
47924
47946
  const checkFlags = 8192 /* ReverseMapped */ | (readonlyMask && isReadonlySymbol(prop) ? 8 /* Readonly */ : 0);
47925
47947
  const inferredProp = createSymbol(4 /* Property */ | prop.flags & optionalMask, prop.escapedName, checkFlags);
47926
47948
  inferredProp.declarations = prop.declarations;
47927
- inferredProp.nameType = getSymbolLinks(prop).nameType;
47928
- inferredProp.propertyType = getTypeOfSymbol(prop);
47949
+ inferredProp.links.nameType = getSymbolLinks(prop).nameType;
47950
+ inferredProp.links.propertyType = getTypeOfSymbol(prop);
47929
47951
  if (type.constraintType.type.flags & 8388608 /* IndexedAccess */ && type.constraintType.type.objectType.flags & 262144 /* TypeParameter */ && type.constraintType.type.indexType.flags & 262144 /* TypeParameter */) {
47930
47952
  const newTypeParam = type.constraintType.type.objectType;
47931
47953
  const newMappedType = replaceIndexedAccess(type.mappedType, type.constraintType.type, newTypeParam);
47932
- inferredProp.mappedType = newMappedType;
47933
- inferredProp.constraintType = getIndexType(newTypeParam);
47954
+ inferredProp.links.mappedType = newMappedType;
47955
+ inferredProp.links.constraintType = getIndexType(newTypeParam);
47934
47956
  } else {
47935
- inferredProp.mappedType = type.mappedType;
47936
- inferredProp.constraintType = type.constraintType;
47957
+ inferredProp.links.mappedType = type.mappedType;
47958
+ inferredProp.links.constraintType = type.constraintType;
47937
47959
  }
47938
47960
  members.set(prop.escapedName, inferredProp);
47939
47961
  }
@@ -48009,8 +48031,8 @@ function createTypeChecker(host) {
48009
48031
  const propName = getPropertyNameFromType(propNameType);
48010
48032
  const existingProp = members.get(propName);
48011
48033
  if (existingProp) {
48012
- existingProp.nameType = getUnionType([existingProp.nameType, propNameType]);
48013
- existingProp.keyType = getUnionType([existingProp.keyType, keyType]);
48034
+ existingProp.links.nameType = getUnionType([existingProp.links.nameType, propNameType]);
48035
+ existingProp.links.keyType = getUnionType([existingProp.links.keyType, keyType]);
48014
48036
  } else {
48015
48037
  const modifiersProp = isTypeUsableAsPropertyName(keyType) ? getPropertyOfType(modifiersType, getPropertyNameFromType(keyType)) : void 0;
48016
48038
  const isOptional = !!(templateModifiers & 4 /* IncludeOptional */ || !(templateModifiers & 8 /* ExcludeOptional */) && modifiersProp && modifiersProp.flags & 16777216 /* Optional */);
@@ -48022,11 +48044,11 @@ function createTypeChecker(host) {
48022
48044
  propName,
48023
48045
  lateFlag | 262144 /* Mapped */ | (isReadonly ? 8 /* Readonly */ : 0) | (stripOptional ? 524288 /* StripOptional */ : 0)
48024
48046
  );
48025
- prop.mappedType = type;
48026
- prop.nameType = propNameType;
48027
- prop.keyType = keyType;
48047
+ prop.links.mappedType = type;
48048
+ prop.links.nameType = propNameType;
48049
+ prop.links.keyType = keyType;
48028
48050
  if (modifiersProp) {
48029
- prop.syntheticOrigin = modifiersProp;
48051
+ prop.links.syntheticOrigin = modifiersProp;
48030
48052
  prop.declarations = nameType ? void 0 : modifiersProp.declarations;
48031
48053
  }
48032
48054
  members.set(propName, prop);
@@ -48040,23 +48062,23 @@ function createTypeChecker(host) {
48040
48062
  }
48041
48063
  }
48042
48064
  function getTypeOfMappedSymbol(symbol) {
48043
- if (!symbol.type) {
48044
- const mappedType = symbol.mappedType;
48065
+ if (!symbol.links.type) {
48066
+ const mappedType = symbol.links.mappedType;
48045
48067
  if (!pushTypeResolution(symbol, 0 /* Type */)) {
48046
48068
  mappedType.containsError = true;
48047
48069
  return errorType;
48048
48070
  }
48049
48071
  const templateType = getTemplateTypeFromMappedType(mappedType.target || mappedType);
48050
- const mapper = appendTypeMapping(mappedType.mapper, getTypeParameterFromMappedType(mappedType), symbol.keyType);
48072
+ const mapper = appendTypeMapping(mappedType.mapper, getTypeParameterFromMappedType(mappedType), symbol.links.keyType);
48051
48073
  const propType = instantiateType(templateType, mapper);
48052
- let type = strictNullChecks && symbol.flags & 16777216 /* Optional */ && !maybeTypeOfKind(propType, 32768 /* Undefined */ | 16384 /* Void */) ? getOptionalType(propType, true) : symbol.checkFlags & 524288 /* StripOptional */ ? removeMissingOrUndefinedType(propType) : propType;
48074
+ let type = strictNullChecks && symbol.flags & 16777216 /* Optional */ && !maybeTypeOfKind(propType, 32768 /* Undefined */ | 16384 /* Void */) ? getOptionalType(propType, true) : symbol.links.checkFlags & 524288 /* StripOptional */ ? removeMissingOrUndefinedType(propType) : propType;
48053
48075
  if (!popTypeResolution()) {
48054
48076
  error(currentNode, Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1, symbolToString(symbol), typeToString(mappedType));
48055
48077
  type = errorType;
48056
48078
  }
48057
- symbol.type = type;
48079
+ symbol.links.type = type;
48058
48080
  }
48059
- return symbol.type;
48081
+ return symbol.links.type;
48060
48082
  }
48061
48083
  function getTypeParameterFromMappedType(type) {
48062
48084
  return type.typeParameter || (type.typeParameter = getDeclaredTypeOfTypeParameter(getSymbolOfDeclaration(type.declaration.typeParameter)));
@@ -48471,7 +48493,7 @@ function createTypeChecker(host) {
48471
48493
  return getReducedType(getApparentType(getReducedType(type)));
48472
48494
  }
48473
48495
  function createUnionOrIntersectionProperty(containingType, name, skipObjectFunctionPropertyAugment) {
48474
- var _a2, _b;
48496
+ var _a2, _b, _c;
48475
48497
  let singleProp;
48476
48498
  let propSet;
48477
48499
  let indexTypes;
@@ -48539,10 +48561,11 @@ function createTypeChecker(host) {
48539
48561
  }
48540
48562
  if (!propSet && !(checkFlags & 16 /* ReadPartial */) && !indexTypes) {
48541
48563
  if (mergedInstantiations) {
48542
- const clone2 = createSymbolWithType(singleProp, singleProp.type);
48543
- clone2.parent = (_b = (_a2 = singleProp.valueDeclaration) == null ? void 0 : _a2.symbol) == null ? void 0 : _b.parent;
48544
- clone2.containingType = containingType;
48545
- clone2.mapper = singleProp.mapper;
48564
+ const links = (_a2 = tryCast(singleProp, isTransientSymbol)) == null ? void 0 : _a2.links;
48565
+ const clone2 = createSymbolWithType(singleProp, links == null ? void 0 : links.type);
48566
+ clone2.parent = (_c = (_b = singleProp.valueDeclaration) == null ? void 0 : _b.symbol) == null ? void 0 : _c.parent;
48567
+ clone2.links.containingType = containingType;
48568
+ clone2.links.mapper = links == null ? void 0 : links.mapper;
48546
48569
  return clone2;
48547
48570
  } else {
48548
48571
  return singleProp;
@@ -48584,7 +48607,7 @@ function createTypeChecker(host) {
48584
48607
  }
48585
48608
  addRange(propTypes, indexTypes);
48586
48609
  const result = createSymbol(4 /* Property */ | (optionalFlag != null ? optionalFlag : 0), name, syntheticFlag | checkFlags);
48587
- result.containingType = containingType;
48610
+ result.links.containingType = containingType;
48588
48611
  if (!hasNonUniformValueDeclaration && firstValueDeclaration) {
48589
48612
  result.valueDeclaration = firstValueDeclaration;
48590
48613
  if (firstValueDeclaration.symbol.parent) {
@@ -48592,16 +48615,16 @@ function createTypeChecker(host) {
48592
48615
  }
48593
48616
  }
48594
48617
  result.declarations = declarations;
48595
- result.nameType = nameType;
48618
+ result.links.nameType = nameType;
48596
48619
  if (propTypes.length > 2) {
48597
- result.checkFlags |= 65536 /* DeferredType */;
48598
- result.deferralParent = containingType;
48599
- result.deferralConstituents = propTypes;
48600
- result.deferralWriteConstituents = writeTypes;
48620
+ result.links.checkFlags |= 65536 /* DeferredType */;
48621
+ result.links.deferralParent = containingType;
48622
+ result.links.deferralConstituents = propTypes;
48623
+ result.links.deferralWriteConstituents = writeTypes;
48601
48624
  } else {
48602
- result.type = isUnion ? getUnionType(propTypes) : getIntersectionType(propTypes);
48625
+ result.links.type = isUnion ? getUnionType(propTypes) : getIntersectionType(propTypes);
48603
48626
  if (writeTypes) {
48604
- result.writeType = isUnion ? getUnionType(writeTypes) : getIntersectionType(writeTypes);
48627
+ result.links.writeType = isUnion ? getUnionType(writeTypes) : getIntersectionType(writeTypes);
48605
48628
  }
48606
48629
  }
48607
48630
  return result;
@@ -48938,12 +48961,12 @@ function createTypeChecker(host) {
48938
48961
  const lastParamVariadicType = firstDefined(lastParamTags, (p) => p.typeExpression && isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : void 0);
48939
48962
  const syntheticArgsSymbol = createSymbol(3 /* Variable */, "args", 32768 /* RestParameter */);
48940
48963
  if (lastParamVariadicType) {
48941
- syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type));
48964
+ syntheticArgsSymbol.links.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type));
48942
48965
  } else {
48943
- syntheticArgsSymbol.checkFlags |= 65536 /* DeferredType */;
48944
- syntheticArgsSymbol.deferralParent = neverType;
48945
- syntheticArgsSymbol.deferralConstituents = [anyArrayType];
48946
- syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType];
48966
+ syntheticArgsSymbol.links.checkFlags |= 65536 /* DeferredType */;
48967
+ syntheticArgsSymbol.links.deferralParent = neverType;
48968
+ syntheticArgsSymbol.links.deferralConstituents = [anyArrayType];
48969
+ syntheticArgsSymbol.links.deferralWriteConstituents = [anyArrayType];
48947
48970
  }
48948
48971
  if (lastParamVariadicType) {
48949
48972
  parameters.pop();
@@ -49557,7 +49580,7 @@ function createTypeChecker(host) {
49557
49580
  if (!result) {
49558
49581
  unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */));
49559
49582
  result.parent = parentSymbol;
49560
- result.declaredType = unresolvedType;
49583
+ result.links.declaredType = unresolvedType;
49561
49584
  }
49562
49585
  return result;
49563
49586
  }
@@ -49834,7 +49857,7 @@ function createTypeChecker(host) {
49834
49857
  const importMetaType = getGlobalImportMetaType();
49835
49858
  const metaPropertySymbol = createSymbol(4 /* Property */, "meta", 8 /* Readonly */);
49836
49859
  metaPropertySymbol.parent = symbol;
49837
- metaPropertySymbol.type = importMetaType;
49860
+ metaPropertySymbol.links.type = importMetaType;
49838
49861
  const members = createSymbolTable([metaPropertySymbol]);
49839
49862
  symbol.members = members;
49840
49863
  deferredGlobalImportMetaExpressionType = createAnonymousType(symbol, members, emptyArray, emptyArray, emptyArray);
@@ -50059,8 +50082,8 @@ function createTypeChecker(host) {
50059
50082
  "" + i,
50060
50083
  readonly ? 8 /* Readonly */ : 0
50061
50084
  );
50062
- property.tupleLabelDeclaration = namedMemberDeclarations == null ? void 0 : namedMemberDeclarations[i];
50063
- property.type = typeParameter;
50085
+ property.links.tupleLabelDeclaration = namedMemberDeclarations == null ? void 0 : namedMemberDeclarations[i];
50086
+ property.links.type = typeParameter;
50064
50087
  properties.push(property);
50065
50088
  }
50066
50089
  }
@@ -50068,12 +50091,12 @@ function createTypeChecker(host) {
50068
50091
  const fixedLength = properties.length;
50069
50092
  const lengthSymbol = createSymbol(4 /* Property */, "length", readonly ? 8 /* Readonly */ : 0);
50070
50093
  if (combinedFlags & 12 /* Variable */) {
50071
- lengthSymbol.type = numberType;
50094
+ lengthSymbol.links.type = numberType;
50072
50095
  } else {
50073
50096
  const literalTypes = [];
50074
50097
  for (let i = minLength; i <= arity; i++)
50075
50098
  literalTypes.push(getNumberLiteralType(i));
50076
- lengthSymbol.type = getUnionType(literalTypes);
50099
+ lengthSymbol.links.type = getUnionType(literalTypes);
50077
50100
  }
50078
50101
  properties.push(lengthSymbol);
50079
50102
  const type = createObjectType(8 /* Tuple */ | 4 /* Reference */);
@@ -51667,10 +51690,10 @@ function createTypeChecker(host) {
51667
51690
  const isSetonlyAccessor = prop.flags & 65536 /* SetAccessor */ && !(prop.flags & 32768 /* GetAccessor */);
51668
51691
  const flags = 4 /* Property */ | 16777216 /* Optional */;
51669
51692
  const result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* Readonly */ : 0));
51670
- result.type = isSetonlyAccessor ? undefinedType : addOptionality(getTypeOfSymbol(prop), true);
51693
+ result.links.type = isSetonlyAccessor ? undefinedType : addOptionality(getTypeOfSymbol(prop), true);
51671
51694
  result.declarations = prop.declarations;
51672
- result.nameType = getSymbolLinks(prop).nameType;
51673
- result.syntheticOrigin = prop;
51695
+ result.links.nameType = getSymbolLinks(prop).nameType;
51696
+ result.links.syntheticOrigin = prop;
51674
51697
  members.set(prop.escapedName, result);
51675
51698
  }
51676
51699
  }
@@ -51737,11 +51760,11 @@ function createTypeChecker(host) {
51737
51760
  const declarations = concatenate(leftProp.declarations, rightProp.declarations);
51738
51761
  const flags = 4 /* Property */ | leftProp.flags & 16777216 /* Optional */;
51739
51762
  const result = createSymbol(flags, leftProp.escapedName);
51740
- result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */);
51741
- result.leftSpread = leftProp;
51742
- result.rightSpread = rightProp;
51763
+ result.links.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */);
51764
+ result.links.leftSpread = leftProp;
51765
+ result.links.rightSpread = rightProp;
51743
51766
  result.declarations = declarations;
51744
- result.nameType = getSymbolLinks(leftProp).nameType;
51767
+ result.links.nameType = getSymbolLinks(leftProp).nameType;
51745
51768
  members.set(leftProp.escapedName, result);
51746
51769
  }
51747
51770
  } else {
@@ -51763,10 +51786,10 @@ function createTypeChecker(host) {
51763
51786
  }
51764
51787
  const flags = 4 /* Property */ | prop.flags & 16777216 /* Optional */;
51765
51788
  const result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* Readonly */ : 0));
51766
- result.type = isSetonlyAccessor ? undefinedType : getTypeOfSymbol(prop);
51789
+ result.links.type = isSetonlyAccessor ? undefinedType : getTypeOfSymbol(prop);
51767
51790
  result.declarations = prop.declarations;
51768
- result.nameType = getSymbolLinks(prop).nameType;
51769
- result.syntheticOrigin = prop;
51791
+ result.links.nameType = getSymbolLinks(prop).nameType;
51792
+ result.links.syntheticOrigin = prop;
51770
51793
  return result;
51771
51794
  }
51772
51795
  function getIndexInfoWithReadonly(info, readonly) {
@@ -52131,13 +52154,13 @@ function createTypeChecker(host) {
52131
52154
  const result = createSymbol(symbol.flags, symbol.escapedName, 1 /* Instantiated */ | getCheckFlags(symbol) & (8 /* Readonly */ | 4096 /* Late */ | 16384 /* OptionalParameter */ | 32768 /* RestParameter */));
52132
52155
  result.declarations = symbol.declarations;
52133
52156
  result.parent = symbol.parent;
52134
- result.target = symbol;
52135
- result.mapper = mapper;
52157
+ result.links.target = symbol;
52158
+ result.links.mapper = mapper;
52136
52159
  if (symbol.valueDeclaration) {
52137
52160
  result.valueDeclaration = symbol.valueDeclaration;
52138
52161
  }
52139
52162
  if (links.nameType) {
52140
- result.nameType = links.nameType;
52163
+ result.links.nameType = links.nameType;
52141
52164
  }
52142
52165
  return result;
52143
52166
  }
@@ -55175,7 +55198,7 @@ function createTypeChecker(host) {
55175
55198
  }
55176
55199
  function forEachProperty(prop, callback) {
55177
55200
  if (getCheckFlags(prop) & 6 /* Synthetic */) {
55178
- for (const t of prop.containingType.types) {
55201
+ for (const t of prop.links.containingType.types) {
55179
55202
  const p = getPropertyOfType(t, prop.escapedName);
55180
55203
  const result = p && forEachProperty(p, callback);
55181
55204
  if (result) {
@@ -55589,14 +55612,14 @@ function createTypeChecker(host) {
55589
55612
  const symbol = createSymbol(source.flags, source.escapedName, getCheckFlags(source) & 8 /* Readonly */);
55590
55613
  symbol.declarations = source.declarations;
55591
55614
  symbol.parent = source.parent;
55592
- symbol.type = type;
55593
- symbol.target = source;
55615
+ symbol.links.type = type;
55616
+ symbol.links.target = source;
55594
55617
  if (source.valueDeclaration) {
55595
55618
  symbol.valueDeclaration = source.valueDeclaration;
55596
55619
  }
55597
55620
  const nameType = getSymbolLinks(source).nameType;
55598
55621
  if (nameType) {
55599
- symbol.nameType = nameType;
55622
+ symbol.links.nameType = nameType;
55600
55623
  }
55601
55624
  return symbol;
55602
55625
  }
@@ -55977,7 +56000,7 @@ function createTypeChecker(host) {
55977
56000
  }
55978
56001
  const name = escapeLeadingUnderscores(t.value);
55979
56002
  const literalProp = createSymbol(4 /* Property */, name);
55980
- literalProp.type = anyType;
56003
+ literalProp.links.type = anyType;
55981
56004
  if (t.symbol) {
55982
56005
  literalProp.declarations = t.symbol.declarations;
55983
56006
  literalProp.valueDeclaration = t.symbol.valueDeclaration;
@@ -56025,7 +56048,7 @@ function createTypeChecker(host) {
56025
56048
  function getTypeOfReverseMappedSymbol(symbol) {
56026
56049
  const links = getSymbolLinks(symbol);
56027
56050
  if (!links.type) {
56028
- links.type = inferReverseMappedType(symbol.propertyType, symbol.mappedType, symbol.constraintType);
56051
+ links.type = inferReverseMappedType(symbol.links.propertyType, symbol.links.mappedType, symbol.links.constraintType);
56029
56052
  }
56030
56053
  return links.type;
56031
56054
  }
@@ -57008,10 +57031,10 @@ function createTypeChecker(host) {
57008
57031
  if (type && type.flags & 1048576 /* Union */) {
57009
57032
  const prop = getUnionOrIntersectionProperty(type, name);
57010
57033
  if (prop && getCheckFlags(prop) & 2 /* SyntheticProperty */) {
57011
- if (prop.isDiscriminantProperty === void 0) {
57012
- prop.isDiscriminantProperty = (prop.checkFlags & 192 /* Discriminant */) === 192 /* Discriminant */ && !isGenericType(getTypeOfSymbol(prop));
57034
+ if (prop.links.isDiscriminantProperty === void 0) {
57035
+ prop.links.isDiscriminantProperty = (prop.links.checkFlags & 192 /* Discriminant */) === 192 /* Discriminant */ && !isGenericType(getTypeOfSymbol(prop));
57013
57036
  }
57014
- return !!prop.isDiscriminantProperty;
57037
+ return !!prop.links.isDiscriminantProperty;
57015
57038
  }
57016
57039
  }
57017
57040
  return false;
@@ -57533,7 +57556,7 @@ function createTypeChecker(host) {
57533
57556
  }
57534
57557
  if (symbol.flags & (3 /* Variable */ | 4 /* Property */)) {
57535
57558
  if (getCheckFlags(symbol) & 262144 /* Mapped */) {
57536
- const origin = symbol.syntheticOrigin;
57559
+ const origin = symbol.links.syntheticOrigin;
57537
57560
  if (origin && getExplicitTypeOfSymbol(origin)) {
57538
57561
  return getTypeOfSymbol(symbol);
57539
57562
  }
@@ -59614,7 +59637,7 @@ function createTypeChecker(host) {
59614
59637
  return nameStr !== void 0 && getTypeOfPropertyOfContextualType(thisType, nameStr) || void 0;
59615
59638
  }
59616
59639
  function isCircularMappedProperty(symbol) {
59617
- return !!(getCheckFlags(symbol) & 262144 /* Mapped */ && !symbol.type && findResolutionCycleStartIndex(symbol, 0 /* Type */) >= 0);
59640
+ return !!(getCheckFlags(symbol) & 262144 /* Mapped */ && !symbol.links.type && findResolutionCycleStartIndex(symbol, 0 /* Type */) >= 0);
59618
59641
  }
59619
59642
  function getTypeOfPropertyOfContextualType(type, name, nameType) {
59620
59643
  return mapType(type, (t) => {
@@ -60036,14 +60059,14 @@ function createTypeChecker(host) {
60036
60059
  1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0),
60037
60060
  paramName || `arg${i}`
60038
60061
  );
60039
- paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
60062
+ paramSymbol.links.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
60040
60063
  params[i] = paramSymbol;
60041
60064
  }
60042
60065
  if (needsExtraRestElement) {
60043
60066
  const restParamSymbol = createSymbol(1 /* FunctionScopedVariable */, "args");
60044
- restParamSymbol.type = createArrayType(getTypeAtPosition(shorter, longestCount));
60067
+ restParamSymbol.links.type = createArrayType(getTypeAtPosition(shorter, longestCount));
60045
60068
  if (shorter === right) {
60046
- restParamSymbol.type = instantiateType(restParamSymbol.type, mapper);
60069
+ restParamSymbol.links.type = instantiateType(restParamSymbol.links.type, mapper);
60047
60070
  }
60048
60071
  params[longestCount] = restParamSymbol;
60049
60072
  }
@@ -60274,6 +60297,7 @@ function createTypeChecker(host) {
60274
60297
  return links.immediateTarget;
60275
60298
  }
60276
60299
  function checkObjectLiteral(node, checkMode) {
60300
+ var _a2;
60277
60301
  const inDestructuringPattern = isAssignmentTarget(node);
60278
60302
  checkGrammarObjectLiteralExpression(node, inDestructuringPattern);
60279
60303
  const allPropertiesTable = strictNullChecks ? createSymbolTable() : void 0;
@@ -60316,7 +60340,7 @@ function createTypeChecker(host) {
60316
60340
  const nameType = computedNameType && isTypeUsableAsPropertyName(computedNameType) ? computedNameType : void 0;
60317
60341
  const prop = nameType ? createSymbol(4 /* Property */ | member.flags, getPropertyNameFromType(nameType), checkFlags | 4096 /* Late */) : createSymbol(4 /* Property */ | member.flags, member.escapedName, checkFlags);
60318
60342
  if (nameType) {
60319
- prop.nameType = nameType;
60343
+ prop.links.nameType = nameType;
60320
60344
  }
60321
60345
  if (inDestructuringPattern) {
60322
60346
  const isOptional = memberDecl.kind === 299 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer) || memberDecl.kind === 300 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer;
@@ -60341,8 +60365,8 @@ function createTypeChecker(host) {
60341
60365
  if (member.valueDeclaration) {
60342
60366
  prop.valueDeclaration = member.valueDeclaration;
60343
60367
  }
60344
- prop.type = type;
60345
- prop.target = member;
60368
+ prop.links.type = type;
60369
+ prop.links.target = member;
60346
60370
  member = prop;
60347
60371
  allPropertiesTable == null ? void 0 : allPropertiesTable.set(prop.escapedName, prop);
60348
60372
  if (contextualType && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && (memberDecl.kind === 299 /* PropertyAssignment */ || memberDecl.kind === 171 /* MethodDeclaration */) && isContextSensitive(memberDecl)) {
@@ -60415,7 +60439,7 @@ function createTypeChecker(host) {
60415
60439
  if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) {
60416
60440
  if (!(prop.flags & 16777216 /* Optional */)) {
60417
60441
  error(
60418
- prop.valueDeclaration || prop.bindingElement,
60442
+ prop.valueDeclaration || ((_a2 = tryCast(prop, isTransientSymbol)) == null ? void 0 : _a2.links.bindingElement),
60419
60443
  Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value
60420
60444
  );
60421
60445
  }
@@ -60525,8 +60549,8 @@ function createTypeChecker(host) {
60525
60549
  if (member.valueDeclaration) {
60526
60550
  attributeSymbol.valueDeclaration = member.valueDeclaration;
60527
60551
  }
60528
- attributeSymbol.type = exprType;
60529
- attributeSymbol.target = member;
60552
+ attributeSymbol.links.type = exprType;
60553
+ attributeSymbol.links.target = member;
60530
60554
  attributesTable.set(attributeSymbol.escapedName, attributeSymbol);
60531
60555
  allAttributesTable == null ? void 0 : allAttributesTable.set(attributeSymbol.escapedName, attributeSymbol);
60532
60556
  if (attributeDecl.name.escapedText === jsxChildrenPropertyName) {
@@ -60574,7 +60598,7 @@ function createTypeChecker(host) {
60574
60598
  const contextualType = getApparentTypeOfContextualType(openingLikeElement.attributes, void 0);
60575
60599
  const childrenContextualType = contextualType && getTypeOfPropertyOfContextualType(contextualType, jsxChildrenPropertyName);
60576
60600
  const childrenPropSymbol = createSymbol(4 /* Property */, jsxChildrenPropertyName);
60577
- childrenPropSymbol.type = childrenTypes.length === 1 ? childrenTypes[0] : childrenContextualType && someType(childrenContextualType, isTupleLikeType) ? createTupleType(childrenTypes) : createArrayType(getUnionType(childrenTypes));
60601
+ childrenPropSymbol.links.type = childrenTypes.length === 1 ? childrenTypes[0] : childrenContextualType && someType(childrenContextualType, isTupleLikeType) ? createTupleType(childrenTypes) : createArrayType(getUnionType(childrenTypes));
60578
60602
  childrenPropSymbol.valueDeclaration = factory.createPropertySignature(void 0, unescapeLeadingUnderscores(jsxChildrenPropertyName), void 0, void 0);
60579
60603
  setParent(childrenPropSymbol.valueDeclaration, attributes);
60580
60604
  childrenPropSymbol.valueDeclaration.symbol = childrenPropSymbol;
@@ -60680,7 +60704,7 @@ function createTypeChecker(host) {
60680
60704
  return void 0;
60681
60705
  }
60682
60706
  const isClassic = getEmitModuleResolutionKind(compilerOptions) === 1 /* Classic */;
60683
- const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option : Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;
60707
+ const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;
60684
60708
  const mod = resolveExternalModule(location, runtimeImportSpecifier, errorMessage, location);
60685
60709
  const result = mod && mod !== unknownSymbol ? getMergedSymbol(resolveSymbol(mod)) : void 0;
60686
60710
  if (links) {
@@ -63085,7 +63109,7 @@ function createTypeChecker(host) {
63085
63109
  returnNode ? factory.createTypeReferenceNode(returnNode, void 0) : factory.createKeywordTypeNode(131 /* AnyKeyword */)
63086
63110
  );
63087
63111
  const parameterSymbol = createSymbol(1 /* FunctionScopedVariable */, "props");
63088
- parameterSymbol.type = result;
63112
+ parameterSymbol.links.type = result;
63089
63113
  return createSignature(
63090
63114
  declaration,
63091
63115
  void 0,
@@ -63378,8 +63402,8 @@ function createTypeChecker(host) {
63378
63402
  const memberTable = createSymbolTable();
63379
63403
  const newSymbol = createSymbol(2097152 /* Alias */, "default" /* Default */);
63380
63404
  newSymbol.parent = originalSymbol;
63381
- newSymbol.nameType = getStringLiteralType("default");
63382
- newSymbol.aliasTarget = resolveSymbol(symbol);
63405
+ newSymbol.links.nameType = getStringLiteralType("default");
63406
+ newSymbol.links.aliasTarget = resolveSymbol(symbol);
63383
63407
  memberTable.set("default" /* Default */, newSymbol);
63384
63408
  return createAnonymousType(anonymousSymbol, memberTable, emptyArray, emptyArray, emptyArray);
63385
63409
  }
@@ -63405,7 +63429,7 @@ function createTypeChecker(host) {
63405
63429
  if (hasSyntheticDefault) {
63406
63430
  const anonymousSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */);
63407
63431
  const defaultContainingObject = createDefaultPropertyWrapperForModule(symbol, originalSymbol, anonymousSymbol);
63408
- anonymousSymbol.type = defaultContainingObject;
63432
+ anonymousSymbol.links.type = defaultContainingObject;
63409
63433
  synthType.syntheticType = isValidSpreadType(type) ? getSpreadType(type, defaultContainingObject, anonymousSymbol, 0, false) : defaultContainingObject;
63410
63434
  } else {
63411
63435
  synthType.syntheticType = type;
@@ -63940,7 +63964,7 @@ function createTypeChecker(host) {
63940
63964
  const symbol = createSymbol(0 /* None */, "NewTargetExpression");
63941
63965
  const targetPropertySymbol = createSymbol(4 /* Property */, "target", 8 /* Readonly */);
63942
63966
  targetPropertySymbol.parent = symbol;
63943
- targetPropertySymbol.type = targetType;
63967
+ targetPropertySymbol.links.type = targetType;
63944
63968
  const members = createSymbolTable([targetPropertySymbol]);
63945
63969
  symbol.members = members;
63946
63970
  return createAnonymousType(symbol, members, emptyArray, emptyArray, emptyArray);
@@ -69478,7 +69502,7 @@ function createTypeChecker(host) {
69478
69502
  );
69479
69503
  }
69480
69504
  function getTargetSymbol(s) {
69481
- return getCheckFlags(s) & 1 /* Instantiated */ ? s.target : s;
69505
+ return getCheckFlags(s) & 1 /* Instantiated */ ? s.links.target : s;
69482
69506
  }
69483
69507
  function getClassOrInterfaceDeclarationsOfSymbol(symbol) {
69484
69508
  return filter(symbol.declarations, (d) => d.kind === 260 /* ClassDeclaration */ || d.kind === 261 /* InterfaceDeclaration */);
@@ -71541,7 +71565,7 @@ function createTypeChecker(host) {
71541
71565
  if (getCheckFlags(symbol) & 6 /* Synthetic */) {
71542
71566
  return mapDefined(getSymbolLinks(symbol).containingType.types, (type) => getPropertyOfType(type, symbol.escapedName));
71543
71567
  } else if (symbol.flags & 33554432 /* Transient */) {
71544
- const { leftSpread, rightSpread, syntheticOrigin } = symbol;
71568
+ const { links: { leftSpread, rightSpread, syntheticOrigin } } = symbol;
71545
71569
  return leftSpread ? [leftSpread, rightSpread] : syntheticOrigin ? [syntheticOrigin] : singleElementArray(tryGetTarget(symbol));
71546
71570
  }
71547
71571
  return void 0;
@@ -78786,7 +78810,7 @@ function transformClassFields(context) {
78786
78810
  if (isClassWithConstructorReference) {
78787
78811
  enableSubstitutionForClassAliases();
78788
78812
  const alias = factory2.cloneNode(temp);
78789
- alias.autoGenerateFlags &= ~8 /* ReservedInNestedScopes */;
78813
+ alias.autoGenerate.flags &= ~8 /* ReservedInNestedScopes */;
78790
78814
  classAliases[getOriginalNodeId(node)] = alias;
78791
78815
  }
78792
78816
  setEmitFlags(classExpression, 131072 /* Indented */ | getEmitFlags(classExpression));
@@ -89082,7 +89106,7 @@ function transformModule(context) {
89082
89106
  return factory2.createPropertyAccessExpression(externalHelpersModuleName, node);
89083
89107
  }
89084
89108
  return node;
89085
- } else if (!(isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* AllowNameSubstitution */)) && !isLocalName(node)) {
89109
+ } else if (!(isGeneratedIdentifier(node) && !(node.autoGenerate.flags & 64 /* AllowNameSubstitution */)) && !isLocalName(node)) {
89086
89110
  const exportContainer = resolver.getReferencedExportContainer(node, isExportName(node));
89087
89111
  if (exportContainer && exportContainer.kind === 308 /* SourceFile */) {
89088
89112
  return setTextRange(
@@ -96926,10 +96950,10 @@ function createPrinter(printerOptions = {}, handlers = {}) {
96926
96950
  }
96927
96951
  }
96928
96952
  function generateName(name) {
96929
- if ((name.autoGenerateFlags & 7 /* KindMask */) === 4 /* Node */) {
96930
- return generateNameCached(getNodeForGeneratedName(name), isPrivateIdentifier(name), name.autoGenerateFlags, name.autoGeneratePrefix, name.autoGenerateSuffix);
96953
+ if ((name.autoGenerate.flags & 7 /* KindMask */) === 4 /* Node */) {
96954
+ return generateNameCached(getNodeForGeneratedName(name), isPrivateIdentifier(name), name.autoGenerate.flags, name.autoGenerate.prefix, name.autoGenerate.suffix);
96931
96955
  } else {
96932
- const autoGenerateId = name.autoGenerateId;
96956
+ const autoGenerateId = name.autoGenerate.id;
96933
96957
  return autoGeneratedIdToGeneratedName[autoGenerateId] || (autoGeneratedIdToGeneratedName[autoGenerateId] = makeName(name));
96934
96958
  }
96935
96959
  }
@@ -97112,26 +97136,26 @@ function createPrinter(printerOptions = {}, handlers = {}) {
97112
97136
  }
97113
97137
  }
97114
97138
  function makeName(name) {
97115
- const prefix = formatGeneratedNamePart(name.autoGeneratePrefix, generateName);
97116
- const suffix = formatGeneratedNamePart(name.autoGenerateSuffix);
97117
- switch (name.autoGenerateFlags & 7 /* KindMask */) {
97139
+ const prefix = formatGeneratedNamePart(name.autoGenerate.prefix, generateName);
97140
+ const suffix = formatGeneratedNamePart(name.autoGenerate.suffix);
97141
+ switch (name.autoGenerate.flags & 7 /* KindMask */) {
97118
97142
  case 1 /* Auto */:
97119
- return makeTempVariableName(TempFlags.Auto, !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
97143
+ return makeTempVariableName(TempFlags.Auto, !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
97120
97144
  case 2 /* Loop */:
97121
97145
  Debug.assertNode(name, isIdentifier);
97122
- return makeTempVariableName(TempFlags._i, !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */), false, prefix, suffix);
97146
+ return makeTempVariableName(TempFlags._i, !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */), false, prefix, suffix);
97123
97147
  case 3 /* Unique */:
97124
97148
  return makeUniqueName(
97125
97149
  idText(name),
97126
- name.autoGenerateFlags & 32 /* FileLevel */ ? isFileLevelUniqueName2 : isUniqueName,
97127
- !!(name.autoGenerateFlags & 16 /* Optimistic */),
97128
- !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */),
97150
+ name.autoGenerate.flags & 32 /* FileLevel */ ? isFileLevelUniqueName2 : isUniqueName,
97151
+ !!(name.autoGenerate.flags & 16 /* Optimistic */),
97152
+ !!(name.autoGenerate.flags & 8 /* ReservedInNestedScopes */),
97129
97153
  isPrivateIdentifier(name),
97130
97154
  prefix,
97131
97155
  suffix
97132
97156
  );
97133
97157
  }
97134
- return Debug.fail(`Unsupported GeneratedIdentifierKind: ${Debug.formatEnum(name.autoGenerateFlags & 7 /* KindMask */, GeneratedIdentifierFlags, true)}.`);
97158
+ return Debug.fail(`Unsupported GeneratedIdentifierKind: ${Debug.formatEnum(name.autoGenerate.flags & 7 /* KindMask */, GeneratedIdentifierFlags, true)}.`);
97135
97159
  }
97136
97160
  function pipelineEmitWithComments(hint, node) {
97137
97161
  const pipelinePhase = getNextPipelinePhase(2 /* Comments */, hint, node);
@@ -98720,19 +98744,20 @@ function shouldProgramCreateNewSourceFiles(program, newOptions) {
98720
98744
  return false;
98721
98745
  return optionsHaveChanges(program.getCompilerOptions(), newOptions, sourceFileAffectingCompilerOptions);
98722
98746
  }
98723
- function createCreateProgramOptions(rootNames, options, host, oldProgram, configFileParsingDiagnostics) {
98747
+ function createCreateProgramOptions(rootNames, options, host, oldProgram, configFileParsingDiagnostics, typeScriptVersion2) {
98724
98748
  return {
98725
98749
  rootNames,
98726
98750
  options,
98727
98751
  host,
98728
98752
  oldProgram,
98729
- configFileParsingDiagnostics
98753
+ configFileParsingDiagnostics,
98754
+ typeScriptVersion: typeScriptVersion2
98730
98755
  };
98731
98756
  }
98732
98757
  function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) {
98733
98758
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
98734
98759
  const createProgramOptions = isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions;
98735
- const { rootNames, options, configFileParsingDiagnostics, projectReferences } = createProgramOptions;
98760
+ const { rootNames, options, configFileParsingDiagnostics, projectReferences, typeScriptVersion: typeScriptVersion2 } = createProgramOptions;
98736
98761
  let { oldProgram } = createProgramOptions;
98737
98762
  let processingDefaultLibFiles;
98738
98763
  let processingOtherFiles;
@@ -100491,7 +100516,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
100491
100516
  i++;
100492
100517
  }
100493
100518
  const resolveFrom = combinePaths(currentDirectory, `__lib_node_modules_lookup_${libFileName}__.ts`);
100494
- const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache);
100519
+ const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* Node10 */ }, host, moduleResolutionCache);
100495
100520
  if (localOverrideModuleResult == null ? void 0 : localOverrideModuleResult.resolvedModule) {
100496
100521
  return localOverrideModuleResult.resolvedModule.resolvedFileName;
100497
100522
  }
@@ -100664,6 +100689,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
100664
100689
  } else if (options.incremental && !outputFile && !options.configFilePath) {
100665
100690
  programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified));
100666
100691
  }
100692
+ verifyDeprecatedCompilerOptions();
100667
100693
  verifyProjectReferences();
100668
100694
  if (options.composite) {
100669
100695
  const rootPaths = new Set(rootNames.map(toPath3));
@@ -100774,8 +100800,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
100774
100800
  }
100775
100801
  }
100776
100802
  if (getResolveJsonModule(options)) {
100777
- if (getEmitModuleResolutionKind(options) !== 2 /* NodeJs */ && getEmitModuleResolutionKind(options) !== 3 /* Node16 */ && getEmitModuleResolutionKind(options) !== 99 /* NodeNext */ && getEmitModuleResolutionKind(options) !== 100 /* Bundler */) {
100778
- createDiagnosticForOptionName(Diagnostics.Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy, "resolveJsonModule");
100803
+ if (getEmitModuleResolutionKind(options) === 1 /* Classic */) {
100804
+ createDiagnosticForOptionName(Diagnostics.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic, "resolveJsonModule");
100779
100805
  } else if (!hasJsonModuleEmitEnabled(options)) {
100780
100806
  createDiagnosticForOptionName(Diagnostics.Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext, "resolveJsonModule", "module");
100781
100807
  }
@@ -100883,6 +100909,56 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
100883
100909
  }
100884
100910
  }
100885
100911
  }
100912
+ function verifyDeprecatedCompilerOptions() {
100913
+ const version2 = typeScriptVersion2 || versionMajorMinor;
100914
+ const ignoreDeprecations = options.ignoreDeprecations;
100915
+ if (ignoreDeprecations) {
100916
+ if (ignoreDeprecations === "5.0" /* v5_0 */ && (version2 === "5.0" /* v5_0 */ || version2 === "5.5" /* v5_5 */)) {
100917
+ return;
100918
+ } else {
100919
+ createOptionValueDiagnostic("ignoreDeprecations", Diagnostics.Invalid_value_for_ignoreDeprecations);
100920
+ }
100921
+ }
100922
+ if (options.target === 0 /* ES3 */) {
100923
+ createDeprecatedDiagnosticForOption(version2, "target", "ES3");
100924
+ }
100925
+ if (options.noImplicitUseStrict) {
100926
+ createDeprecatedDiagnosticForOption(version2, "noImplicitUseStrict");
100927
+ }
100928
+ if (options.keyofStringsOnly) {
100929
+ createDeprecatedDiagnosticForOption(version2, "keyofStringsOnly");
100930
+ }
100931
+ if (options.suppressExcessPropertyErrors) {
100932
+ createDeprecatedDiagnosticForOption(version2, "suppressExcessPropertyErrors");
100933
+ }
100934
+ if (options.suppressImplicitAnyIndexErrors) {
100935
+ createDeprecatedDiagnosticForOption(version2, "suppressImplicitAnyIndexErrors");
100936
+ }
100937
+ if (options.noStrictGenericChecks) {
100938
+ createDeprecatedDiagnosticForOption(version2, "noStrictGenericChecks");
100939
+ }
100940
+ if (options.charset) {
100941
+ createDeprecatedDiagnosticForOption(version2, "charset");
100942
+ }
100943
+ if (options.out) {
100944
+ createDeprecatedDiagnosticForOption(version2, "out");
100945
+ }
100946
+ }
100947
+ function createDeprecatedDiagnosticForOption(version2, name, value) {
100948
+ if (version2 === "6.0" /* v6_0 */) {
100949
+ createDiagnosticForOption(!value, name, void 0, Diagnostics.Flag_0_is_deprecated_Please_remove_it_from_your_configuration, value || name);
100950
+ } else {
100951
+ createDiagnosticForOption(
100952
+ !value,
100953
+ name,
100954
+ void 0,
100955
+ Diagnostics.Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_ignoreDeprecations_Colon_2_to_silence_this_error,
100956
+ value || name,
100957
+ "5.5" /* v5_5 */,
100958
+ "5.0" /* v5_0 */
100959
+ );
100960
+ }
100961
+ }
100886
100962
  function createDiagnosticExplainingFile(file, fileProcessingReason, diagnostic, args) {
100887
100963
  var _a3;
100888
100964
  let fileIncludeReasons;