typescript 4.8.0-dev.20220616 → 4.8.0-dev.20220619

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220616";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220619";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -6831,6 +6831,8 @@ var ts;
6831
6831
  Qualified_name_0_is_not_allowed_without_a_leading_param_object_1: diag(8032, ts.DiagnosticCategory.Error, "Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032", "Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),
6832
6832
  A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags: diag(8033, ts.DiagnosticCategory.Error, "A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033", "A JSDoc '@typedef' comment may not contain multiple '@type' tags."),
6833
6833
  The_tag_was_first_specified_here: diag(8034, ts.DiagnosticCategory.Error, "The_tag_was_first_specified_here_8034", "The tag was first specified here."),
6834
+ You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder: diag(8035, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035", "You cannot rename elements that are defined in a 'node_modules' folder."),
6835
+ You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder: diag(8036, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036", "You cannot rename elements that are defined in another 'node_modules' folder."),
6834
6836
  Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),
6835
6837
  Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),
6836
6838
  JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17000, ts.DiagnosticCategory.Error, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."),
@@ -7101,6 +7103,9 @@ var ts;
7101
7103
  For_await_loops_cannot_be_used_inside_a_class_static_block: diag(18038, ts.DiagnosticCategory.Error, "For_await_loops_cannot_be_used_inside_a_class_static_block_18038", "'For await' loops cannot be used inside a class static block."),
7102
7104
  Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block: diag(18039, ts.DiagnosticCategory.Error, "Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039", "Invalid use of '{0}'. It cannot be used inside a class static block."),
7103
7105
  A_return_statement_cannot_be_used_inside_a_class_static_block: diag(18041, ts.DiagnosticCategory.Error, "A_return_statement_cannot_be_used_inside_a_class_static_block_18041", "A 'return' statement cannot be used inside a class static block."),
7106
+ _0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation: diag(18042, ts.DiagnosticCategory.Error, "_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042", "'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),
7107
+ Types_cannot_appear_in_export_declarations_in_JavaScript_files: diag(18043, ts.DiagnosticCategory.Error, "Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043", "Types cannot appear in export declarations in JavaScript files."),
7108
+ _0_is_automatically_exported_here: diag(18044, ts.DiagnosticCategory.Message, "_0_is_automatically_exported_here_18044", "'{0}' is automatically exported here."),
7104
7109
  };
7105
7110
  })(ts || (ts = {}));
7106
7111
  var ts;
@@ -27906,10 +27911,10 @@ var ts;
27906
27911
  setDecoratorContext(false);
27907
27912
  }
27908
27913
  var pos = getNodePos();
27909
- var expr = parseAssignmentExpressionOrHigher();
27914
+ var expr = parseAssignmentExpressionOrHigher(true);
27910
27915
  var operatorToken;
27911
27916
  while ((operatorToken = parseOptionalToken(27))) {
27912
- expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos);
27917
+ expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(true), pos);
27913
27918
  }
27914
27919
  if (saveDecoratorContext) {
27915
27920
  setDecoratorContext(true);
@@ -27917,25 +27922,25 @@ var ts;
27917
27922
  return expr;
27918
27923
  }
27919
27924
  function parseInitializer() {
27920
- return parseOptional(63) ? parseAssignmentExpressionOrHigher() : undefined;
27925
+ return parseOptional(63) ? parseAssignmentExpressionOrHigher(true) : undefined;
27921
27926
  }
27922
- function parseAssignmentExpressionOrHigher() {
27927
+ function parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction) {
27923
27928
  if (isYieldExpression()) {
27924
27929
  return parseYieldExpression();
27925
27930
  }
27926
- var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression();
27931
+ var arrowExpression = tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction);
27927
27932
  if (arrowExpression) {
27928
27933
  return arrowExpression;
27929
27934
  }
27930
27935
  var pos = getNodePos();
27931
27936
  var expr = parseBinaryExpressionOrHigher(0);
27932
27937
  if (expr.kind === 79 && token() === 38) {
27933
- return parseSimpleArrowFunctionExpression(pos, expr, undefined);
27938
+ return parseSimpleArrowFunctionExpression(pos, expr, allowReturnTypeInArrowFunction, undefined);
27934
27939
  }
27935
27940
  if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) {
27936
- return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos);
27941
+ return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction), pos);
27937
27942
  }
27938
- return parseConditionalExpressionRest(expr, pos);
27943
+ return parseConditionalExpressionRest(expr, pos, allowReturnTypeInArrowFunction);
27939
27944
  }
