17 lines
		
	
	
		
			582 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			582 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| var toInteger = require("../../number/to-integer")
 | |
|   , value     = require("../../object/valid-value")
 | |
|   , repeat    = require("./repeat")
 | |
|   , abs       = Math.abs
 | |
|   , max       = Math.max;
 | |
| 
 | |
| module.exports = function (fill/*, length*/) {
 | |
| 	var self = String(value(this)), sLength = self.length, length = arguments[1];
 | |
| 
 | |
| 	length = isNaN(length) ? 1 : toInteger(length);
 | |
| 	fill = repeat.call(String(fill), abs(length));
 | |
| 	if (length >= 0) return fill.slice(0, max(0, length - sLength)) + self;
 | |
| 	return self + (sLength + length >= 0 ? "" : fill.slice(length + sLength));
 | |
| };
 |