UNPKG

tarifa

Version:

Your friendly toolchain for mobile app development on top of Apache Cordova

51 lines (44 loc) 1.45 kB
var EventEmitter = require('events').EventEmitter, util = require('util'), chalk = require('chalk'), figures = require('figures'), emitter = new EventEmitter(); emitter.send = function (/* type, format, [ args ... ]*/) { var args = Array.prototype.slice.call(arguments, 0), msg = ''; if(args[0] === 'outline') { msg = chalk.yellow.underline(util.format.apply(this, args.splice(1))); emitter.emit(args[0], msg); return; } switch(args[0]) { case 'success': msg = chalk.green(figures.star); break; case 'info': msg = chalk.green(figures.info); break; case 'error': msg = chalk.red(figures.cross); break; case 'warning': msg = chalk.bgYellow(chalk.black('warning')); break; } msg += ['msg', 'banner', 'help'].indexOf(args[0]) > -1 ? '' : ' '; msg += util.format.apply(this, args.splice(1)); emitter.emit(args[0], msg); }; emitter.init = function (verbose) { emitter.on('msg', console.log); emitter.on('error', console.log); emitter.on('warning', console.log); emitter.on('outline', console.log); if(verbose) { emitter.on('success', console.log); emitter.on('info', console.log); emitter.on('banner', console.log); emitter.on('help', console.log); } }; module.exports = emitter;