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