All files / publisher-admin/hooks useReleases.ts

75% Statements 6/8
50% Branches 2/4
100% Functions 2/2
75% Lines 6/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29              5x 3x   2x       2x   2x       2x                
import { useQuery } from "react-query";
 
export type ReleaseMap = {
  [key: string]: ReleaseChannel;
};
 
function useReleases(packageName: string | undefined) {
  return useQuery(["releaseData", packageName], async () => {
    const response = await fetch(`/api/packages/${packageName}/releases`);
 
    Iif (!response.ok) {
      throw new Error("There was a problem fetching releases");
    }
 
    const releaseData = await response.json();
 
    Iif (!releaseData.success) {
      throw new Error(releaseData?.message);
    }
 
    return releaseData.data as {
      releases: ReleaseMap;
      all_architectures: string[];
    };
  });
}
 
export default useReleases;