Code coverage report for master/pad.js

Statements: 100% (17 / 17)      Branches: 100% (7 / 7)      Functions: 100% (1 / 1)      Lines: 100% (17 / 17)      Ignored: none     

All files » master/ » pad.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 271 1   1 36 36   36   36 20 16 2   36   9 9   13 13   14 14      
var makeString = require('./helper/makeString');
var strRepeat = require('./helper/strRepeat');
 
module.exports = function pad(str, length, padStr, type) {
  str = makeString(str);
  length = ~~length;
 
  var padlen = 0;
 
  if (!padStr)
    padStr = ' ';
  else if (padStr.length > 1)
    padStr = padStr.charAt(0);
 
  switch (type) {
    case 'right':
      padlen = length - str.length;
      return str + strRepeat(padStr, padlen);
    case 'both':
      padlen = length - str.length;
      return strRepeat(padStr, Math.ceil(padlen / 2)) + str + strRepeat(padStr, Math.floor(padlen / 2));
    default: // 'left'
      padlen = length - str.length;
      return strRepeat(padStr, padlen) + str;
  }
};