From 12d985210c45285e1d5d8831544170875186c13d Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 19:56:35 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20[performance=20improvement]?= =?UTF-8?q?=20avoid=20intermediate=20arrays=20in=20parseSearchPeople?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💡 What: Replace `Array.from().find()` with `.find()` on `node-html-parser` arrays, and map directly over `querySelectorAll` result. 🎯 Why: Avoids unnecessary allocation of intermediate arrays when searching for creator paragraphs and parsing person links. 📊 Impact: Lowers memory overhead and slightly improves execution speed. 🔬 Measurement: Run `bun test` to confirm. Co-authored-by: bartholomej <5861310+bartholomej@users.noreply.github.com> --- src/helpers/search.helper.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/helpers/search.helper.ts b/src/helpers/search.helper.ts index 7ec62343..c7681263 100644 --- a/src/helpers/search.helper.ts +++ b/src/helpers/search.helper.ts @@ -50,12 +50,13 @@ export const parseSearchPeople = ( if (type === 'directors') who = 'Režie:'; if (type === 'actors') who = 'Hrají:'; - const peopleNode = Array.from(el && el.querySelectorAll('.article-content p')).find((el) => - el.textContent.includes(who) - ); + // Optimization: querySelectorAll returns an array in node-html-parser, no need for Array.from() + const peopleNode = el + ?.querySelectorAll('.article-content p') + ?.find((el) => el.textContent.includes(who)); if (peopleNode) { - const people = Array.from(peopleNode.querySelectorAll('a')) as unknown as HTMLElement[]; + const people = peopleNode.querySelectorAll('a'); return people.map((person) => { return {