in src/components/Search/loader.ts [69:107]
export async function loader({ request }: { request: Request }) {
const url = new URL(request.url);
const newRevFromUrl = url.searchParams.get('newRev');
const newRepoFromUrl = url.searchParams.get('newRepo') as
| Repository['name']
| null;
const frameworkFromUrl = url.searchParams.get('frameworkName') as
| Framework['name']
| null;
const checkedValues = checkValues({
newRev: newRevFromUrl,
newRepo: newRepoFromUrl,
frameworkName: frameworkFromUrl,
});
if (!checkedValues) {
return DEFAULT_VALUES;
}
const { newRev, newRepo, frameworkId, frameworkName } = checkedValues;
const newRevInfo = await memoizedFetchRevisionForRepository({
repository: newRepo,
hash: newRev,
});
if (!newRevInfo) {
// The search returned no result.
return DEFAULT_VALUES;
}
return {
newRev,
newRevInfo,
newRepo,
frameworkId,
frameworkName,
};
}