object.assign
Advanced tools
Comparing version 0.3.1 to 0.4.0
13
index.js
"use strict"; | ||
// modified from https://github.com/es-shims/es6-shim | ||
var keys = require('object-keys'); | ||
var keys = Object.keys || require('object-keys'); | ||
var isObject = function (obj) { | ||
return obj && typeof obj === 'object'; | ||
return typeof obj !== 'undefined' && obj !== null; | ||
}; | ||
@@ -12,2 +12,3 @@ | ||
if (!isObject(target)) { throw new TypeError('target must be an object'); } | ||
target = Object(target); | ||
for (s = 1; s < arguments.length; ++s) { | ||
@@ -25,6 +26,6 @@ source = arguments[s]; | ||
assignShim.shim = function shimObjectAssign() { | ||
if (!Object.assign) { | ||
Object.assign = assignShim; | ||
} | ||
return Object.assign || assignShim; | ||
if (!Object.assign) { | ||
Object.assign = assignShim; | ||
} | ||
return Object.assign || assignShim; | ||
}; | ||
@@ -31,0 +32,0 @@ |
{ | ||
"name": "object.assign", | ||
"version": "0.3.1", | ||
"version": "0.4.0", | ||
"author": "Jordan Harband", | ||
@@ -9,5 +9,6 @@ "description": "ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim", | ||
"scripts": { | ||
"test": "node test/index.js", | ||
"test": "npm run lint && node test/index.js && npm run coverage-quiet", | ||
"coverage": "covert test/*.js", | ||
"coverage-quiet": "covert test/*.js --quiet" | ||
"coverage-quiet": "covert test/*.js --quiet", | ||
"lint": "jscs *.js */*.js" | ||
}, | ||
@@ -33,4 +34,5 @@ "repository": { | ||
"is": "~0.3.0", | ||
"tape": "~2.12.3", | ||
"covert": "~0.3.1" | ||
"tape": "~2.13.1", | ||
"covert": "~0.4.0", | ||
"jscs": "~1.5.8" | ||
}, | ||
@@ -37,0 +39,0 @@ "testling": { |
@@ -119,3 +119,3 @@ #object.assign <sup>[![Version Badge][2]][1]</sup> | ||
[2]: http://vb.teelaun.ch/ljharb/object.assign.svg | ||
[3]: https://travis-ci.org/ljharb/object.assign.png | ||
[3]: https://travis-ci.org/ljharb/object.assign.svg | ||
[4]: https://travis-ci.org/ljharb/object.assign | ||
@@ -122,0 +122,0 @@ [5]: https://david-dm.org/ljharb/object.assign.svg?theme=shields.io |
@@ -33,2 +33,22 @@ var test = require('tape'); | ||
test('works with functions', function (t) { | ||
var target = function () {}; | ||
target.a = 1; | ||
var returned = assign(target, { b: 2 }); | ||
t.equal(target, returned, 'returned object is target'); | ||
t.equal(returned.a, 1); | ||
t.equal(returned.b, 2); | ||
t.end(); | ||
}); | ||
test('works with primitives', function (t) { | ||
var target = 2; | ||
var source = { b: 42 }; | ||
var returned = assign(target, source); | ||
t.equal(Object.prototype.toString.call(returned), '[object Number]', 'returned is object form of number primitive'); | ||
t.equal(Number(returned), target, 'returned and target have same valueOf'); | ||
t.equal(returned.b, source.b); | ||
t.end(); | ||
}); | ||
test('merge N objects', function (t) { | ||
@@ -35,0 +55,0 @@ var target = { a: 1 }; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
12532
10
181
4