githubEdit

object.assign

#object.assign Version Badgearrow-up-right

Build Statusarrow-up-right dependency statusarrow-up-right dev dependency statusarrow-up-right Licensearrow-up-right Downloadsarrow-up-right

npm badgearrow-up-right

browser supportarrow-up-right

An Object.assign shim. Invoke its "shim" method to shim Object.assign if it is unavailable.

This package implements the es-shim APIarrow-up-right interface. It works in an ES3-supported environment and complies with the specarrow-up-right. In an ES6 environment, it will also work properly with Symbols.

Takes a minimum of 2 arguments: target and source. Takes a variable sized list of source arguments - at least 1, as many as you want. Throws a TypeError if the target argument is null or undefined.

Most common usage:

var assign = require('object.assign').getPolyfill(); // returns native method if compliant
	/* or */
var assign = require('object.assign/polyfill')(); // returns native method if compliant

Example

var assert = require('assert');

// Multiple sources!
var target = { a: true };
var source1 = { b: true };
var source2 = { c: true };
var sourceN = { n: true };

var expected = {
	a: true,
	b: true,
	c: true,
	n: true
};

assign(target, source1, source2, sourceN);
assert.deepEqual(target, expected); // AWESOME!

Tests

Simply clone the repo, npm install, and run npm test

Last updated