Home > types-kit > DeepMergeTuple
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
type Foo = [{ a: 1 }, 2, 3]
type Bar = [{ b: 2 }, 5]
// Expect: [{ a: 1, b: 2 }, 5, 3]
type MergedTuple = DeepMergeTuple<Foo, Bar>