1 var isPrototype = require('./_isPrototype'),
2 nativeKeys = require('./_nativeKeys');
4 /** Used for built-in method references. */
5 var objectProto = Object.prototype;
7 /** Used to check objects for own properties. */
8 var hasOwnProperty = objectProto.hasOwnProperty;
11 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
14 * @param {Object} object The object to query.
15 * @returns {Array} Returns the array of property names.
17 function baseKeys(object) {
18 if (!isPrototype(object)) {
19 return nativeKeys(object);
22 for (var key in Object(object)) {
23 if (hasOwnProperty.call(object, key) && key != 'constructor') {
30 module.exports = baseKeys;