XciD's picture
XciD HF staff
initial commit
8969f81
import * as colors from 'colors';
import * as util from 'util';
export const c = {
__log: (args: any[], opts: {
color?: colors.Color,
colors?: boolean,
} = {}) => {
const inspectOpts = (opts.colors !== undefined)
? { depth: 20, colors: opts.colors }
: { depth: 20, colors: true }
;
const s = args.map(o => {
if (o instanceof Error) {
// return colors.red(`${o.name}: ${o.message}\n${o.stack}`);
return (o.stack || `${o.name}: ${o.message}`)
.split('\n')
.map(x => colors.red(x))
.join('\n')
;
} else if (typeof o === 'string') {
return o;
} else {
return util.inspect(o, inspectOpts);
}
}).join(' ');
console.log(opts.color ? opts.color(s) : s);
},
log: (...args) => {
c.__log(args);
},
debug: (...args) => {
c.__log(args, { color: colors.gray, colors: false });
},
success: (...args) => {
c.__log(args, { color: colors.green });
},
error: (...args) => {
c.__log(args, { color: colors.red });
},
info: (...args) => {
c.__log(args, { color: colors.cyan });
},
introspect: (...args) => {
c.__log(args.map(a => [
a,
typeof a,
a.constructor.name,
]));
},
}