function truncate(subject, length, end) {
    var subjectString = coerceToString(subject);
    var lengthInt = isNil(length) ? subjectString.length : clipNumber(toInteger(length), 0, MAX_SAFE_INTEGER);
    var endString = coerceToString(end, '...');

    if (lengthInt >= subjectString.length) {
      return subjectString;
    }

    return subjectString.substr(0, length - endString.length) + endString;
  }
Truncates `subject` to a new `length`.

@function truncate
@static
@since 1.0.0
@memberOf Chop
@param  {string} [subject=''] The string to truncate.
@param  {int}    length       The length to truncate the string.
@param  {string} [end='...']  The string to be added at the end.
@return {string}              Returns the truncated string.
@example
v.truncate('Once upon a time', 7);
// => 'Once...'

v.truncate('Good day, Little Red Riding Hood', 14, ' (...)');
// => 'Good day (...)'

v.truncate('Once upon', 10);
// => 'Once upon'