{"version":3,"file":"callQueryClientMethodWithQueryFilters.cjs","sources":["../../../src/lib/callQueryClientMethodWithQueryFilters.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeQueryFilters } from './composeQueryFilters.js';\n\n/**\n * Calls a query client method with query filters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryFilters<\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    composeQueryFilters(schema, filters as never),\n    ...args.slice(1, args.length)\n  );\n}\n\ntype QueryFiltersMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n  QFMethod;\n\ntype QueryFilterMethods =\n  | QueryFiltersMethod<'isFetching'>\n  | QueryFiltersMethod<'getQueriesData'>\n  | QueryFiltersMethod<'setQueriesData'>\n  | QueryFiltersMethod<'removeQueries'>\n  | QueryFiltersMethod<'resetQueries'>\n  | QueryFiltersMethod<'cancelQueries'>\n  | QueryFiltersMethod<'invalidateQueries'>\n  | QueryFiltersMethod<'refetchQueries'>;\n"],"names":["callQueryClientMethodWithQueryFilters","qraftOptions","queryFilterMethod","schema","args","filters","queryClient","composeQueryFilters","slice","length"],"mappings":";;;;AAKA;;;IAIO,SAASA,qCAGdC,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,iBAAkB,CAAA,CACnCK,uCAAoBJ,CAAAA,MAAAA,EAAQE,OACzBD,CAAAA,EAAAA,GAAAA,IAAAA,CAAKI,KAAK,CAAC,CAAGJ,EAAAA,IAAAA,CAAKK,MAAM,CAAA,CAAA,CAAA;AAEhC;;;;"}