node 4 compatibility fix

This commit is contained in:
Sebastian Hildebrandt 2021-02-08 16:53:34 +01:00
parent ede3890382
commit 1fa813fe38
3 changed files with 43 additions and 15 deletions

View File

@ -13,13 +13,12 @@
// 3. Operating System
// ----------------------------------------------------------------------------------
const nodeUtil = require('util');
const os = require('os');
const fs = require('fs');
const util = require('./util');
const exec = require('child_process').exec;
const execSync = require('child_process').execSync;
const execPromise = nodeUtil.promisify(require('child_process').exec);
const os = require('os');
const util = require('./util');
const fs = require('fs');
const execPromise = util.promisify(require('child_process').exec);
let _platform = process.platform;
@ -334,7 +333,7 @@ function osInfo(callback) {
result.build = util.getValue(lines, 'BuildNumber', '=').trim();
result.servicepack = util.getValue(lines, 'ServicePackMajorVersion', '=').trim() + '.' + util.getValue(lines, 'ServicePackMinorVersion', '=').trim();
result.codepage = util.getCodepage();
const systeminfo = data.results[1] ? data.results[1].stdout.toString() : '';
const systeminfo = data.results[1] ? data.results[1].toString() : '';
result.hypervisor = (systeminfo.indexOf('hypervisor has been detected') !== -1) || (systeminfo.indexOf('Es wurde ein Hypervisor erkannt') !== -1) || (systeminfo.indexOf('Un hyperviseur a ') !== -1);
isUefiWindows().then(uefi => {
result.uefi = uefi;

View File

@ -13,13 +13,12 @@
// 2. System (Hardware, BIOS, Base Board)
// ----------------------------------------------------------------------------------
const nodeUtil = require('util');
const exec = require('child_process').exec;
const execSync = require('child_process').execSync;
const execPromise = nodeUtil.promisify(require('child_process').exec);
const fs = require('fs');
const os = require('os');
const util = require('./util');
const exec = require('child_process').exec;
const execSync = require('child_process').execSync;
const execPromise = util.promisify(require('child_process').exec);
let _platform = process.platform;
@ -585,7 +584,7 @@ function baseboard(callback) {
util.promiseAll(
workload
).then(data => {
let lines = data.results[0] ? data.results[0].stdout.toString().split('\n') : [''];
let lines = data.results[0] ? data.results[0].toString().split('\n') : [''];
result.manufacturer = util.getValue(lines, 'Manufacturer');
result.model = util.getValue(lines, 'Product Name');
result.version = util.getValue(lines, 'Version');
@ -611,7 +610,7 @@ function baseboard(callback) {
if (result.assetTag.toLowerCase().indexOf('o.e.m.') !== -1) { result.assetTag = '-'; }
// mem
lines = data.results[1] ? data.results[1].stdout.toString().split('\n') : [''];
lines = data.results[1] ? data.results[1].toString().split('\n') : [''];
result.memMax = util.toInt(util.getValue(lines, 'Maximum Capacity')) * 1024 * 1024 * 1024 || null;
result.memSlots = util.toInt(util.getValue(lines, 'Number Of Devices')) || null;
@ -639,7 +638,7 @@ function baseboard(callback) {
util.promiseAll(
workload
).then(data => {
let lines = data.results[0] ? data.results[0].stdout.toString().replace(/[<>"]/g, '').split('\n') : [''];
let lines = data.results[0] ? data.results[0].toString().replace(/[<>"]/g, '').split('\n') : [''];
result.manufacturer = util.getValue(lines, 'manufacturer', '=', true);
result.model = util.getValue(lines, 'model', '=', true);
result.version = util.getValue(lines, 'version', '=', true);
@ -647,9 +646,9 @@ function baseboard(callback) {
result.assetTag = util.getValue(lines, 'board-id', '=', true);
// mem
let devices = data.results[1] ? data.results[1].stdout.toString().split(' BANK ') : [''];
let devices = data.results[1] ? data.results[1].toString().split(' BANK ') : [''];
if (devices.length === 1) {
devices = data.results[1] ? data.results[1].stdout.toString().split(' DIMM') : [''];
devices = data.results[1] ? data.results[1].toString().split(' DIMM') : [''];
}
devices.shift();
result.memSlots = devices.length;

View File

@ -871,6 +871,34 @@ function promiseAll(promises) {
});
}
function promisify(nodeStyleFunction) {
return function () {
var args = Array.prototype.slice.call(arguments);
return new Promise(function (resolve, reject) {
args.push(function (err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});
nodeStyleFunction.apply(null, args);
});
};
}
function linuxVersion() {
let result = '';
if (_linux) {
try {
result = execSync('uname -v').toString();
} catch (e) {
result = '';
}
}
return result;
}
function noop() { }
exports.toInt = toInt;
@ -901,6 +929,8 @@ exports.sanitizeShellString = sanitizeShellString;
exports.isPrototypePolluted = isPrototypePolluted;
exports.decodePiCpuinfo = decodePiCpuinfo;
exports.promiseAll = promiseAll;
exports.promisify = promisify;
exports.linuxVersion = linuxVersion;
exports.stringReplace = stringReplace;
exports.stringToLower = stringToLower;
exports.stringToString = stringToString;