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

Function getTypeAtFlowCall

test/fixtures/snapshot/typescript.js:70501–70518  ·  view source on GitHub ↗
(flow)

Source from the content-addressed store, hash-verified

70499 return narrowType(type, node, /*assumeTrue*/ true);
70500 }
70501 function getTypeAtFlowCall(flow) {
70502 var signature = getEffectsSignature(flow.node);
70503 if (signature) {
70504 var predicate = getTypePredicateOfSignature(signature);
70505 if (predicate && (predicate.kind === 2 /* TypePredicateKind.AssertsThis */ || predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */)) {
70506 var flowType = getTypeAtFlowNode(flow.antecedent);
70507 var type = finalizeEvolvingArrayType(getTypeFromFlowType(flowType));
70508 var narrowedType = predicate.type ? narrowTypeByTypePredicate(type, predicate, flow.node, /*assumeTrue*/ true) :
70509 predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ && predicate.parameterIndex >= 0 && predicate.parameterIndex < flow.node.arguments.length ? narrowTypeByAssertion(type, flow.node.arguments[predicate.parameterIndex]) :
70510 type;
70511 return narrowedType === type ? flowType : createFlowType(narrowedType, isIncomplete(flowType));
70512 }
70513 if (getReturnTypeOfSignature(signature).flags & 131072 /* TypeFlags.Never */) {
70514 return unreachableNeverType;
70515 }
70516 }
70517 return undefined;
70518 }
70519 function getTypeAtFlowArrayMutation(flow) {
70520 if (declaredType === autoType || declaredType === autoArrayType) {
70521 var node = flow.node;

Callers 1

getTypeAtFlowNodeFunction · 0.85

Calls 10

getEffectsSignatureFunction · 0.85
getTypeAtFlowNodeFunction · 0.85
getTypeFromFlowTypeFunction · 0.85
narrowTypeByAssertionFunction · 0.85
createFlowTypeFunction · 0.85
isIncompleteFunction · 0.85
getReturnTypeOfSignatureFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…