@lowerdeck/merge
v1.0.1
Published
Deep merge multiple objects recursively. Nested objects are merged together, while primitive values are overwritten by later sources.
Readme
@lowerdeck/merge
Deep merge multiple objects recursively. Nested objects are merged together, while primitive values are overwritten by later sources.
Installation
npm install @lowerdeck/merge
yarn add @lowerdeck/merge
bun add @lowerdeck/merge
pnpm add @lowerdeck/mergeUsage
import { merge } from '@lowerdeck/merge';
// Merge nested objects
const defaults = {
server: { port: 3000, host: 'localhost' },
database: { url: 'localhost:5432' }
};
const config = {
server: { port: 8080 },
database: { ssl: true }
};
const result = merge({}, defaults, config);
// {
// server: { port: 8080, host: 'localhost' },
// database: { url: 'localhost:5432', ssl: true }
// }
// Merge multiple sources
const merged = merge(
{},
{ a: 1, b: { c: 2 } },
{ b: { d: 3 } },
{ b: { e: 4 } }
);
// { a: 1, b: { c: 2, d: 3, e: 4 } }
// Arrays are replaced, not merged
merge({ arr: [1, 2] }, { arr: [3, 4] }); // { arr: [3, 4] }License
This project is licensed under the Apache License 2.0.
