Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1023 Bytes

File metadata and controls

32 lines (23 loc) · 1023 Bytes

Home > types-kit > DeepMergeTuple

DeepMergeTuple type

Merge two tuples, values of the second array will assign values of the array type.

Signature:

export type DeepMergeTuple<
  A extends readonly unknown[],
  B extends readonly unknown[],
> = If<
  IsReadonlyArray<B>,
  readonly [...InternalDeepMergeTupleValue<A, B>, ...Slice<A, B['length']>],
  [...InternalDeepMergeTupleValue<A, B>, ...Slice<A, B['length']>]
>

References: If, IsReadonlyArray, InternalDeepMergeTupleValue, Slice

Example

    type Foo = [{ a: 1 }, 2, 3]
    type Bar = [{ b: 2 }, 5]
    // Expect: [{ a: 1, b: 2 }, 5, 3]
    type MergedTuple = DeepMergeTuple<Foo, Bar>