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

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/loupe/lib/error.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/loupe/lib/error.js