16 lines
734 B
JavaScript
16 lines
734 B
JavaScript
'use strict';
|
|
var getBuiltIn = require('../internals/get-built-in');
|
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
|
|
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
var anObject = require('../internals/an-object');
|
|
|
|
var concat = uncurryThis([].concat);
|
|
|
|
// all object keys, includes non-enumerable and symbols
|
|
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
var keys = getOwnPropertyNamesModule.f(anObject(it));
|
|
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
|
|
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
|
|
};
|