@@ -2286,7 +2286,7 @@ module.exports = __toCommonJS(server_exports);
22862286
22872287// src/compiler/corePublic.ts
22882288var versionMajorMinor = "5.0";
2289- var version = "5.0.2 ";
2289+ var version = "5.0.3 ";
22902290var Comparison = /* @__PURE__ */ ((Comparison3) => {
22912291 Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
22922292 Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -41868,7 +41868,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
4186841868}
4186941869function nodeNextJsonConfigResolver(moduleName, containingFile, host) {
4187041870 return nodeModuleNameResolverWorker(
41871- 8 /* Exports */,
41871+ 30 /* NodeNextDefault */,
4187241872 moduleName,
4187341873 getDirectoryPath(containingFile),
4187441874 { moduleResolution: 99 /* NodeNext */ },
@@ -57728,9 +57728,10 @@ function createTypeChecker(host) {
5772857728 setStructuredTypeMembers(type, emptySymbols, emptyArray, emptyArray, emptyArray);
5772957729 const typeParameter = getTypeParameterFromMappedType(type);
5773057730 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);
5773457735 const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
5773557736 const templateModifiers = getMappedTypeModifiers(type);
5773657737 const include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */;
@@ -57767,7 +57768,7 @@ function createTypeChecker(host) {
5776757768 prop.links.keyType = keyType;
5776857769 if (modifiersProp) {
5776957770 prop.links.syntheticOrigin = modifiersProp;
57770- prop.declarations = !nameType || isFilteringMappedType ? modifiersProp.declarations : void 0;
57771+ prop.declarations = shouldLinkPropDeclarations ? modifiersProp.declarations : void 0;
5777157772 }
5777257773 members.set(propName, prop);
5777357774 }
@@ -57873,6 +57874,10 @@ function createTypeChecker(host) {
5787357874 }
5787457875 return false;
5787557876 }
57877+ function isFilteringMappedType(type) {
57878+ const nameType = getNameTypeFromMappedType(type);
57879+ return !!nameType && isTypeAssignableTo(nameType, getTypeParameterFromMappedType(type));
57880+ }
5787657881 function resolveStructuredTypeMembers(type) {
5787757882 if (!type.members) {
5787857883 if (type.flags & 524288 /* Object */) {
@@ -60377,6 +60382,12 @@ function createTypeChecker(host) {
6037760382 i--;
6037860383 const source = types[i];
6037960384 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+ }
6038060391 const keyProperty = source.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */) ? find(getPropertiesOfType(source), (p) => isUnitType(getTypeOfSymbol(p))) : void 0;
6038160392 const keyPropertyType = keyProperty && getRegularTypeOfLiteralType(getTypeOfSymbol(keyProperty));
6038260393 for (const target of types) {
@@ -61414,8 +61425,7 @@ function createTypeChecker(host) {
6141461425 }
6141561426 }
6141661427 if (isGenericMappedType(objectType)) {
61417- const nameType = getNameTypeFromMappedType(objectType);
61418- if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) {
61428+ if (!getNameTypeFromMappedType(objectType) || isFilteringMappedType(objectType)) {
6141961429 return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), (t) => getSimplifiedType(t, writing));
6142061430 }
6142161431 }
@@ -65914,7 +65924,7 @@ function createTypeChecker(host) {
6591465924 const targetHasStringIndex = some(indexInfos, (info) => info.keyType === stringType);
6591565925 let result2 = -1 /* True */;
6591665926 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);
6591865928 if (!related) {
6591965929 return 0 /* False */;
6592065930 }
@@ -83582,14 +83592,14 @@ function createTypeChecker(host) {
8358283592 markAliasReferenced(sym, id);
8358383593 if (getAllSymbolFlags(sym) & 111551 /* Value */) {
8358483594 checkExpressionCached(id);
83585- if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
83595+ if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
8358683596 error(
8358783597 id,
8358883598 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,
8358983599 idText(id)
8359083600 );
8359183601 }
83592- } else if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax) {
83602+ } else if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax) {
8359383603 error(
8359483604 id,
8359583605 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) {
9580095810 visitor
9580195811 );
9580295812 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+ }
9580795821 body = factory2.createBlock(
9580895822 statements,
9580995823 /*multiLine*/
@@ -124707,7 +124721,6 @@ function createWatchProgram(host) {
124707124721 );
124708124722 }
124709124723 function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions2, watchType) {
124710- Debug.assert(configFileName);
124711124724 updateSharedExtendedConfigFileWatcher(
124712124725 forProjectPath,
124713124726 options,
@@ -124723,7 +124736,7 @@ function createWatchProgram(host) {
124723124736 if (!(projects == null ? void 0 : projects.size))
124724124737 return;
124725124738 projects.forEach((projectPath) => {
124726- if (toPath3(configFileName) === projectPath) {
124739+ if (configFileName && toPath3(configFileName) === projectPath) {
124727124740 reloadLevel = 2 /* Full */;
124728124741 } else {
124729124742 const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);
@@ -152027,7 +152040,7 @@ function getStringLiteralCompletionEntries(sourceFile, node, position, typeCheck
152027152040 const literals = contextualTypes.types.filter((literal) => !tracker.hasValue(literal.value));
152028152041 return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
152029152042 default:
152030- return fromContextualType();
152043+ return fromContextualType() || fromContextualType(0 /* None */) ;
152031152044 }
152032152045 function fromContextualType(contextFlags = 4 /* Completions */) {
152033152046 const types = getStringLiteralTypes(getContextualTypeFromParent(node, typeChecker, contextFlags));
0 commit comments