chain-able
Version:
interfaces that describe their intentions.
37 lines (35 loc) • 1.84 kB
JavaScript
var toS = require('./toS')
/**
* @param {*} x value
* @return {boolean} isError
*
* @memberOf is
* @func isError
*
* @example
*
* isError(new Error())
* //=> true
* isError(new Error().stack)
* //=> false
* isError(1)
* //=> false
* isError('')
* //=> false
*
* @example
*
* const e = {}
* eh[Symbol.toStringTag] = '[Object Error]'
* isError(eh)
* //=> true
*
* @example
*
* class Eh extends Error()
* isError(new Eh())
* //=> true
*
*/
module.exports = function (x) { return x instanceof Error || toS(x) === '[object Error]'; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VzIjpbImVycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHRvUyA9IHJlcXVpcmUoJy4vdG9TJylcblxuLyoqXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSBpc0Vycm9yXG4gKlxuICogQG1lbWJlck9mIGlzXG4gKiBAZnVuYyBpc0Vycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNFcnJvcihuZXcgRXJyb3IoKSlcbiAqICAvLz0+IHRydWVcbiAqICBpc0Vycm9yKG5ldyBFcnJvcigpLnN0YWNrKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc0Vycm9yKDEpXG4gKiAgLy89PiBmYWxzZVxuICogIGlzRXJyb3IoJycpXG4gKiAgLy89PiBmYWxzZVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGNvbnN0IGUgPSB7fVxuICogIGVoW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAnW09iamVjdCBFcnJvcl0nXG4gKiAgaXNFcnJvcihlaClcbiAqICAvLz0+IHRydWVcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICBjbGFzcyBFaCBleHRlbmRzIEVycm9yKClcbiAqICBpc0Vycm9yKG5ldyBFaCgpKVxuICogIC8vPT4gdHJ1ZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSB4ID0+IHggaW5zdGFuY2VvZiBFcnJvciB8fCB0b1MoeCkgPT09ICdbb2JqZWN0IEVycm9yXSdcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDNUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLENBQUMsQ0FBQSxDQUFDLEFBQUcsU0FBQSxDQUFDLFlBQVksS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsR0FBQTsifQ==