Simplify further
parent
be01fcc4bf
commit
8610aed04c
@ -1,27 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const memoizee = require("memoizee");
|
|
||||||
|
|
||||||
const lvm = require("../../../packages/exec-lvm");
|
|
||||||
const All = require("../../../packages/graphql-interface/symbols/all");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
let getLogicalVolumesOnce = memoizee(lvm.getLogicalVolumes);
|
|
||||||
|
|
||||||
return function (paths) {
|
|
||||||
return Promise.try(() => {
|
|
||||||
return getLogicalVolumesOnce();
|
|
||||||
}).then((result) => {
|
|
||||||
return result.volumes;
|
|
||||||
}).then((volumes) => {
|
|
||||||
return paths.map((path) => {
|
|
||||||
if (path === All) {
|
|
||||||
return volumes;
|
|
||||||
} else {
|
|
||||||
return volumes.find((device) => device.path === path);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,27 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const memoizee = require("memoizee");
|
|
||||||
|
|
||||||
const lvm = require("../../../packages/exec-lvm");
|
|
||||||
const All = require("../../../packages/graphql-interface/symbols/all");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
let getPhysicalVolumesOnce = memoizee(lvm.getPhysicalVolumes);
|
|
||||||
|
|
||||||
return function (paths) {
|
|
||||||
return Promise.try(() => {
|
|
||||||
return getPhysicalVolumesOnce();
|
|
||||||
}).then((result) => {
|
|
||||||
return result.volumes;
|
|
||||||
}).then((volumes) => {
|
|
||||||
return paths.map((path) => {
|
|
||||||
if (path === All) {
|
|
||||||
return volumes;
|
|
||||||
} else {
|
|
||||||
return volumes.find((device) => device.path === path);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,27 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const memoizee = require("memoizee");
|
|
||||||
|
|
||||||
const lvm = require("../../../packages/exec-lvm");
|
|
||||||
const All = require("../../../packages/graphql-interface/symbols/all");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
let getVolumeGroupsOnce = memoizee(lvm.getVolumeGroups);
|
|
||||||
|
|
||||||
return function (names) {
|
|
||||||
return Promise.try(() => {
|
|
||||||
return getVolumeGroupsOnce();
|
|
||||||
}).then((result) => {
|
|
||||||
return result.groups;
|
|
||||||
}).then((groups) => {
|
|
||||||
return names.map((name) => {
|
|
||||||
if (name === All) {
|
|
||||||
return groups;
|
|
||||||
} else {
|
|
||||||
return groups.find((group) => group.name === name);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,15 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const smartctl = require("../../../packages/exec-smartctl");
|
|
||||||
const dlayerWrap = require("../../../packages/dlayer-wrap");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
return function (paths) {
|
|
||||||
return Promise.map(paths, (path) => {
|
|
||||||
return dlayerWrap(() => smartctl.attributes({ devicePath: path }), {
|
|
||||||
allowedErrors: [ smartctl.AttributesError ]
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,15 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const dlayerWrap = require("../../../packages/dlayer-wrap");
|
|
||||||
const smartctl = require("../../../packages/exec-smartctl");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
return function (paths) {
|
|
||||||
return Promise.map(paths, (path) => {
|
|
||||||
return dlayerWrap(() => smartctl.info({ devicePath: path }), {
|
|
||||||
allowedErrors: [ smartctl.InfoError ]
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,25 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
const Promise = require("bluebird");
|
|
||||||
const memoizee = require("memoizee");
|
|
||||||
|
|
||||||
const smartctl = require("../../../packages/exec-smartctl");
|
|
||||||
const All = require("../../../packages/graphql-interface/symbols/all");
|
|
||||||
|
|
||||||
module.exports = function () {
|
|
||||||
let scanOnce = memoizee(smartctl.scan);
|
|
||||||
|
|
||||||
return function (paths) {
|
|
||||||
return Promise.try(() => {
|
|
||||||
return scanOnce();
|
|
||||||
}).then((devices) => {
|
|
||||||
return paths.map((path) => {
|
|
||||||
if (path === All) {
|
|
||||||
return devices;
|
|
||||||
} else {
|
|
||||||
return devices.find((device) => device.path === path);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
@ -0,0 +1,21 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const Promise = require("bluebird");
|
||||||
|
const treecutter = require("../treecutter");
|
||||||
|
|
||||||
|
module.exports = function treeMapAsync(tree, mapper, returnBoth = false) {
|
||||||
|
return Promise.map(treecutter.flatten(tree), (item) => {
|
||||||
|
return mapper(item);
|
||||||
|
}).then((items) => {
|
||||||
|
let newTree = treecutter.rebuild(items);
|
||||||
|
|
||||||
|
if (returnBoth) {
|
||||||
|
return {
|
||||||
|
tree: newTree,
|
||||||
|
list: items
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return newTree;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
Loading…
Reference in New Issue