27940
27945
  function isYieldExpression() {
27941
27946
  if (token() === 125) {
@@ -27955,30 +27960,30 @@ var ts;
27955
27960
  nextToken();
27956
27961
  if (!scanner.hasPrecedingLineBreak() &&
27957
27962
  (token() === 41 || isStartOfExpression())) {
27958
- return finishNode(factory.createYieldExpression(parseOptionalToken(41), parseAssignmentExpressionOrHigher()), pos);
27963
+ return finishNode(factory.createYieldExpression(parseOptionalToken(41), parseAssignmentExpressionOrHigher(true)), pos);
27959
27964
  }
27960
27965
  else {
27961
27966
  return finishNode(factory.createYieldExpression(undefined, undefined), pos);
27962
27967
  }
27963
27968
  }
27964
- function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) {
27969
+ function parseSimpleArrowFunctionExpression(pos, identifier, allowReturnTypeInArrowFunction, asyncModifier) {
27965
27970
  ts.Debug.assert(token() === 38, "parseSimpleArrowFunctionExpression should only have been called if we had a =>");
27966
27971
  var parameter = factory.createParameterDeclaration(undefined, undefined, identifier, undefined, undefined, undefined);
27967
27972
  finishNode(parameter, identifier.pos);
27968
27973
  var parameters = createNodeArray([parameter], parameter.pos, parameter.end);
27969
27974
  var equalsGreaterThanToken = parseExpectedToken(38);
27970
- var body = parseArrowFunctionExpressionBody(!!asyncModifier);
27975
+ var body = parseArrowFunctionExpressionBody(!!asyncModifier, allowReturnTypeInArrowFunction);
27971
27976
  var node = factory.createArrowFunction(asyncModifier, undefined, parameters, undefined, equalsGreaterThanToken, body);
27972
27977
  return addJSDocComment(finishNode(node, pos));
27973
27978
  }
27974
- function tryParseParenthesizedArrowFunctionExpression() {
27979
+ function tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
27975
27980
  var triState = isParenthesizedArrowFunctionExpression();
27976
27981
  if (triState === 0) {
27977
27982
  return undefined;
27978
27983
  }
27979
27984
  return triState === 1 ?
27980
- parseParenthesizedArrowFunctionExpression(true) :
27981
- tryParse(parsePossibleParenthesizedArrowFunctionExpression);
27985
+ parseParenthesizedArrowFunctionExpression(true, true) :
27986
+ tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction); });
27982
27987
  }
27983
27988
  function isParenthesizedArrowFunctionExpression() {
27984
27989
  if (token() === 20 || token() === 29 || token() === 131) {
@@ -28075,24 +28080,24 @@ var ts;
28075
28080
  return 2;
28076
28081
  }
28077
28082
  }
28078
- function parsePossibleParenthesizedArrowFunctionExpression() {
28083
+ function parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
28079
28084
  var tokenPos = scanner.getTokenPos();
28080
28085
  if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) {
28081
28086
  return undefined;
28082
28087
  }
28083
- var result = parseParenthesizedArrowFunctionExpression(false);
28088
+ var result = parseParenthesizedArrowFunctionExpression(false, allowReturnTypeInArrowFunction);
28084
28089
  if (!result) {
28085
28090
  (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos);
28086
28091
  }
28087
28092
  return result;
28088
28093
  }
28089
- function tryParseAsyncSimpleArrowFunctionExpression() {
28094
+ function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) {
28090
28095
  if (token() === 131) {
28091
28096
  if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1) {
28092
28097
  var pos = getNodePos();
28093
28098
  var asyncModifier = parseModifiersForArrowFunction();
28094
28099
  var expr = parseBinaryExpressionOrHigher(0);
28095
- return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier);
28100
+ return parseSimpleArrowFunctionExpression(pos, expr, allowReturnTypeInArrowFunction, asyncModifier);
28096
28101
  }
28097
28102
  }
28098
28103
  return undefined;
@@ -28110,7 +28115,7 @@ var ts;
28110
28115
  }
28111
28116
  return 0;
28112
28117
  }
