UNPKG

@opengis/fastify-table

Version:

core-plugins

39 lines (34 loc) 1.22 kB
/** * Повертає розмір файлу на диску у встановлених одиницях вимірювання об'єму файлу. * * @summary Повертає розмір растру у відповідних одиницях об'єму файлу (Тбайт, Гбайт, Мбайт) * @priority 2 * @type helper * @tag format * @alias formatUnit * @example * {{formatUnit '123.45678' number="2"}} * @param {data} data Число для перетворення * @param {Number} number Число після точки * @param {String} unit "В" * @returns {String} Returns HTML */ export default function formatUnit(data, options) { data = parseFloat(data); if (isNaN(data)) return data; const _UNIT = { B: { 4: 'TB', 3: 'GB', 2: 'MB', 1: 'KB', 0: 'B', }, }; const unit = _UNIT[options.hash.unit] || _UNIT.B; const number = options.hash.number || 0; for (let i = 4; i >= 0; i -= 1) { /* If i=0 then dataNew>0 - size in min units (17/03/20 by Olya) */ if (data >= (i ? (10 ** (3 * i)) : i)) { return (data / (10 ** (3 * i))) .toFixed(data % (10 ** (3 * i)) ? number : 0) + unit[i]; } } return data.toString(); };