core-js
Version:
Standard library
17 lines (15 loc) • 698 B
JavaScript
var objectKeys = require('../internals/object-keys');
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
// all enumerable object keys, includes symbols
module.exports = function (it) {
var result = objectKeys(it);
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
if (getOwnPropertySymbols) {
var symbols = getOwnPropertySymbols(it);
var propertyIsEnumerable = propertyIsEnumerableModule.f;
var i = 0;
var key;
while (symbols.length > i) if (propertyIsEnumerable.call(it, key = symbols[i++])) result.push(key);
} return result;
};