@openapi-qraft/react
Version:
OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.
44 lines (40 loc) • 1.16 kB
text/typescript
'use client';
import type {
OperationSchema,
ServiceOperationUseMutationState,
} from '@openapi-qraft/tanstack-query-react-types';
import type { DefaultError, UseMutationResult } from '@tanstack/react-query';
import type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';
import { useMutationState as useMutationStateTanstack } from '@tanstack/react-query';
import { composeMutationFilters } from '../lib/composeMutationFilters.js';
export const useMutationState: <
TData = unknown,
TError = DefaultError,
TVariables = unknown,
TContext = unknown,
>(
qraftOptions: CreateAPIQueryClientOptions | undefined,
schema: OperationSchema,
args: Parameters<
ServiceOperationUseMutationState<
OperationSchema,
object | undefined,
TVariables,
TData,
DefaultError
>['useMutationState']
>
) => UseMutationResult<TData, TError, TVariables, TContext> = (
qraftOptions,
schema,
args
) => {
const [options] = args;
return useMutationStateTanstack(
{
...options,
filters: composeMutationFilters(schema, options?.filters),
} as never,
qraftOptions?.queryClient
) as never;
};