diff --git a/lib/tsc.js b/lib/tsc.js index 7200b8d96b41d..e8ab826810169 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -20363,6 +20363,10 @@ var ts; return node.kind === 178; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179; } @@ -56083,7 +56087,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728) { - errorOrSuggestion(false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200: + case 160: + case 201: + return getDeprecatedSuggestionNode(node.expression); + case 202: + return getDeprecatedSuggestionNode(node.tag); + case 272: + case 271: + return getDeprecatedSuggestionNode(node.tagName); + case 199: + return node.argumentExpression; + case 198: + return node.name; + case 172: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -58848,8 +58876,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 && symbol.flags & 8) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -62053,9 +62080,7 @@ var ts; && !(node.flags & 8388608)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728); })) { errorOrSuggestion(false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/lib/tsserver.js b/lib/tsserver.js index bd1dce97016bf..173648e829442 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -25446,6 +25446,10 @@ var ts; return node.kind === 178 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191 /* NamedTupleMember */; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179 /* OptionalType */; } @@ -67368,7 +67372,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { - errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200 /* CallExpression */: + case 160 /* Decorator */: + case 201 /* NewExpression */: + return getDeprecatedSuggestionNode(node.expression); + case 202 /* TaggedTemplateExpression */: + return getDeprecatedSuggestionNode(node.tag); + case 272 /* JsxOpeningElement */: + case 271 /* JsxSelfClosingElement */: + return getDeprecatedSuggestionNode(node.tagName); + case 199 /* ElementAccessExpression */: + return node.argumentExpression; + case 198 /* PropertyAccessExpression */: + return node.name; + case 172 /* TypeReference */: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -70474,8 +70502,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -74372,9 +74399,7 @@ var ts; && !(node.flags & 8388608 /* Ambient */)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */ - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) { errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 2600bfaea347f..aad052326e024 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -4306,6 +4306,7 @@ declare namespace ts { function isTypeLiteralNode(node: Node): node is TypeLiteralNode; function isArrayTypeNode(node: Node): node is ArrayTypeNode; function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isNamedTupleMember(node: Node): node is NamedTupleMember; function isOptionalTypeNode(node: Node): node is OptionalTypeNode; function isRestTypeNode(node: Node): node is RestTypeNode; function isUnionTypeNode(node: Node): node is UnionTypeNode; diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index e3e146ce3862c..6326d35eca93d 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -25640,6 +25640,10 @@ var ts; return node.kind === 178 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191 /* NamedTupleMember */; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179 /* OptionalType */; } @@ -67562,7 +67566,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { - errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200 /* CallExpression */: + case 160 /* Decorator */: + case 201 /* NewExpression */: + return getDeprecatedSuggestionNode(node.expression); + case 202 /* TaggedTemplateExpression */: + return getDeprecatedSuggestionNode(node.tag); + case 272 /* JsxOpeningElement */: + case 271 /* JsxSelfClosingElement */: + return getDeprecatedSuggestionNode(node.tagName); + case 199 /* ElementAccessExpression */: + return node.argumentExpression; + case 198 /* PropertyAccessExpression */: + return node.name; + case 172 /* TypeReference */: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -70668,8 +70696,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -74566,9 +74593,7 @@ var ts; && !(node.flags & 8388608 /* Ambient */)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */ - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) { errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index fefe6eda25ff9..67e35224b4b96 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -4306,6 +4306,7 @@ declare namespace ts { function isTypeLiteralNode(node: Node): node is TypeLiteralNode; function isArrayTypeNode(node: Node): node is ArrayTypeNode; function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isNamedTupleMember(node: Node): node is NamedTupleMember; function isOptionalTypeNode(node: Node): node is OptionalTypeNode; function isRestTypeNode(node: Node): node is RestTypeNode; function isUnionTypeNode(node: Node): node is UnionTypeNode; diff --git a/lib/typescript.js b/lib/typescript.js index ac09d5cd5aff9..5068dc484c08d 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -25640,6 +25640,10 @@ var ts; return node.kind === 178 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191 /* NamedTupleMember */; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179 /* OptionalType */; } @@ -67562,7 +67566,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { - errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200 /* CallExpression */: + case 160 /* Decorator */: + case 201 /* NewExpression */: + return getDeprecatedSuggestionNode(node.expression); + case 202 /* TaggedTemplateExpression */: + return getDeprecatedSuggestionNode(node.tag); + case 272 /* JsxOpeningElement */: + case 271 /* JsxSelfClosingElement */: + return getDeprecatedSuggestionNode(node.tagName); + case 199 /* ElementAccessExpression */: + return node.argumentExpression; + case 198 /* PropertyAccessExpression */: + return node.name; + case 172 /* TypeReference */: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -70668,8 +70696,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -74566,9 +74593,7 @@ var ts; && !(node.flags & 8388608 /* Ambient */)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */ - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) { errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/lib/typescriptServices.d.ts b/lib/typescriptServices.d.ts index 4d2143b09486e..85c1d1ce7a8bf 100644 --- a/lib/typescriptServices.d.ts +++ b/lib/typescriptServices.d.ts @@ -4306,6 +4306,7 @@ declare namespace ts { function isTypeLiteralNode(node: Node): node is TypeLiteralNode; function isArrayTypeNode(node: Node): node is ArrayTypeNode; function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isNamedTupleMember(node: Node): node is NamedTupleMember; function isOptionalTypeNode(node: Node): node is OptionalTypeNode; function isRestTypeNode(node: Node): node is RestTypeNode; function isUnionTypeNode(node: Node): node is UnionTypeNode; diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index efaa2e24d16b2..cb19730c9af30 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -25640,6 +25640,10 @@ var ts; return node.kind === 178 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191 /* NamedTupleMember */; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179 /* OptionalType */; } @@ -67562,7 +67566,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { - errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200 /* CallExpression */: + case 160 /* Decorator */: + case 201 /* NewExpression */: + return getDeprecatedSuggestionNode(node.expression); + case 202 /* TaggedTemplateExpression */: + return getDeprecatedSuggestionNode(node.tag); + case 272 /* JsxOpeningElement */: + case 271 /* JsxSelfClosingElement */: + return getDeprecatedSuggestionNode(node.tagName); + case 199 /* ElementAccessExpression */: + return node.argumentExpression; + case 198 /* PropertyAccessExpression */: + return node.name; + case 172 /* TypeReference */: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -70668,8 +70696,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -74566,9 +74593,7 @@ var ts; && !(node.flags & 8388608 /* Ambient */)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */ - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) { errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 0ae3053bfd623..747f0200637ae 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -25435,6 +25435,10 @@ var ts; return node.kind === 178 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; + function isNamedTupleMember(node) { + return node.kind === 191 /* NamedTupleMember */; + } + ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { return node.kind === 179 /* OptionalType */; } @@ -67357,7 +67361,31 @@ var ts; } function checkDeprecatedSignature(signature, node) { if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { - errorOrSuggestion(/*isError*/ false, node, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + var suggestionNode = getDeprecatedSuggestionNode(node); + errorOrSuggestion(/*isError*/ false, suggestionNode, ts.Diagnostics._0_is_deprecated, signatureToString(signature)); + } + } + function getDeprecatedSuggestionNode(node) { + node = ts.skipParentheses(node); + switch (node.kind) { + case 200 /* CallExpression */: + case 160 /* Decorator */: + case 201 /* NewExpression */: + return getDeprecatedSuggestionNode(node.expression); + case 202 /* TaggedTemplateExpression */: + return getDeprecatedSuggestionNode(node.tag); + case 272 /* JsxOpeningElement */: + case 271 /* JsxSelfClosingElement */: + return getDeprecatedSuggestionNode(node.tagName); + case 199 /* ElementAccessExpression */: + return node.argumentExpression; + case 198 /* PropertyAccessExpression */: + return node.name; + case 172 /* TypeReference */: + var typeReference = node; + return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; + default: + return node; } } function isSymbolOrSymbolForCall(node) { @@ -70463,8 +70491,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { - var diagLocation = ts.isTypeReferenceNode(node) && ts.isQualifiedName(node.typeName) ? node.typeName.right : node; - errorOrSuggestion(/* isError */ false, diagLocation, ts.Diagnostics._0_is_deprecated, symbol.escapedName); + errorOrSuggestion(/* isError */ false, getDeprecatedSuggestionNode(node), ts.Diagnostics._0_is_deprecated, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); @@ -74361,9 +74388,7 @@ var ts; && !(node.flags & 8388608 /* Ambient */)) { error(node, ts.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type); } - if (ts.isImportSpecifier(node) && - (target.valueDeclaration && target.valueDeclaration.flags & 134217728 /* Deprecated */ - || ts.every(target.declarations, function (d) { return !!(d.flags & 134217728 /* Deprecated */); }))) { + if (ts.isImportSpecifier(node) && ts.every(target.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); })) { errorOrSuggestion(/* isError */ false, node.name, ts.Diagnostics._0_is_deprecated, symbol.escapedName); } } diff --git a/src/compiler/factory/nodeTests.ts b/src/compiler/factory/nodeTests.ts index 185b4d61e381a..9de08306fa167 100644 --- a/src/compiler/factory/nodeTests.ts +++ b/src/compiler/factory/nodeTests.ts @@ -177,6 +177,10 @@ namespace ts { return node.kind === SyntaxKind.TupleType; } + export function isNamedTupleMember(node: Node): node is NamedTupleMember { + return node.kind === SyntaxKind.NamedTupleMember; + } + export function isOptionalTypeNode(node: Node): node is OptionalTypeNode { return node.kind === SyntaxKind.OptionalType; } diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 2600bfaea347f..aad052326e024 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -4306,6 +4306,7 @@ declare namespace ts { function isTypeLiteralNode(node: Node): node is TypeLiteralNode; function isArrayTypeNode(node: Node): node is ArrayTypeNode; function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isNamedTupleMember(node: Node): node is NamedTupleMember; function isOptionalTypeNode(node: Node): node is OptionalTypeNode; function isRestTypeNode(node: Node): node is RestTypeNode; function isUnionTypeNode(node: Node): node is UnionTypeNode; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index fefe6eda25ff9..67e35224b4b96 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4306,6 +4306,7 @@ declare namespace ts { function isTypeLiteralNode(node: Node): node is TypeLiteralNode; function isArrayTypeNode(node: Node): node is ArrayTypeNode; function isTupleTypeNode(node: Node): node is TupleTypeNode; + function isNamedTupleMember(node: Node): node is NamedTupleMember; function isOptionalTypeNode(node: Node): node is OptionalTypeNode; function isRestTypeNode(node: Node): node is RestTypeNode; function isUnionTypeNode(node: Node): node is UnionTypeNode;