From f6e0425fcbd7a3756c379b8cb4dc28c3a2db21fa Mon Sep 17 00:00:00 2001 From: Trevor Sharp Date: Mon, 6 Jan 2025 03:11:30 +0000 Subject: [PATCH] Improve error handling for invalid rss feeds --- bun.lockb | Bin 247151 -> 247006 bytes package.json | 2 +- src/services/feedService.ts | 7 ++++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bun.lockb b/bun.lockb index 28ee8bbd64be75563610d3f4dab396349fdf742d..325991cbadec0bbb2260aae8d203e47555fb9521 100755 GIT binary patch delta 30692 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 .then((response) => response.text()) .then((data) => parseFeed(data)) .catch((error) => { - console.log(error); + console.error(error); return undefined; }); }), @@ -59,9 +59,10 @@ const fetchFeedData = async (urls: string[], searchParams?: URLSearchParams) => ); }; -const parseFeed = (rawFeed: string): FeedData => { +const parseFeed = (rawFeed: string): FeedData | undefined => { const parsedFeed = parser.parse(rawFeed) as unknown; - return feedSchema.parse(parsedFeed); + const { data: feedData, success } = feedSchema.safeParse(parsedFeed); + return success ? feedData : undefined; }; const mergeFeeds = (mainFeed: FeedData, additionalFeeds: FeedData[]) => {