All files / src/views/Search useUpdateSearchParam.ts

20% Statements 1/5
0% Branches 0/4
0% Functions 0/2
20% Lines 1/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 23 24          1x                                    
import { useCallback } from "react";
import { useHistory } from "react-router-dom";
import { getSearchUrlParams } from "./util";
import { getSearchPath } from "../../util/url";
 
export const useUpdateSearchParam = () => {
  const { push } = useHistory();
 
  return useCallback(
    (p?: Partial<Parameters<typeof getSearchPath>[0]>) => {
      const { offset, ...params } = p ?? {};
 
      push(
        getSearchPath({
          ...getSearchUrlParams(),
          ...params,
          offset: offset ?? 0,
        })
      );
    },
    [push]
  );
};