| /*! |
| * 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; |
| }); |
| }; |