MCPcopy Index your code
hub / github.com/nodejs/node / getContextualTypeForBindingElement

Function getContextualTypeForBindingElement

test/fixtures/snapshot/typescript.js:72445–72463  ·  view source on GitHub ↗
(declaration)

Source from the content-addressed store, hash-verified

72443 }
72444 }
72445 function getContextualTypeForBindingElement(declaration) {
72446 var parent = declaration.parent.parent;
72447 var name = declaration.propertyName || declaration.name;
72448 var parentType = getContextualTypeForVariableLikeDeclaration(parent) ||
72449 parent.kind !== 203 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */);
72450 if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name))
72451 return undefined;
72452 if (parent.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) {
72453 var index = ts.indexOfNode(declaration.parent.elements, declaration);
72454 if (index < 0)
72455 return undefined;
72456 return getContextualTypeForElementExpression(parentType, index);
72457 }
72458 var nameType = getLiteralTypeFromPropertyName(name);
72459 if (isTypeUsableAsPropertyName(nameType)) {
72460 var text = getPropertyNameFromType(nameType);
72461 return getTypeOfPropertyOfType(parentType, text);
72462 }
72463 }
72464 function getContextualTypeForStaticPropertyDeclaration(declaration) {
72465 var parentType = ts.isExpression(declaration.parent) && getContextualType(declaration.parent);
72466 if (!parentType)

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…