| '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)); |
| }; |