in src/components/CompareResults/overTimeLoader.ts [141:201]
export async function loader({ request }: { request: Request }) {
const url = new URL(request.url);
//removed fakeData and fetchAllFakeCompareResults until one
//for compareTime is created
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 intervalFromUrl = url.searchParams.get('selectedTimeRange');
const {
baseRepo,
newRevs,
newRepos,
frameworkId,
frameworkName,
intervalValue,
intervalText,
} = checkValues({
baseRepo: baseRepoFromUrl,
newRevs: newRevsFromUrl,
newRepos: newReposFromUrl,
framework: frameworkFromUrl,
interval: intervalFromUrl,
});
const resultsTimePromise = fetchCompareOverTimeResultsOnTreeherder({
baseRepo,
newRevs,
newRepos,
framework: frameworkId,
interval: intervalValue,
});
const newRevsInfoPromises = newRevs.map((newRev, i) =>
memoizedFetchRevisionForRepository({
repository: newRepos[i],
hash: newRev,
}),
);
const newRevsInfo = await Promise.all(newRevsInfoPromises);
return {
results: resultsTimePromise,
baseRepo,
newRevs,
newRevsInfo,
newRepos,
frameworkId,
frameworkName,
intervalValue,
intervalText,
view: compareOverTimeView,
generation: generationCounter++,
};
}