Typeservicesv0.8.2
_ApplyDefaultOptions
type _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> =
If<
IsAny<SpecifiedOptions>,
Defaults,
If<
IsNever<SpecifiedOptions>,
Defaults,
Merge<
Defaults,
{
[Key in keyof SpecifiedOptions as undefined extends Required<Options>[Key &
keyof Options]
? Key
: undefined extends SpecifiedOptions[Key]
? never
: Key]: SpecifiedOptions[Key];
}
>
>
>;type _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> =
If<
IsAny<SpecifiedOptions>,
Defaults,
If<
IsNever<SpecifiedOptions>,
Defaults,
Merge<
Defaults,
{
[Key in keyof SpecifiedOptions as undefined extends Required<Options>[Key &
keyof Options]
? Key
: undefined extends SpecifiedOptions[Key]
? never
: Key]: SpecifiedOptions[Key];
}
>
>
>;Options
OptionsOptionsDefaults
DefaultsDefaultsSpecifiedOptions
SpecifiedOptionsSpecifiedOptions