@autocodingsystems/gateway-client
Version:
Library and commandline utility to control the acs gateway - device drivers for the most common industrial production line devices
38 lines (30 loc) • 1.07 kB
JavaScript
var api = require('../api');
var globToRegExp = require('glob-to-regexp');
async function list_command(argv, conf, options) {
var target = require('../parameters/target')(argv);
var name = require('../parameters/name')(argv);
var raw = require('../parameters/raw')(argv);
if (!target.value) {
usage();
return;
}
var filter = globToRegExp(name.value, {extended: true});
try {
var devices = await api(target.value).raw.getDevices();
devices = devices.filter(d => filter.test(d.Name));
if (raw.value) {
devices.map(d => JSON.stringify(d)).forEach(d => console.log(d));
} else {
devices.map(d => `${d.Id} ${d.Name}`).forEach(d => console.log(d));
}
} catch (e) {
throw e;
}
function usage() {
console.log('list: show the devices on a gateway: ');
console.log(' ' + target.description);
console.log(' ' + name.description);
console.log(' ' + raw.description);
}
}
module.exports = list_command;