type ArrayMerge<Target, Source, Z> = IsArray<Target | Source> extends true ? _ArrayMerge<Target, Source, Z> : never;Merges elements of Target with elements of Source.
This type will merge all nested Array types (if Z is 'deep').
| Type Parameter | Default type | Description |
|---|---|---|
|
|
‐ |
The |
|
|
[] |
The |
|
|
|
Defines the lookup type, which can be |
A new Array type that merges Target elements with Source elements.
type Arr1 = [string, [string, string]];
type Arr2 = [number, [number], number];
// [string | number, [number] | [string, string], number]
type Shallow = ArrayMerge<Arr1, Arr2, 'shallow'>;
// [string | number, [string | number, string], number]
type Deep = ArrayMerge<Arr1, Arr2, 'deep'>;