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