Typeseedcordv0.10.6
RequireAtLeastOne
Create a type that requires at least one of the given keys, while keeping the remaining keys as is.
type RequireAtLeastOne<
ObjectType,
KeysType extends keyof ObjectType = keyof ObjectType
> = IfNotAnyOrNever<
ObjectType,
If<
IsNever<KeysType>,
never,
_RequireAtLeastOne<
ObjectType,
If<
IsAny<KeysType>,
keyof ObjectType,
KeysType
>
>
>
>;type RequireAtLeastOne<
ObjectType,
KeysType extends keyof ObjectType = keyof ObjectType
> = IfNotAnyOrNever<
ObjectType,
If<
IsNever<KeysType>,
never,
_RequireAtLeastOne<
ObjectType,
If<
IsAny<KeysType>,
keyof ObjectType,
KeysType
>
>
>
>;ObjectType
ObjectTypeObjectTypeKeysType
KeysType extends keyof ObjectType = keyof ObjectTypeKeysType extends keyof ObjectType = keyof ObjectType