Package Exports
- object-assign-shim
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (object-assign-shim) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
#Object.assign shim
An Object.assign shim for ES5-compliant environments (browsers/node.js/io.js). Is applied only when needed with a few exceptions for non-compliant implementations.
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:
In node/io.js:
require('object-assign-shim');In a browser:
<script src="object-assign-shim/index.js"></script>Example
// 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
};
require('object-assign-shim');
var assert = require('assert');
Object.assign(target, source1, source2, sourceN);
assert.deepEqual(target, expected); // AWESOME!require('object-assign-shim');
var assert = require('assert');
var target = {
a: true,
b: true,
c: true
};
var source1 = {
c: false,
d: false
};
var sourceN = {
e: false
};
var assigned = Object.assign(target, source1, sourceN);
assert.equal(target, assigned); // returns the target object
assert.deepEqual(assigned, {
a: true,
b: true,
c: false,
d: false,
e: false
});var assert = require('assert');
/* when Object.assign is not present */
delete Object.assign;
require('object-assign-shim');
assert.equal(typeof Object.assign, "function");
var target = {
a: true,
b: true,
c: true
};
var source = {
c: false,
d: false,
e: false
};
var assigned = assign(target, source);
assert.deepEqual(Object.assign(target, source), assign(target, source));var assert = require('assert');
/* when Object.assign is present */
assert.equal(typeof Object.assign, 'function');
var builtinAssign = Object.assign;
require('object-assign-shim');
assert.equal(builtinAssign, Object.assign);Tests
Simply clone the repo, npm install, and run npm test