blob: 5772f4091f1ea6fe40662a1b2fa2ebdcd792b18e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
export type AddStrings<
Strings extends readonly string[],
Carry extends string = ""
> = Strings extends [infer Head extends string, ...infer Tail extends string[]]
? AddStrings<Tail, `${Carry}${Head}`>
: Carry;
export type ToString<T, Carry extends string = ""> = T extends string | number
? `${T}`
: T extends readonly any[]
? T extends readonly [infer Head, ...infer Tail]
? `${ToString<
Tail,
`${Carry extends "" ? "" : `${Carry}, `}${ToString<Head>}`
>}`
: `[${Carry}]`
: never;
|