UNPKG

@plone/types

Version:

Plone's Types Package

13 lines (11 loc) 327 B
/** * Get the type of the elements in an array */ export type ArrayElement<A> = A extends readonly (infer T)[] ? T : never; export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick< T, Exclude<keyof T, Keys> > & { [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>; }[Keys];