node/tools/eslint/node_modules/es5-ext/string/#/pad.js
Michaël Zasso 2d441493a4 tools: update eslint to v1.10.3
PR-URL: https://github.com/nodejs/io.js/pull/2286
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-13 23:15:39 +01:00

19 lines
580 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));
};