1 |
|
2 | var ref$, black, blue, bold, cyan, dim, green, magenta, red, white, yellow, map, maximum, Logger;
|
3 | ref$ = require('chalk'), black = ref$.black, blue = ref$.blue, bold = ref$.bold, cyan = ref$.cyan, dim = ref$.dim, green = ref$.green, magenta = ref$.magenta, red = ref$.red, white = ref$.white, yellow = ref$.yellow;
|
4 | ref$ = require('prelude-ls'), map = ref$.map, maximum = ref$.maximum;
|
5 | Logger = (function(){
|
6 | Logger.displayName = 'Logger';
|
7 | var prototype = Logger.prototype, constructor = Logger;
|
8 | function Logger(serviceNames){
|
9 | var i$, len$, i, serviceName;
|
10 | this.colors = {
|
11 | exocomm: blue,
|
12 | exorun: function(it){
|
13 | return it;
|
14 | },
|
15 | 'exo-install': function(it){
|
16 | return it;
|
17 | }
|
18 | };
|
19 | for (i$ = 0, len$ = serviceNames.length; i$ < len$; ++i$) {
|
20 | i = i$;
|
21 | serviceName = serviceNames[i$];
|
22 | this.colors[serviceName] = Logger._colors[i];
|
23 | }
|
24 | this.length = maximum(
|
25 | map(function(it){
|
26 | return it.length;
|
27 | }, Object.keys(this.colors)));
|
28 | }
|
29 | prototype.log = function(arg$){
|
30 | var name, text, color;
|
31 | name = arg$.name, text = arg$.text;
|
32 | color = this.colors[name];
|
33 | return console.log(color(bold(this._pad(name) + " ")), color(text.trim()));
|
34 | };
|
35 | Logger._colors = [magenta, cyan, yellow];
|
36 | prototype._pad = function(text){
|
37 | return (" " + text).slice(-this.length);
|
38 | };
|
39 | return Logger;
|
40 | }());
|
41 | module.exports = Logger; |
\ | No newline at end of file |