export function useBoolean()

in src/hooks/common.ts [77:102]


export function useBoolean(
  initialState: boolean,
): [boolean, ISetBooleanFunctions] {
  const [value, setValue] = useState(initialState);

  const setTrue = useRef(() => {
    setValue(true);
  });
  const setFalse = useRef(() => {
    setValue(false);
  });
  const setToggle = useRef(() => {
    setValue(cur => !cur);
  });

  const setBoolFns = useMemo(
    () => ({
      True: setTrue.current,
      False: setFalse.current,
      Toggle: setToggle.current,
    }),
    [],
  );

  return [value, setBoolFns];
}