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

Function getTypePredicateOfSignature

test/fixtures/snapshot/typescript.js:59819–59844  ·  view source on GitHub ↗
(signature)

Source from the content-addressed store, hash-verified

59817 }
59818 }
59819 function getTypePredicateOfSignature(signature) {
59820 if (!signature.resolvedTypePredicate) {
59821 if (signature.target) {
59822 var targetTypePredicate = getTypePredicateOfSignature(signature.target);
59823 signature.resolvedTypePredicate = targetTypePredicate ? instantiateTypePredicate(targetTypePredicate, signature.mapper) : noTypePredicate;
59824 }
59825 else if (signature.compositeSignatures) {
59826 signature.resolvedTypePredicate = getUnionOrIntersectionTypePredicate(signature.compositeSignatures, signature.compositeKind) || noTypePredicate;
59827 }
59828 else {
59829 var type = signature.declaration && ts.getEffectiveReturnTypeNode(signature.declaration);
59830 var jsdocPredicate = void 0;
59831 if (!type && ts.isInJSFile(signature.declaration)) {
59832 var jsdocSignature = getSignatureOfTypeTag(signature.declaration);
59833 if (jsdocSignature && signature !== jsdocSignature) {
59834 jsdocPredicate = getTypePredicateOfSignature(jsdocSignature);
59835 }
59836 }
59837 signature.resolvedTypePredicate = type && ts.isTypePredicateNode(type) ?
59838 createTypePredicateFromTypePredicateNode(type, signature) :
59839 jsdocPredicate || noTypePredicate;
59840 }
59841 ts.Debug.assert(!!signature.resolvedTypePredicate);
59842 }
59843 return signature.resolvedTypePredicate === noTypePredicate ? undefined : signature.resolvedTypePredicate;
59844 }
59845 function createTypePredicateFromTypePredicateNode(node, signature) {
59846 var parameterName = node.parameterName;
59847 var type = node.type && getTypeFromTypeNode(node.type);

Callers 12

visitSignatureFunction · 0.85
compareSignaturesRelatedFunction · 0.85
applyToReturnTypesFunction · 0.85
getTypeAtFlowCallFunction · 0.85
checkCallExpressionFunction · 0.85
checkTypePredicateFunction · 0.85

Calls 5

instantiateTypePredicateFunction · 0.85
getSignatureOfTypeTagFunction · 0.85
assertMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…