From 694c2336b37de0f880c48d930f8a2891c75861a0 Mon Sep 17 00:00:00 2001
From: Flummi <git@srv.fail>
Date: Tue, 18 Mar 2025 13:23:46 +0100
Subject: [PATCH] refactor: simplify data resolution logic in readData function

---
 dist/index.js | 12 ++++--------
 src/index.ts  | 14 ++++++--------
 2 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/dist/index.js b/dist/index.js
index 79d5e6c..e68463d 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -18,14 +18,10 @@ const readData = (res, mode) => new Promise((resolve, reject) => {
         .on("end", () => {
         try {
             const data = decompress(Buffer.concat(chunks), res.headers["content-encoding"]);
-            if (mode === "json")
-                resolve(JSON.parse(data.toString("utf8")));
-            else if (mode === "buffer")
-                resolve(data);
-            else if (mode === "arraybuffer")
-                resolve(new Uint8Array(data).buffer);
-            else
-                resolve(data.toString("utf8"));
+            resolve((mode === "json" ? JSON.parse(data.toString("utf8")) :
+                mode === "buffer" ? data :
+                    mode === "arraybuffer" ? new Uint8Array(data).buffer :
+                        data.toString("utf8")));
         }
         catch (err) {
             reject(err);
diff --git a/src/index.ts b/src/index.ts
index 9439457..155e49f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -41,14 +41,12 @@ const readData = <T>(
       .on("end", () => {
         try {
           const data = decompress(Buffer.concat(chunks), res.headers["content-encoding"]);
-          if(mode === "json")
-            resolve(JSON.parse(data.toString("utf8")));
-          else if(mode === "buffer")
-            resolve(data as T);
-          else if(mode === "arraybuffer")
-            resolve(new Uint8Array(data).buffer as T);
-          else
-            resolve(data.toString("utf8") as T);
+          resolve((
+            mode === "json" ? JSON.parse(data.toString("utf8")) :
+            mode === "buffer" ? data  :
+            mode === "arraybuffer" ? new Uint8Array(data).buffer :
+            data.toString("utf8")
+          )) as T;
         }
         catch(err: any) {
           reject(err);