You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					17 lines
				
				744 B
			
		
		
			
		
	
	
					17 lines
				
				744 B
			| 
											3 years ago
										 | // https://github.com/tc39/proposal-string-pad-start-end
 | ||
|  | var toLength = require('./_to-length'); | ||
|  | var repeat = require('./_string-repeat'); | ||
|  | var defined = require('./_defined'); | ||
|  | 
 | ||
|  | module.exports = function (that, maxLength, fillString, left) { | ||
|  |   var S = String(defined(that)); | ||
|  |   var stringLength = S.length; | ||
|  |   var fillStr = fillString === undefined ? ' ' : String(fillString); | ||
|  |   var intMaxLength = toLength(maxLength); | ||
|  |   if (intMaxLength <= stringLength || fillStr == '') return S; | ||
|  |   var fillLen = intMaxLength - stringLength; | ||
|  |   var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); | ||
|  |   if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); | ||
|  |   return left ? stringFiller + S : S + stringFiller; | ||
|  | }; |