/** Revert the `Partial` modifier on an object type. Use case: Infer the underlying type `T` when only `Partial` is available or the original type may not be directly accessible. @example ``` import type {UnwrapPartial} from 'type-fest'; type Config = Partial<{ port: number; host: string; secure?: boolean; }>; type InitializedConfig = UnwrapPartial; //=> {port: number; host: string; secure?: boolean} ``` Note: If the provided type isn’t of `Partial`, `UnwrapPartial` has no effect on the original type. @category Object */ export type UnwrapPartial = PartialObjectType extends Partial ? ( Partial extends PartialObjectType ? ObjectType : PartialObjectType ) : PartialObjectType; export {};