531 - String to Union
实现一个将接收到的String参数转换为一个字母Union的类型。
例如
type Test = '123'
type Result = StringToUnion<Test> // expected to be "1" | "2" | "3"
Solution
type StringToUnion<T extends string> = T extends `${infer Letter}${infer Rest}`
? Letter | StringToUnion<Rest>
: never
通过 infer
分离出首字母, 并构造出联合类型,再递归剩余字符串拼接到联合类型上