@@ -2304,7 +2304,7 @@ module.exports = __toCommonJS(server_exports);
2304
2304
2305
2305
// src/compiler/corePublic.ts
2306
2306
var versionMajorMinor = "5.1";
2307
- var version = "5.1.5 ";
2307
+ var version = "5.1.6 ";
2308
2308
var Comparison = /* @__PURE__ */ ((Comparison3) => {
2309
2309
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2310
2310
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -57293,19 +57293,13 @@ function createTypeChecker(host) {
57293
57293
if (getObjectFlags(type) & 4 /* Reference */) {
57294
57294
const target = type.target;
57295
57295
const typeArguments = getTypeArguments(type);
57296
- if (length(target.typeParameters) === length(typeArguments)) {
57297
- const ref = createTypeReference(target, concatenate(typeArguments, [thisArgument || target.thisType]));
57298
- return needApparentType ? getApparentType(ref) : ref;
57299
- }
57296
+ return length(target.typeParameters) === length(typeArguments) ? createTypeReference(target, concatenate(typeArguments, [thisArgument || target.thisType])) : type;
57300
57297
} else if (type.flags & 2097152 /* Intersection */) {
57301
57298
const types = sameMap(type.types, (t) => getTypeWithThisArgument(t, thisArgument, needApparentType));
57302
57299
return types !== type.types ? getIntersectionType(types) : type;
57303
57300
}
57304
57301
return needApparentType ? getApparentType(type) : type;
57305
57302
}
57306
- function getThisArgument(type) {
57307
- return getObjectFlags(type) & 4 /* Reference */ && length(getTypeArguments(type)) > getTypeReferenceArity(type) ? last(getTypeArguments(type)) : type;
57308
- }
57309
57303
function resolveObjectTypeMembers(type, source, typeParameters, typeArguments) {
57310
57304
let mapper;
57311
57305
let members;
@@ -58371,7 +58365,7 @@ function createTypeChecker(host) {
58371
58365
return type.resolvedBaseConstraint;
58372
58366
}
58373
58367
const stack = [];
58374
- return type.resolvedBaseConstraint = getTypeWithThisArgument( getImmediateBaseConstraint(type), getThisArgument(type) );
58368
+ return type.resolvedBaseConstraint = getImmediateBaseConstraint(type);
58375
58369
function getImmediateBaseConstraint(t) {
58376
58370
if (!t.immediateBaseConstraint) {
58377
58371
if (!pushTypeResolution(t, 4 /* ImmediateBaseConstraint */)) {
@@ -58463,18 +58457,18 @@ function createTypeChecker(host) {
58463
58457
}
58464
58458
if (isGenericTupleType(t)) {
58465
58459
const newElements = map(getElementTypes(t), (v, i) => {
58466
- const constraint = t.target.elementFlags[i] & 8 /* Variadic */ && getBaseConstraint(v) || v;
58467
- return constraint && everyType(constraint, (c) => isArrayOrTupleType(c) && !isGenericTupleType(c)) ? constraint : v;
58460
+ const constraint = v.flags & 262144 /* TypeParameter */ && t.target.elementFlags[i] & 8 /* Variadic */ && getBaseConstraint(v) || v;
58461
+ return constraint !== v && everyType(constraint, (c) => isArrayOrTupleType(c) && !isGenericTupleType(c)) ? constraint : v;
58468
58462
});
58469
58463
return createTupleType(newElements, t.target.elementFlags, t.target.readonly, t.target.labeledElementDeclarations);
58470
58464
}
58471
58465
return t;
58472
58466
}
58473
58467
}
58474
- function getApparentTypeOfIntersectionType(type) {
58468
+ function getApparentTypeOfIntersectionType(type, thisArgument ) {
58475
58469
return type.resolvedApparentType || (type.resolvedApparentType = getTypeWithThisArgument(
58476
58470
type,
58477
- type ,
58471
+ thisArgument ,
58478
58472
/*needApparentType*/
58479
58473
true
58480
58474
));
@@ -58525,8 +58519,9 @@ function createTypeChecker(host) {
58525
58519
return !!(type.flags & 8388608 /* IndexedAccess */ && getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ && !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) && !(getMappedTypeModifiers(objectType) & 8 /* ExcludeOptional */) && !objectType.declaration.nameType);
58526
58520
}
58527
58521
function getApparentType(type) {
58528
- const t = !(type.flags & 465829888 /* Instantiable */) ? type : getBaseConstraintOfType(type) || unknownType;
58529
- return getObjectFlags(t) & 32 /* Mapped */ ? getApparentTypeOfMappedType(t) : t.flags & 2097152 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : t.flags & 402653316 /* StringLike */ ? globalStringType : t.flags & 296 /* NumberLike */ ? globalNumberType : t.flags & 2112 /* BigIntLike */ ? getGlobalBigIntType() : t.flags & 528 /* BooleanLike */ ? globalBooleanType : t.flags & 12288 /* ESSymbolLike */ ? getGlobalESSymbolType() : t.flags & 67108864 /* NonPrimitive */ ? emptyObjectType : t.flags & 4194304 /* Index */ ? keyofConstraintType : t.flags & 2 /* Unknown */ && !strictNullChecks ? emptyObjectType : t;
58522
+ const t = type.flags & 465829888 /* Instantiable */ ? getBaseConstraintOfType(type) || unknownType : type;
58523
+ const objectFlags = getObjectFlags(t);
58524
+ return objectFlags & 32 /* Mapped */ ? getApparentTypeOfMappedType(t) : objectFlags & 4 /* Reference */ && t !== type ? getTypeWithThisArgument(t, type) : t.flags & 2097152 /* Intersection */ ? getApparentTypeOfIntersectionType(t, type) : t.flags & 402653316 /* StringLike */ ? globalStringType : t.flags & 296 /* NumberLike */ ? globalNumberType : t.flags & 2112 /* BigIntLike */ ? getGlobalBigIntType() : t.flags & 528 /* BooleanLike */ ? globalBooleanType : t.flags & 12288 /* ESSymbolLike */ ? getGlobalESSymbolType() : t.flags & 67108864 /* NonPrimitive */ ? emptyObjectType : t.flags & 4194304 /* Index */ ? keyofConstraintType : t.flags & 2 /* Unknown */ && !strictNullChecks ? emptyObjectType : t;
58530
58525
}
58531
58526
function getReducedApparentType(type) {
58532
58527
return getReducedType(getApparentType(getReducedType(type)));
@@ -65314,7 +65309,7 @@ function createTypeChecker(host) {
65314
65309
return 3 /* Maybe */;
65315
65310
}
65316
65311
const c = target2;
65317
- if (!c.root.inferTypeParameters && !isDistributionDependent(c.root)) {
65312
+ if (!c.root.inferTypeParameters && !isDistributionDependent(c.root) && !(source2.flags & 16777216 /* Conditional */ && source2.root === c.root) ) {
65318
65313
const skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
65319
65314
const skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
65320
65315
if (result2 = skipTrue ? -1 /* True */ : isRelatedTo(
0 commit comments