28113
- function parseParenthesizedArrowFunctionExpression(allowAmbiguity) {
28118
+ function parseParenthesizedArrowFunctionExpression(allowAmbiguity, allowReturnTypeInArrowFunction) {
28114
28119
  var pos = getNodePos();
28115
28120
  var hasJSDoc = hasPrecedingJSDocComment();
28116
28121
  var modifiers = parseModifiersForArrowFunction();
@@ -28138,6 +28143,7 @@ var ts;
28138
28143
  return undefined;
28139
28144
  }
28140
28145
  }
28146
+ var hasReturnColon = token() === 58;
28141
28147
  var type = parseReturnType(58, false);
28142
28148
  if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) {
28143
28149
  return undefined;
@@ -28153,12 +28159,17 @@ var ts;
28153
28159
  var lastToken = token();
28154
28160
  var equalsGreaterThanToken = parseExpectedToken(38);
28155
28161
  var body = (lastToken === 38 || lastToken === 18)
28156
- ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier))
28162
+ ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), allowReturnTypeInArrowFunction)
28157
28163
  : parseIdentifier();
28164
+ if (!allowReturnTypeInArrowFunction && hasReturnColon) {
28165
+ if (token() !== 58) {
28166
+ return undefined;
28167
+ }
28168
+ }
28158
28169
  var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body);
28159
28170
  return withJSDoc(finishNode(node, pos), hasJSDoc);
28160
28171
  }
28161
- function parseArrowFunctionExpressionBody(isAsync) {
28172
+ function parseArrowFunctionExpressionBody(isAsync, allowReturnTypeInArrowFunction) {
28162
28173
  if (token() === 18) {
28163
28174
  return parseFunctionBlock(isAsync ? 2 : 0);
28164
28175
  }
@@ -28172,19 +28183,19 @@ var ts;
28172
28183
  var savedTopLevel = topLevel;
28173
28184
  topLevel = false;
28174
28185
  var node = isAsync
28175
- ? doInAwaitContext(parseAssignmentExpressionOrHigher)
28176
- : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher);
28186
+ ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction); })
28187
+ : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction); });
28177
28188
  topLevel = savedTopLevel;
28178
28189
  return node;
28179
28190
  }
28180
- function parseConditionalExpressionRest(leftOperand, pos) {
28191
+ function parseConditionalExpressionRest(leftOperand, pos, allowReturnTypeInArrowFunction) {
28181
28192
  var questionToken = parseOptionalToken(57);
28182
28193
  if (!questionToken) {
28183
28194
  return leftOperand;
28184
28195
  }
28185
28196
  var colonToken;
28186
- return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58), ts.nodeIsPresent(colonToken)
28187
- ? parseAssignmentExpressionOrHigher()
28197
+ return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(false); }), colonToken = parseExpectedToken(58), ts.nodeIsPresent(colonToken)
28198
+ ? parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction)
28188
28199
  : createMissingNode(79, false, ts.Diagnostics._0_expected, ts.tokenToString(58))), pos);
28189
28200
  }
28190
28201
  function parseBinaryExpressionOrHigher(precedence) {
@@ -28854,13 +28865,13 @@ var ts;
28854
28865
  function parseSpreadElement() {
28855
28866
  var pos = getNodePos();
28856
28867
  parseExpected(25);
28857
- var expression = parseAssignmentExpressionOrHigher();
28868
+ var expression = parseAssignmentExpressionOrHigher(true);
28858
28869
  return finishNode(factory.createSpreadElement(expression), pos);
28859
28870
  }
28860
28871
  function parseArgumentOrArrayLiteralElement() {
28861
28872
  return token() === 25 ? parseSpreadElement() :
28862
28873
  token() === 27 ? finishNode(factory.createOmittedExpression(), getNodePos()) :
28863
- parseAssignmentExpressionOrHigher();
28874
+ parseAssignmentExpressionOrHigher(true);
28864
28875
  }
28865
28876
  function parseArgumentExpression() {
28866
28877
  return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement);
@@ -28878,7 +28889,7 @@ var ts;
28878
28889
  var pos = getNodePos();
28879
28890
  var hasJSDoc = hasPrecedingJSDocComment();
28880
28891
  if (parseOptionalToken(25)) {
28881
- var expression = parseAssignmentExpressionOrHigher();
28892
+ var expression = parseAssignmentExpressionOrHigher(true);
28882
28893
  return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc);
28883
28894
  }
28884
28895
  var decorators = parseDecorators();
@@ -28901,13 +28912,13 @@ var ts;
28901
28912
  var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58);
