| 123456789101112131415161718192021222324252627282930313233343536 |
- import Reflect from './_Reflect';
- import iteratorToArray from './_iteratorToArray';
- /** Used for built-in method references. */
- var objectProto = Object.prototype;
- /** Built-in value references. */
- var enumerate = Reflect ? Reflect.enumerate : undefined,
- propertyIsEnumerable = objectProto.propertyIsEnumerable;
- /**
- * The base implementation of `_.keysIn` which doesn't skip the constructor
- * property of prototypes or treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeysIn(object) {
- object = object == null ? object : Object(object);
- var result = [];
- for (var key in object) {
- result.push(key);
- }
- return result;
- }
- // Fallback for IE < 9 with es6-shim.
- if (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {
- baseKeysIn = function(object) {
- return iteratorToArray(enumerate(object));
- };
- }
- export default baseKeysIn;
|