padStart.js
 1  var createPadding = require('./_createPadding'),
 2      stringSize = require('./_stringSize'),
 3      toInteger = require('./toInteger'),
 4      toString = require('./toString');
 5  
 6  /**
 7   * Pads `string` on the left side if it's shorter than `length`. Padding
 8   * characters are truncated if they exceed `length`.
 9   *
10   * @static
11   * @memberOf _
12   * @since 4.0.0
13   * @category String
14   * @param {string} [string=''] The string to pad.
15   * @param {number} [length=0] The padding length.
16   * @param {string} [chars=' '] The string used as padding.
17   * @returns {string} Returns the padded string.
18   * @example
19   *
20   * _.padStart('abc', 6);
21   * // => '   abc'
22   *
23   * _.padStart('abc', 6, '_-');
24   * // => '_-_abc'
25   *
26   * _.padStart('abc', 3);
27   * // => 'abc'
28   */
29  function padStart(string, length, chars) {
30    string = toString(string);
31    length = toInteger(length);
32  
33    var strLength = length ? stringSize(string) : 0;
34    return (length && strLength < length)
35      ? (createPadding(length - strLength, chars) + string)
36      : string;
37  }
38  
39  module.exports = padStart;