react-query-kit
Version:
🕊️ A toolkit for ReactQuery that make ReactQuery hooks more reusable and typesafe
1 lines • 4.71 kB
Source Map (JSON)
{"version":3,"file":"createBaseQuery.mjs","sources":["../../src/createBaseQuery.ts"],"sourcesContent":["import {\n type QueryClient,\n type QueryFunctionContext,\n type UseBaseQueryOptions,\n type UseInfiniteQueryOptions,\n} from '@tanstack/react-query'\n\nimport { ReactQuery, getKey as getFullKey, withMiddleware } from './utils'\n\ntype QueryBaseHookOptions = Omit<\n UseBaseQueryOptions,\n 'queryKey' | 'queryFn'\n> & {\n fetcher?: any\n variables?: any\n}\n\nexport const createBaseQuery = (\n defaultOptions: any,\n useRQHook: (options: any, queryClient?: any) => any,\n overrideOptions?: Partial<UseInfiniteQueryOptions>\n): any => {\n if (process.env.NODE_ENV !== 'production') {\n // @ts-ignore\n if (defaultOptions.useDefaultOptions) {\n console.error(\n '[Bug] useDefaultOptions is not supported, please use middleware instead.'\n )\n }\n\n // @ts-ignore\n if (defaultOptions.queryFn) {\n console.error(\n '[Bug] queryFn is not supported, please use fetcher instead.'\n )\n }\n }\n\n const getQueryOptions = (fetcherFn: any, variables: any) => {\n return {\n queryFn:\n variables && variables === ReactQuery.skipToken\n ? ReactQuery.skipToken\n : (context: QueryFunctionContext) => fetcherFn(variables, context),\n queryKey: getFullKey(defaultOptions.queryKey, variables),\n }\n }\n\n const getKey = (variables?: any) =>\n getFullKey(defaultOptions.queryKey, variables)\n\n const getOptions = (variables: any) => {\n return {\n ...defaultOptions,\n ...getQueryOptions(defaultOptions.fetcher, variables),\n }\n }\n\n const getFetchOptions = (variables: any) => {\n return {\n ...getQueryOptions(defaultOptions.fetcher, variables),\n queryKeyHashFn: defaultOptions.queryKeyHashFn,\n getPreviousPageParam: defaultOptions.getPreviousPageParam,\n getNextPageParam: defaultOptions.getNextPageParam,\n initialPageParam: defaultOptions.initialPageParam,\n staleTime: defaultOptions.staleTime,\n gcTime: defaultOptions.gcTime,\n }\n }\n\n const useBaseHook = (\n options: QueryBaseHookOptions,\n queryClient?: QueryClient\n ) => {\n return useRQHook(\n {\n ...options,\n ...getQueryOptions(options.fetcher, options.variables),\n ...overrideOptions,\n },\n queryClient\n )\n }\n\n return Object.assign(withMiddleware(useBaseHook, defaultOptions, 'queries'), {\n fetcher: defaultOptions.fetcher,\n getKey,\n getOptions,\n getFetchOptions,\n })\n}\n"],"names":["createBaseQuery","defaultOptions","useRQHook","overrideOptions","process","env","NODE_ENV","useDefaultOptions","console","error","queryFn","getQueryOptions","fetcherFn","variables","ReactQuery","skipToken","context","queryKey","getFullKey","getKey","getOptions","fetcher","getFetchOptions","queryKeyHashFn","getPreviousPageParam","getNextPageParam","initialPageParam","staleTime","gcTime","useBaseHook","options","queryClient","Object","assign","withMiddleware"],"mappings":";;AAiBO,MAAMA,eAAe,GAAG,CAC7BC,cAD6B,EAE7BC,SAF6B,EAG7BC,eAH6B,KAIrB;AACR,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC;IACA,IAAIL,cAAc,CAACM,iBAAnB,EAAsC;MACpCC,OAAO,CAACC,KAAR,CACE,0EADF,CAAA,CAAA;AAGD,KANwC;;;IASzC,IAAIR,cAAc,CAACS,OAAnB,EAA4B;MAC1BF,OAAO,CAACC,KAAR,CACE,6DADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;AAED,EAAA,MAAME,eAAe,GAAG,CAACC,SAAD,EAAiBC,SAAjB,KAAoC;IAC1D,OAAO;MACLH,OAAO,EACLG,SAAS,IAAIA,SAAS,KAAKC,UAAU,CAACC,SAAtC,GACID,UAAU,CAACC,SADf,GAEKC,OAAD,IAAmCJ,SAAS,CAACC,SAAD,EAAYG,OAAZ,CAJ7C;AAKLC,MAAAA,QAAQ,EAAEC,MAAU,CAACjB,cAAc,CAACgB,QAAhB,EAA0BJ,SAA1B,CAAA;KALtB,CAAA;GADF,CAAA;;EAUA,MAAMM,QAAM,GAAIN,SAAD,IACbK,MAAU,CAACjB,cAAc,CAACgB,QAAhB,EAA0BJ,SAA1B,CADZ,CAAA;;EAGA,MAAMO,UAAU,GAAIP,SAAD,IAAoB;IACrC,OAAO,EACL,GAAGZ,cADE;AAEL,MAAA,GAAGU,eAAe,CAACV,cAAc,CAACoB,OAAhB,EAAyBR,SAAzB,CAAA;KAFpB,CAAA;GADF,CAAA;;EAOA,MAAMS,eAAe,GAAIT,SAAD,IAAoB;IAC1C,OAAO,EACL,GAAGF,eAAe,CAACV,cAAc,CAACoB,OAAhB,EAAyBR,SAAzB,CADb;MAELU,cAAc,EAAEtB,cAAc,CAACsB,cAF1B;MAGLC,oBAAoB,EAAEvB,cAAc,CAACuB,oBAHhC;MAILC,gBAAgB,EAAExB,cAAc,CAACwB,gBAJ5B;MAKLC,gBAAgB,EAAEzB,cAAc,CAACyB,gBAL5B;MAMLC,SAAS,EAAE1B,cAAc,CAAC0B,SANrB;MAOLC,MAAM,EAAE3B,cAAc,CAAC2B,MAAAA;KAPzB,CAAA;GADF,CAAA;;AAYA,EAAA,MAAMC,WAAW,GAAG,CAClBC,OADkB,EAElBC,WAFkB,KAGf;AACH,IAAA,OAAO7B,SAAS,CACd,EACE,GAAG4B,OADL;MAEE,GAAGnB,eAAe,CAACmB,OAAO,CAACT,OAAT,EAAkBS,OAAO,CAACjB,SAA1B,CAFpB;MAGE,GAAGV,eAAAA;KAJS,EAMd4B,WANc,CAAhB,CAAA;GAJF,CAAA;;AAcA,EAAA,OAAOC,MAAM,CAACC,MAAP,CAAcC,cAAc,CAACL,WAAD,EAAc5B,cAAd,EAA8B,SAA9B,CAA5B,EAAsE;IAC3EoB,OAAO,EAAEpB,cAAc,CAACoB,OADmD;YAE3EF,QAF2E;IAG3EC,UAH2E;AAI3EE,IAAAA,eAAAA;AAJ2E,GAAtE,CAAP,CAAA;AAMD;;;;"}