@@ -878,11 +878,14 @@ type PathKeys<T> =
878
878
>PathKeys : Symbol(PathKeys, Decl(templateLiteralTypes1.ts, 213, 21))
879
879
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
880
880
881
+ unknown extends T ? never :
882
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
883
+
881
884
T extends readonly any[] ? Extract<keyof T, `${number}`> | SubKeys<T, Extract<keyof T, `${number}`>> :
882
885
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
883
886
>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --))
884
887
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
885
- >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 220 , 10))
888
+ >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 221 , 10))
886
889
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
887
890
>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --))
888
891
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
@@ -891,100 +894,100 @@ type PathKeys<T> =
891
894
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
892
895
>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --))
893
896
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
894
- >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 220 , 10))
897
+ >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 221 , 10))
895
898
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
896
899
>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --))
897
900
>T : Symbol(T, Decl(templateLiteralTypes1.ts, 217, 14))
898
901
899
902
never;
900
903
901
904
type SubKeys<T, K extends string> = K extends keyof T ? `${K}.${PathKeys<T[K]>}` : never;
902
- >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 220 , 10))
903
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 222 , 13))
904
- >K : Symbol(K, Decl(templateLiteralTypes1.ts, 222 , 15))
905
- >K : Symbol(K, Decl(templateLiteralTypes1.ts, 222 , 15))
906
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 222 , 13))
907
- >K : Symbol(K, Decl(templateLiteralTypes1.ts, 222 , 15))
905
+ >SubKeys : Symbol(SubKeys, Decl(templateLiteralTypes1.ts, 221 , 10))
906
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 223 , 13))
907
+ >K : Symbol(K, Decl(templateLiteralTypes1.ts, 223 , 15))
908
+ >K : Symbol(K, Decl(templateLiteralTypes1.ts, 223 , 15))
909
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 223 , 13))
910
+ >K : Symbol(K, Decl(templateLiteralTypes1.ts, 223 , 15))
908
911
>PathKeys : Symbol(PathKeys, Decl(templateLiteralTypes1.ts, 213, 21))
909
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 222 , 13))
910
- >K : Symbol(K, Decl(templateLiteralTypes1.ts, 222 , 15))
912
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 223 , 13))
913
+ >K : Symbol(K, Decl(templateLiteralTypes1.ts, 223 , 15))
911
914
912
915
declare function getProp2<T, P extends PathKeys<T>>(obj: T, path: P): PropType<T, P>;
913
- >getProp2 : Symbol(getProp2, Decl(templateLiteralTypes1.ts, 222 , 89))
914
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 224 , 26))
915
- >P : Symbol(P, Decl(templateLiteralTypes1.ts, 224 , 28))
916
+ >getProp2 : Symbol(getProp2, Decl(templateLiteralTypes1.ts, 223 , 89))
917
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 225 , 26))
918
+ >P : Symbol(P, Decl(templateLiteralTypes1.ts, 225 , 28))
916
919
>PathKeys : Symbol(PathKeys, Decl(templateLiteralTypes1.ts, 213, 21))
917
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 224 , 26))
918
- >obj : Symbol(obj, Decl(templateLiteralTypes1.ts, 224 , 52))
919
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 224 , 26))
920
- >path : Symbol(path, Decl(templateLiteralTypes1.ts, 224 , 59))
921
- >P : Symbol(P, Decl(templateLiteralTypes1.ts, 224 , 28))
920
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 225 , 26))
921
+ >obj : Symbol(obj, Decl(templateLiteralTypes1.ts, 225 , 52))
922
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 225 , 26))
923
+ >path : Symbol(path, Decl(templateLiteralTypes1.ts, 225 , 59))
924
+ >P : Symbol(P, Decl(templateLiteralTypes1.ts, 225 , 28))
922
925
>PropType : Symbol(PropType, Decl(templateLiteralTypes1.ts, 138, 69))
923
- >T : Symbol(T, Decl(templateLiteralTypes1.ts, 224 , 26))
924
- >P : Symbol(P, Decl(templateLiteralTypes1.ts, 224 , 28))
926
+ >T : Symbol(T, Decl(templateLiteralTypes1.ts, 225 , 26))
927
+ >P : Symbol(P, Decl(templateLiteralTypes1.ts, 225 , 28))
925
928
926
929
const obj2 = {
927
- >obj2 : Symbol(obj2, Decl(templateLiteralTypes1.ts, 226 , 5))
930
+ >obj2 : Symbol(obj2, Decl(templateLiteralTypes1.ts, 227 , 5))
928
931
929
932
name: 'John',
930
- >name : Symbol(name, Decl(templateLiteralTypes1.ts, 226 , 14))
933
+ >name : Symbol(name, Decl(templateLiteralTypes1.ts, 227 , 14))
931
934
932
935
age: 42,
933
- >age : Symbol(age, Decl(templateLiteralTypes1.ts, 227 , 17))
936
+ >age : Symbol(age, Decl(templateLiteralTypes1.ts, 228 , 17))
934
937
935
938
cars: [
936
- >cars : Symbol(cars, Decl(templateLiteralTypes1.ts, 228 , 12))
939
+ >cars : Symbol(cars, Decl(templateLiteralTypes1.ts, 229 , 12))
937
940
938
941
{ make: 'Ford', age: 10 },
939
- >make : Symbol(make, Decl(templateLiteralTypes1.ts, 230 , 9))
940
- >age : Symbol(age, Decl(templateLiteralTypes1.ts, 230 , 23))
942
+ >make : Symbol(make, Decl(templateLiteralTypes1.ts, 231 , 9))
943
+ >age : Symbol(age, Decl(templateLiteralTypes1.ts, 231 , 23))
941
944
942
945
{ make: 'Trabant', age: 35 }
943
- >make : Symbol(make, Decl(templateLiteralTypes1.ts, 231 , 9))
944
- >age : Symbol(age, Decl(templateLiteralTypes1.ts, 231 , 26))
946
+ >make : Symbol(make, Decl(templateLiteralTypes1.ts, 232 , 9))
947
+ >age : Symbol(age, Decl(templateLiteralTypes1.ts, 232 , 26))
945
948
946
949
]
947
950
} as const;
948
951
>const : Symbol(const)
949
952
950
953
let make = getProp2(obj2, 'cars.1.make'); // 'Trabant'
951
- >make : Symbol(make, Decl(templateLiteralTypes1.ts, 235 , 3))
952
- >getProp2 : Symbol(getProp2, Decl(templateLiteralTypes1.ts, 222 , 89))
953
- >obj2 : Symbol(obj2, Decl(templateLiteralTypes1.ts, 226 , 5))
954
+ >make : Symbol(make, Decl(templateLiteralTypes1.ts, 236 , 3))
955
+ >getProp2 : Symbol(getProp2, Decl(templateLiteralTypes1.ts, 223 , 89))
956
+ >obj2 : Symbol(obj2, Decl(templateLiteralTypes1.ts, 227 , 5))
954
957
955
958
// Repro from #46480
956
959
957
960
export type Spacing =
958
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
961
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
959
962
960
963
| `0`
961
964
| `${number}px`
962
965
| `${number}rem`
963
966
| `s${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20}`;
964
967
965
968
const spacing: Spacing = "s12"
966
- >spacing : Symbol(spacing, Decl(templateLiteralTypes1.ts, 245 , 5))
967
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
969
+ >spacing : Symbol(spacing, Decl(templateLiteralTypes1.ts, 246 , 5))
970
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
968
971
969
972
export type SpacingShorthand =
970
- >SpacingShorthand : Symbol(SpacingShorthand, Decl(templateLiteralTypes1.ts, 245 , 30))
973
+ >SpacingShorthand : Symbol(SpacingShorthand, Decl(templateLiteralTypes1.ts, 246 , 30))
971
974
972
975
| `${Spacing} ${Spacing}`
973
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
974
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
976
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
977
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
975
978
976
979
| `${Spacing} ${Spacing} ${Spacing}`
977
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
978
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
979
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
980
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
981
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
982
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
980
983
981
984
| `${Spacing} ${Spacing} ${Spacing} ${Spacing}`;
982
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
983
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
984
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
985
- >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 235 , 41))
985
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
986
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
987
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
988
+ >Spacing : Symbol(Spacing, Decl(templateLiteralTypes1.ts, 236 , 41))
986
989
987
990
const test1: SpacingShorthand = "0 0 0";
988
- >test1 : Symbol(test1, Decl(templateLiteralTypes1.ts, 252 , 5))
989
- >SpacingShorthand : Symbol(SpacingShorthand, Decl(templateLiteralTypes1.ts, 245 , 30))
991
+ >test1 : Symbol(test1, Decl(templateLiteralTypes1.ts, 253 , 5))
992
+ >SpacingShorthand : Symbol(SpacingShorthand, Decl(templateLiteralTypes1.ts, 246 , 30))
990
993
0 commit comments