/*!

* Chai - getOwnEnumerablePropertySymbols utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/

/**

* ### .getOwnEnumerablePropertySymbols(object)
*
* This allows the retrieval of directly-owned enumerable property symbols of an
* object. This function is necessary because Object.getOwnPropertySymbols
* returns both enumerable and non-enumerable property symbols.
*
* @param {Object} object
* @returns {Array}
* @namespace Utils
* @name getOwnEnumerablePropertySymbols
* @api public
*/

module.exports = function getOwnEnumerablePropertySymbols(obj) {

if (typeof Object.getOwnPropertySymbols !== 'function') return [];

return Object.getOwnPropertySymbols(obj).filter(function (sym) {
  return Object.getOwnPropertyDescriptor(obj, sym).enumerable;
});

};