@opengis/fastify-table
Version:
core-plugins
29 lines (28 loc) • 1.31 kB
JavaScript
/**
* Зменшення строки за значеням із змінної. Можна отримати частину строки за першим та останнім символом.
*
* @summary Обрізання строки. За замовчуванням до 100 символів. Є можливість вказання точної кількості.
* @priority 4
* @alias substr
* @tag string
* @type helper
* @example
* {{substr @root.domain from=5}}
* @example
* {{substr req.headers.host max=15}}
* @param {Object} from Число з якого обрізати строку
* @param {Object} max Число до якого обрізати строку
* @param {Object} args[1]] Використовуэться, якщо не дано opt.max
* @param {String|Number} data Строка або число яке обрізається
* @returns {String} Returns HTML
*/
export default function substr(data, { hash }) {
const fullString = data ? String(data) : '';
const max = typeof hash?.max === 'number' ? hash.max : 100;
const from = typeof hash?.from === 'number' ? hash.from : 0;
const result = fullString.substr(from, max);
if (hash?.unit && fullString.length > max) {
return `${result}${hash.unit}`;
}
return result;
}