Skip to content

Commit 8a6843f

Browse files
committed
Remove unneeded handling of intersections in getStringMappingType
1 parent 7a744f7 commit 8a6843f

File tree

4 files changed

+4
-30
lines changed

4 files changed

+4
-30
lines changed

src/compiler/checker.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17113,7 +17113,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1711317113

1711417114
function getStringMappingType(symbol: Symbol, type: Type): Type {
1711517115
return type.flags & (TypeFlags.Union | TypeFlags.Never) ? mapType(type, t => getStringMappingType(symbol, t)) :
17116-
type.flags & TypeFlags.Intersection ? getIntersectionType(map((type as IntersectionType).types, t => getStringMappingType(symbol, t))) :
1711717116
type.flags & TypeFlags.StringLiteral ? getStringLiteralType(applyStringMapping(symbol, (type as StringLiteralType).value)) :
1711817117
type.flags & TypeFlags.TemplateLiteral ? getTemplateLiteralType(...applyTemplateStringMapping(symbol, (type as TemplateLiteralType).texts, (type as TemplateLiteralType).types)) :
1711917118
// Mapping<Mapping<T>> === Mapping<T>

tests/baselines/reference/templateLiteralIntersection3.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ options1[`foo/${path}`] = false;
2929

3030
// Lowercase<`foo/${Path}`> => `foo/${Lowercase<Path>}`
3131
declare const lowercasePath: Lowercase<`foo/${Path}`>;
32-
>lowercasePath : `foo/${Lowercase<string> & { _pathBrand: any; }}`
32+
>lowercasePath : `foo/${Lowercase<`${Path}`>}`
3333

3434
options1[lowercasePath] = false;
3535
>options1[lowercasePath] = false : false
3636
>options1[lowercasePath] : boolean
3737
>options1 : { prop: number; } & { [k: string]: boolean; }
38-
>lowercasePath : `foo/${Lowercase<string> & { _pathBrand: any; }}`
38+
>lowercasePath : `foo/${Lowercase<`${Path}`>}`
3939
>false : false
4040

tests/baselines/reference/templateLiteralIntersection4.errors.txt

Lines changed: 0 additions & 25 deletions
This file was deleted.

tests/baselines/reference/templateLiteralIntersection4.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ declare function createStore<Store extends { [K: string]: any }>(store: Store):
2323

2424
const { Provider, useUsername, useAge, useStore } = createStore({
2525
>Provider : unknown
26-
>useUsername : any
27-
>useAge : any
26+
>useUsername : StateHook<string>
27+
>useAge : StateHook<number>
2828
>useStore : StateHook<{ username: string; age: number; }>
2929
>createStore({ username: "Aral", age: 31}) : StoreUtils<{ username: string; age: number; }>
3030
>createStore : <Store extends { [K: string]: any; }>(store: Store) => StoreUtils<Store>

0 commit comments

Comments
 (0)