mirror of
https://github.com/directus/directus.git
synced 2026-01-23 23:18:10 -05:00
Allow usage of tupels of arbitrary length with DeepPartial (#15947)
This commit is contained in:
committed by
GitHub
parent
08db8fea5d
commit
215a47c19b
@@ -1,16 +1,12 @@
|
||||
type Primitive = undefined | null | string | number | boolean | bigint | symbol;
|
||||
type Builtin = Primitive | Date | Error | RegExp | ((...args: any[]) => unknown);
|
||||
type Tuple =
|
||||
| [unknown]
|
||||
| [unknown, unknown]
|
||||
| [unknown, unknown, unknown]
|
||||
| [unknown, unknown, unknown, unknown]
|
||||
| [unknown, unknown, unknown, unknown, unknown];
|
||||
|
||||
export type DeepPartial<T> = T extends Builtin
|
||||
? T
|
||||
: T extends Tuple
|
||||
? { [K in keyof T]?: DeepPartial<T[K]> }
|
||||
: T extends []
|
||||
? []
|
||||
: T extends [infer U, ...infer R]
|
||||
? [DeepPartial<U>, ...DeepPartial<R>]
|
||||
: T extends Array<infer U>
|
||||
? Array<DeepPartial<U>>
|
||||
: T extends ReadonlyArray<infer U>
|
||||
|
||||
Reference in New Issue
Block a user