From b00c0afa3abe8d990abe923b1e090a3271dfeea6 Mon Sep 17 00:00:00 2001 From: Martin Endler Date: Thu, 20 Dec 2018 04:14:02 +0100 Subject: [PATCH] Update example code in README to reflect examples/example.js --- README.md | 119 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 249da8c..3b1db72 100644 --- a/README.md +++ b/README.md @@ -68,57 +68,86 @@ const pcsclite = require('pcsclite'); const pcsc = pcsclite(); -pcsc.on('reader', function(reader) { +pcsc.on('reader', (reader) => { - console.log('New reader detected', reader.name); + console.log('New reader detected', reader.name); - reader.on('error', function(err) { - console.log('Error(', this.name, '):', err.message); - }); + reader.on('error', err => { + console.log('Error(', reader.name, '):', err.message); + }); - reader.on('status', function(status) { - console.log('Status(', this.name, '):', status); - /* check what has changed */ - const changes = this.state ^ status.state; - if (changes) { - if ((changes & this.SCARD_STATE_EMPTY) && (status.state & this.SCARD_STATE_EMPTY)) { - console.log("card removed");/* card removed */ - reader.disconnect(reader.SCARD_LEAVE_CARD, function(err) { - if (err) { - console.log(err); - } else { - console.log('Disconnected'); - } - }); - } else if ((changes & this.SCARD_STATE_PRESENT) && (status.state & this.SCARD_STATE_PRESENT)) { - console.log("card inserted");/* card inserted */ - reader.connect({ share_mode : this.SCARD_SHARE_SHARED }, function(err, protocol) { - if (err) { - console.log(err); - } else { - console.log('Protocol(', reader.name, '):', protocol); - reader.transmit(new Buffer([0x00, 0xB0, 0x00, 0x00, 0x20]), 40, protocol, function(err, data) { - if (err) { - console.log(err); - } else { - console.log('Data received', data); - reader.close(); - pcsc.close(); - } - }); - } - }); - } - } - }); + reader.on('status', (status) => { + + console.log('Status(', reader.name, '):', status); + + // check what has changed + const changes = reader.state ^ status.state; + + if (!changes) { + return; + } + + if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { + + console.log("card removed"); + + reader.disconnect(reader.SCARD_LEAVE_CARD, err => { + + if (err) { + console.log(err); + return; + } + + console.log('Disconnected'); + + }); + + return; + + } + + if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { + + console.log("card inserted"); + + reader.connect({ share_mode: reader.SCARD_SHARE_SHARED }, (err, protocol) => { + + if (err) { + console.log(err); + return; + } + + console.log('Protocol(', reader.name, '):', protocol); + + reader.transmit(Buffer.from([0x00, 0xB0, 0x00, 0x00, 0x20]), 40, protocol, (err, data) => { + + if (err) { + console.log(err); + return; + } + + console.log('Data received', data); + reader.close(); + pcsc.close(); + + }); + + }); + + // noinspection UnnecessaryReturnStatementJS + return; + } + + }); + + reader.on('end', () => { + console.log('Reader', reader.name, 'removed'); + }); - reader.on('end', function() { - console.log('Reader', this.name, 'removed'); - }); }); -pcsc.on('error', function(err) { - console.log('PCSC error', err.message); +pcsc.on('error', err => { + console.log('PCSC error', err.message); }); ```