@renegade-fi/core
Version:
VanillaJS library for Renegade
45 lines (38 loc) • 1.36 kB
text/typescript
import type { MutationOptions } from "@tanstack/query-core";
import {
type DepositRequestErrorType,
type DepositRequestParameters,
type DepositRequestReturnType,
depositRequest,
} from "../actions/depositRequest.js";
import type { Config } from "../createConfig.js";
import { ConfigRequiredError } from "../errors/base.js";
import type { Evaluate } from "../types/utils.js";
import type { Mutate, MutateAsync } from "./types.js";
export function depositRequestMutationOptions(config: Config | undefined) {
return {
mutationFn(variables) {
if (!config) throw new ConfigRequiredError("depositRequest");
return depositRequest(config, variables);
},
mutationKey: ["depositRequest"],
} as const satisfies MutationOptions<
DepositRequestData,
DepositRequestErrorType,
DepositRequestVariables
>;
}
export type DepositRequestData = DepositRequestReturnType;
export type DepositRequestVariables = Evaluate<DepositRequestParameters>;
export type DepositRequestMutate<context = unknown> = Mutate<
DepositRequestData,
DepositRequestErrorType,
DepositRequestVariables,
context
>;
export type DepositRequestMutateAsync<context = unknown> = MutateAsync<
DepositRequestData,
DepositRequestErrorType,
DepositRequestVariables,
context
>;