All files / types merge.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13                         
import type { Simplify } from './simplify';
 
/**
 * Combines two object types, the properties of the second replacing those of the first (like an object
 * spread `{ ...a, ...b }`), where an intersection would give `never` for conflicting properties.
 *
 * @template A - The base type.
 * @template B - The overriding type.
 * @example
 * type Row = Merge<Sample, { timestamp: Date }>; // `timestamp` becomes a Date
 */
export type Merge<A, B> = Simplify<Omit<A, keyof B> & B>;