FIX: ES6 conformity

This commit is contained in:
Robert Kossessa
2024-03-02 15:43:09 +01:00
parent 448ffc83a4
commit f3bc680d05

View File

@@ -8,21 +8,19 @@ const NANO_VENDOR_ID = '303A'
const NANO_BAUD_RATE = 115200 const NANO_BAUD_RATE = 115200
class NanoDevices extends EventEmitter { class NanoDevices extends EventEmitter {
constructor() { all_nano_devices: { [key: string]: PortInfo } = {}
super() connected_nano_devices: { [key: string]: { port: SerialPort; data: string } } = {}
this.all_nano_devices = {}
this.connected_nano_devices = {}
}
_list() { _list() {
const p = new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
SerialPort.list() SerialPort.list()
.then((ports: PortInfo[]) => { .then((ports: PortInfo[]) => {
const found_nano_devices = [] const found_nano_devices: string[] = []
for (const port of ports) { for (const port of ports) {
if ( if (
port.productId?.toUpperCase() === NANO_PRODUCT_ID && port.productId?.toUpperCase() === NANO_PRODUCT_ID &&
port.vendorId?.toUpperCase() === NANO_VENDOR_ID port.vendorId?.toUpperCase() === NANO_VENDOR_ID &&
port.serialNumber
) { ) {
found_nano_devices.push(port.serialNumber) found_nano_devices.push(port.serialNumber)
if (this.all_nano_devices[port.serialNumber] === undefined) { if (this.all_nano_devices[port.serialNumber] === undefined) {
@@ -45,7 +43,6 @@ class NanoDevices extends EventEmitter {
reject(error) reject(error)
}) })
}) })
return p
} }
_handle_data(connected_port, data) { _handle_data(connected_port, data) {
@@ -65,7 +62,7 @@ class NanoDevices extends EventEmitter {
} }
list_devices() { list_devices() {
const result = [] const result: string[] = []
for (const [key, value] of Object.entries(this.all_nano_devices)) { for (const [key, value] of Object.entries(this.all_nano_devices)) {
if (value.serialNumber) result.push(key) if (value.serialNumber) result.push(key)
} }
@@ -84,9 +81,8 @@ class NanoDevices extends EventEmitter {
} }
async connect(deviceid) { async connect(deviceid) {
const nanodevices = this return new Promise((resolve, reject) => {
const p = new Promise((resolve, reject) => { const nano_device = this.all_nano_devices[deviceid]
const nano_device = nanodevices.all_nano_devices[deviceid]
if (nano_device === undefined) { if (nano_device === undefined) {
reject('Device not attached') reject('Device not attached')
} else { } else {
@@ -98,23 +94,23 @@ class NanoDevices extends EventEmitter {
}) })
port.on('error', (err) => { port.on('error', (err) => {
// forward error to FE // forward error to FE
nanodevices.emit('nanodevices:error', nano_device.serialNumber, err) this.emit('nanodevices:error', nano_device.serialNumber, err)
}) })
port.on('close', (err) => { port.on('close', (err) => {
if (err && err.disconnected) { if (err && err.disconnected) {
// forward close to FE // forward close to FE
nanodevices.emit('nanodevices:disconnected', nano_device.serialNumber) this.emit('nanodevices:disconnected', nano_device.serialNumber)
} }
delete nanodevices.connected_nano_devices[nano_device.serialNumber] delete this.connected_nano_devices[nano_device.serialNumber!]
}) })
port.on('open', () => { port.on('open', () => {
resolve(nano_device.serialNumber) resolve(nano_device.serialNumber)
nanodevices.connected_nano_devices[nano_device.serialNumber] = { port: port, data: '' } this.connected_nano_devices[nano_device.serialNumber!] = { port: port, data: '' }
nanodevices.emit('nanodevices:connected', nano_device.serialNumber) this.emit('nanodevices:connected', nano_device.serialNumber)
}) })
port.on('data', (data) => { port.on('data', (data) => {
const connected_port = nanodevices.connected_nano_devices[nano_device.serialNumber] const connected_port = this.connected_nano_devices[nano_device.serialNumber!]
nanodevices._handle_data(connected_port, data) this._handle_data(connected_port, data)
}) })
port.open((err) => { port.open((err) => {
if (err) { if (err) {
@@ -123,17 +119,15 @@ class NanoDevices extends EventEmitter {
}) })
} }
}) })
return p
} }
disconnect(deviceid) { disconnect(deviceid) {
const nanodevices = this return new Promise((resolve, reject) => {
const p = new Promise((resolve, reject) => { const nano_device = this.all_nano_devices[deviceid]
const nano_device = nanodevices.all_nano_devices[deviceid]
if (nano_device === undefined) { if (nano_device === undefined) {
reject('Device not attached') reject('Device not attached')
} else { } else {
if (nanodevices.connected_nano_devices[nano_device.serialNumber] === undefined) { if (this.connected_nano_devices[nano_device.serialNumber!] === undefined) {
reject('Device not connected') reject('Device not connected')
} else { } else {
nano_device.close() nano_device.close()
@@ -141,7 +135,6 @@ class NanoDevices extends EventEmitter {
} }
} }
}) })
return p
} }
} }