Skip to content

mattdesl/filter-object-assign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

extends the specified keys into the given object

Resources

License

Stars

Watchers

Forks

Packages

No packages published