mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-04 08:57:49 +00:00
Move internal modules to “internal” folder.
This commit is contained in:
27
.internal/baseKeys.js
Normal file
27
.internal/baseKeys.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import isPrototype from './.internal/isPrototype.js';
|
||||
import nativeKeys from './.internal/nativeKeys.js';
|
||||
|
||||
/** Used to check objects for own properties. */
|
||||
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
|
||||
/**
|
||||
* The base implementation of `keys` which doesn't treat sparse arrays as dense.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} object The object to query.
|
||||
* @returns {Array} Returns the array of property names.
|
||||
*/
|
||||
function baseKeys(object) {
|
||||
if (!isPrototype(object)) {
|
||||
return nativeKeys(object);
|
||||
}
|
||||
const result = [];
|
||||
for (const key in Object(object)) {
|
||||
if (hasOwnProperty.call(object, key) && key != 'constructor') {
|
||||
result.push(key);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export default baseKeys;
|
||||
Reference in New Issue
Block a user