in src/components/CompareResults/loader.ts [212:258]
export async function getComparisonInformation(
baseRev: string,
baseRepo: Repository['name'],
newRevs: string[],
newRepos: Repository['name'][],
frameworkId: Framework['id'],
frameworkName: Framework['name'],
) {
const resultsPromise = fetchCompareResultsOnTreeherder({
baseRev,
baseRepo,
newRevs,
newRepos,
framework: frameworkId,
});
// TODO what happens if there's no result?
const baseRevInfoPromise = memoizedFetchRevisionForRepository({
repository: baseRepo,
hash: baseRev,
});
const newRevsInfoPromises = newRevs.map((newRev, i) =>
memoizedFetchRevisionForRepository({
repository: newRepos[i],
hash: newRev,
}),
);
const [baseRevInfo, ...newRevsInfo] = await Promise.all([
baseRevInfoPromise,
...newRevsInfoPromises,
]);
return {
results: resultsPromise,
baseRev,
baseRevInfo,
baseRepo,
newRevs,
newRevsInfo,
newRepos,
frameworkId,
frameworkName,
view: compareView,
generation: generationCounter++,
};
}