Quiero una función que dados varios objetos que no tienen ninguna key en común, genere un único objeto con todas las propiedades de cada objeto. Quiero que sea en Typescript con el mayor tipado posible. Perfecto—esto es básicamente un merge de objetos disjuntos con inferencia fuerte de tipos . La clave es lograr que el resultado sea la intersección de todos los tipos de entrada. 🧠 Objetivo merge ( { a: 1 }, { b: "x" }, { c: true } ) 👉 resultado (y tipo): { a : number ; b : string ; c : boolean } ✅ Implementación con tipado fuerte // Convierte una unión en intersección type UnionToIntersection < U > = ( U extends any ? ( k : U ) => void : never ) extends ( k : infer I ) => void ? I : never ; // Helper para mejorar legibilidad del tipo final type Simplify < T > = { [K in keyof T ]: T [ K ] }; export function mergeObjects < T extends readonly Record < PropertyKey , unknown >[] >( ... objs : ...
programación, informática, matemática, Aprendiendo sobre la marcha !!