UNPKG

884 BJavaScriptView Raw
1import arrayFilter from './_arrayFilter.js';
2import stubArray from './stubArray.js';
3
4/** Used for built-in method references. */
5var objectProto = Object.prototype;
6
7/** Built-in value references. */
8var propertyIsEnumerable = objectProto.propertyIsEnumerable;
9
10/* Built-in method references for those with the same name as other `lodash` methods. */
11var nativeGetSymbols = Object.getOwnPropertySymbols;
12
13/**
14 * Creates an array of the own enumerable symbols of `object`.
15 *
16 * @private
17 * @param {Object} object The object to query.
18 * @returns {Array} Returns the array of symbols.
19 */
20var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
21 if (object == null) {
22 return [];
23 }
24 object = Object(object);
25 return arrayFilter(nativeGetSymbols(object), function(symbol) {
26 return propertyIsEnumerable.call(object, symbol);
27 });
28};
29
30export default getSymbols;