hdd-space
Version:
This module provides getting information about free space and size of hdds
53 lines (52 loc) • 3.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function getTotal(parts) {
return parts.reduce(function (total, part) {
total.size += part.size;
total.free += part.free;
return total;
}, {
size: 0,
free: 0
});
}
/*
[wmic logicaldisk get size,freespace,caption] output example:
Caption FreeSpace Size
C: 1286164480 34359734272
D: 1864638464 50925137920
E:
F: 77553082368 990202818560
G:
L:
*/
function parseWin32Output(output) {
var parts = output
.split('\n')
.slice(1) // remove header
.map(function (line) {
var lineParts = line.split(/[\s]+/g);
var partInfo = {
place: lineParts[0],
letter: lineParts[0],
free: parseInt(lineParts[1]),
size: parseInt(lineParts[2])
};
if (isNaN(partInfo.free) ||
isNaN(partInfo.size) ||
partInfo.place === '') {
return null;
}
return partInfo;
})
.filter(function (part) {
return !!part;
});
return {
parts: parts,
total: getTotal(parts)
};
}
exports.parseWin32Output = parseWin32Output;
exports.win32Cmd = 'wmic logicaldisk get size,freespace,caption';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd2luMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxrQkFBa0IsS0FBYTtJQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLEtBQUssRUFBRSxJQUFJO1FBQy9CLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4QixLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNkLENBQUMsRUFBRTtRQUNGLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxFQUFFLENBQUM7S0FDUCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7RUFVRTtBQUVGLDBCQUFpQyxNQUFjO0lBQzlDLElBQU0sS0FBSyxHQUFHLE1BQU07U0FDbEIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7U0FDekIsR0FBRyxDQUFDLFVBQVMsSUFBSTtRQUNqQixJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQU0sUUFBUSxHQUFTO1lBQ3RCLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ25CLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVCLENBQUM7UUFDRixFQUFFLENBQUMsQ0FDRixLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNwQixLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNwQixRQUFRLENBQUMsS0FBSyxLQUFLLEVBQ3BCLENBQUMsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2pCLENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxVQUFTLElBQUk7UUFDcEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDLENBQVcsQ0FBQztJQUNkLE1BQU0sQ0FBQztRQUNOLEtBQUssT0FBQTtRQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ3RCLENBQUM7QUFDSCxDQUFDO0FBNUJELDRDQTRCQztBQUVZLFFBQUEsUUFBUSxHQUFHLDZDQUE2QyxDQUFDIn0=