From 997aee61711b9e464c43e64c389bd465bb7d7a3b Mon Sep 17 00:00:00 2001 From: Clarence Chan Date: Tue, 28 Jan 2025 18:23:16 -0500 Subject: [PATCH] Throw error if fighter name cannot be retrieved --- src/scrape.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/scrape.ts b/src/scrape.ts index 8bd31562..36d487b8 100644 --- a/src/scrape.ts +++ b/src/scrape.ts @@ -91,11 +91,13 @@ function convertLiToStr(li: HTMLElement) { ?.textContent?.replaceAll("\n", "") .replace(/\s+/g, " ") .trim(); - const ranks = [ - ...li.querySelectorAll( + if (!red || !blue) throw new Error("Failed to retrieve fighter names"); + + const ranks = li + .querySelectorAll( ".c-listing-fight__ranks-row .js-listing-fight__corner-rank span" - ), - ].map((rank) => rank?.textContent); + ) + .map((rank) => rank?.textContent); const redRankStr = ranks[0] ? ` (${ranks[0]})` : ""; const blueRankStr = ranks[1] ? ` (${ranks[1]})` : ""; @@ -151,7 +153,7 @@ async function getDetailsFromEventLink(url: URL) { const mainCardElements = root.querySelectorAll( "#main-card .l-listing__item" ); - // Check if main card & prelims have been announced + // Check if main card and prelims have been announced if (mainCardElements.length) { // Main card has been announced, extract prelims const prelimsElements = root.querySelectorAll(