@openapi-qraft/react
Version:
OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.
1 lines • 1.95 kB
Source Map (JSON)
{"version":3,"file":"callQueryClientMethodWithMutationFilters.cjs","sources":["../../../src/lib/callQueryClientMethodWithMutationFilters.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeMutationFilters } from './composeMutationFilters.js';\n\n/**\n * Calls a query client method with mutation filters and options,\n * and automatically composes the `MutationKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithMutationFilters<\n QFMethod extends QueryFilterMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n args: [...Parameters<(typeof QueryClient.prototype)[QFMethod]>, QueryClient]\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const filters = args[0];\n const queryClient = qraftOptions.queryClient;\n\n // @ts-expect-error - Too complex to type\n return queryClient[queryFilterMethod](\n composeMutationFilters(schema, filters as never),\n // @ts-expect-error - Argument types are too complex\n ...args.slice(1, args.length)\n );\n}\n\ntype QueryFiltersMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n\ntype QueryFilterMethods = QueryFiltersMethod<'isMutating'>;\n"],"names":["callQueryClientMethodWithMutationFilters","qraftOptions","queryFilterMethod","schema","args","filters","queryClient","composeMutationFilters","slice","length"],"mappings":";;;;AAKA;;;IAIO,SAASA,wCAGdC,CAAAA,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,IAA4E,EAAA;IAE5E,MAAMC,OAAAA,GAAUD,IAAI,CAAC,CAAE,CAAA,CAAA;IACvB,MAAME,WAAAA,GAAcL,aAAaK,WAAW,CAAA;;AAG5C,IAAA,OAAOA,WAAW,CAACJ,iBAAAA,CAAkB,CACnCK,6CAAuBJ,CAAAA,MAAAA,EAAQE;AAE5BD,IAAAA,GAAAA,IAAAA,CAAKI,KAAK,CAAC,CAAGJ,EAAAA,IAAAA,CAAKK,MAAM,CAAA,CAAA,CAAA;AAEhC;;;;"}