get() possibility to provide params

This commit is contained in:
Sebastian Hildebrandt
2020-11-12 07:58:48 +01:00
parent 5a4e222339
commit fc7769e548
7 changed files with 93 additions and 20 deletions
+29 -17
View File
@@ -320,7 +320,15 @@ function get(valueObject, callback) {
process.nextTick(() => {
const allPromises = Object.keys(valueObject)
.filter(func => ({}.hasOwnProperty.call(exports, func)))
.map(func => exports[func]());
.map(func => {
const params = valueObject[func].substring(valueObject[func].lastIndexOf('(') + 1, valueObject[func].lastIndexOf(')'));
const funcWithoutParams = func.split('(')[0];
if (params) {
return exports[funcWithoutParams](params)
} else {
return exports[funcWithoutParams]('')
}
});
Promise.all(allPromises).then(data => {
const result = {};
@@ -331,27 +339,31 @@ function get(valueObject, callback) {
result[key] = data[i];
} else {
const keys = valueObject[key].replace(/,/g, ' ').replace(/ +/g, ' ').split(' ');
if (Array.isArray(data[i])) {
// result is in an array, go through all elements of array and pick only the right ones
const partialArray = [];
data[i].forEach(element => {
if (data[i]) {
if (Array.isArray(data[i])) {
// result is in an array, go through all elements of array and pick only the right ones
const partialArray = [];
data[i].forEach(element => {
const partialRes = {};
keys.forEach(k => {
if ({}.hasOwnProperty.call(element, k)) {
partialRes[k] = element[k];
}
});
partialArray.push(partialRes);
});
result[key] = partialArray;
} else {
const partialRes = {};
keys.forEach(k => {
if ({}.hasOwnProperty.call(element, k)) {
partialRes[k] = element[k];
if ({}.hasOwnProperty.call(data[i], k)) {
partialRes[k] = data[i][k];
}
});
partialArray.push(partialRes);
});
result[key] = partialArray;
result[key] = partialRes;
}
} else {
const partialRes = {};
keys.forEach(k => {
if ({}.hasOwnProperty.call(data[i], k)) {
partialRes[k] = data[i][k];
}
});
result[key] = partialRes;
result[key] = {};
}
}
i++;
+1 -1
View File
@@ -490,7 +490,7 @@ function countLines(lines, startingWith) {
}
function sanitizeShellString(str) {
let result = str;
let result = str || '';
result = result.replace(/>/g, '');
result = result.replace(/</g, '');
result = result.replace(/\*/g, '');