An Object.assign shim. Invoke its "shim" method to shim Object.assign if it is unavailable.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec. In an ES6 environment, it will also work properly with Symbol
s.
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 = ; // returns native method if compliant /* or */var assign = ; // returns native method if compliant
Example
var 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; ;assert; // AWESOME!
var target = a: true b: true c: true;var source1 = c: false d: false;var sourceN = e: false; var assigned = ;assert; // returns the target objectassert;
/* when Object.assign is not present */delete Objectassign;var shimmedAssign = ; /* or */var shimmedAssign = ; assert; var target = a: true b: true c: true;var source = c: false d: false e: false; var assigned = ;assert;
/* when Object.assign is present */var shimmedAssign = ;assert; var target = a: true b: true c: true;var source = c: false d: false e: false; assert;
Tests
Simply clone the repo, npm install
, and run npm test