hdd-space
Version:
This module provides getting information about free space and size of hdds
49 lines • 3.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("./utils");
exports.multiplierPowers = {
bit: -3,
byte: 0,
kb: 10,
mb: 20,
gb: 30,
tb: 40,
pb: 50,
eb: 60,
zb: 70,
yb: 80
};
var maxScale = 80;
var invertedMultipliers = utils_1.invertHashTable(exports.multiplierPowers);
function capitalizeMultiplier(multiplier) {
switch (multiplier) {
case 'bit': return 'Bits';
case 'byte': return 'Bytes';
default: return multiplier.toUpperCase();
}
}
function scaleNumber(n, power) {
return n / Math.pow(2, power);
}
function formatSize(format, size) {
if (typeof format === 'function') {
return format(size);
}
var staticFormat = format.toLowerCase();
if (staticFormat in exports.multiplierPowers) {
var power = exports.multiplierPowers[staticFormat];
return scaleNumber(size, power) + ' ' + capitalizeMultiplier(staticFormat);
}
if (staticFormat === 'auto') {
var scale = Math.floor(Math.log(size) / Math.log(1024)) * 10;
if (!(scale in invertedMultipliers)) {
scale = scale > maxScale ? maxScale : 0;
}
var unit = invertedMultipliers[scale];
return scaleNumber(size, scale).toFixed(2) + ' ' + capitalizeMultiplier(unit);
}
console.error("Bad format [" + staticFormat + "]");
return formatSize('byte', size);
}
exports.formatSize = formatSize;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Zvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUF3QztBQUUzQixRQUFBLGdCQUFnQixHQUFHO0lBQy9CLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLEVBQUUsQ0FBQztJQUNQLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7Q0FDTixDQUFDO0FBRUYsSUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBRXBCLElBQU0sbUJBQW1CLEdBQUcsdUJBQWUsQ0FBQyx3QkFBZ0IsQ0FBbUQsQ0FBQztBQUVoSCw4QkFBOEIsVUFBa0I7SUFDL0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFCLEtBQUssTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDNUIsU0FBUyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7QUFDRixDQUFDO0FBUUQscUJBQXFCLENBQVMsRUFBRSxLQUFhO0lBQzVDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBQSxDQUFDLEVBQUksS0FBSyxDQUFBLENBQUM7QUFDdkIsQ0FBQztBQUVELG9CQUEyQixNQUFjLEVBQUUsSUFBWTtJQUN0RCxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBRSxNQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFrQixDQUFDO0lBQzFELEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSx3QkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBTSxLQUFLLEdBQUcsd0JBQWdCLENBQUMsWUFBNkMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsRUFBRSxDQUFDLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxLQUFLLEdBQUcsS0FBSyxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFlLFlBQVksTUFBRyxDQUFDLENBQUM7SUFDOUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQW5CRCxnQ0FtQkMifQ==