| | |
| | | var DESCRIPTORS = require('../internals/descriptors'); |
| | | var uncurryThis = require('../internals/function-uncurry-this'); |
| | | var objectKeys = require('../internals/object-keys'); |
| | | var toIndexedObject = require('../internals/to-indexed-object'); |
| | | var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f; |
| | | var $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f; |
| | | |
| | | var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); |
| | | var push = uncurryThis([].push); |
| | | |
| | | // `Object.{ entries, values }` methods implementation |
| | | var createMethod = function (TO_ENTRIES) { |
| | |
| | | var key; |
| | | while (length > i) { |
| | | key = keys[i++]; |
| | | if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { |
| | | result.push(TO_ENTRIES ? [key, O[key]] : O[key]); |
| | | if (!DESCRIPTORS || propertyIsEnumerable(O, key)) { |
| | | push(result, TO_ENTRIES ? [key, O[key]] : O[key]); |
| | | } |
| | | } |
| | | return result; |