1
2
3
4
5
6
7
8
| /**
| Recursively split a string literal into two parts on the first occurence of the given string, returning an array literal of all the separate parts.
| */
| export type Split<S extends string, D extends string> =
| string extends S ? string[] :
| S extends '' ? [] :
| S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] :
| [S];
|
|