assignment
Assign property objects onto other objects, recursively
Last updated 11 years ago by bevacqua .
Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install assignment 
SYNC missed versions from official npm registry.

assignment

Assign property objects onto other objects, recursively

Footprint for assignment sits at around 400 bytes browserified, minified, and gzipped.

Install

npm install assignment --save

assignment(a, b, c, ...)

Assigns every property of b onto a. If the an object already exists on a that has one of b's properties, then assignment(a.prop, b.prop) will assign all child properties of b.prop onto a.prop. This happens recursively.

Returns a.

Examples

It doesn't matter how many objects you hand to assignment, they will all be collapsed into the first one.

assignment(
  { name: 'mordecai' },
  { name: 'eileen' },
  { name: 'rigby' }
);
// <- { name: 'rigby' }

Object's get replaced recursively, property by property. Note that for any given property prop, you'll get back whatever the prototype was for the first prop that existed in a.

assignment(
  { character: { name: 'mordecai' } },
  { character: { color: 'red' } },
  { character: { name: 'margaret' } }
);
// <- { character: { name: 'margaret', color: 'red' } }

Note that arrays don't receive any special treatment. Typically, you want arrays to be replaced.

assignment(
  { characters: ['mordecai', 'margaret'] },
  { characters: ['rigby', 'eileen'] }
);
// <- { characters: ['rigby', 'eileen'] }

License

MIT

Current Tags

  • 2.2.1                                ...           latest (9 years ago)

5 Versions

  • 2.2.1                                ...           9 years ago
  • 2.2.0                                ...           11 years ago
  • 2.1.0                                ...           11 years ago
  • 2.0.0                                ...           11 years ago
  • 1.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 1
Dependencies (0)
None
Dev Dependencies (1)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |