"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((volumes) => { return paths.map((path) => { if (path === All) { return volumes; } else { return volumes.find((device) => device.path === path); } }); }); }; };