From 2e917a3b768c7c5f3bf738c4c1631696a7b0d477 Mon Sep 17 00:00:00 2001 From: copystring Date: Mon, 14 Oct 2024 21:48:23 +0200 Subject: [PATCH] Some more code refactor --- lib/RRMapParser.js | 19 +++++++------------ main.js | 6 +++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/RRMapParser.js b/lib/RRMapParser.js index 463a2f9130..6e8462c045 100644 --- a/lib/RRMapParser.js +++ b/lib/RRMapParser.js @@ -67,13 +67,7 @@ class RRMapParser { } BytesToInt(buffer, offset, len) { - let result = 0; - - for (let i = 0; i < len; i++) { - result |= (0x000000FF & parseInt(buffer[i + offset])) << 8 * i; - } - - return result; + return buffer.slice(offset, offset + len).reduce((acc, byte, i) => acc | (byte << (8 * i)), 0); } async parsedata(buf) { @@ -90,8 +84,7 @@ class RRMapParser { let dataPosition = 0x14; // Skip header - const result = {}; - result.metaData = metaData; + const result = { metaData }; while (dataPosition < metaData.data_length) { const type = buf.readUInt16LE(dataPosition); @@ -104,7 +97,6 @@ class RRMapParser { // this.adapter.log.debug("Known values: type=" + type + ", hlength=" + hlength + ", length=" + length); if (TYPES_REVERSE[type]) { - // this.adapter.log.debug("Test length: " + TYPES_REVERSE[type] + " " + length); // if (length < 100) this.adapter.log.debug("Test data type: " + TYPES_REVERSE[type] + " " + buf.toString("hex", dataPosition, dataPosition + length)); @@ -294,9 +286,12 @@ class RRMapParser { major: mapBuf.readUInt16LE(0x08), minor: mapBuf.readUInt16LE(0x0a), }, - map_index: mapBuf.readUInt32LE(0x0C), + map_index: mapBuf.readUInt32LE(0x0c), map_sequence: mapBuf.readUInt32LE(0x10), - SHA1: crypto.createHash("sha1").update(Uint8Array.prototype.slice.call(mapBuf, 0, mapBuf.length - 20)).digest("hex"), + SHA1: crypto + .createHash("sha1") + .update(Uint8Array.prototype.slice.call(mapBuf, 0, mapBuf.length - 20)) + .digest("hex"), expectedSHA1: Buffer.from(Uint8Array.prototype.slice.call(mapBuf, mapBuf.length - 20)).toString("hex"), }; } else { diff --git a/main.js b/main.js index ffb99908b0..c587de001b 100644 --- a/main.js +++ b/main.js @@ -206,7 +206,7 @@ class Roborock extends utils.Adapter { this.log.info(`Starting adapter finished. Lets go!!!!!!!`); } else { this.log.info(`Most likely failed to login. Deleting UserData to force new login!`); - await this.deleteStateAsync(`UserData`); + await this.delObjectAsync(`UserData`); } } } catch (error) { @@ -244,8 +244,8 @@ class Roborock extends utils.Adapter { return userdata; } catch (error) { this.log.error(`Error in getUserData: ${error.message}`); - await this.deleteStateAsync("HomeData"); - await this.deleteStateAsync("UserData"); + await this.delObjectAsync("HomeData"); + await this.delObjectAsync("UserData"); throw error; } }