hrtyy.dev

Typescript Memo

Memo for type techniques of Typescript.

Multiple inference in template literal type

1type MultipleInference<S extends string> = S extends `${infer X}${infer Y}` ? {x: X, y: Y} : never
2type Result = MultipleInference<"abcde">
3
4// OK
5// type Result = {
6// x: "a";
7// y: "bcde";
8// }
9
10// NG
11// type Result = {
12// x: "ab";
13// y: "cde";
14// }

Good Type Challenges