All files / publisher/hooks useFetchAccountSnaps.ts

12.5% Statements 1/8
100% Branches 0/0
25% Functions 1/4
12.5% Lines 1/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 30 31 32 33 34 35 36 37        4x                                                                
import { useQuery } from "react-query";
import { ISnap } from "../types";
 
function useFetchAccountSnaps() {
  return useQuery({
    queryKey: ["accountSnaps"],
    queryFn: async () => {
      const response = await fetch("/snaps.json");
      const snapsData = await response.json();
 
      const snaps = Object.entries(snapsData.snaps).map(
        ([snapName, value]) => ({
          snapName,
          ...(value as Omit<ISnap, "snapName">),
        }),
      );
 
      const registeredSnaps = Object.entries(snapsData["registered_snaps"]).map(
        ([snapName, value]) => ({
          snapName,
          ...(value as Omit<ISnap, "snapName">),
        }),
      );
 
      return {
        snaps,
        registeredSnaps,
        currentUser: snapsData.current_user,
      };
    },
    retry: 0,
    refetchOnWindowFocus: false,
  });
}
 
export default useFetchAccountSnaps;