Truncates the text at the last space found before the given length. Adds "..." to indicate that the text is truncated.
import {
truncateText,
getPositionOfLastSpaceBeforeIndex,
} from 'truncate-text-between-words';
// Lenght: 5 10 15 20 25
// ↓ ↓ ↓ ↓ ↓
const TEXT = 'Lorem ipsum dolor sit amet.';
Parameters:
type TruncateTextOptions = {
hideIfNoWords?: boolean;
};
truncateText(text: string, maxLength: number, options?: TruncateTextOptions);
truncateText(TEXT, 3);
// Output: ...
truncateText(TEXT, 3, { hideIfNoWords: true });
// Output:
truncateText(TEXT, 6);
// Output: Lorem...
truncateText(TEXT, 15);
// Output: Lorem ipsum...
truncateText(TEXT, 50);
// Output: Lorem ipsum dolor sit amet.
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