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

Function getBaseSignature

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

Source from the content-addressed store, hash-verified

59981 return getSignatureInstantiation(signature, ts.map(signature.typeParameters, function (tp) { return tp.target && !getConstraintOfTypeParameter(tp.target) ? tp.target : tp; }), ts.isInJSFile(signature.declaration));
59982 }
59983 function getBaseSignature(signature) {
59984 var typeParameters = signature.typeParameters;
59985 if (typeParameters) {
59986 if (signature.baseSignatureCache) {
59987 return signature.baseSignatureCache;
59988 }
59989 var typeEraser = createTypeEraser(typeParameters);
59990 var baseConstraintMapper_1 = createTypeMapper(typeParameters, ts.map(typeParameters, function (tp) { return getConstraintOfTypeParameter(tp) || unknownType; }));
59991 var baseConstraints = ts.map(typeParameters, function (tp) { return instantiateType(tp, baseConstraintMapper_1) || unknownType; });
59992 // Run N type params thru the immediate constraint mapper up to N times
59993 // This way any noncircular interdependent type parameters are definitely resolved to their external dependencies
59994 for (var i = 0; i < typeParameters.length - 1; i++) {
59995 baseConstraints = instantiateTypes(baseConstraints, baseConstraintMapper_1);
59996 }
59997 // and then apply a type eraser to remove any remaining circularly dependent type parameters
59998 baseConstraints = instantiateTypes(baseConstraints, typeEraser);
59999 return signature.baseSignatureCache = instantiateSignature(signature, createTypeMapper(typeParameters, baseConstraints), /*eraseTypeParameters*/ true);
60000 }
60001 return signature;
60002 }
60003 function getOrCreateTypeFromSignature(signature) {
60004 var _a;
60005 // There are two ways to declare a construct signature, one is by declaring a class constructor

Callers 1

inferFromSignaturesFunction · 0.85

Calls 7

createTypeEraserFunction · 0.85
createTypeMapperFunction · 0.85
instantiateTypeFunction · 0.85
instantiateTypesFunction · 0.85
instantiateSignatureFunction · 0.85
mapMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…