All files / react-app/src/utils/Poller documentPoller.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 3/3
100% Lines 5/5

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                    76x 5x       22x   22x   42x    
import { PackageCheck } from "shared-utils";
 
import { getItem } from "@/api/useGetItem";
 
import { DataPoller } from "./DataPoller";
 
export type CheckDocumentFunction = (
  check: ReturnType<typeof PackageCheck> & { recordExists: boolean },
) => boolean;
 
export const documentPoller = (id: string, documentChecker: CheckDocumentFunction) =>
  new DataPoller({
    interval: 1000,
    pollAttempts: 20,
    onPoll: (data) => {
      const check = PackageCheck(data._source);
 
      return documentChecker({ ...check, recordExists: !!data });
    },
    fetcher: () => getItem(id),
  });