@flexis/ui
Version:
Styleless React Components
31 lines (24 loc) • 1.61 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.textTructate = textTructate;
var _lastIndexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/last-index-of"));
/**
* Truncate text by given length;
* @param text - Text to truncate.
* @param length - Truncate length.
* @return Truncated string.
*/
function textTructate(text, length) {
if (text.length <= length) {
return text;
}
var subString = text.substr(0, length);
var spaceIndex = (0, _lastIndexOf.default)(subString).call(subString, ' ');
var truncatedString = ~spaceIndex ? subString.substr(0, spaceIndex) : subString;
return "".concat(truncatedString, "...");
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL3RleHRUcnVuY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFNTSxTQUFVLFlBQVYsQ0FBdUIsSUFBdkIsRUFBcUMsTUFBckMsRUFBbUQ7QUFFeEQsTUFBSSxJQUFJLENBQUMsTUFBTCxJQUFlLE1BQW5CLEVBQTJCO0FBQzFCLFdBQU8sSUFBUDtBQUNBOztBQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFMLENBQVksQ0FBWixFQUFlLE1BQWYsQ0FBbEI7QUFDQSxNQUFNLFVBQVUsR0FBRywwQkFBQSxTQUFTLE1BQVQsQ0FBQSxTQUFTLEVBQWEsR0FBYixDQUE1QjtBQUNBLE1BQU0sZUFBZSxHQUFHLENBQUMsVUFBRCxHQUNyQixTQUFTLENBQUMsTUFBVixDQUFpQixDQUFqQixFQUFvQixVQUFwQixDQURxQixHQUVyQixTQUZIO0FBSUEsbUJBQVUsZUFBVjtBQUNBIiwic291cmNlUm9vdCI6IiJ9