export async function loader()

in src/components/CompareResults/subtestsOverTimeLoader.tsx [130:189]


export async function loader({ request }: { request: Request }) {
  const url = new URL(request.url);

  const baseRepoFromUrl = url.searchParams.get('baseRepo') as
    | Repository['name']
    | null;
  const newRevFromUrl = url.searchParams.get('newRev');
  const newRepoFromUrl = url.searchParams.get('newRepo') as
    | Repository['name']
    | null;
  const intervalFromUrl = url.searchParams.get('selectedTimeRange');
  const frameworkFromUrl = url.searchParams.get('framework');
  const baseParentSignatureFromUrl = url.searchParams.get(
    'baseParentSignature',
  );
  const newParentSignatureFromUrl = url.searchParams.get('newParentSignature');

  const {
    baseRepo,
    newRev,
    newRepo,
    frameworkId,
    frameworkName,
    intervalValue,
    intervalText,
    baseParentSignature,
    newParentSignature,
  } = checkValues({
    baseRepo: baseRepoFromUrl,
    newRev: newRevFromUrl,
    newRepo: newRepoFromUrl,
    framework: frameworkFromUrl,
    interval: intervalFromUrl,
    baseParentSignature: baseParentSignatureFromUrl,
    newParentSignature: newParentSignatureFromUrl,
  });

  const results = await fetchSubtestsCompareOverTimeResults({
    baseRepo,
    newRev,
    newRepo,
    framework: frameworkId,
    interval: intervalValue,
    baseParentSignature,
    newParentSignature,
  });

  return {
    results,
    baseRepo,
    newRev,
    newRepo,
    frameworkId,
    frameworkName,
    intervalValue,
    intervalText,
    baseParentSignature,
    newParentSignature,
  };
}