hdd-space
Version:
This module provides getting information about free space and size of hdds
66 lines (64 loc) • 3.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var parse_columns_1 = require("parse-columns");
function parseDf(output) {
var extractTable = {
3: 'free',
5: 'mp',
1: 'size'
};
var res = [];
parse_columns_1.default(output, {
transform: function (value, header, columnIndex, rowIndex) {
var key = extractTable[columnIndex];
if (!key) {
return;
}
var row = res[rowIndex - 1];
if (!row) {
row = {};
res[rowIndex - 1] = row;
}
row[key] = key === 'mp' ? value : Number(value);
}
});
return res;
}
/*
[df] output example:
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 15506408 1149728 13708188 8% /
/dev/root 15506408 1149728 13708188 8% /
devtmpfs 447624 0 447624 0% /dev
tmpfs 89548 208 89340 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 179080 0 179080 0% /run/shm
*/
function parseUnixOutput(output) {
var parsed = parseDf(output.trim());
var root = null;
var parts = parsed
.map(function (part) {
var res = {
size: part.size * 1024,
free: part.free * 1024,
place: part.mp,
mountOn: part.mp
};
if (part.mp === '/') {
root = res;
}
return res;
});
var total = {
size: root.size,
free: root.free
};
return {
parts: parts,
total: total
};
}
exports.parseUnixOutput = parseUnixOutput;
exports.unixCmd = 'df -Pk';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5peC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91bml4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQXlDO0FBZXpDLGlCQUFpQixNQUFjO0lBQzlCLElBQU0sWUFBWSxHQUFpQjtRQUNsQyxDQUFDLEVBQUUsTUFBTTtRQUNULENBQUMsRUFBRSxJQUFJO1FBQ1AsQ0FBQyxFQUFFLE1BQU07S0FDVCxDQUFDO0lBQ0YsSUFBSSxHQUFHLEdBQWUsRUFBRSxDQUFDO0lBQ3pCLHVCQUFZLENBQUMsTUFBTSxFQUFFO1FBQ3BCLFNBQVMsRUFBRSxVQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVE7WUFDL0MsSUFBTSxHQUFHLEdBQW1CLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0RCxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsTUFBTSxDQUFDO1lBQ1IsQ0FBQztZQUNELElBQUksR0FBRyxHQUFhLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNWLEdBQUcsR0FBRyxFQUFjLENBQUM7Z0JBQ3JCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7S0FDRCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7Ozs7Ozs7OztNQVdHO0FBRUgseUJBQWdDLE1BQWM7SUFDN0MsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLElBQUksSUFBSSxHQUFRLElBQUksQ0FBQztJQUNyQixJQUFNLEtBQUssR0FBVyxNQUFNO1NBQzFCLEdBQUcsQ0FBQyxVQUFDLElBQUk7UUFDVCxJQUFNLEdBQUcsR0FBRztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtZQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDaEIsQ0FBQztRQUNGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyQixJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDWixDQUFDLENBQUMsQ0FBQztJQUNKLElBQU0sS0FBSyxHQUFHO1FBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ2YsQ0FBQztJQUNGLE1BQU0sQ0FBQztRQUNOLEtBQUssT0FBQTtRQUNMLEtBQUssT0FBQTtLQUNMLENBQUM7QUFDSCxDQUFDO0FBeEJELDBDQXdCQztBQUVZLFFBQUEsT0FBTyxHQUFHLFFBQVEsQ0FBQyJ9