123456789101112131415161718192021 |
- var toString = require('../lang/toString');
- var trim = require('./trim');
- /**
- * Limit number of chars.
- */
- function truncate(str, maxChars, append, onlyFullWords){
- str = toString(str);
- append = append || '...';
- maxChars = onlyFullWords? maxChars + 1 : maxChars;
- str = trim(str);
- if(str.length <= maxChars){
- return str;
- }
- str = str.substr(0, maxChars - append.length);
- //crop at last space or remove trailing whitespace
- str = onlyFullWords? str.substr(0, str.lastIndexOf(' ')) : trim(str);
- return str + append;
- }
- module.exports = truncate;
|