var format = require('./format')
var calcMultiplier = require('./calcMultiplier')
module.exports = function(stdout, options) {
// TODO: this snould be removed because it never happens.
// Nonetheless, I want to consider it a breaking changed that's to be made after releasing 0.1.4
Iif (!stdout) {
return void 0
}
// TODO: `options.prefixMultiplier` should become `options.unit`
// I should deprecate the use of `options.prefixMultiplier` in 0.1.4
var multiplier = calcMultiplier(options.prefixMultiplier)
var precision = options.precision
// TODO: `options.isDisplayPrefixMultiplier` should become `options.showUnit`
// I should deprecate the use of options.isDisplayPrefixMultiplier in 0.1.4
var unit = options.isDisplayPrefixMultiplier ? options.prefixMultiplier : null
return stdout
.trim()
.split(/\r|\n|\r\n/) // split into rows
.slice(1) // strip column headers away
.map(function(row) {
var columns = row
// one or more whitespaces followed by one or more digits
// must be interpreted as column delimiter
.replace(/\s+(\d+)/g, '\t$1')
// one or more whitespaces followed by a slash
// must be interpreted as the last column delimiter
.replace(/\s+\//g, '\t/')
// split into columns
.split(/\t/)
return {
filesystem: columns.pop(),
size: format(columns.pop(), multiplier, precision, unit),
used: format(columns.pop(), multiplier, precision, unit),
available: format(columns.pop(), multiplier, precision, unit),
capacity: format(columns.pop(), 0.01),
mount: columns.join(' '),
}
})
}
|