//#region src/types/Simplify.d.ts /** * Flattens an intersection or mapped type into a single, readable object type. * * The result is equivalent for plain object types, but editors show the * resolved shape (`{ a: 1; b: 2 }`) instead of `A & B`. * * @template T - The type to flatten. * * @example * type A = { name: string }; * type B = { age: number }; * type User = Simplify; * // hover => { name: string; age: number } (instead of A & B) */ type Simplify = { [K in keyof T]: T[K] } & {}; //#endregion export { Simplify };