28902
28913
  if (isShorthandPropertyAssignment) {
28903
28914
  var equalsToken = parseOptionalToken(63);
28904
- var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined;
28915
+ var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(true); }) : undefined;
28905
28916
  node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer);
28906
28917
  node.equalsToken = equalsToken;
28907
28918
  }
28908
28919
  else {
28909
28920
  parseExpected(58);
28910
- var initializer = allowInAnd(parseAssignmentExpressionOrHigher);
28921
+ var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(true); });
28911
28922
  node = factory.createPropertyAssignment(name, initializer);
28912
28923
  }
28913
28924
  node.decorators = decorators;
@@ -29070,7 +29081,7 @@ var ts;
29070
29081
  }
29071
29082
  var node;
29072
29083
  if (awaitToken ? parseExpected(160) : parseOptional(160)) {
29073
- var expression = allowInAnd(parseAssignmentExpressionOrHigher);
29084
+ var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(true); });
29074
29085
  parseExpected(21);
29075
29086
  node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement());
29076
29087
  }
@@ -30128,7 +30139,7 @@ var ts;
30128
30139
  var pos = getNodePos();
30129
30140
  var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10);
30130
30141
  parseExpected(58);
30131
- var value = parseAssignmentExpressionOrHigher();
30142
+ var value = parseAssignmentExpressionOrHigher(true);
30132
30143
  return finishNode(factory.createAssertEntry(name, value), pos);
30133
30144
  }
30134
30145
  function parseAssertClause(skipAssertKeyword) {
@@ -30324,7 +30335,7 @@ var ts;
30324
30335
  else {
30325
30336
  parseExpected(88);
30326
30337
  }
30327
- var expression = parseAssignmentExpressionOrHigher();
30338
+ var expression = parseAssignmentExpressionOrHigher(true);
30328
30339
  parseSemicolon();
30329
30340
  setAwaitContext(savedAwaitContext);
30330
30341
  var node = factory.createExportAssignment(modifiers, isExportEquals, expression);
@@ -40065,9 +40076,9 @@ var ts;
40065
40076
  return moduleSpecifier && resolveExternalModuleName(moduleSpecifier, moduleSpecifier, true);
40066
40077
  },
40067
40078
  resolveExternalModuleSymbol: resolveExternalModuleSymbol,
40068
- tryGetThisTypeAt: function (nodeIn, includeGlobalThis) {
40079
+ tryGetThisTypeAt: function (nodeIn, includeGlobalThis, container) {
40069
40080
  var node = ts.getParseTreeNode(nodeIn);
40070
- return node && tryGetThisTypeAt(node, includeGlobalThis);
40081
+ return node && tryGetThisTypeAt(node, includeGlobalThis, container);
40071
40082
  },
40072
40083
  getTypeArgumentConstraint: function (nodeIn) {
40073
40084
  var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode);
@@ -49167,7 +49178,7 @@ var ts;
49167
49178
  }
49168
49179
  if (t.flags & 268435456) {
49169
49180
  var constraint = getBaseConstraint(t.type);
49170
- return constraint ? getStringMappingType(t.symbol, constraint) : stringType;
49181
+ return constraint && constraint !== t.type ? getStringMappingType(t.symbol, constraint) : stringType;
49171
49182
  }
49172
49183
  if (t.flags & 8388608) {
49173
49184
  if (isMappedTypeGenericIndexedAccess(t)) {
@@ -51798,9 +51809,11 @@ var ts;
51798
51809
  }
51799
51810
  function getStringMappingType(symbol, type) {
51800
51811
  return type.flags & (1048576 | 131072) ? mapType(type, function (t) { return getStringMappingType(symbol, t); }) :
51801
- isGenericIndexType(type) ? getStringMappingTypeForGenericType(symbol, type) :
51802
- type.flags & 128 ? getStringLiteralType(applyStringMapping(symbol, type.value)) :
51803
- type;
51812
+ type.flags & 268435456 && symbol === type.symbol ? type :
51813
+ isGenericIndexType(type) || isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, isPatternLiteralPlaceholderType(type) && !(type.flags & 268435456) ? getTemplateLiteralType(["", ""], [type]) : type) :
51814
+ type.flags & 128 ? getStringLiteralType(applyStringMapping(symbol, type.value)) :
51815
+ type.flags & 134217728 ? getTemplateLiteralType.apply(void 0, applyTemplateStringMapping(symbol, type.texts, type.types)) :
51816
+ type;
51804
51817
  }
