333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"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));
};