From aa997c22e8e316545e9ba96715674b300cebbe20 Mon Sep 17 00:00:00 2001 From: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Date: Wed, 5 Jun 2024 00:16:14 -0700 Subject: [PATCH] Remove duplicate versions --- .../ingestUnityVersions/scrapeVersions.ts | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/functions/src/logic/ingestUnityVersions/scrapeVersions.ts b/functions/src/logic/ingestUnityVersions/scrapeVersions.ts index 598b8ad..73600b0 100644 --- a/functions/src/logic/ingestUnityVersions/scrapeVersions.ts +++ b/functions/src/logic/ingestUnityVersions/scrapeVersions.ts @@ -13,20 +13,28 @@ export const scrapeVersions = async (): Promise => { if (script.textContent) { const matches = [...script.textContent.matchAll(unity_version_regex)]; if (matches.length > 0) { + const uniqueVersions = new Set(); return matches .filter((match) => { + // Filter out prerelease versions return match[3].includes('f'); }) .map((match) => { const [_, major, minor, patch, changeSet] = match; - return { - version: `${major}.${minor}.${patch}`, - major: Number(major), - minor: Number(minor), - patch, - changeSet, - }; - }); + const version = `${major}.${minor}.${patch}`; + if (!uniqueVersions.has(version)) { + uniqueVersions.add(version); + return { + version, + major: Number(major), + minor: Number(minor), + patch, + changeSet, + }; + } + return null; + }) + .filter((version) => version !== null) as EditorVersionInfo[]; } } }