UNPKG

console-ultimate

Version:

Node-compatible console object with extra features

55 lines (39 loc) 864 B
import kleur from 'kleur' import { Thru, As } from './Thru.js' import Logformat from './Logformat.js' import Errformat from './Errformat.js' import sps from './spaced.js' import * as unicode from './unicode.js' export default function Err ({ inspect_with, writer }) { var { stream } = writer var px = sps(unicode.errformat1) var color = kleur.red var lf = Logformat({ stream, px, color, inspect_with }) var ef = Errformat({ stream, inspect_with }) function error (...args) { var e = args[0] if (e instanceof Error) { var { _, stack } = ef(e) writer(_) writer(stack) } else { writer(lf(args)) } } error.thru = Thru(error) error.as = As(error) function trace () { var e = { name: 'Trace' } Error.captureStackTrace(e, trace) var { _, stack } = ef(e) writer(_) writer(stack) } return { error, trace } }