systeminformation 5.28.9 → 5.29.0

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014-2025 Sebastian Hildebrandt
3
+ Copyright (c) 2014-2026 Sebastian Hildebrandt
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
package/README.md CHANGED
@@ -185,6 +185,7 @@ si.cpu()
185
185
 
186
186
  (last 7 major and minor version releases)
187
187
 
188
+ - Version 5.29.0: `osInfo()` added OS code name (windows)
188
189
  - Version 5.28.0: `cpuTemperature()` added suppurt for macos-temperature-sensor (macOS)
189
190
  - Version 5.27.0: `mem()` added reclaimable memory
190
191
  - Version 5.26.0: `getStatic()`, `getAll()` added usb, audio, bluetooth, printer
@@ -453,7 +454,7 @@ Full function reference with examples can be found at
453
454
  | | platform | X | X | X | X | X | 'linux', 'darwin', 'Windows', ... |
454
455
  | | distro | X | X | X | X | X | |
455
456
  | | release | X | X | X | X | X | |
456
- | | codename | X | | X | | | |
457
+ | | codename | X | | X | X | | |
457
458
  | | kernel | X | X | X | X | X | kernel release - same as os.release() |
458
459
  | | arch | X | X | X | X | X | same as os.arch() |
459
460
  | | hostname | X | X | X | X | X | same as os.hostname() |
@@ -1177,7 +1178,7 @@ All other trademarks are the property of their respective owners.
1177
1178
 
1178
1179
  > The [`MIT`][license-url] License (MIT)
1179
1180
  >
1180
- > Copyright © 2014-2025 Sebastian Hildebrandt,
1181
+ > Copyright © 2014-2026 Sebastian Hildebrandt,
1181
1182
  > [+innovations](http://www.plus-innovations.com).
1182
1183
  >
1183
1184
  > Permission is hereby granted, free of charge, to any person obtaining a copy
package/lib/audio.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // ----------------------------------------------------------------------------------
6
6
  // Description: System Information - library
7
7
  // for Node.js
8
- // Copyright: (c) 2014 - 2025
8
+ // Copyright: (c) 2014 - 2026
9
9
  // Author: Sebastian Hildebrandt
10
10
  // ----------------------------------------------------------------------------------
11
11
  // License: MIT
package/lib/battery.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // ----------------------------------------------------------------------------------
6
6
  // Description: System Information - library
7
7
  // for Node.js
8
- // Copyright: (c) 2014 - 2025
8
+ // Copyright: (c) 2014 - 2026
9
9
  // Author: Sebastian Hildebrandt
10
10
  // ----------------------------------------------------------------------------------
11
11
  // License: MIT
package/lib/bluetooth.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // ----------------------------------------------------------------------------------
6
6
  // Description: System Information - library
7
7
  // for Node.js
8
- // Copyright: (c) 2014 - 2025
8
+ // Copyright: (c) 2014 - 2026
9
9
  // Author: Sebastian Hildebrandt
10
10
  // ----------------------------------------------------------------------------------
11
11
  // License: MIT
package/lib/cli.js CHANGED
@@ -7,7 +7,7 @@
7
7
  // ----------------------------------------------------------------------------------
8
8
  // Description: System Information - library
9
9
  // for Node.js
10
- // Copyright: (c) 2014 - 2025
10
+ // Copyright: (c) 2014 - 2026
11
11
  // Author: Sebastian Hildebrandt
12
12
  // ----------------------------------------------------------------------------------
13
13
  // License: MIT
package/lib/cpu.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // ----------------------------------------------------------------------------------
6
6
  // Description: System Information - library
7
7
  // for Node.js
8
- // Copyright: (c) 2014 - 2025
8
+ // Copyright: (c) 2014 - 2026
9
9
  // Author: Sebastian Hildebrandt
10
10
  // ----------------------------------------------------------------------------------
11
11
  // License: MIT
package/lib/docker.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // ----------------------------------------------------------------------------------
6
6
  // Description: System Information - library
7
7
  // for Node.js
8
- // Copyright: (c) 2014 - 2025
8
+ // Copyright: (c) 2014 - 2026
9
9
  // Author: Sebastian Hildebrandt
10
10
  // ----------------------------------------------------------------------------------
11
11
  // License: MIT
@@ -17,13 +17,12 @@ const util = require('./util');
17
17
  const DockerSocket = require('./dockerSocket');
18
18
 
19
19
  let _platform = process.platform;
20
- const _windows = (_platform === 'win32');
20
+ const _windows = _platform === 'win32';
21
21
 
22
22
  let _docker_container_stats = {};
23
23
  let _docker_socket;
24
24
  let _docker_last_read = 0;
25
25
 
26
-
27
26
  // --------------------------
28
27
  // get containers (parameter all: get also inactive/exited containers)
29
28
 
@@ -82,7 +81,9 @@ function dockerInfo(callback) {
82
81
  result.isolation = data.Isolation;
83
82
  result.initBinary = data.InitBinary;
84
83
  result.productLicense = data.ProductLicense;
85
- if (callback) { callback(result); }
84
+ if (callback) {
85
+ callback(result);
86
+ }
86
87
  resolve(result);
87
88
  });