51805
51818
  function applyStringMapping(symbol, str) {
51806
51819
  switch (intrinsicTypeKinds.get(symbol.escapedName)) {
@@ -51811,6 +51824,15 @@ var ts;
51811
51824
  }
51812
51825
  return str;
51813
51826
  }
51827
+ function applyTemplateStringMapping(symbol, texts, types) {
51828
+ switch (intrinsicTypeKinds.get(symbol.escapedName)) {
51829
+ case 0: return [texts.map(function (t) { return t.toUpperCase(); }), types.map(function (t) { return getStringMappingType(symbol, t); })];
51830
+ case 1: return [texts.map(function (t) { return t.toLowerCase(); }), types.map(function (t) { return getStringMappingType(symbol, t); })];
51831
+ case 2: return [texts[0] === "" ? texts : __spreadArray([texts[0].charAt(0).toUpperCase() + texts[0].slice(1)], texts.slice(1), true), texts[0] === "" ? __spreadArray([getStringMappingType(symbol, types[0])], types.slice(1), true) : types];
51832
+ case 3: return [texts[0] === "" ? texts : __spreadArray([texts[0].charAt(0).toLowerCase() + texts[0].slice(1)], texts.slice(1), true), texts[0] === "" ? __spreadArray([getStringMappingType(symbol, types[0])], types.slice(1), true) : types];
51833
+ }
51834
+ return [texts, types];
51835
+ }
51814
51836
  function getStringMappingTypeForGenericType(symbol, type) {
51815
51837
  var id = getSymbolId(symbol) + "," + getTypeId(type);
51816
51838
  var result = stringMappingTypes.get(id);
@@ -52040,7 +52062,7 @@ var ts;
52040
52062
  accessNode;
52041
52063
  }
52042
52064
  function isPatternLiteralPlaceholderType(type) {
52043
- return !!(type.flags & (1 | 4 | 8 | 64));
52065
+ return !!(type.flags & (1 | 4 | 8 | 64)) || !!(type.flags & 268435456 && isPatternLiteralPlaceholderType(type.type));
52044
52066
  }
52045
52067
  function isPatternLiteralType(type) {
52046
52068
  return !!(type.flags & 134217728) && ts.every(type.types, isPatternLiteralPlaceholderType);
@@ -55262,6 +55284,13 @@ var ts;
55262
55284
  return -1;
55263
55285
  }
55264
55286
  }
55287
+ else if (target.flags & 268435456) {
55288
+ if (!(source.flags & 268435456)) {
55289
+ if (isMemberOfStringMapping(source, target)) {
55290
+ return -1;
55291
+ }
55292
+ }
55293
+ }
55265
55294
  if (sourceFlags & 8650752) {
55266
55295
  if (!(sourceFlags & 8388608 && targetFlags & 8388608)) {
55267
55296
  var constraint = getConstraintOfType(source) || unknownType;
@@ -55300,7 +55329,10 @@ var ts;
55300
55329
  }
55301
55330
  }
