UNPKG

@openapi-qraft/react

Version:

OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.

33 lines (30 loc) 1.56 kB
'use client'; import { useMutation as useMutation$1 } from '@tanstack/react-query'; import { composeMutationKey } from '../lib/composeMutationKey.js'; import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js'; import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js'; const useMutation = (qraftOptions, schema, args)=>{ const [parameters, options] = args; if (parameters && typeof parameters === 'object' && options && 'mutationKey' in options) throw new Error(`'useMutation': parameters and 'options.mutationKey' cannot be used together`); const mutationKey = options && 'mutationKey' in options ? options.mutationKey : composeMutationKey(schema, parameters); return useMutation$1({ ...options, mutationKey, mutationFn: options?.mutationFn ?? (parameters ? function(bodyPayload) { return qraftOptions.requestFn(schema, { parameters, baseUrl: qraftOptions.baseUrl, body: bodyPayload }).then(requestFnResponseResolver, requestFnResponseRejecter); } : function(parametersAndBodyPayload) { const { body, ...parameters } = parametersAndBodyPayload; return qraftOptions.requestFn(schema, { parameters, baseUrl: qraftOptions.baseUrl, body }).then(requestFnResponseResolver, requestFnResponseRejecter); }) }, qraftOptions.queryClient); }; export { useMutation }; //# sourceMappingURL=useMutation.js.map