Refactor proxy codebase

This commit is contained in:
Gregory Schier
2026-03-12 08:31:05 -07:00
parent 4968237ece
commit 5e3ef70d93
21 changed files with 437 additions and 408 deletions

View File

@@ -0,0 +1,18 @@
import { type UseMutationOptions, useMutation } from '@tanstack/react-query';
import type { RpcSchema } from '@yaakapp-internal/proxy-lib';
import { minPromiseMillis } from '@yaakapp-internal/ui';
import type { Req, Res } from '../lib/rpc';
import { rpc } from '../lib/rpc';
/**
* React Query mutation wrapper for RPC commands.
*/
export function useRpcMutation<K extends keyof RpcSchema>(
cmd: K,
opts?: Omit<UseMutationOptions<Res<K>, Error, Req<K>>, 'mutationFn'>,
) {
return useMutation<Res<K>, Error, Req<K>>({
mutationFn: (payload) => minPromiseMillis(rpc(cmd, payload)),
...opts,
});
}