object.assign
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -0,1 +1,5 @@ | ||
2.0.1 / 2015-04-12 | ||
================== | ||
* Make sure non-enumerable Symbols are excluded. | ||
2.0.0 / 2015-04-12 | ||
@@ -2,0 +6,0 @@ ================== |
@@ -20,2 +20,8 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
var defineProperties = require('define-properties'); | ||
var propIsEnumerable = Object.prototype.propertyIsEnumerable; | ||
var isEnumerableOn = function (obj) { | ||
return function isEnumerable(prop) { | ||
return propIsEnumerable.call(obj, prop); | ||
}; | ||
}; | ||
@@ -30,3 +36,3 @@ var assignShim = function assign(target, source1) { | ||
if (hasSymbols && Object.getOwnPropertySymbols) { | ||
props.push.apply(props, Object.getOwnPropertySymbols(source)); | ||
props.push.apply(props, Object.getOwnPropertySymbols(source).filter(isEnumerableOn(source))); | ||
} | ||
@@ -33,0 +39,0 @@ for (i = 0; i < props.length; ++i) { |
@@ -10,2 +10,8 @@ 'use strict'; | ||
var defineProperties = require('define-properties'); | ||
var propIsEnumerable = Object.prototype.propertyIsEnumerable; | ||
var isEnumerableOn = function (obj) { | ||
return function isEnumerable(prop) { | ||
return propIsEnumerable.call(obj, prop); | ||
}; | ||
}; | ||
@@ -20,3 +26,3 @@ var assignShim = function assign(target, source1) { | ||
if (hasSymbols && Object.getOwnPropertySymbols) { | ||
props.push.apply(props, Object.getOwnPropertySymbols(source)); | ||
props.push.apply(props, Object.getOwnPropertySymbols(source).filter(isEnumerableOn(source))); | ||
} | ||
@@ -23,0 +29,0 @@ for (i = 0; i < props.length; ++i) { |
{ | ||
"name": "object.assign", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"author": "Jordan Harband", | ||
@@ -5,0 +5,0 @@ "description": "ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim", |
@@ -80,12 +80,15 @@ 'use strict'; | ||
test('includes symbols, after keys', { skip: !hasSymbols }, function (t) { | ||
test('includes enumerable symbols, after keys', { skip: !hasSymbols }, function (t) { | ||
var visited = []; | ||
var obj = {}; | ||
Object.defineProperty(obj, 'a', { get: function () { visited.push('a'); return 42; }, enumerable: true }); | ||
var symbol = Symbol(); | ||
var symbol = Symbol('enumerable'); | ||
Object.defineProperty(obj, symbol, { get: function () { visited.push(symbol); return Infinity; }, enumerable: true }); | ||
var nonEnumSymbol = Symbol('non-enumerable'); | ||
Object.defineProperty(obj, nonEnumSymbol, { get: function () { visited.push(nonEnumSymbol); return -Infinity; }, enumerable: false }); | ||
var target = assign({}, obj); | ||
t.deepEqual(visited, ['a', symbol], 'key is visited first, then symbol'); | ||
t.equal(target.a, 42, 'target.a is 42'); | ||
t.equal(target[symbol], Infinity, 'target[symbol] is Infinity'); | ||
t.equal(target.a, 42, 'target.a is 42'); | ||
t.deepEqual(visited, ['a', symbol], 'key is visited first, then symbol'); | ||
t.notEqual(target[nonEnumSymbol], -Infinity, 'target[nonEnumSymbol] is not -Infinity'); | ||
t.end(); | ||
@@ -92,0 +95,0 @@ }); |
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
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
23178
402