sugar
Version:
A Javascript utility library for working with native objects.
25 lines (19 loc) • 668 B
JavaScript
;
var Sugar = require('sugar-core'),
padString = require('./internal/padString'),
mathAliases = require('../common/var/mathAliases'),
coercePositiveInteger = require('../common/internal/coercePositiveInteger');
var max = mathAliases.max,
ceil = mathAliases.ceil,
floor = mathAliases.floor;
Sugar.String.defineInstance({
'pad': function(str, num, padding) {
var half, front, back;
num = coercePositiveInteger(num);
half = max(0, num - str.length) / 2;
front = floor(half);
back = ceil(half);
return padString(front, padding) + str + padString(back, padding);
}
});
module.exports = Sugar.String.pad;