Type Alias FirstNChars<S, N, C, A>

FirstNChars: C["length"] extends N
    ? A
    : S extends `${infer Head}${infer Rest}`
        ? FirstNChars<Rest, N, [...C, Head], `${A}${Head}`>
        : never

Type Parameters

  • S extends string
  • N extends number
  • C extends unknown[] = []
  • A extends string = ""