deconstruct-merge

2.0.1 • Public • Published

deconstruct-merge

npm

A simple library for merging complex options. First deconstruct, then merge.

Example

const Mergeable = require('deconstruct-merge')
 
const config = new Mergeable({
  foo: 'flat',
  bar: 'array',
  baz: [
    'assign',
    'override',
  ],
})
 
config
  .merge({
    foo: 1,
    baz: [
      { a: 1 },
      { b: 2 },
    ],
  })
  .merge({
    foo: [2],
    bar: [2],
  })
  .merge(undefined)
  .merge({
    bar: 3,
    baz: [
      { a: 2, b: 3 },
      { c: 4 },
    ]
  })
  .value()
 
// output:
// { foo: [ 1, 2 ],
//   bar: [ [ 2 ], 3 ],
//   baz: [ { a: 2, b: 3 }, { c: 4 } ] }

Package Sidebar

Install

npm i deconstruct-merge

Weekly Downloads

211

Version

2.0.1

License

MIT

Unpacked Size

5.45 kB

Total Files

6

Last publish

Collaborators

  • shigma