basant307/AI_Governance_Project
045
1var createPadding = require('./_createPadding'),2 stringSize = require('./_stringSize'),3 toInteger = require('./toInteger'),4 toString = require('./toString');5 6/* Built-in method references for those with the same name as other `lodash` methods. */7var nativeCeil = Math.ceil,8 nativeFloor = Math.floor;9 10/**11 * Pads `string` on the left and right sides if it's shorter than `length`.12 * Padding characters are truncated if they can't be evenly divided by `length`.13 *14 * @static15 * @memberOf _16 * @since 3.0.017 * @category String18 * @param {string} [string=''] The string to pad.19 * @param {number} [length=0] The padding length.20 * @param {string} [chars=' '] The string used as padding.21 * @returns {string} Returns the padded string.22 * @example23 *24 * _.pad('abc', 8);25 * // => ' abc '26 *27 * _.pad('abc', 8, '_-');28 * // => '_-abc_-_'29 *30 * _.pad('abc', 3);31 * // => 'abc'32 */33function pad(string, length, chars) {34 string = toString(string);35 length = toInteger(length);36 37 var strLength = length ? stringSize(string) : 0;38 if (!length || strLength >= length) {39 return string;40 }41 var mid = (length - strLength) / 2;42 return (43 createPadding(nativeFloor(mid), chars) +44 string +45 createPadding(nativeCeil(mid), chars)46 );47}48 49module.exports = pad;50 