| '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; | 
| }; |