Digamos que tengo el siguiente tipo:
type ArrayType = ["AB"] | ["AB", "CD"] | ["X", "Y", "Z"];Me gustaría transformarlo al siguiente tipo:
type TransformedArrayType = "AB" | "ABCD" | "XYZ";¿Cómo puedo lograr eso en el mecanografiado?
Puede unir cadenas recursivamente usando tipos de literales de plantilla :
type ArrayType = ["AB"] | ["AB", "CD"] | ["X", "Y", "Z"]; type JoinTuple<T> = T extends [infer Head, ...infer Rest] ? `${Head & string}${JoinTuple<Rest>}` : '' type Test = JoinTuple<["AB", "CD"]> // "ABCD" type TransformedArrayType = JoinTuple<ArrayType> // "AB" | "ABCD" | "XYZ"