import { useQuery } from "@tanstack/react-query"; import { getPullCodeAlerts } from "~/fns/security"; export type PullCodeAlert = Awaited>[number]; const NO_ALERTS: PullCodeAlert[] = []; export const pullCodeAlertsQueryKey = (owner: string, repo: string, number: number) => ["pull-code-alerts", owner, repo, number] as const; /** Loads code scanning alerts for a pull request after render, so diffs never wait on them. */ export function usePullCodeAlerts(owner: string, repo: string, number: number): PullCodeAlert[] { const query = useQuery({ queryKey: pullCodeAlertsQueryKey(owner, repo, number), queryFn: () => getPullCodeAlerts({ data: { owner, repo, number } }), }); return query.data ?? NO_ALERTS; }