{"version":3,"sources":["../../src/usePrefetchQuery.ts"],"sourcesContent":["import { getCurrentScope, unref, watchEffect } from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type {\n  DefaultError,\n  FetchQueryOptions,\n  OmitKeyof,\n  QueryKey,\n  SkipToken,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep, MaybeRefOrGetter } from './types'\n\nexport type UsePrefetchQueryOptions<\n  TQueryFnData,\n  TError,\n  TData,\n  TQueryKey extends QueryKey,\n> = OmitKeyof<\n  FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  'queryFn'\n> & {\n  queryFn?: Exclude<\n    FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>['queryFn'],\n    SkipToken\n  >\n}\n\nfunction isGetter<T>(value: MaybeRefOrGetter<T>): value is () => T {\n  return typeof value === 'function'\n}\n\nexport function usePrefetchQuery<\n  TQueryFnData = unknown,\n  TError = DefaultError,\n  TData = TQueryFnData,\n  TQueryKey extends QueryKey = QueryKey,\n>(\n  options: MaybeRefOrGetter<\n    MaybeRefDeep<\n      UsePrefetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n    >\n  >,\n  queryClient?: QueryClient,\n): void {\n  if (process.env.NODE_ENV === 'development') {\n    if (!getCurrentScope()) {\n      console.warn(\n        'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n      )\n    }\n  }\n\n  const client = queryClient || useQueryClient()\n\n  watchEffect(() => {\n    const resolvedOptions = isGetter(options) ? options() : unref(options)\n    const clonedOptions: UsePrefetchQueryOptions<\n      TQueryFnData,\n      TError,\n      TData,\n      TQueryKey\n    > = cloneDeepUnref(resolvedOptions)\n\n    if (!client.getQueryState(clonedOptions.queryKey)) {\n      void client.prefetchQuery(clonedOptions)\n    }\n  })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoD;AACpD,4BAA+B;AAC/B,mBAA+B;AA0B/B,SAAS,SAAY,OAA8C;AACjE,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,iBAMd,SAKA,aACM;AACN,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAC,iCAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,mBAAe,sCAAe;AAE7C,mCAAY,MAAM;AAChB,UAAM,kBAAkB,SAAS,OAAO,IAAI,QAAQ,QAAI,uBAAM,OAAO;AACrE,UAAM,oBAKF,6BAAe,eAAe;AAElC,QAAI,CAAC,OAAO,cAAc,cAAc,QAAQ,GAAG;AACjD,WAAK,OAAO,cAAc,aAAa;AAAA,IACzC;AAAA,EACF,CAAC;AACH;","names":[]}