constructor() { super(); logger.debug(`new Devices()`); this.pcsc = pcsclite(); this.devices = {}; this.pcsc.on('reader', (reader) => { const device = new Device(reader); this.devices[reader.name] = device; this.emit('device-activated', { device, devices: this.listDevices() }); reader.on('end', () => { delete this.devices[reader.name]; this.emit('device-deactivated', { device, devices: this.listDevices(), }); }); reader.on('error', (error) => { this.emit('error', { reader, error }); }); }); this.pcsc.on('error', (error) => { this.emit('error', { error }); }); }