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

Function instantiateMappedTupleType

test/fixtures/snapshot/typescript.js:63562–63574  ·  view source on GitHub ↗
(tupleType, mappedType, mapper)

Source from the content-addressed store, hash-verified

63560 createArrayType(elementType, getModifiedReadonlyState(isReadonlyArrayType(arrayType), getMappedTypeModifiers(mappedType)));
63561 }
63562 function instantiateMappedTupleType(tupleType, mappedType, mapper) {
63563 var elementFlags = tupleType.target.elementFlags;
63564 var elementTypes = ts.map(getTypeArguments(tupleType), function (_, i) {
63565 return instantiateMappedTypeTemplate(mappedType, getStringLiteralType("" + i), !!(elementFlags[i] & 2 /* ElementFlags.Optional */), mapper);
63566 });
63567 var modifiers = getMappedTypeModifiers(mappedType);
63568 var newTupleModifiers = modifiers & 4 /* MappedTypeModifiers.IncludeOptional */ ? ts.map(elementFlags, function (f) { return f & 1 /* ElementFlags.Required */ ? 2 /* ElementFlags.Optional */ : f; }) :
63569 modifiers & 8 /* MappedTypeModifiers.ExcludeOptional */ ? ts.map(elementFlags, function (f) { return f & 2 /* ElementFlags.Optional */ ? 1 /* ElementFlags.Required */ : f; }) :
63570 elementFlags;
63571 var newReadonly = getModifiedReadonlyState(tupleType.target.readonly, modifiers);
63572 return ts.contains(elementTypes, errorType) ? errorType :
63573 createTupleType(elementTypes, newTupleModifiers, newReadonly, tupleType.target.labeledElementDeclarations);
63574 }
63575 function instantiateMappedTypeTemplate(type, key, isOptional, mapper) {
63576 var templateMapper = appendTypeMapping(mapper, getTypeParameterFromMappedType(type), key);
63577 var propType = instantiateType(getTemplateTypeFromMappedType(type.target || type), templateMapper);

Callers 1

instantiateMappedTypeFunction · 0.85

Calls 8

getTypeArgumentsFunction · 0.85
getStringLiteralTypeFunction · 0.85
getMappedTypeModifiersFunction · 0.85
getModifiedReadonlyStateFunction · 0.85
createTupleTypeFunction · 0.85
mapMethod · 0.65
containsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…