Skip to content

shigma/deconstruct-merge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 } ] }

About

A simple library for merging complex options.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published