systeminformation 5.11.4 → 5.11.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cpu.js CHANGED
@@ -1192,9 +1192,11 @@ function cpuTemperature(callback) {
1192
1192
  let lines = stdout.split('\r\n').filter(line => line.trim() !== '').filter((line, idx) => idx > 0);
1193
1193
  lines.forEach(function (line) {
1194
1194
  let value = (parseInt(line, 10) - 2732) / 10;
1195
- sum = sum + value;
1196
- if (value > result.max) { result.max = value; }
1197
- result.cores.push(value);
1195
+ if (!isNaN(value)) {
1196
+ sum = sum + value;
1197
+ if (value > result.max) { result.max = value; }
1198
+ result.cores.push(value);
1199
+ }
1198
1200
  });
1199
1201
  if (result.cores.length) {
1200
1202
  result.main = sum / result.cores.length;
package/lib/filesystem.js CHANGED
@@ -1239,20 +1239,26 @@ function diskLayout(callback) {
1239
1239
  // S.M.A.R.T
1240
1240
  data.results.shift();
1241
1241
  data.results.shift();
1242
- data.results.forEach((smartStr) => {
1243
- const smartData = JSON.parse(smartStr);
1244
- if (smartData.serial_number) {
1245
- const serialNum = smartData.serial_number;
1246
- let i = util.findObjectByKey(result, 'serialNum', serialNum);
1247
- if (i != -1) {
1248
- result[i].smartStatus = (smartData.smart_status.passed ? 'Ok' : (smartData.smart_status.passed === false ? 'Predicted Failure' : 'unknown'));
1249
- if (smartData.temperature && smartData.temperature.current) {
1250
- result[i].temperature = smartData.temperature.current;
1242
+ if (data.results.length) {
1243
+ data.results.forEach((smartStr) => {
1244
+ try {
1245
+ const smartData = JSON.parse(smartStr);
1246
+ if (smartData.serial_number) {
1247
+ const serialNum = smartData.serial_number;
1248
+ let i = util.findObjectByKey(result, 'serialNum', serialNum);
1249
+ if (i != -1) {
1250
+ result[i].smartStatus = (smartData.smart_status.passed ? 'Ok' : (smartData.smart_status.passed === false ? 'Predicted Failure' : 'unknown'));
1251
+ if (smartData.temperature && smartData.temperature.current) {
1252
+ result[i].temperature = smartData.temperature.current;
1253
+ }
1254
+ result[i].smartData = smartData;
1255
+ }
1251
1256
  }
1252
- result[i].smartData = smartData;
1257
+ } catch (e) {
1258
+ util.noop();
1253
1259
  }
1254
- }
1255
- });
1260
+ });
1261
+ }
1256
1262
  if (callback) {
1257
1263
  callback(result);
1258
1264
  }
package/lib/index.d.ts CHANGED
@@ -269,6 +269,7 @@ export namespace Systeminformation {
269
269
  serialNum: string;
270
270
  interfaceType: string;
271
271
  smartStatus: string;
272
+ temperature: null | number;
272
273
  smartData?: SmartData;
273
274
  }
274
275
 
package/lib/network.js CHANGED
@@ -254,8 +254,8 @@ function getWindowsNics() {
254
254
  try {
255
255
  util.powerShell(cmd).then(data => {
256
256
  data = data.split('#-#-#-#');
257
- const nsections = data[0].split(/\n\s*\n/);
258
- const nconfigsections = data[1].split(/\n\s*\n/);
257
+ const nsections = (data[0] || '').split(/\n\s*\n/);
258
+ const nconfigsections = (data[1] || '').split(/\n\s*\n/);
259
259
  resolve(parseLinesWindowsNics(nsections, nconfigsections));
260
260
  });
261
261
  } catch (e) {
package/lib/users.js CHANGED
@@ -262,10 +262,10 @@ function users(callback) {
262
262
  // let accounts = parseWinAccounts(data[0].split(/\n\s*\n/));
263
263
  if (data) {
264
264
  data = data.split('#-#-#-#');
265
- let sessions = parseWinSessions(data[0].split(/\n\s*\n/));
266
- let loggedons = parseWinLoggedOn(data[1].split(/\n\s*\n/));
267
- let queryUser = parseWinUsersQuery(data[3].split('\r\n'));
268
- let users = parseWinUsers(data[2].split(/\n\s*\n/), queryUser);
265
+ let sessions = parseWinSessions((data[0] || '').split(/\n\s*\n/));
266
+ let loggedons = parseWinLoggedOn((data[1] || '').split(/\n\s*\n/));
267
+ let queryUser = parseWinUsersQuery((data[3] || '').split('\r\n'));
268
+ let users = parseWinUsers((data[2] || '').split(/\n\s*\n/), queryUser);
269
269
  for (let id in loggedons) {
270
270
  if ({}.hasOwnProperty.call(loggedons, id)) {
271
271
  loggedons[id].dateTime = {}.hasOwnProperty.call(sessions, id) ? sessions[id] : '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "systeminformation",
3
- "version": "5.11.4",
3
+ "version": "5.11.7",
4
4
  "description": "Advanced, lightweight system and OS information library",
5
5
  "license": "MIT",
6
6
  "author": "Sebastian Hildebrandt <hildebrandt@plus-innovations.com> (https://plus-innovations.com)",