@tanstack/vue-query 4.32.2 → 4.32.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE,oBAAY,kBAAkB,CAC5B,KAAK,EACL,MAAM,EACN,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,aAAK,sBAAsB,CACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAEnC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACvD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEnE,wBAAgB,YAAY,CAC1B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,EAE1B,QAAQ,EAAE,OAAO,aAAa,EAC9B,IAAI,EACA,SAAS,GACT,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAClE,IAAI,GACA,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACjD,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,EACvE,IAAI,GAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,GACxE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CA2EnC;AAED,wBAAgB,cAAc,CAC5B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,IAAI,EACA,QAAQ,CAAC,SAAS,CAAC,GACnB,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC5E,IAAI,GACA,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAC3D,QAAQ,CACN,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,EACV,IAAI,GAAE,QAAQ,CACZ,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,GACL,kBAAkB,CACnB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CACzE,CAkBA"}
1
+ {"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE,oBAAY,kBAAkB,CAC5B,KAAK,EACL,MAAM,EACN,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,aAAK,sBAAsB,CACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAEnC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACvD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEnE,wBAAgB,YAAY,CAC1B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,EAE1B,QAAQ,EAAE,OAAO,aAAa,EAC9B,IAAI,EACA,SAAS,GACT,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAClE,IAAI,GACA,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACjD,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,EACvE,IAAI,GAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,GACxE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CA+EnC;AAED,wBAAgB,cAAc,CAC5B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,IAAI,EACA,QAAQ,CAAC,SAAS,CAAC,GACnB,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC5E,IAAI,GACA,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAC3D,QAAQ,CACN,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,EACV,IAAI,GAAE,QAAQ,CACZ,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,GACL,kBAAkB,CACnB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CACzE,CAkBA"}
@@ -38,7 +38,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
38
38
  });
39
39
 
40
40
  const suspense = () => {
41
- return new Promise(resolve => {
41
+ return new Promise((resolve, reject) => {
42
42
  let stopWatch = () => {//noop
43
43
  };
44
44
 
@@ -48,7 +48,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
48
48
 
49
49
  if (optimisticResult.isStale) {
50
50
  stopWatch();
51
- resolve(observer.fetchOptimistic(defaultedOptions.value));
51
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
52
52
  } else {
53
53
  stopWatch();
54
54
  resolve(optimisticResult);
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -42,7 +42,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
42
42
  });
43
43
 
44
44
  const suspense = () => {
45
- return new Promise(resolve => {
45
+ return new Promise((resolve, reject) => {
46
46
  let stopWatch = () => {//noop
47
47
  };
48
48
 
@@ -52,7 +52,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
52
52
 
53
53
  if (optimisticResult.isStale) {
54
54
  stopWatch();
55
- resolve(observer.fetchOptimistic(defaultedOptions.value));
55
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
56
56
  } else {
57
57
  stopWatch();
58
58
  resolve(optimisticResult);
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -38,7 +38,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
38
38
  });
39
39
 
40
40
  const suspense = () => {
41
- return new Promise(resolve => {
41
+ return new Promise((resolve, reject) => {
42
42
  let stopWatch = () => {//noop
43
43
  };
44
44
 
@@ -48,7 +48,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
48
48
 
49
49
  if (optimisticResult.isStale) {
50
50
  stopWatch();
51
- resolve(observer.fetchOptimistic(defaultedOptions.value));
51
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
52
52
  } else {
53
53
  stopWatch();
54
54
  resolve(optimisticResult);
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey, updateState } from './utils'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(defaultedOptions, () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -4815,7 +4815,7 @@
4815
4815
  });
4816
4816
 
4817
4817
  const suspense = () => {
4818
- return new Promise(resolve => {
4818
+ return new Promise((resolve, reject) => {
4819
4819
  let stopWatch = () => {//noop
4820
4820
  };
4821
4821
 
@@ -4825,7 +4825,7 @@
4825
4825
 
4826
4826
  if (optimisticResult.isStale) {
4827
4827
  stopWatch();
4828
- resolve(observer.fetchOptimistic(defaultedOptions.value));
4828
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
4829
4829
  } else {
4830
4830
  stopWatch();
4831
4831
  resolve(optimisticResult);