koSakano/type-challenges

112 - Capitalize Words

Opened this issue · 0 comments

type CapitalizeWords<S extends string> = S extends `${infer T} ${infer V}` ? `${Capitalize<T>} ${CapitalizeWords<V>}` : S extends `${infer T}.${infer V}` ? `${Capitalize<T>}.${CapitalizeWords<V>}` : S extends `${infer T},${infer V}` ? `${Capitalize<T>},${CapitalizeWords<V>}` : Capitalize<S>;