in src/components/CompareResults/loader.ts [154:210]
export async function loader({ request }: { request: Request }) {
const url = new URL(request.url);
const useFakeData = url.searchParams.has('fakedata');
if (useFakeData) {
const results = await fetchAllFakeCompareResults();
// They're all based on the same rev
const baseRev = results[0][0].base_rev;
// And the same repository
const baseRepo = results[0][0].base_repository_name;
const newRevs = fakeCommitHashes;
const newRepos = results.map((result) => result[0].new_repository_name);
const frameworkId = results[0][0].framework_id;
const frameworkName =
frameworks.find((entry) => entry.id === frameworkId)?.name ?? '';
return {
results,
baseRev,
baseRepo,
newRevs,
newRepos,
frameworkId,
frameworkName,
view: compareView,
generation: generationCounter++,
};
}
const baseRevFromUrl = url.searchParams.get('baseRev');
const baseRepoFromUrl = url.searchParams.get('baseRepo') as
| Repository['name']
| null;
const newRevsFromUrl = url.searchParams.getAll('newRev');
const newReposFromUrl = url.searchParams.getAll(
'newRepo',
) as Repository['name'][];
const frameworkFromUrl = url.searchParams.get('framework');
const { baseRev, baseRepo, newRevs, newRepos, frameworkId, frameworkName } =
checkValues({
baseRev: baseRevFromUrl,
baseRepo: baseRepoFromUrl,
newRevs: newRevsFromUrl,
newRepos: newReposFromUrl,
framework: frameworkFromUrl,
});
return await getComparisonInformation(
baseRev,
baseRepo,
newRevs,
newRepos,
frameworkId,
frameworkName,
);
}