Open rimo030 opened 2 weeks ago
type Fibonacci<T extends number, Index extends any[] = [any], Prev extends any[] = [], Result extends any[] = [any]> = Index['length'] extends T ? Result['length'] : Fibonacci<T, [...Index, any], Result, [...Result, ...Prev]>
import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<Fibonacci<1>, 1>>, Expect<Equal<Fibonacci<2>, 1>>, Expect<Equal<Fibonacci<3>, 2>>, Expect<Equal<Fibonacci<8>, 21>>, ]