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

Function instantiateTypeWorker

test/fixtures/snapshot/typescript.js:63650–63714  ·  view source on GitHub ↗
(type, mapper, aliasSymbol, aliasTypeArguments)

Source from the content-addressed store, hash-verified

63648 return result;
63649 }
63650 function instantiateTypeWorker(type, mapper, aliasSymbol, aliasTypeArguments) {
63651 var flags = type.flags;
63652 if (flags & 262144 /* TypeFlags.TypeParameter */) {
63653 return getMappedType(type, mapper);
63654 }
63655 if (flags & 524288 /* TypeFlags.Object */) {
63656 var objectFlags = type.objectFlags;
63657 if (objectFlags & (4 /* ObjectFlags.Reference */ | 16 /* ObjectFlags.Anonymous */ | 32 /* ObjectFlags.Mapped */)) {
63658 if (objectFlags & 4 /* ObjectFlags.Reference */ && !type.node) {
63659 var resolvedTypeArguments = type.resolvedTypeArguments;
63660 var newTypeArguments = instantiateTypes(resolvedTypeArguments, mapper);
63661 return newTypeArguments !== resolvedTypeArguments ? createNormalizedTypeReference(type.target, newTypeArguments) : type;
63662 }
63663 if (objectFlags & 1024 /* ObjectFlags.ReverseMapped */) {
63664 return instantiateReverseMappedType(type, mapper);
63665 }
63666 return getObjectTypeInstantiation(type, mapper, aliasSymbol, aliasTypeArguments);
63667 }
63668 return type;
63669 }
63670 if (flags & 3145728 /* TypeFlags.UnionOrIntersection */) {
63671 var origin = type.flags & 1048576 /* TypeFlags.Union */ ? type.origin : undefined;
63672 var types = origin && origin.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? origin.types : type.types;
63673 var newTypes = instantiateTypes(types, mapper);
63674 if (newTypes === types && aliasSymbol === type.aliasSymbol) {
63675 return type;
63676 }
63677 var newAliasSymbol = aliasSymbol || type.aliasSymbol;
63678 var newAliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper);
63679 return flags & 2097152 /* TypeFlags.Intersection */ || origin && origin.flags & 2097152 /* TypeFlags.Intersection */ ?
63680 getIntersectionType(newTypes, newAliasSymbol, newAliasTypeArguments) :
63681 getUnionType(newTypes, 1 /* UnionReduction.Literal */, newAliasSymbol, newAliasTypeArguments);
63682 }
63683 if (flags & 4194304 /* TypeFlags.Index */) {
63684 return getIndexType(instantiateType(type.type, mapper));
63685 }
63686 if (flags & 134217728 /* TypeFlags.TemplateLiteral */) {
63687 return getTemplateLiteralType(type.texts, instantiateTypes(type.types, mapper));
63688 }
63689 if (flags & 268435456 /* TypeFlags.StringMapping */) {
63690 return getStringMappingType(type.symbol, instantiateType(type.type, mapper));
63691 }
63692 if (flags & 8388608 /* TypeFlags.IndexedAccess */) {
63693 var newAliasSymbol = aliasSymbol || type.aliasSymbol;
63694 var newAliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper);
63695 return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper), type.accessFlags, /*accessNode*/ undefined, newAliasSymbol, newAliasTypeArguments);
63696 }
63697 if (flags & 16777216 /* TypeFlags.Conditional */) {
63698 return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper), aliasSymbol, aliasTypeArguments);
63699 }
63700 if (flags & 33554432 /* TypeFlags.Substitution */) {
63701 var maybeVariable = instantiateType(type.baseType, mapper);
63702 if (maybeVariable.flags & 8650752 /* TypeFlags.TypeVariable */) {
63703 return getSubstitutionType(maybeVariable, instantiateType(type.substitute, mapper));
63704 }
63705 else {
63706 var sub = instantiateType(type.substitute, mapper);
63707 if (sub.flags & 3 /* TypeFlags.AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) {

Callers 1

instantiateTypeWithAliasFunction · 0.85

Calls 15

getMappedTypeFunction · 0.85
instantiateTypesFunction · 0.85
getIntersectionTypeFunction · 0.85
getUnionTypeFunction · 0.85
getIndexTypeFunction · 0.85
instantiateTypeFunction · 0.85
getTemplateLiteralTypeFunction · 0.85
getStringMappingTypeFunction · 0.85
getIndexedAccessTypeFunction · 0.85

Tested by

no test coverage detected