Type Alias TakeFirstNElements<T, N, Result>

TakeFirstNElements: Result["length"] extends N
    ? Result
    : T extends [infer First, ...(infer Rest)]
        ? TakeFirstNElements<Rest, N, [...Result, First]>
        : Result

Type Parameters

  • T extends any[]
  • N extends number
  • Result extends any[] = []