All files / packages/mutations/src/cache/debts get-by-peer-paged.ts

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

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 38 39                      205x         40x   205x 24x 24x   24x         205x       14x 14x   16x        
import type { TRPCQueryInput } from "~app/trpc";
import type { PeerId } from "~db/ids";
 
import type { ControllerContext, ControllerWith } from "../../types";
 
type Controller = ControllerWith<{
	procedure: ControllerContext["trpc"]["debts"]["getByPeerPaged"];
}>;
 
type Filters = Omit<Partial<TRPCQueryInput<"debts.getByPeerPaged">>, "peerId">;
 
const invalidate = (
	{ queryClient, procedure }: Controller,
	peerId: PeerId,
	filters?: Filters,
) =>
	queryClient.invalidateQueries(procedure.queryFilter({ peerId, ...filters }));
 
export const getController = ({ queryClient, trpc }: ControllerContext) => {
	const controller = { queryClient, procedure: trpc.debts.getByPeerPaged };
	return {
		invalidate: (peerId: PeerId, filters?: Filters) => {
			void invalidate(controller, peerId, filters);
		},
	};
};
 
export const getRevertController = ({
	queryClient,
	trpc,
}: ControllerContext) => {
	const controller = { queryClient, procedure: trpc.debts.getByPeerPaged };
	return {
		invalidate: (peerId: PeerId, filters?: Filters) => {
			void invalidate(controller, peerId, filters);
		},
	};
};