//#region src/utils/types/Merge.d.ts /** * Given two object types A and B, return a type with all the properties of A that aren't also * properties of B, and all the properties of B. * * Useful when we have a component that spreads a "rest" of its props on a subcomponent: * * ```ts * interface OwnProps { * foo: string * } * * type MyComponentProps = Merge * const MyComponent = ({foo, ...rest}: MyComponentProps) => { * // ... * return * } * ``` */ type Merge = Omit & B; //#endregion export { Merge };