export async function getComparisonInformation()

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++,
  };
}