You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
692 B
JavaScript
24 lines
692 B
JavaScript
"use strict";
|
|
|
|
const DataLoader = require("dataloader");
|
|
const mapObj = require("map-obj");
|
|
|
|
let dataSourceFactories = {
|
|
lsblk: require("./data-sources/lsblk"),
|
|
findmnt: require("./data-sources/findmnt"),
|
|
smartctlInfo: require("./data-sources/smartctl/info"),
|
|
smartctlScan: require("./data-sources/smartctl/scan"),
|
|
smartctlAttributes: require("./data-sources/smartctl/attributes"),
|
|
lvmPhysicalVolumes: require("./data-sources/lvm/physical-volumes"),
|
|
nvmeListNamespaces: require("./data-sources/nvme/list-namespaces"),
|
|
};
|
|
|
|
module.exports = function createLoaders() {
|
|
return mapObj(dataSourceFactories, (name, factory) => {
|
|
return [
|
|
name,
|
|
new DataLoader(factory())
|
|
];
|
|
});
|
|
};
|