mirror of
https://github.com/sindresorhus/type-fest.git
synced 2025-12-08 19:25:05 +00:00
OverrideProperties: Fix autocomplete in the type (#712)
This commit is contained in:
parent
47626cf470
commit
fcdcfe9b15
9
source/override-properties.d.ts
vendored
9
source/override-properties.d.ts
vendored
@ -25,5 +25,12 @@ type Fizz = OverrideProperties<Foo, {b: number; c: number}>
|
||||
*/
|
||||
export type OverrideProperties<
|
||||
TOriginal,
|
||||
TOverride extends {[Key in keyof TOverride]: Key extends keyof TOriginal ? TOverride[Key] : never},
|
||||
// This first bit where we use `Partial` is to enable autocomplete
|
||||
// and the second bit with the mapped type is what enforces that we don't try
|
||||
// to override properties that doesn't exist in the original type.
|
||||
TOverride extends Partial<Record<keyof TOriginal, unknown>> & {
|
||||
[Key in keyof TOverride]: Key extends keyof TOriginal
|
||||
? TOverride[Key]
|
||||
: never;
|
||||
},
|
||||
> = Merge<TOriginal, TOverride>;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user