{"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;;;;"}