@@ -2286,7 +2286,7 @@ module.exports = __toCommonJS(server_exports);
2286
2286
2287
2287
// src/compiler/corePublic.ts
2288
2288
var versionMajorMinor = "5.0";
2289
- var version = "5.0.2 ";
2289
+ var version = "5.0.3 ";
2290
2290
var Comparison = /* @__PURE__ */ ((Comparison3) => {
2291
2291
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2292
2292
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -41868,7 +41868,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
41868
41868
}
41869
41869
function nodeNextJsonConfigResolver(moduleName, containingFile, host) {
41870
41870
return nodeModuleNameResolverWorker(
41871
- 8 /* Exports */,
41871
+ 30 /* NodeNextDefault */,
41872
41872
moduleName,
41873
41873
getDirectoryPath(containingFile),
41874
41874
{ moduleResolution: 99 /* NodeNext */ },
@@ -57728,9 +57728,10 @@ function createTypeChecker(host) {
57728
57728
setStructuredTypeMembers(type, emptySymbols, emptyArray, emptyArray, emptyArray);
57729
57729
const typeParameter = getTypeParameterFromMappedType(type);
57730
57730
const constraintType = getConstraintTypeFromMappedType(type);
57731
- const nameType = getNameTypeFromMappedType(type.target || type);
57732
- const isFilteringMappedType = nameType && isTypeAssignableTo(nameType, typeParameter);
57733
- const templateType = getTemplateTypeFromMappedType(type.target || type);
57731
+ const mappedType = type.target || type;
57732
+ const nameType = getNameTypeFromMappedType(mappedType);
57733
+ const shouldLinkPropDeclarations = !nameType || isFilteringMappedType(mappedType);
57734
+ const templateType = getTemplateTypeFromMappedType(mappedType);
57734
57735
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
57735
57736
const templateModifiers = getMappedTypeModifiers(type);
57736
57737
const include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */;
@@ -57767,7 +57768,7 @@ function createTypeChecker(host) {
57767
57768
prop.links.keyType = keyType;
57768
57769
if (modifiersProp) {
57769
57770
prop.links.syntheticOrigin = modifiersProp;
57770
- prop.declarations = !nameType || isFilteringMappedType ? modifiersProp.declarations : void 0;
57771
+ prop.declarations = shouldLinkPropDeclarations ? modifiersProp.declarations : void 0;
57771
57772
}
57772
57773
members.set(propName, prop);
57773
57774
}
@@ -57873,6 +57874,10 @@ function createTypeChecker(host) {
57873
57874
}
57874
57875
return false;
57875
57876
}
57877
+ function isFilteringMappedType(type) {
57878
+ const nameType = getNameTypeFromMappedType(type);
57879
+ return !!nameType && isTypeAssignableTo(nameType, getTypeParameterFromMappedType(type));
57880
+ }
57876
57881
function resolveStructuredTypeMembers(type) {
57877
57882
if (!type.members) {
57878
57883
if (type.flags & 524288 /* Object */) {
@@ -60377,6 +60382,12 @@ function createTypeChecker(host) {
60377
60382
i--;
60378
60383
const source = types[i];
60379
60384
if (hasEmptyObject || source.flags & 469499904 /* StructuredOrInstantiable */) {
60385
+ if (source.flags & 262144 /* TypeParameter */ && getBaseConstraintOrType(source).flags & 1048576 /* Union */) {
60386
+ if (isTypeRelatedTo(source, getUnionType(map(types, (t) => t === source ? neverType : t)), strictSubtypeRelation)) {
60387
+ orderedRemoveItemAt(types, i);
60388
+ }
60389
+ continue;
60390
+ }
60380
60391
const keyProperty = source.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */) ? find(getPropertiesOfType(source), (p) => isUnitType(getTypeOfSymbol(p))) : void 0;
60381
60392
const keyPropertyType = keyProperty && getRegularTypeOfLiteralType(getTypeOfSymbol(keyProperty));
60382
60393
for (const target of types) {
@@ -61414,8 +61425,7 @@ function createTypeChecker(host) {
61414
61425
}
61415
61426
}
61416
61427
if (isGenericMappedType(objectType)) {
61417
- const nameType = getNameTypeFromMappedType(objectType);
61418
- if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) {
61428
+ if (!getNameTypeFromMappedType(objectType) || isFilteringMappedType(objectType)) {
61419
61429
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), (t) => getSimplifiedType(t, writing));
61420
61430
}
61421
61431
}
@@ -65914,7 +65924,7 @@ function createTypeChecker(host) {
65914
65924
const targetHasStringIndex = some(indexInfos, (info) => info.keyType === stringType);
65915
65925
let result2 = -1 /* True */;
65916
65926
for (const targetInfo of indexInfos) {
65917
- const related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
65927
+ const related = relation !== strictSubtypeRelation && !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
65918
65928
if (!related) {
65919
65929
return 0 /* False */;
65920
65930
}
@@ -83582,14 +83592,14 @@ function createTypeChecker(host) {
83582
83592
markAliasReferenced(sym, id);
83583
83593
if (getAllSymbolFlags(sym) & 111551 /* Value */) {
83584
83594
checkExpressionCached(id);
83585
- if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
83595
+ if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
83586
83596
error(
83587
83597
id,
83588
83598
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration : Diagnostics.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,
83589
83599
idText(id)
83590
83600
);
83591
83601
}
83592
- } else if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax) {
83602
+ } else if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax) {
83593
83603
error(
83594
83604
id,
83595
83605
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type : Diagnostics.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,
@@ -95800,10 +95810,14 @@ function transformESDecorators(context) {
95800
95810
visitor
95801
95811
);
95802
95812
const superStatementIndex = findSuperStatementIndex(node.body.statements, nonPrologueStart);
95803
- const indexOfFirstStatementAfterSuper = superStatementIndex >= 0 ? superStatementIndex + 1 : void 0;
95804
- addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, indexOfFirstStatementAfterSuper ? indexOfFirstStatementAfterSuper - nonPrologueStart : void 0));
95805
- addRange(statements, initializerStatements);
95806
- addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, indexOfFirstStatementAfterSuper));
95813
+ if (superStatementIndex >= 0) {
95814
+ addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, superStatementIndex + 1 - nonPrologueStart));
95815
+ addRange(statements, initializerStatements);
95816
+ addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, superStatementIndex + 1));
95817
+ } else {
95818
+ addRange(statements, initializerStatements);
95819
+ addRange(statements, visitNodes2(node.body.statements, visitor, isStatement));
95820
+ }
95807
95821
body = factory2.createBlock(
95808
95822
statements,
95809
95823
/*multiLine*/
@@ -124707,7 +124721,6 @@ function createWatchProgram(host) {
124707
124721
);
124708
124722
}
124709
124723
function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions2, watchType) {
124710
- Debug.assert(configFileName);
124711
124724
updateSharedExtendedConfigFileWatcher(
124712
124725
forProjectPath,
124713
124726
options,
@@ -124723,7 +124736,7 @@ function createWatchProgram(host) {
124723
124736
if (!(projects == null ? void 0 : projects.size))
124724
124737
return;
124725
124738
projects.forEach((projectPath) => {
124726
- if (toPath3(configFileName) === projectPath) {
124739
+ if (configFileName && toPath3(configFileName) === projectPath) {
124727
124740
reloadLevel = 2 /* Full */;
124728
124741
} else {
124729
124742
const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);
@@ -152027,7 +152040,7 @@ function getStringLiteralCompletionEntries(sourceFile, node, position, typeCheck
152027
152040
const literals = contextualTypes.types.filter((literal) => !tracker.hasValue(literal.value));
152028
152041
return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
152029
152042
default:
152030
- return fromContextualType();
152043
+ return fromContextualType() || fromContextualType(0 /* None */) ;
152031
152044
}
152032
152045
function fromContextualType(contextFlags = 4 /* Completions */) {
152033
152046
const types = getStringLiteralTypes(getContextualTypeFromParent(node, typeChecker, contextFlags));
0 commit comments