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