UNPKG

ninjs-lodash

Version:
40 lines (32 loc) 1.1 kB
/** * Debug Output */ 'use strict' const _ = require('lodash') const jpretty = require('./libs/jpretty') const PADDING = 12 exports = module.exports = { log: log, logcb: logcb, jslog: jslog, jlog: jlog, olog: olog } _.mixin(exports) // standard console log function log() { return console.log.apply(console, _.toArray(arguments)) } // logs err || result from async callback function logcb(err, result) { return err ? log(err) : (_.isObject(result) || _.isFunction(result) ? jslog(result) : log(result)) } // logs pretty function jslog(val) { return log(jpretty(val)) } // logs inspected object function jlog(val) { let args = _.drop(_.toArray(arguments)) args.unshift(require('util').inspect(val, false, null)) return log.apply(null, args) } // logs object k/v pairs function olog(obj) { if(!_.isPlainObject(obj)) return let str = '' _.forIn(obj, (v, k) => { let key = _.padEnd(k, PADDING) let val = v ? (_.isPlainObject(v) ? `\n${jpretty(v)}` : `: ${v}`) : '' str = str + `\n${key}${val}` }) return _.log(str) }