typelab / utils / ArrayRequiredElements
type ArrayRequiredElements<T> = T extends ReadonlyArray<infer Elements> ? _IfNotAnyOrNever<T, _ArrayRequiredElements<T, Elements>> : never;Get the required elements from T type.
| Type Parameter | Description |
|---|---|
|
|
The |
The elements of T that are required.
// 0 | 1
type Result1 = ArrayRequiredElements<[0, 1, 2?]>;
// string | undefined
type Result2 = ArrayRequiredElements<(string | undefined)[]>;
// never
type Never1 = ArrayRequiredElements<[0?, 1?, 2?]>;
// never
type Never2 = ArrayRequiredElements<any>;