Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/uploader/core/src/helpers/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/uploader/core/src/helpers/format-file-size.js

import { Loc, Type } from 'main.core';

const formatFileSize = (size: number, base: number = 1024): string => {
	let i = 0;
	const units = getUnits();
	let currentSize = size;
	while (currentSize >= base && units[i + 1])
	{
		currentSize /= base;
		i++;
	}

	return (Type.isInteger(currentSize) ? currentSize : currentSize.toFixed(1)) + units[i];
};

let fileSizeUnits = null;
const getUnits = () => {
	if (fileSizeUnits !== null)
	{
		return fileSizeUnits;
	}

	const units = Loc.getMessage('UPLOADER_FILE_SIZE_POSTFIXES').split(/\|/);
	fileSizeUnits = Type.isArrayFilled(units) ? units : ['B', 'kB', 'MB', 'GB', 'TB'];

	return fileSizeUnits;
};

export default formatFileSize;