Join: T extends []
    ? ""
    : T extends [infer Head, ...(infer Tail)]
        ? Head extends string
            ? `${Head}${Join<Tail extends string[] ? Tail : []>}`
            : never
        : never

Joins an array of strings into a single string.

Type Parameters

  • T extends string[]

    The array of strings to join.

type Original = Join<["a", "bcc", "de"]>; // "abccde"