put all the type definitions in the same place
This commit is contained in:
parent
dac0a80d47
commit
8f2f475043
2 changed files with 7 additions and 7 deletions
8
util.mts
8
util.mts
|
|
@ -1,6 +1,10 @@
|
|||
import {Overwrite} from './grammar.mts';
|
||||
export type Overwrite<T, U> = {
|
||||
[K in keyof (T & U)]: K extends keyof U ? U[K]
|
||||
: K extends keyof T ? T[K]
|
||||
: never;
|
||||
};
|
||||
|
||||
type AllMerged<Objects extends any[]> = Objects extends
|
||||
export type AllMerged<Objects extends any[]> = Objects extends
|
||||
[infer T, infer U, ...infer Rest] ? AllMerged<[Overwrite<T, U>, ...Rest]>
|
||||
: Objects extends [infer T, ...infer Rest] ? T
|
||||
: Objects extends (infer Rest)[] ? Rest
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue