workadventure/front/src/Api/types.ts
2021-08-27 11:17:48 +02:00

5 lines
209 B
TypeScript

export type RequireOnlyOne<T, keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, keys>> &
{
[K in keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<keys, K>, undefined>>;
}[keys];