Bump to v4.14.2.

This commit is contained in:
John-David Dalton
2016-08-07 21:38:57 -07:00
parent cd04b44875
commit c733f930dc
81 changed files with 648 additions and 678 deletions

27
keys.js
View File

@@ -1,15 +1,12 @@
var baseHas = require('./_baseHas'),
var arrayLikeKeys = require('./_arrayLikeKeys'),
baseKeys = require('./_baseKeys'),
indexKeys = require('./_indexKeys'),
isArrayLike = require('./isArrayLike'),
isIndex = require('./_isIndex'),
isPrototype = require('./_isPrototype');
isArrayLike = require('./isArrayLike');
/**
* Creates an array of the own enumerable property names of `object`.
*
* **Note:** Non-object values are coerced to objects. See the
* [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
* [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
* for more details.
*
* @static
@@ -34,23 +31,7 @@ var baseHas = require('./_baseHas'),
* // => ['0', '1']
*/
function keys(object) {
var isProto = isPrototype(object);
if (!(isProto || isArrayLike(object))) {
return baseKeys(object);
}
var indexes = indexKeys(object),
skipIndexes = !!indexes,
result = indexes || [],
length = result.length;
for (var key in object) {
if (baseHas(object, key) &&
!(skipIndexes && (key == 'length' || isIndex(key, length))) &&
!(isProto && key == 'constructor')) {
result.push(key);
}
}
return result;
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
}
module.exports = keys;