88
89
  });
@@ -92,7 +93,6 @@ function dockerInfo(callback) {
92
93
  exports.dockerInfo = dockerInfo;
93
94
 
94
95
  function dockerImages(all, callback) {
95
-
96
96
  // fallback - if only callback is given
97
97
  if (util.isFunction(all) && !callback) {
98
98
  callback = all;
@@ -114,36 +114,40 @@ function dockerImages(all, callback) {
114
114
  }
115
115
  const workload = [];
116
116
 
117
- _docker_socket.listImages(all, data => {
117
+ _docker_socket.listImages(all, (data) => {
118
118
  let dockerImages = {};
119
119
  try {
120
120
  dockerImages = data;
121
121
  if (dockerImages && Object.prototype.toString.call(dockerImages) === '[object Array]' && dockerImages.length > 0) {
122
-
123
122
  dockerImages.forEach(function (element) {
124
-
125
123
  if (element.Names && Object.prototype.toString.call(element.Names) === '[object Array]' && element.Names.length > 0) {
126
124
  element.Name = element.Names[0].replace(/^\/|\/$/g, '');
127
125
  }
128
126
  workload.push(dockerImagesInspect(element.Id.trim(), element));
129
127
  });
130
128
  if (workload.length) {
131
- Promise.all(
132
- workload
133
- ).then((data) => {
134
- if (callback) { callback(data); }
129
+ Promise.all(workload).then((data) => {
130
+ if (callback) {
131
+ callback(data);
132
+ }
135
133
  resolve(data);
136
134
  });
137
135
  } else {
138
- if (callback) { callback(result); }
136
+ if (callback) {
137
+ callback(result);
138
+ }
139
139
  resolve(result);
140
140
  }
141
141
  } else {
142
- if (callback) { callback(result); }
142
+ if (callback) {
143
+ callback(result);
144
+ }
143
145
  resolve(result);
144
146
  }
145
147
  } catch (err) {
146
- if (callback) { callback(result); }
148
+ if (callback) {
149
+ callback(result);
150
+ }
147
151
  resolve(result);
148
152
  }
149
153
  });
@@ -163,12 +167,11 @@ function dockerImagesInspect(imageID, payload) {
163
167
  }
164
168
  const imageIDSanitized = (util.isPrototypePolluted() ? '' : util.sanitizeShellString(imageID, true)).trim();
165
169
  if (imageIDSanitized) {
166
-
167
170
  if (!_docker_socket) {
168
171
  _docker_socket = new DockerSocket();
169
172
  }
170
173
 
171
- _docker_socket.inspectImage(imageIDSanitized.trim(), data => {
174
+ _docker_socket.inspectImage(imageIDSanitized.trim(), (data) => {
172
175
  try {
173
176
  resolve({
174
177
  id: payload.Id,
@@ -188,7 +191,7 @@ function dockerImagesInspect(imageID, payload) {
188
191
  repoDigests: data.RepoDigests ? data.RepoDigests : {},
189
192
  repoTags: data.RepoTags ? data.RepoTags : {},
190
193
  config: data.Config ? data.Config : {},
191
- rootFS: data.RootFS ? data.RootFS : {},
194
+ rootFS: data.RootFS ? data.RootFS : {}
192
195
  });
193
196
  } catch (err) {
194
197
  resolve();
@@ -204,16 +207,15 @@ function dockerImagesInspect(imageID, payload) {
204
207
  exports.dockerImages = dockerImages;
205
208
 
206
209
  function dockerContainers(all, callback) {
207
-
208
210
  function inContainers(containers, id) {
209
- let filtered = containers.filter(obj => {
211
+ let filtered = containers.filter((obj) => {
210
212
  /**
211
213
  * @namespace
212
214
  * @property {string} Id
213
215
  */
214
- return (obj.Id && (obj.Id === id));
216
+ return obj.Id && obj.Id === id;
215
217
  });
216
- return (filtered.length > 0);
218
+ return filtered.length > 0;
217
219
  }
218
220
 
219
221
  // fallback - if only callback is given
@@ -237,7 +239,7 @@ function dockerContainers(all, callback) {
237
239
  }
238
240
  const workload = [];
239
241
 
240
- _docker_socket.listContainers(all, data => {
242
+ _docker_socket.listContainers(all, (data) => {
241
243
  let docker_containers = {};
242
244
  try {
243
245
  docker_containers = data;
@@ -245,40 +247,49 @@ function dockerContainers(all, callback) {
245
247
  // GC in _docker_container_stats
246
248
  for (let key in _docker_container_stats) {
247
249
  if ({}.hasOwnProperty.call(_docker_container_stats, key)) {
248
- if (!inContainers(docker_containers, key)) { delete _docker_container_stats[key]; }
250
+ if (!inContainers(docker_containers, key)) {
251
+ delete _docker_container_stats[key];
252
+ }
249
253
  }
250
254
  }
251
255
 
252
256
  docker_containers.forEach(function (element) {
253
-
254
257
  if (element.Names && Object.prototype.toString.call(element.Names) === '[object Array]' && element.Names.length > 0) {
255
258
  element.Name = element.Names[0].replace(/^\/|\/$/g, '');
256
259
  }
257
260
  workload.push(dockerContainerInspect(element.Id.trim(), element));
258
261
  });
259
262
  if (workload.length) {
260
- Promise.all(
261
- workload
262
- ).then((data) => {
263
- if (callback) { callback(data); }
263
+ Promise.all(workload).then((data) => {
264
+ if (callback) {
265
+ callback(data);
266
+ }
264
267
  resolve(data);
265
268
  });
266
269
  } else {
267
- if (callback) { callback(result); }
270
+ if (callback) {
271
+ callback(result);
272
+ }
268
273
  resolve(result);
269
274
  }
270
275
  } else {
271
- if (callback) { callback(result); }
276
+ if (callback) {
277
+ callback(result);
278
+ }
272
279
  resolve(result);
273
280
  }
274
281
  } catch (err) {
275
282
  // GC in _docker_container_stats
276
283
  for (let key in _docker_container_stats) {
277
284
  if ({}.hasOwnProperty.call(_docker_container_stats, key)) {
278
- if (!inContainers(docker_containers, key)) { delete _docker_container_stats[key]; }
285
+ if (!inContainers(docker_containers, key)) {
286
+ delete _docker_container_stats[key];
287
+ }
279
288
  }
280
289
  }
281
- if (callback) { callback(result); }
290
+ if (callback) {
291
+ callback(result);
292
+ }
282
293
  resolve(result);
283
294
  }
284
295
  });
@@ -298,12 +309,11 @@ function dockerContainerInspect(containerID, payload) {
298
309
  }
299
310
  const containerIdSanitized = (util.isPrototypePolluted() ? '' : util.sanitizeShellString(containerID, true)).trim();
300
311
  if (containerIdSanitized) {
301
-
302
312
  if (!_docker_socket) {
303
313
  _docker_socket = new DockerSocket();
304
314
  }
305
315
 
306
- _docker_socket.getInspect(containerIdSanitized.trim(), data => {
316
+ _docker_socket.getInspect(containerIdSanitized.trim(), (data) => {
307
317
  try {
308
318
  resolve({
309
319
  id: payload.Id,
@@ -322,7 +332,7 @@ function dockerContainerInspect(containerID, payload) {
322
332
  platform: data.Platform || '',
323
333
  driver: data.Driver || '',
324
334
  ports: payload.Ports,
325
- mounts: payload.Mounts,
335
+ mounts: payload.Mounts
326
336
  // hostconfig: payload.HostConfig,
327
337
  // network: payload.NetworkSettings
328
338
  });
@@ -363,8 +373,7 @@ function docker_calcCPUPercent(cpu_stats, precpu_stats) {
363
373
  // calculate the change for the cpu usage of the container in between readings
364
374
  if (precpu_stats.online_cpus) {
365
375
  cpuPercent = (cpuDelta / systemDelta) * precpu_stats.online_cpus * 100.0;
366
- }
367
- else {
376
+ } else {
368
377
  cpuPercent = (cpuDelta / systemDelta) * cpu_stats.cpu_usage.percpu_usage.length * 100.0;
369
378
  }
370
379
  }
@@ -374,10 +383,10 @@ function docker_calcCPUPercent(cpu_stats, precpu_stats) {
374
383
  let nanoSecNow = util.nanoSeconds();
375
384
  let cpuPercent = 0.0;
376
385
  if (_docker_last_read > 0) {
377
- let possIntervals = (nanoSecNow - _docker_last_read); // / 100 * os.cpus().length;
386
+ let possIntervals = nanoSecNow - _docker_last_read; // / 100 * os.cpus().length;
378
387
  let intervalsUsed = cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage;
379
388
  if (possIntervals > 0) {
380
- cpuPercent = 100.0 * intervalsUsed / possIntervals;
389
+ cpuPercent = (100.0 * intervalsUsed) / possIntervals;
381
390
  }
382
391
  }
383
392
  _docker_last_read = nanoSecNow;
@@ -390,7 +399,9 @@ function docker_calcNetworkIO(networks) {
390
399
  let wx;
391
400
  for (let key in networks) {
392
401
  // skip loop if the property is from prototype
393
- if (!{}.hasOwnProperty.call(networks, key)) { continue; }
402
+ if (!{}.hasOwnProperty.call(networks, key)) {
403
+ continue;
404
+ }
394
405
 
395
406
  /**
396
407
  * @namespace
@@ -417,7 +428,12 @@ function docker_calcBlockIO(blkio_stats) {
417
428
  * @namespace
418
429
  * @property {Array} io_service_bytes_recursive
419
430
  */
420
- if (blkio_stats && blkio_stats.io_service_bytes_recursive && Object.prototype.toString.call(blkio_stats.io_service_bytes_recursive) === '[object Array]' && blkio_stats.io_service_bytes_recursive.length > 0) {
431
+ if (
432
+ blkio_stats &&
433
+ blkio_stats.io_service_bytes_recursive &&
434
+ Object.prototype.toString.call(blkio_stats.io_service_bytes_recursive) === '[object Array]' &&
435
+ blkio_stats.io_service_bytes_recursive.length > 0
436
+ ) {
421
437
  blkio_stats.io_service_bytes_recursive.forEach(function (element) {
422
438
  /**
423
439
  * @namespace
@@ -437,11 +453,9 @@ function docker_calcBlockIO(blkio_stats) {
437
453
  }
438
454
 
439
455
  function dockerContainerStats(containerIDs, callback) {
440
-
441
456
  let containerArray = [];
442
457
  return new Promise((resolve) => {
443
458
  process.nextTick(() => {
444
-
445
459
  // fallback - if only callback is given
446
460
  if (util.isFunction(containerIDs) && !callback) {
447
461
  callback = containerIDs;
@@ -449,7 +463,9 @@ function dockerContainerStats(containerIDs, callback) {
449
463
  } else {
450
464
  containerIDs = containerIDs || '*';
451
465
  if (typeof containerIDs !== 'string') {
452
- if (callback) { callback([]); }
466
+ if (callback) {
467
+ callback([]);
468
+ }
453
469
  return resolve([]);
454
470
  }
455
471
  let containerIDsSanitized = '';
@@ -491,17 +507,21 @@ function dockerContainerStats(containerIDs, callback) {
491
507
  const workload = [];
492
508
  if (containerArray.length && containerArray[0].trim() === '*') {
493
509
  containerArray = [];
494
- dockerContainers().then(allContainers => {
510
+ dockerContainers().then((allContainers) => {
495
511
  for (let container of allContainers) {
496
512
  containerArray.push(container.id.substring(0, 12));
497
513
  }
498
514
  if (containerArray.length) {
499
- dockerContainerStats(containerArray.join(',')).then(result => {
500
- if (callback) { callback(result); }
515
+ dockerContainerStats(containerArray.join(',')).then((result) => {
516
+ if (callback) {
517
+ callback(result);
518
+ }
501
519
  resolve(result);
502
520
  });
503
521
  } else {
504
- if (callback) { callback(result); }
522
+ if (callback) {
523
+ callback(result);
524
+ }
505
525
  resolve(result);
506
526
  }
507
527
  });
@@ -510,14 +530,16 @@ function dockerContainerStats(containerIDs, callback) {
510
530
  workload.push(dockerContainerStatsSingle(containerID.trim()));
511
531
  }
512
532
  if (workload.length) {
513
- Promise.all(
514
- workload
515
- ).then((data) => {
516
- if (callback) { callback(data); }
533
+ Promise.all(workload).then((data) => {
534
+ if (callback) {
535
+ callback(data);
536
+ }
517
537
  resolve(data);
518
538
  });
519
539
  } else {
520
- if (callback) { callback(result); }
540
+ if (callback) {
541
+ callback(result);
542
+ }
521
543
  resolve(result);
522
544
  }
523
545
  }
@@ -549,35 +571,40 @@ function dockerContainerStatsSingle(containerID) {
549
571
  cpuStats: {},
550
572
  precpuStats: {},
551
573
  memoryStats: {},
552
- networks: {},
574
+ networks: {}
553
575
  };
554
576
  return new Promise((resolve) => {
555
577
  process.nextTick(() => {
556
578
  if (containerID) {
557
-
558
579
  if (!_docker_socket) {
559
580
  _docker_socket = new DockerSocket();
560
581
  }
561
582
 
562
- _docker_socket.getInspect(containerID, dataInspect => {
583
+ _docker_socket.getInspect(containerID, (dataInspect) => {
563
584
  try {
564
- _docker_socket.getStats(containerID, data => {
585
+ _docker_socket.getStats(containerID, (data) => {
565
586
  try {
566
587
  let stats = data;
567
588
  if (!stats.message) {
568
- if (data.id) { result.id = data.id; }
569
- result.memUsage = (stats.memory_stats && stats.memory_stats.usage ? stats.memory_stats.usage : 0);
570
- result.memLimit = (stats.memory_stats && stats.memory_stats.limit ? stats.memory_stats.limit : 0);
571
- result.memPercent = (stats.memory_stats && stats.memory_stats.usage && stats.memory_stats.limit ? stats.memory_stats.usage / stats.memory_stats.limit * 100.0 : 0);
572
- result.cpuPercent = (stats.cpu_stats && stats.precpu_stats ? docker_calcCPUPercent(stats.cpu_stats, stats.precpu_stats) : 0);
573
- result.pids = (stats.pids_stats && stats.pids_stats.current ? stats.pids_stats.current : 0);
574
- result.restartCount = (dataInspect.RestartCount ? dataInspect.RestartCount : 0);
575
- if (stats.networks) { result.netIO = docker_calcNetworkIO(stats.networks); }
576
- if (stats.blkio_stats) { result.blockIO = docker_calcBlockIO(stats.blkio_stats); }
577
- result.cpuStats = (stats.cpu_stats ? stats.cpu_stats : {});
578
- result.precpuStats = (stats.precpu_stats ? stats.precpu_stats : {});
579
- result.memoryStats = (stats.memory_stats ? stats.memory_stats : {});
580
- result.networks = (stats.networks ? stats.networks : {});
589
+ if (data.id) {
590
+ result.id = data.id;
591
+ }
592
+ result.memUsage = stats.memory_stats && stats.memory_stats.usage ? stats.memory_stats.usage : 0;
593
+ result.memLimit = stats.memory_stats && stats.memory_stats.limit ? stats.memory_stats.limit : 0;
594
+ result.memPercent = stats.memory_stats && stats.memory_stats.usage && stats.memory_stats.limit ? (stats.memory_stats.usage / stats.memory_stats.limit) * 100.0 : 0;
595
+ result.cpuPercent = stats.cpu_stats && stats.precpu_stats ? docker_calcCPUPercent(stats.cpu_stats, stats.precpu_stats) : 0;
596
+ result.pids = stats.pids_stats && stats.pids_stats.current ? stats.pids_stats.current : 0;
597
+ result.restartCount = dataInspect.RestartCount ? dataInspect.RestartCount : 0;
598
+ if (stats.networks) {
599
+ result.netIO = docker_calcNetworkIO(stats.networks);
600
+ }
601
+ if (stats.blkio_stats) {
602
+ result.blockIO = docker_calcBlockIO(stats.blkio_stats);
603
+ }
604
+ result.cpuStats = stats.cpu_stats ? stats.cpu_stats : {};
605
+ result.precpuStats = stats.precpu_stats ? stats.precpu_stats : {};
606
+ result.memoryStats = stats.memory_stats ? stats.memory_stats : {};
607
+ result.networks = stats.networks ? stats.networks : {};
581
608
  }
582
609
  } catch (err) {
583
610
  util.noop();
@@ -612,12 +639,11 @@ function dockerContainerProcesses(containerID, callback) {
612
639
  const containerIdSanitized = (util.isPrototypePolluted() ? '' : util.sanitizeShellString(containerID, true)).trim();
613
640
 
614
641
  if (containerIdSanitized) {
615
-
616
642
  if (!_docker_socket) {
617
643
  _docker_socket = new DockerSocket();
618
644
  }
619
645
 
620
- _docker_socket.getProcesses(containerIdSanitized, data => {
646
+ _docker_socket.getProcesses(containerIdSanitized, (data) => {
621
647
  /**
622
648
  * @namespace
623
649
  * @property {Array} Titles
@@ -643,33 +669,37 @@ function dockerContainerProcesses(containerID, callback) {
643
669
  let pos_rss = titles.indexOf('RSS');
644
670
  let pos_command = titles.indexOf('COMMAND');
645
671
 
646
- data.Processes.forEach(process => {
672
+ data.Processes.forEach((process) => {
647
673
  result.push({
648
- pidHost: (pos_pid >= 0 ? process[pos_pid] : ''),
649
- ppid: (pos_ppid >= 0 ? process[pos_ppid] : ''),
650
- pgid: (pos_pgid >= 0 ? process[pos_pgid] : ''),
651
- user: (pos_user >= 0 ? process[pos_user] : ''),
652
- ruser: (pos_ruser >= 0 ? process[pos_ruser] : ''),
653
- group: (pos_group >= 0 ? process[pos_group] : ''),
654
- rgroup: (pos_rgroup >= 0 ? process[pos_rgroup] : ''),
655
- stat: (pos_stat >= 0 ? process[pos_stat] : ''),
656
- time: (pos_time >= 0 ? process[pos_time] : ''),
657
- elapsed: (pos_elapsed >= 0 ? process[pos_elapsed] : ''),
658
- nice: (pos_ni >= 0 ? process[pos_ni] : ''),
659
- rss: (pos_rss >= 0 ? process[pos_rss] : ''),
660
- vsz: (pos_vsz >= 0 ? process[pos_vsz] : ''),
661
- command: (pos_command >= 0 ? process[pos_command] : '')
674
+ pidHost: pos_pid >= 0 ? process[pos_pid] : '',
675
+ ppid: pos_ppid >= 0 ? process[pos_ppid] : '',
676
+ pgid: pos_pgid >= 0 ? process[pos_pgid] : '',
677
+ user: pos_user >= 0 ? process[pos_user] : '',
678
+ ruser: pos_ruser >= 0 ? process[pos_ruser] : '',
679
+ group: pos_group >= 0 ? process[pos_group] : '',
680
+ rgroup: pos_rgroup >= 0 ? process[pos_rgroup] : '',
681
+ stat: pos_stat >= 0 ? process[pos_stat] : '',
682
+ time: pos_time >= 0 ? process[pos_time] : '',
683
+ elapsed: pos_elapsed >= 0 ? process[pos_elapsed] : '',
684
+ nice: pos_ni >= 0 ? process[pos_ni] : '',
685
+ rss: pos_rss >= 0 ? process[pos_rss] : '',
686
+ vsz: pos_vsz >= 0 ? process[pos_vsz] : '',
687
+ command: pos_command >= 0 ? process[pos_command] : ''
662
688
  });
663
689
  });
664
690
  }
665
691
  } catch (err) {
666
692
  util.noop();
667
693
  }
668
- if (callback) { callback(result); }
694
+ if (callback) {
695
+ callback(result);
696
+ }
669
697
  resolve(result);
670
698
  });
671
699
  } else {
672
- if (callback) { callback(result); }
700
+ if (callback) {
701
+ callback(result);
702
+ }
673
703
  resolve(result);
674
704
  }
675
705
  });
@@ -679,7 +709,6 @@ function dockerContainerProcesses(containerID, callback) {
679
709
  exports.dockerContainerProcesses = dockerContainerProcesses;
680
710
 
681
711
  function dockerVolumes(callback) {
682
-
683
712
  let result = [];
684
713
  return new Promise((resolve) => {
685
714
  process.nextTick(() => {
@@ -691,9 +720,7 @@ function dockerVolumes(callback) {
691
720
  try {
692
721
  dockerVolumes = data;
693
722
  if (dockerVolumes && dockerVolumes.Volumes && Object.prototype.toString.call(dockerVolumes.Volumes) === '[object Array]' && dockerVolumes.Volumes.length > 0) {
694
-
695
723
  dockerVolumes.Volumes.forEach(function (element) {
696
-
697
724
  result.push({
698
725
  name: element.Name,
699
726
  driver: element.Driver,
@@ -701,17 +728,23 @@ function dockerVolumes(callback) {
701
728
  mountpoint: element.Mountpoint,
702
729
  options: element.Options,
703
730
  scope: element.Scope,
704
- created: element.CreatedAt ? Math.round(new Date(element.CreatedAt).getTime() / 1000) : 0,
731
+ created: element.CreatedAt ? Math.round(new Date(element.CreatedAt).getTime() / 1000) : 0
705
732
  });
706
733
  });
707
- if (callback) { callback(result); }
734
+ if (callback) {
735
+ callback(result);
736
+ }
708
737
  resolve(result);
709
738
  } else {
710
- if (callback) { callback(result); }
739
+ if (callback) {
740
+ callback(result);
741
+ }
711
742
  resolve(result);
712
743
  }
713
744
  } catch (err) {
714
- if (callback) { callback(result); }
745
+ if (callback) {
746
+ callback(result);
747
+ }
715
748
  resolve(result);
716
749
  }
717
750
  });
@@ -724,7 +757,7 @@ exports.dockerVolumes = dockerVolumes;
724
757
  function dockerAll(callback) {
725
758
  return new Promise((resolve) => {
726
759
  process.nextTick(() => {
727
- dockerContainers(true).then(result => {
760
+ dockerContainers(true).then((result) => {
728
761
  if (result && Object.prototype.toString.call(result) === '[object Array]' && result.length > 0) {
729
762
  let l = result.length;
730
763
  result.forEach(function (element) {
@@ -742,12 +775,14 @@ function dockerAll(callback) {
742
775
  element.memoryStats = res[0].memoryStats;
743
776
  element.networks = res[0].networks;
744
777
 
745
- dockerContainerProcesses(element.id).then(processes => {
778
+ dockerContainerProcesses(element.id).then((processes) => {
746
779
  element.processes = processes;
747
780
 
748
781
  l -= 1;
749
782
  if (l === 0) {
750
- if (callback) { callback(result); }
783
+ if (callback) {
784
+ callback(result);
785
+ }
751
786
  resolve(result);
752
787
  }
753
788
  });
@@ -755,7 +790,9 @@ function dockerAll(callback) {
755
790
  });
756
791
  });
757
792
  } else {
758
- if (callback) { callback(result); }
793
+ if (callback) {
794
+ callback(result);
795
+ }
759
796
  resolve(result);
760
797
  }
761
798
  });