UNPKG

util-ex

Version:

Browser-friendly enhanced util fully compatible with standard node.js

25 lines (24 loc) 873 B
let _keys, _getOwnPropertyNames; // In IE the description property of an error is visible // eslint-disable-next-line unicorn/error-message if ((new Error()).hasOwnProperty('description')) { const ERROR_PROPERTY_FILTER = function (obj, array) { if (Object.prototype.toString.call(obj) === '[object Error]') { array = array.filter((name) => { return name !== 'description' && name !== 'number'; }); } return array; }; _keys = function keys(object) { return ERROR_PROPERTY_FILTER(object, Object.keys(object)); }; _getOwnPropertyNames = function getOwnPropertyNames(object) { return ERROR_PROPERTY_FILTER(object, Object.getOwnPropertyNames(object)); }; } else { _keys = Object.keys; _getOwnPropertyNames = Object.getOwnPropertyNames; } export const keys = _keys; export const getOwnPropertyNames = _getOwnPropertyNames;