| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 'use strict'var stringWidth = require('string-width')exports.center = alignCenterexports.left = alignLeftexports.right = alignRight// lodash's way of generating pad characters.function createPadding (width) {  var result = ''  var string = ' '  var n = width  do {    if (n % 2) {      result += string;    }    n = Math.floor(n / 2);    string += string;  } while (n);  return result;}function alignLeft (str, width) {  var trimmed = str.trimRight()  if (trimmed.length === 0 && str.length >= width) return str  var padding = ''  var strWidth = stringWidth(trimmed)  if (strWidth < width) {    padding = createPadding(width - strWidth)  }  return trimmed + padding}function alignRight (str, width) {  var trimmed = str.trimLeft()  if (trimmed.length === 0 && str.length >= width) return str  var padding = ''  var strWidth = stringWidth(trimmed)  if (strWidth < width) {    padding = createPadding(width - strWidth)  }  return padding + trimmed}function alignCenter (str, width) {  var trimmed = str.trim()  if (trimmed.length === 0 && str.length >= width) return str  var padLeft = ''  var padRight = ''  var strWidth = stringWidth(trimmed)  if (strWidth < width) {    var padLeftBy = parseInt((width - strWidth) / 2, 10)     padLeft = createPadding(padLeftBy)    padRight = createPadding(width - (strWidth + padLeftBy))  }  return padLeft + trimmed + padRight}
 |