Code coverage report for template/lib/debug.js

Statements: 100% (17 / 17)      Branches: 100% (2 / 2)      Functions: 100% (4 / 4)      Lines: 100% (17 / 17)      Ignored: none     

All files » template/lib/ » debug.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52            1 1   1 1       1 19971 19971 19971 1   19970     1 13 13 19971 19971 19971               1                              
'use strict';
 
/**
 * Module dependencies
 */
 
var slice = require('array-slice');
var ansi = require('ansi-styles');
 
function wrapStyles(str, color) {
  return ansi[color].open + str
    + ansi[color].close;
}
 
function makeBold(str) {
  var re = /\#\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
  var match = re.exec(str);
  if (match) {
    return wrapStyles(match[1], 'bold');
  }
  return str;
}
 
function debug (namespace) {
  var logger = require('debug')(namespace);
  return function () {
    var args = slice(arguments);
    args[0] = makeBold(args[0]);
    return logger.apply(logger, args);
  };
}
 
/**
 * Export `debug` namespaces
 */
 
module.exports = {
  err: debug('template:err'),
  delims: debug('template:delims'),
  engine: debug('template:engine'),
  helper: debug('template:helper'),
  layout: debug('template:layout'),
  loader: debug('template:loader'),
  mixins: debug('template:mixins'),
  parser: debug('template:parser'),
  plugin: debug('template:plugin'),
  render: debug('template:render'),
  routes: debug('template:routes'),
  template: debug('template:template'),
  utils: debug('template:utils')
};