Return a type with required property K of type O if C is not never, otherwise return a type where K is optional or accepts an empty object.
never
The property key.
The condition to check.
The type of the property.
Return a type with required property K of type O if C is not
never
, otherwise return a type where K is optional or accepts an empty object.