@opengis/fastify-table
Version:
core-plugins
39 lines (34 loc) • 1.22 kB
JavaScript
/**
* Повертає розмір файлу на диску у встановлених одиницях вимірювання об'єму файлу.
*
* @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();
};