var repeat = require('../string/repeat'); /* Native method references for those with the same name as other `lodash` methods. */ var nativeCeil = Math.ceil, nativeIsFinite = global.isFinite; /** * Creates the padding required for `string` based on the given `length`. * The `chars` string is truncated if the number of characters exceeds `length`. * * @private * @param {string} string The string to create padding for. * @param {number} [length=0] The padding length. * @param {string} [chars=' '] The string used as padding. * @returns {string} Returns the pad for `string`. */ function createPadding(string, length, chars) { var strLength = string.length; length = +length; if (strLength >= length || !nativeIsFinite(length)) { return ''; } var padLength = length - strLength; chars = chars == null ? ' ' : (chars + ''); return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength); } module.exports = createPadding;