import * as React from "react";

const failedToLoadUris = new Set<string>();

type Return = {
  appendFailedToLoadUri: (uri: string) => void;
  isFailedToLoadUri: (uri: string) => boolean;
};

export const useCheckFailedUri = (): Return => {
  const appendFailedToLoadUri = React.useCallback((uri: string): void => {
    failedToLoadUris.add(uri);
  }, []);

  const isFailedToLoadUri = React.useCallback(
    (uri: string): boolean => failedToLoadUris.has(uri),
    []
  );

  return {
    appendFailedToLoadUri,
    isFailedToLoadUri,
  };
};