55302
55331
  else if (sourceFlags & 268435456) {
55303
- if (targetFlags & 268435456 && source.symbol === target.symbol) {
55332
+ if (targetFlags & 268435456) {
55333
+ if (source.symbol !== target.symbol) {
55334
+ return 0;
55335
+ }
55304
55336
  if (result = isRelatedTo(source.type, target.type, 3, reportErrors)) {
55305
55337
  resetErrorInfo(saveErrorInfo);
55306
55338
  return result;
@@ -56096,7 +56128,7 @@ var ts;
56096
56128
  return typeCouldHaveTopLevelSingletonTypes(constraint);
56097
56129
  }
56098
56130
  }
56099
- return isUnitType(type) || !!(type.flags & 134217728);
56131
+ return isUnitType(type) || !!(type.flags & 134217728) || !!(type.flags & 268435456);
56100
56132
  }
56101
56133
  function getExactOptionalUnassignableProperties(source, target) {
56102
56134
  if (isTupleType(source) && isTupleType(target))
@@ -57363,6 +57395,24 @@ var ts;
57363
57395
  return success && result === 9 && scanner.getTextPos() === (s.length + 1) && !(flags & 512)
57364
57396
  && (!roundTripOnly || s === ts.pseudoBigIntToString({ negative: negative, base10Value: ts.parsePseudoBigInt(scanner.getTokenValue()) }));
57365
57397
  }
57398
+ function isMemberOfStringMapping(source, target) {
57399
+ if (target.flags & (4 | 3)) {
57400
+ return true;
57401
+ }
57402
+ if (target.flags & 134217728) {
57403
+ return isTypeAssignableTo(source, target);
57404
+ }
57405
+ if (target.flags & 268435456) {
57406
+ var mappingStack = [];
57407
+ while (target.flags & 268435456) {
57408
+ mappingStack.unshift(target.symbol);
57409
+ target = target.type;
57410
+ }
57411
+ var mappedSource = ts.reduceLeft(mappingStack, function (memo, value) { return getStringMappingType(value, memo); }, source);
57412
+ return mappedSource === source && isMemberOfStringMapping(source, target);
57413
+ }
57414
+ return false;
57415
+ }
57366
57416
  function isValidTypeForTemplateLiteralPlaceholder(source, target) {
57367
57417
  if (source === target || target.flags & (1 | 4)) {
57368
57418
  return true;
@@ -57371,7 +57421,8 @@ var ts;
57371
57421
  var value = source.value;
57372
57422
  return !!(target.flags & 8 && isValidNumberString(value, false) ||
57373
57423
  target.flags & 64 && isValidBigIntString(value, false) ||
57374
- target.flags & (512 | 98304) && value === target.intrinsicName);
57424
+ target.flags & (512 | 98304) && value === target.intrinsicName ||
57425
+ target.flags & 268435456 && isMemberOfStringMapping(getStringLiteralType(value), target));
57375
57426
  }
57376
57427
  if (source.flags & 134217728) {
57377
57428
  var texts = source.texts;
@@ -71838,10 +71889,35 @@ var ts;
71838
71889
  return true;
71839
71890
  }
71840
71891
  function checkAliasSymbol(node) {
71892
+ var _a, _b, _c, _d, _e;
71841
71893
  var symbol = getSymbolOfNode(node);
71842
71894
  var target = resolveAlias(symbol);
71843
71895
  if (target !== unknownSymbol) {
71844
71896
  symbol = getMergedSymbol(symbol.exportSymbol || symbol);
71897
+ if (ts.isInJSFile(node) && !(target.flags & 111551) && !ts.isTypeOnlyImportOrExportDeclaration(node)) {
71898
+ var errorNode = ts.isImportOrExportSpecifier(node) ? node.propertyName || node.name :
71899
+ ts.isNamedDeclaration(node) ? node.name :
71900
+ node;
71901
+ ts.Debug.assert(node.kind !== 274);
71902
+ if (node.kind === 275) {
71903
+ var diag = error(errorNode, ts.Diagnostics.Types_cannot_appear_in_export_declarations_in_JavaScript_files);
71904
+ var alreadyExportedSymbol = (_b = (_a = ts.getSourceFileOfNode(node).symbol) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.get((node.propertyName || node.name).escapedText);
71905
+ if (alreadyExportedSymbol === target) {
71906
+ var exportingDeclaration = (_c = alreadyExportedSymbol.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isJSDocNode);
71907
+ if (exportingDeclaration) {
71908
+ ts.addRelatedInfo(diag, ts.createDiagnosticForNode(exportingDeclaration, ts.Diagnostics._0_is_automatically_exported_here, ts.unescapeLeadingUnderscores(alreadyExportedSymbol.escapedName)));
71909
+ }
71910
+ }
71911
+ }
71912
+ else {
71913
+ ts.Debug.assert(node.kind !== 254);
71914
+ var importDeclaration = ts.findAncestor(node, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration));
71915
+ var moduleSpecifier = (_e = (importDeclaration && ((_d = ts.tryGetModuleSpecifierFromDeclaration(importDeclaration)) === null || _d === void 0 ? void 0 : _d.text))) !== null && _e !== void 0 ? _e : "...";
71916
+ var importedIdentifier = ts.unescapeLeadingUnderscores(ts.isIdentifier(errorNode) ? errorNode.escapedText : symbol.escapedName);
71917
+ error(errorNode, ts.Diagnostics._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation, importedIdentifier, "import(\"" + moduleSpecifier + "\")." + importedIdentifier);
71918
+ }
71919
+ return;
71920
+ }
71845
71921
  var excludedMeanings = (symbol.flags & (111551 | 1048576) ? 111551 : 0) |
71846
71922
  (symbol.flags & 788968 ? 788968 : 0) |
71847
71923
  (symbol.flags & 1920 ? 1920 : 0);