docs/static/kute-page_files/undefined.cd4343636fa2ca97594c.js
function truncate(string, options) {
      var length = DEFAULT_TRUNC_LENGTH,
          omission = DEFAULT_TRUNC_OMISSION;

      if (isObject(options)) {
        var separator = 'separator' in options ? options.separator : separator;
        length = 'length' in options ? toInteger(options.length) : length;
        omission = 'omission' in options ? baseToString(options.omission) : omission;
      }
      string = toString(string);

      var strLength = string.length;
      if (hasUnicode(string)) {
        var strSymbols = stringToArray(string);
        strLength = strSymbols.length;
      }
      if (length >= strLength) {
        return string;
      }
      var end = length - stringSize(omission);
      if (end < 1) {
        return omission;
      }
      var result = strSymbols
        ? castSlice(strSymbols, 0, end).join('')
        : string.slice(0, end);

      if (separator === undefined) {
        return result + omission;
      }
      if (strSymbols) {
        end += (result.length - end);
      }
      if (isRegExp(separator)) {
        if (string.slice(end).search(separator)) {
          var match,
              substring = result;

          if (!separator.global) {
            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');
          }
          separator.lastIndex = 0;
          while ((match = separator.exec(substring))) {
            var newEnd = match.index;
          }
          result = result.slice(0, newEnd === undefined ? end : newEnd);
        }
      } else if (string.indexOf(baseToString(separator), end) != end) {
        var index = result.lastIndexOf(separator);
        if (index > -1) {
          result = result.slice(0, index);
        }
      }
      return result + omission;
    }
function truncate(string, options) {
      var length = DEFAULT_TRUNC_LENGTH,
          omission = DEFAULT_TRUNC_OMISSION;

      if (isObject(options)) {
        var separator = 'separator' in options ? options.separator : separator;
        length = 'length' in options ? toInteger(options.length) : length;
        omission = 'omission' in options ? baseToString(options.omission) : omission;
      }
      string = toString(string);

      var strLength = string.length;
      if (hasUnicode(string)) {
        var strSymbols = stringToArray(string);
        strLength = strSymbols.length;
      }
      if (length >= strLength) {
        return string;
      }
      var end = length - stringSize(omission);
      if (end < 1) {
        return omission;
      }
      var result = strSymbols
        ? castSlice(strSymbols, 0, end).join('')
        : string.slice(0, end);

      if (separator === undefined) {
        return result + omission;
      }
      if (strSymbols) {
        end += (result.length - end);
      }
      if (isRegExp(separator)) {
        if (string.slice(end).search(separator)) {
          var match,
              substring = result;

          if (!separator.global) {
            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');
          }
          separator.lastIndex = 0;
          while ((match = separator.exec(substring))) {
            var newEnd = match.index;
          }
          result = result.slice(0, newEnd === undefined ? end : newEnd);
        }
      } else if (string.indexOf(baseToString(separator), end) != end) {
        var index = result.lastIndexOf(separator);
        if (index > -1) {
          result = result.slice(0, index);
        }
      }
      return result + omission;
    }
function truncate ( string , options ) { var length = DEFAULT_TRUNC_LENGTH , omission = DEFAULT_TRUNC_OMISSION ; if ( isObject ( options ) ) { var separator = 'separator' in options ? options . separator : separator ; length = 'length' in options ? toInteger ( options . length ) : length ; omission = 'omission' in options ? baseToString ( options . omission ) : omission ; } string = toString ( string ) ; var strLength = string . length ; if ( hasUnicode ( string ) ) { var strSymbols = stringToArray ( string ) ; strLength = strSymbols . length ; } if ( length >= strLength ) { return string ; } var end = length - stringSize ( omission ) ; if ( end < 1 ) { return omission ; } var result = strSymbols ? castSlice ( strSymbols , 0 , end ) . join ( '' ) : string . slice ( 0 , end ) ; if ( separator === undefined ) { return result + omission ; } if ( strSymbols ) { end += ( result . length - end ) ; } if ( isRegExp ( separator ) ) { if ( string . slice ( end ) . search ( separator ) ) { var match , substring = result ; if ( ! separator . global ) { separator = RegExp ( separator . source , toString ( reFlags . exec ( separator ) ) + 'g' ) ; } separator . lastIndex = 0 ; while ( ( match = separator . exec ( substring ) ) ) { var newEnd = match . index ; } result = result . slice ( 0 , newEnd === undefined ? end : newEnd ) ; } } else if ( string . indexOf ( baseToString ( separator ) , end ) != end ) { var index = result . lastIndexOf ( separator ) ; if ( index > - 1 ) { result = result . slice ( 0 , index ) ; } } return result + omission ; }
Truncates `string` if it's longer than the given maximum string length.
The last characters of the truncated string are replaced with the omission
string which defaults to "...".

@static
@memberOf _
@since 4.0.0
@category String
@param {string} [string=''] The string to truncate.
@param {Object} [options={}] The options object.
@param {number} [options.length=30] The maximum string length.
@param {string} [options.omission='...'] The string to indicate text is omitted.
@param {RegExp|string} [options.separator] The separator pattern to truncate to.
@returns {string} Returns the truncated string.
@example

_.truncate('hi-diddly-ho there, neighborino');
// => 'hi-diddly-ho there, neighbo...'

_.truncate('hi-diddly-ho there, neighborino', {
'length': 24,
'separator': ' '
});
// => 'hi-diddly-ho there,...'

_.truncate('hi-diddly-ho there, neighborino', {
'length': 24,
'separator': /,? +/
});
// => 'hi-diddly-ho there...'

_.truncate('hi-diddly-ho there, neighborino', {
'omission': ' [...]'
});
// => 'hi-diddly-ho there, neig [...]'
Truncates string if it s longer than the given maximum string length . The last characters of the truncated string are replaced with the omission string which defaults to ... .