koSakano/type-challenges

2059 - Drop String

Opened this issue · 0 comments

type DropString<S extends string, R> = R extends `${infer T}${infer U}` ? DropString<DropOne<S, T>, U> : S;

type DropOne<S extends string, T extends string> = S extends `${infer A}${T}${infer B}` ? DropOne<`${A}${B}`, T> : S;