truncate-text-between-words
v1.2.2
Published
Truncates the text at the last space before the given length.
Maintainers
Readme
Truncates the text at the last space found before the given length. Adds "..." to indicate that the text is truncated.
Usage
import {
truncateText,
getPositionOfLastSpaceBeforeIndex,
} from 'truncate-text-between-words';Let's use this text as example:
// Lenght: 5 10 15 20 25
// ↓ ↓ ↓ ↓ ↓
const TEXT = 'Lorem ipsum dolor sit amet.';truncateText
Parameters:
type TruncateTextOptions = {
hideIfNoWords?: boolean;
dotsInsteadOfEllipsis?: boolean;
};
truncateText(text: string, maxLength: number, options?: TruncateTextOptions);Options
hideIfNoWords - default: false - Hide the ellipsis if there are no words to show
truncateText(TEXT, 3);
// Output: ...
truncateText(TEXT, 3, { hideIfNoWords: true });
// Output:dotsInsteadOfEllipsis - default: false - Use three dots instead of the ellipsis unicode character U+2026
Other examples
truncateText(TEXT, 6);
// Output: Lorem...
truncateText(TEXT, 15);
// Output: Lorem ipsum...
truncateText(TEXT, 50);
// Output: Lorem ipsum dolor sit amet.getPositionOfLastSpaceBeforeIndex
getPositionOfLastSpaceBeforeIndex(text: string, index: number);
getPositionOfLastSpaceBeforeIndex(TEXT, 3);
// Output: -1
getPositionOfLastSpaceBeforeIndex(TEXT, 6);
// Output: 5
getPositionOfLastSpaceBeforeIndex(TEXT, 15);
// Output: 11
getPositionOfLastSpaceBeforeIndex(TEXT, 50);
// Output: 21