Para utilizar Deepmerge en TypeScript, primero necesitas instalar la librería a través de npm:
npm install deepmerge
Luego, en tus archivos TypeScript, puedes importar y usar Deepmerge de la siguiente manera:
import merge from 'deepmerge';
const objeto1 = { nombre: 'Juan', detalles: { edad: 30 } };
const objeto2 = { detalles: { edad: 40, ciudad: 'Madrid' } };
const resultado = merge(objeto1, objeto2);
console.log(resultado);
// Salida: { nombre: 'Juan', detalles: { edad: 40, ciudad: 'Madrid' } }
Deepmerge fusiona recursivamente las propiedades de los objetos. Si ambos objetos tienen la misma propiedad, Deepmerge toma el valor del segundo objeto.
Por defecto, Deepmerge sobrescribe los arreglos en lugar de fusionarlos. Sin embargo, puedes personalizar este comportamiento:
const objetoA = { items: [1, 2, 3] };
const objetoB = { items: [4, 5] };
const combinarArreglos = (destino: any[], fuente: any[]) => destino.concat(fuente);
const resultado = merge(objetoA, objetoB, { arrayMerge: combinarArreglos });
console.log(resultado);
// Salida: { items: [1, 2, 3, 4, 5] }
Deepmerge también permite configuraciones adicionales como el manejo de propiedades undefined o la creación de copias profundas, lo que es útil en entornos con estructuras complejas:
const resultadoConCopia = merge(objeto1, objeto2, { clone: true });
Esto garantiza que las fusiones no alteren los objetos originales.
Para más información y detalles sobre cómo usar Deepmerge, consulta la documentación oficial de Deepmerge en GitHub.
Jorge García
Fullstack developer