From 01b80124bd8baa89e9b8ee4e40987c0cba1e57b8 Mon Sep 17 00:00:00 2001 From: doge Date: Mon, 12 Apr 2021 10:47:11 -0400 Subject: [PATCH] perf: optimize loops (#24) --- src/lib/PetitioRequest.ts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/lib/PetitioRequest.ts b/src/lib/PetitioRequest.ts index 59435e3..bde51ac 100644 --- a/src/lib/PetitioRequest.ts +++ b/src/lib/PetitioRequest.ts @@ -106,8 +106,14 @@ export class PetitioRequest { */ public query(key: Record): this public query(key: string | Record, value?: any): this { - if (typeof key === "object") for (const qy of Object.keys(key)) this.url.searchParams.append(qy, key[qy]); - else this.url.searchParams.append(key, value); + if (typeof key === "object") { + const keys = Object.keys(key); + // eslint-disable-next-line @typescript-eslint/prefer-for-of, no-plusplus + for (let ii = 0; ii < keys.length; ++ii) { + const val = keys[ii]; + this.url.searchParams.append(val, key[val]); + } + } else this.url.searchParams.append(key, value); return this; } @@ -201,9 +207,15 @@ export class PetitioRequest { public header(header: Record): this public header(header: string | Record, value?: string): this { // eslint-disable-next-line max-len - if (typeof header === "object") for (const hN of Object.keys(header)) this.reqHeaders[hN.toLowerCase()] = header[hN]; + if (typeof header === "object") { + const keys = Object.keys(header); - else this.reqHeaders[header.toLowerCase()] = value; + // eslint-disable-next-line @typescript-eslint/prefer-for-of, no-plusplus + for (let ii = 0; ii < keys.length; ++ii) { + const val = keys[ii]; + this.reqHeaders[val.toLowerCase()] = header[val]; + } + } else this.reqHeaders[header.toLowerCase()] = value; return this; }