aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/string/#/pad.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/string/#/pad.js')
-rw-r--r--node_modules/es5-ext/string/#/pad.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/es5-ext/string/#/pad.js b/node_modules/es5-ext/string/#/pad.js
new file mode 100644
index 000000000..159f89519
--- /dev/null
+++ b/node_modules/es5-ext/string/#/pad.js
@@ -0,0 +1,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));
+};