Sha256: e13e9e53692d35eeea37e93cabc1062d97d801ac413b26ddce7a5212e795173d
Contents?: true
Size: 1.08 KB
Versions: 26
Compression:
Stored size: 1.08 KB
Contents
import { inspectList, inspectProperty, truncate } from './helpers.js'; const errorKeys = [ 'stack', 'line', 'column', 'name', 'message', 'fileName', 'lineNumber', 'columnNumber', 'number', 'description', 'cause', ]; export default function inspectObject(error, options) { const properties = Object.getOwnPropertyNames(error).filter(key => errorKeys.indexOf(key) === -1); const name = error.name; options.truncate -= name.length; let message = ''; if (typeof error.message === 'string') { message = truncate(error.message, options.truncate); } else { properties.unshift('message'); } message = message ? `: ${message}` : ''; options.truncate -= message.length + 5; options.seen = options.seen || []; if (options.seen.includes(error)) { return '[Circular]'; } options.seen.push(error); const propertyContents = inspectList(properties.map(key => [key, error[key]]), options, inspectProperty); return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ''}`; }
Version data entries
26 entries across 26 versions & 1 rubygems