Typeseedcordv0.10.6
_RequireAtLeastOne
type _RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType> = { // For each `Key` in `KeysType` make a mapped type: // 2. Make all other keys in `KeysType` optional [Key in KeysType]-?: Required<Pick<ObjectType, Key>> // 1. Make `Key`'s type required & Partial<Pick<ObjectType, Exclude<KeysType, Key>>> }[KeysType] & Except<ObjectType, KeysType>type _RequireAtLeastOne<ObjectType, KeysType extends keyof ObjectType> = { // For each `Key` in `KeysType` make a mapped type: // 2. Make all other keys in `KeysType` optional [Key in KeysType]-?: Required<Pick<ObjectType, Key>> // 1. Make `Key`'s type required & Partial<Pick<ObjectType, Exclude<KeysType, Key>>> }[KeysType] & Except<ObjectType, KeysType>ObjectType
ObjectTypeObjectTypeKeysType
KeysType extends keyof ObjectTypeKeysType extends keyof ObjectType