Extend fixes
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-02-25 02:01:54 +01:00
parent 9d15943c98
commit 14b39cde63

View File

@@ -25,7 +25,7 @@ export type Extend<T extends readonly object[]> = (
T extends [ T extends [
infer Super, infer Super,
infer Self, infer Self,
...infer Rest extends object[], ...infer Rest extends readonly object[],
] ]
? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>> ? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>>
? Extend<[ ? Extend<[
@@ -42,7 +42,7 @@ export type Extendable<T extends readonly object[]> = (
T extends [ T extends [
infer Super, infer Super,
infer Self, infer Self,
...infer Rest extends object[], ...infer Rest extends readonly object[],
] ]
? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>> ? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>>
? Extendable<[ ? Extendable<[
@@ -57,7 +57,7 @@ export type NonExtendableKeys<T extends readonly object[]> = (
T extends [ T extends [
infer Super extends object, infer Super extends object,
infer Self extends object, infer Self extends object,
...infer Rest extends object[], ...infer Rest extends readonly object[],
] ]
? {[K in keyof Super & keyof Self]: Self[K] extends Super[K] ? {[K in keyof Super & keyof Self]: Self[K] extends Super[K]
? never ? never