Simply write that the list of available devices is unchanged instead of always listing the devices.

This commit is contained in:
László Monda
2018-05-09 01:32:55 +02:00
parent b526274cd7
commit 0385b0ce29
4 changed files with 20 additions and 5 deletions

3
package-lock.json generated
View File

@@ -5838,8 +5838,7 @@
"jsbn": {
"version": "0.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"json-schema": {
"version": "0.2.3",

View File

@@ -1,11 +1,14 @@
{
"requires": true,
"name": "uhk-usb",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@types/node": {
"version": "8.0.28",
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.28.tgz",
"integrity": "sha512-HupkFXEv3O3KSzcr3Ylfajg0kaerBg1DyaZzRBBQfrU3NN1mTBRE7sCveqHwXLS5Yrjvww8qFzkzYQQakG9FuQ=="
"integrity": "sha512-HupkFXEv3O3KSzcr3Ylfajg0kaerBg1DyaZzRBBQfrU3NN1mTBRE7sCveqHwXLS5Yrjvww8qFzkzYQQakG9FuQ==",
"dev": true
},
"ansi-regex": {
"version": "2.1.1",
@@ -144,6 +147,11 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"lodash-es": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz",
"integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg=="
},
"mimic-response": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz",

View File

@@ -11,6 +11,7 @@
"@types/node": "8.0.28"
},
"dependencies": {
"lodash-es": "^4.17.10",
"node-hid": "0.5.7",
"uhk-common": "1.0.0"
}

View File

@@ -1,3 +1,4 @@
import { cloneDeep, isEqual } from 'lodash-es';
import { Device, devices, HID } from 'node-hid';
import { CommandLineArgs, LogService } from 'uhk-common';
@@ -24,6 +25,7 @@ export class UhkHidDevice {
* Internal variable that represent the USB UHK device
* @private
*/
private _prevDevices = {};
private _device: HID;
private _hasPermission = false;
@@ -233,7 +235,12 @@ export class UhkHidDevice {
private connectToDevice(): HID {
try {
const devs = devices();
this.logService.debug('[UhkHidDevice] Available devices:', devs);
if (!isEqual(this._prevDevices, devs)) {
this.logService.debug('[UhkHidDevice] Available devices:', devs);
this._prevDevices = devs;
} else {
this.logService.debug('[UhkHidDevice] Available devices unchanged');
}
const dev = devs.find((x: Device) =>
x.vendorId === Constants.VENDOR_ID &&