Version 1
[yaffs-website] / node_modules / grunt-legacy-log / node_modules / lodash / string / pad.js
diff --git a/node_modules/grunt-legacy-log/node_modules/lodash/string/pad.js b/node_modules/grunt-legacy-log/node_modules/lodash/string/pad.js
new file mode 100644 (file)
index 0000000..60e523b
--- /dev/null
@@ -0,0 +1,47 @@
+var baseToString = require('../internal/baseToString'),
+    createPadding = require('../internal/createPadding');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeCeil = Math.ceil,
+    nativeFloor = Math.floor,
+    nativeIsFinite = global.isFinite;
+
+/**
+ * Pads `string` on the left and right sides if it's shorter than `length`.
+ * Padding characters are truncated if they can't be evenly divided by `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.pad('abc', 8);
+ * // => '  abc   '
+ *
+ * _.pad('abc', 8, '_-');
+ * // => '_-abc_-_'
+ *
+ * _.pad('abc', 3);
+ * // => 'abc'
+ */
+function pad(string, length, chars) {
+  string = baseToString(string);
+  length = +length;
+
+  var strLength = string.length;
+  if (strLength >= length || !nativeIsFinite(length)) {
+    return string;
+  }
+  var mid = (length - strLength) / 2,
+      leftLength = nativeFloor(mid),
+      rightLength = nativeCeil(mid);
+
+  chars = createPadding('', rightLength, chars);
+  return chars.slice(0, leftLength) + string + chars;
+}
+
+module.exports = pad;