1.0.1 • Published 9 years ago

filter-object-assign v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

filter-object-assign

stable

A small utility like ES2015 Object.assign(), but only merging in objects that pass the given filter function.

var assign = require('filter-object-assign')

target = assign(target, sources..., filterFunction)

Much of the implementation is from Sindre Sorhus' object-assign.

Install

npm install filter-object-assign --save

Example

var assign = require('filter-object-assign')

var stats = {
  health: 100,
  manna: 100
}

var wizard = {
  name: 'Hilbert',
  health: 75
}

assign(stats, wizard, function (value, key, object) {
  return typeof value === 'number'
})

console.log(stats)
//=> { health: 75, manna: 100 }

Usage

NPM

target = filterAssign(target, sources, ..., filterFunction)

Behaves like Object.assign() in that it merges the variable-length sources arguments into the target object (from left to right). The target object, which must not be null/undefined, is returned.

A filterFunction must be passed as the last argument. This function takes the following parameters:

  • value the value of the property about to be merged
  • key the property name string about to be merged
  • object the (source) object being enumerated and merged

If the function returns true, that property will be merged in. Otherwise, it will be skipped.

See Also

License

MIT, see LICENSE.md for details.