@tanstack/vue-query 4.37.0 → 4.39.0

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.
Files changed (140) hide show
  1. package/README.md +13 -5
  2. package/build/lib/queryCache.d.ts +2 -1
  3. package/build/lib/useInfiniteQuery.d.ts +2 -9
  4. package/build/lib/useQuery.d.ts +4 -12
  5. package/package.json +3 -10
  6. package/build/lib/__mocks__/useBaseQuery.d.ts.map +0 -1
  7. package/build/lib/__mocks__/useQueryClient.d.ts.map +0 -1
  8. package/build/lib/__tests__/mutationCache.test.d.ts.map +0 -1
  9. package/build/lib/__tests__/queryCache.test.d.ts.map +0 -1
  10. package/build/lib/__tests__/queryClient.test.d.ts.map +0 -1
  11. package/build/lib/__tests__/test-utils.d.ts.map +0 -1
  12. package/build/lib/__tests__/useInfiniteQuery.test.d.ts.map +0 -1
  13. package/build/lib/__tests__/useInfiniteQuery.types.test.d.ts.map +0 -1
  14. package/build/lib/__tests__/useIsFetching.test.d.ts.map +0 -1
  15. package/build/lib/__tests__/useIsMutating.test.d.ts.map +0 -1
  16. package/build/lib/__tests__/useMutation.test.d.ts.map +0 -1
  17. package/build/lib/__tests__/useMutation.types.test.d.ts.map +0 -1
  18. package/build/lib/__tests__/useQueries.test.d.ts.map +0 -1
  19. package/build/lib/__tests__/useQuery.test.d.ts.map +0 -1
  20. package/build/lib/__tests__/useQuery.types.test.d.ts.map +0 -1
  21. package/build/lib/__tests__/useQueryClient.test.d.ts.map +0 -1
  22. package/build/lib/__tests__/utils.test.d.ts.map +0 -1
  23. package/build/lib/__tests__/vueQueryPlugin.test.d.ts.map +0 -1
  24. package/build/lib/devtools/devtools.d.ts.map +0 -1
  25. package/build/lib/devtools/devtools.esm.js +0 -162
  26. package/build/lib/devtools/devtools.esm.js.map +0 -1
  27. package/build/lib/devtools/devtools.js +0 -166
  28. package/build/lib/devtools/devtools.js.map +0 -1
  29. package/build/lib/devtools/devtools.mjs +0 -162
  30. package/build/lib/devtools/devtools.mjs.map +0 -1
  31. package/build/lib/devtools/utils.d.ts.map +0 -1
  32. package/build/lib/devtools/utils.esm.js +0 -103
  33. package/build/lib/devtools/utils.esm.js.map +0 -1
  34. package/build/lib/devtools/utils.js +0 -111
  35. package/build/lib/devtools/utils.js.map +0 -1
  36. package/build/lib/devtools/utils.mjs +0 -103
  37. package/build/lib/devtools/utils.mjs.map +0 -1
  38. package/build/lib/index.d.ts.map +0 -1
  39. package/build/lib/index.esm.js +0 -14
  40. package/build/lib/index.esm.js.map +0 -1
  41. package/build/lib/index.js +0 -39
  42. package/build/lib/index.js.map +0 -1
  43. package/build/lib/index.mjs +0 -14
  44. package/build/lib/index.mjs.map +0 -1
  45. package/build/lib/mutationCache.d.ts.map +0 -1
  46. package/build/lib/mutationCache.esm.js +0 -16
  47. package/build/lib/mutationCache.esm.js.map +0 -1
  48. package/build/lib/mutationCache.js +0 -20
  49. package/build/lib/mutationCache.js.map +0 -1
  50. package/build/lib/mutationCache.mjs +0 -16
  51. package/build/lib/mutationCache.mjs.map +0 -1
  52. package/build/lib/queryCache.d.ts.map +0 -1
  53. package/build/lib/queryCache.esm.js +0 -25
  54. package/build/lib/queryCache.esm.js.map +0 -1
  55. package/build/lib/queryCache.js +0 -29
  56. package/build/lib/queryCache.js.map +0 -1
  57. package/build/lib/queryCache.mjs +0 -25
  58. package/build/lib/queryCache.mjs.map +0 -1
  59. package/build/lib/queryClient.d.ts.map +0 -1
  60. package/build/lib/queryClient.esm.js +0 -175
  61. package/build/lib/queryClient.esm.js.map +0 -1
  62. package/build/lib/queryClient.js +0 -179
  63. package/build/lib/queryClient.js.map +0 -1
  64. package/build/lib/queryClient.mjs +0 -175
  65. package/build/lib/queryClient.mjs.map +0 -1
  66. package/build/lib/types.d.ts.map +0 -1
  67. package/build/lib/useBaseQuery.d.ts.map +0 -1
  68. package/build/lib/useBaseQuery.esm.js +0 -125
  69. package/build/lib/useBaseQuery.esm.js.map +0 -1
  70. package/build/lib/useBaseQuery.js +0 -130
  71. package/build/lib/useBaseQuery.js.map +0 -1
  72. package/build/lib/useBaseQuery.mjs +0 -125
  73. package/build/lib/useBaseQuery.mjs.map +0 -1
  74. package/build/lib/useInfiniteQuery.d.ts.map +0 -1
  75. package/build/lib/useInfiniteQuery.esm.js +0 -10
  76. package/build/lib/useInfiniteQuery.esm.js.map +0 -1
  77. package/build/lib/useInfiniteQuery.js +0 -14
  78. package/build/lib/useInfiniteQuery.js.map +0 -1
  79. package/build/lib/useInfiniteQuery.mjs +0 -10
  80. package/build/lib/useInfiniteQuery.mjs.map +0 -1
  81. package/build/lib/useIsFetching.d.ts.map +0 -1
  82. package/build/lib/useIsFetching.esm.js +0 -47
  83. package/build/lib/useIsFetching.esm.js.map +0 -1
  84. package/build/lib/useIsFetching.js +0 -52
  85. package/build/lib/useIsFetching.js.map +0 -1
  86. package/build/lib/useIsFetching.mjs +0 -47
  87. package/build/lib/useIsFetching.mjs.map +0 -1
  88. package/build/lib/useIsMutating.d.ts.map +0 -1
  89. package/build/lib/useIsMutating.esm.js +0 -47
  90. package/build/lib/useIsMutating.esm.js.map +0 -1
  91. package/build/lib/useIsMutating.js +0 -52
  92. package/build/lib/useIsMutating.js.map +0 -1
  93. package/build/lib/useIsMutating.mjs +0 -47
  94. package/build/lib/useIsMutating.mjs.map +0 -1
  95. package/build/lib/useMutation.d.ts.map +0 -1
  96. package/build/lib/useMutation.esm.js +0 -77
  97. package/build/lib/useMutation.esm.js.map +0 -1
  98. package/build/lib/useMutation.js +0 -82
  99. package/build/lib/useMutation.js.map +0 -1
  100. package/build/lib/useMutation.mjs +0 -77
  101. package/build/lib/useMutation.mjs.map +0 -1
  102. package/build/lib/useQueries.d.ts.map +0 -1
  103. package/build/lib/useQueries.esm.js +0 -72
  104. package/build/lib/useQueries.esm.js.map +0 -1
  105. package/build/lib/useQueries.js +0 -76
  106. package/build/lib/useQueries.js.map +0 -1
  107. package/build/lib/useQueries.mjs +0 -72
  108. package/build/lib/useQueries.mjs.map +0 -1
  109. package/build/lib/useQuery.d.ts.map +0 -1
  110. package/build/lib/useQuery.esm.js +0 -10
  111. package/build/lib/useQuery.esm.js.map +0 -1
  112. package/build/lib/useQuery.js +0 -14
  113. package/build/lib/useQuery.js.map +0 -1
  114. package/build/lib/useQuery.mjs +0 -10
  115. package/build/lib/useQuery.mjs.map +0 -1
  116. package/build/lib/useQueryClient.d.ts.map +0 -1
  117. package/build/lib/useQueryClient.esm.js +0 -24
  118. package/build/lib/useQueryClient.esm.js.map +0 -1
  119. package/build/lib/useQueryClient.js +0 -28
  120. package/build/lib/useQueryClient.js.map +0 -1
  121. package/build/lib/useQueryClient.mjs +0 -24
  122. package/build/lib/useQueryClient.mjs.map +0 -1
  123. package/build/lib/utils.d.ts.map +0 -1
  124. package/build/lib/utils.esm.js +0 -67
  125. package/build/lib/utils.esm.js.map +0 -1
  126. package/build/lib/utils.js +0 -78
  127. package/build/lib/utils.js.map +0 -1
  128. package/build/lib/utils.mjs +0 -67
  129. package/build/lib/utils.mjs.map +0 -1
  130. package/build/lib/vueQueryPlugin.d.ts.map +0 -1
  131. package/build/lib/vueQueryPlugin.esm.js +0 -101
  132. package/build/lib/vueQueryPlugin.esm.js.map +0 -1
  133. package/build/lib/vueQueryPlugin.js +0 -105
  134. package/build/lib/vueQueryPlugin.js.map +0 -1
  135. package/build/lib/vueQueryPlugin.mjs +0 -101
  136. package/build/lib/vueQueryPlugin.mjs.map +0 -1
  137. package/build/umd/index.development.js +0 -5187
  138. package/build/umd/index.development.js.map +0 -1
  139. package/build/umd/index.production.js +0 -2
  140. package/build/umd/index.production.js.map +0 -1
@@ -1,77 +0,0 @@
1
- import { getCurrentScope, computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
2
- import { MutationObserver } from '@tanstack/query-core';
3
- import { updateState, shouldThrowError, isMutationKey, cloneDeepUnref } from './utils.esm.js';
4
- import { useQueryClient } from './useQueryClient.esm.js';
5
-
6
- function useMutation(arg1, arg2, arg3) {
7
- var _options$value$queryC;
8
-
9
- if (process.env.NODE_ENV === 'development') {
10
- if (!getCurrentScope()) {
11
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
12
- }
13
- }
14
-
15
- const options = computed(() => {
16
- return parseMutationArgs(arg1, arg2, arg3);
17
- });
18
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient(options.value.queryClientKey);
19
- const observer = new MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
20
- const state = reactive(observer.getCurrentResult());
21
- const unsubscribe = observer.subscribe(result => {
22
- updateState(state, result);
23
- });
24
-
25
- const mutate = (variables, mutateOptions) => {
26
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
27
- });
28
- };
29
-
30
- watch(options, () => {
31
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
32
- });
33
- onScopeDispose(() => {
34
- unsubscribe();
35
- });
36
- const resultRefs = toRefs(readonly(state));
37
- watch(() => state.error, error => {
38
- if (error && shouldThrowError(options.value.useErrorBoundary, [error])) {
39
- throw error;
40
- }
41
- });
42
- return { ...resultRefs,
43
- mutate,
44
- mutateAsync: state.mutate,
45
- reset: state.reset
46
- };
47
- }
48
- function parseMutationArgs(arg1, arg2, arg3) {
49
- const plainArg1 = unref(arg1);
50
- const plainArg2 = unref(arg2);
51
- let options = plainArg1;
52
-
53
- if (isMutationKey(plainArg1)) {
54
- if (typeof plainArg2 === 'function') {
55
- const plainArg3 = unref(arg3);
56
- options = { ...plainArg3,
57
- mutationKey: plainArg1,
58
- mutationFn: plainArg2
59
- };
60
- } else {
61
- options = { ...plainArg2,
62
- mutationKey: plainArg1
63
- };
64
- }
65
- }
66
-
67
- if (typeof plainArg1 === 'function') {
68
- options = { ...plainArg2,
69
- mutationFn: plainArg1
70
- };
71
- }
72
-
73
- return cloneDeepUnref(options);
74
- }
75
-
76
- export { parseMutationArgs, useMutation };
77
- //# sourceMappingURL=useMutation.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMutation.esm.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<TData, TError, TVariables, TContext> =\n WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >\n\nexport type VueMutationObserverOptions<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = {\n [Property in keyof UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >]: MaybeRefDeep<\n UseMutationOptions<TData, TError, TVariables, TContext>[Property]\n >\n}\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n mutationFn?: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 options = computed(() => {\n return parseMutationArgs(arg1, arg2, arg3)\n })\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n const observer = new MutationObserver(\n queryClient,\n queryClient.defaultMutationOptions(options.value),\n )\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n\nexport function parseMutationArgs<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n let options = plainArg1\n if (isMutationKey(plainArg1)) {\n if (typeof plainArg2 === 'function') {\n const plainArg3 = unref(arg3)\n options = { ...plainArg3, mutationKey: plainArg1, mutationFn: plainArg2 }\n } else {\n options = { ...plainArg2, mutationKey: plainArg1 }\n }\n }\n\n if (typeof plainArg1 === 'function') {\n options = { ...plainArg2, mutationFn: plainArg1 }\n }\n\n return cloneDeepUnref(options) as UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >\n}\n"],"names":["useMutation","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var vueDemi = require('vue-demi');
6
- var queryCore = require('@tanstack/query-core');
7
- var utils = require('./utils.js');
8
- var useQueryClient = require('./useQueryClient.js');
9
-
10
- function useMutation(arg1, arg2, arg3) {
11
- var _options$value$queryC;
12
-
13
- if (process.env.NODE_ENV === 'development') {
14
- if (!vueDemi.getCurrentScope()) {
15
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
16
- }
17
- }
18
-
19
- const options = vueDemi.computed(() => {
20
- return parseMutationArgs(arg1, arg2, arg3);
21
- });
22
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient.useQueryClient(options.value.queryClientKey);
23
- const observer = new queryCore.MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
24
- const state = vueDemi.reactive(observer.getCurrentResult());
25
- const unsubscribe = observer.subscribe(result => {
26
- utils.updateState(state, result);
27
- });
28
-
29
- const mutate = (variables, mutateOptions) => {
30
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
31
- });
32
- };
33
-
34
- vueDemi.watch(options, () => {
35
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
36
- });
37
- vueDemi.onScopeDispose(() => {
38
- unsubscribe();
39
- });
40
- const resultRefs = vueDemi.toRefs(vueDemi.readonly(state));
41
- vueDemi.watch(() => state.error, error => {
42
- if (error && utils.shouldThrowError(options.value.useErrorBoundary, [error])) {
43
- throw error;
44
- }
45
- });
46
- return { ...resultRefs,
47
- mutate,
48
- mutateAsync: state.mutate,
49
- reset: state.reset
50
- };
51
- }
52
- function parseMutationArgs(arg1, arg2, arg3) {
53
- const plainArg1 = vueDemi.unref(arg1);
54
- const plainArg2 = vueDemi.unref(arg2);
55
- let options = plainArg1;
56
-
57
- if (utils.isMutationKey(plainArg1)) {
58
- if (typeof plainArg2 === 'function') {
59
- const plainArg3 = vueDemi.unref(arg3);
60
- options = { ...plainArg3,
61
- mutationKey: plainArg1,
62
- mutationFn: plainArg2
63
- };
64
- } else {
65
- options = { ...plainArg2,
66
- mutationKey: plainArg1
67
- };
68
- }
69
- }
70
-
71
- if (typeof plainArg1 === 'function') {
72
- options = { ...plainArg2,
73
- mutationFn: plainArg1
74
- };
75
- }
76
-
77
- return utils.cloneDeepUnref(options);
78
- }
79
-
80
- exports.parseMutationArgs = parseMutationArgs;
81
- exports.useMutation = useMutation;
82
- //# sourceMappingURL=useMutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<TData, TError, TVariables, TContext> =\n WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >\n\nexport type VueMutationObserverOptions<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = {\n [Property in keyof UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >]: MaybeRefDeep<\n UseMutationOptions<TData, TError, TVariables, TContext>[Property]\n >\n}\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n mutationFn?: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 options = computed(() => {\n return parseMutationArgs(arg1, arg2, arg3)\n })\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n const observer = new MutationObserver(\n queryClient,\n queryClient.defaultMutationOptions(options.value),\n )\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n\nexport function parseMutationArgs<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n let options = plainArg1\n if (isMutationKey(plainArg1)) {\n if (typeof plainArg2 === 'function') {\n const plainArg3 = unref(arg3)\n options = { ...plainArg3, mutationKey: plainArg1, mutationFn: plainArg2 }\n } else {\n options = { ...plainArg2, mutationKey: plainArg1 }\n }\n }\n\n if (typeof plainArg1 === 'function') {\n options = { ...plainArg2, mutationFn: plainArg1 }\n }\n\n return cloneDeepUnref(options) as UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >\n}\n"],"names":["useMutation","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":";;;;;;;;;AAsIO,SAASA,WAAT,CAMLC,IANK,EAULC,IAVK,EAaLC,IAbK,EAgBuD;AAAA,EAAA,IAAA,qBAAA,CAAA;;AAC5D,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,uBAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;AAED,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;AAC7B,IAAA,OAAOC,iBAAiB,CAACX,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAxB,CAAA;AACD,GAFuB,CAAxB,CAAA;AAGA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;AAEA,EAAA,MAAMC,QAAQ,GAAG,IAAIC,0BAAJ,CACfL,WADe,EAEfA,WAAW,CAACM,sBAAZ,CAAmCT,OAAO,CAACI,KAA3C,CAFe,CAAjB,CAAA;EAIA,MAAMM,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAT,EAAD,CAAtB,CAAA;AAEA,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAT,CAAoBC,MAAD,IAAY;AACjDC,IAAAA,iBAAW,CAACN,KAAD,EAAQK,MAAR,CAAX,CAAA;AACD,GAFmB,CAApB,CAAA;;AAIA,EAAA,MAAME,MAAM,GAAG,CACbC,SADa,EAEbC,aAFa,KAGV;IACHZ,QAAQ,CAACU,MAAT,CAAgBC,SAAhB,EAA2BC,aAA3B,CAA0CC,CAAAA,KAA1C,CAAgD,MAAM;KAAtD,CAAA,CAAA;GAJF,CAAA;;EASAC,aAAK,CAACrB,OAAD,EAAU,MAAM;IACnBO,QAAQ,CAACe,UAAT,CAAoBnB,WAAW,CAACM,sBAAZ,CAAmCT,OAAO,CAACI,KAA3C,CAApB,CAAA,CAAA;AACD,GAFI,CAAL,CAAA;AAIAmB,EAAAA,sBAAc,CAAC,MAAM;IACnBV,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;EAIA,MAAMW,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAAChB,KAAD,CAAT,CAAzB,CAAA;AAIAW,EAAAA,aAAK,CACH,MAAMX,KAAK,CAACiB,KADT,EAEFA,KAAD,IAAW;AACT,IAAA,IACEA,KAAK,IACLC,sBAAgB,CAAC5B,OAAO,CAACI,KAAR,CAAcyB,gBAAf,EAAiC,CAACF,KAAD,CAAjC,CAFlB,EAGE;AACA,MAAA,MAAMA,KAAN,CAAA;AACD,KAAA;AACF,GATE,CAAL,CAAA;EAYA,OAAO,EACL,GAAGH,UADE;IAELP,MAFK;IAGLa,WAAW,EAAEpB,KAAK,CAACO,MAHd;IAILc,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GAJf,CAAA;AAMD,CAAA;AAEM,SAAS7B,iBAAT,CAMLX,IANK,EAULC,IAVK,EAaLC,IAbK,EAkBL;AACA,EAAA,MAAMuC,SAAS,GAAGC,aAAK,CAAC1C,IAAD,CAAvB,CAAA;AACA,EAAA,MAAM2C,SAAS,GAAGD,aAAK,CAACzC,IAAD,CAAvB,CAAA;EACA,IAAIQ,OAAO,GAAGgC,SAAd,CAAA;;AACA,EAAA,IAAIG,mBAAa,CAACH,SAAD,CAAjB,EAA8B;AAC5B,IAAA,IAAI,OAAOE,SAAP,KAAqB,UAAzB,EAAqC;AACnC,MAAA,MAAME,SAAS,GAAGH,aAAK,CAACxC,IAAD,CAAvB,CAAA;MACAO,OAAO,GAAG,EAAE,GAAGoC,SAAL;AAAgBC,QAAAA,WAAW,EAAEL,SAA7B;AAAwCM,QAAAA,UAAU,EAAEJ,SAAAA;OAA9D,CAAA;AACD,KAHD,MAGO;MACLlC,OAAO,GAAG,EAAE,GAAGkC,SAAL;AAAgBG,QAAAA,WAAW,EAAEL,SAAAA;OAAvC,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAI,OAAOA,SAAP,KAAqB,UAAzB,EAAqC;IACnChC,OAAO,GAAG,EAAE,GAAGkC,SAAL;AAAgBI,MAAAA,UAAU,EAAEN,SAAAA;KAAtC,CAAA;AACD,GAAA;;EAED,OAAOO,oBAAc,CAACvC,OAAD,CAArB,CAAA;AAMD;;;;;"}
@@ -1,77 +0,0 @@
1
- import { getCurrentScope, computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
2
- import { MutationObserver } from '@tanstack/query-core';
3
- import { updateState, shouldThrowError, isMutationKey, cloneDeepUnref } from './utils.mjs';
4
- import { useQueryClient } from './useQueryClient.mjs';
5
-
6
- function useMutation(arg1, arg2, arg3) {
7
- var _options$value$queryC;
8
-
9
- if (process.env.NODE_ENV === 'development') {
10
- if (!getCurrentScope()) {
11
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
12
- }
13
- }
14
-
15
- const options = computed(() => {
16
- return parseMutationArgs(arg1, arg2, arg3);
17
- });
18
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient(options.value.queryClientKey);
19
- const observer = new MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
20
- const state = reactive(observer.getCurrentResult());
21
- const unsubscribe = observer.subscribe(result => {
22
- updateState(state, result);
23
- });
24
-
25
- const mutate = (variables, mutateOptions) => {
26
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
27
- });
28
- };
29
-
30
- watch(options, () => {
31
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
32
- });
33
- onScopeDispose(() => {
34
- unsubscribe();
35
- });
36
- const resultRefs = toRefs(readonly(state));
37
- watch(() => state.error, error => {
38
- if (error && shouldThrowError(options.value.useErrorBoundary, [error])) {
39
- throw error;
40
- }
41
- });
42
- return { ...resultRefs,
43
- mutate,
44
- mutateAsync: state.mutate,
45
- reset: state.reset
46
- };
47
- }
48
- function parseMutationArgs(arg1, arg2, arg3) {
49
- const plainArg1 = unref(arg1);
50
- const plainArg2 = unref(arg2);
51
- let options = plainArg1;
52
-
53
- if (isMutationKey(plainArg1)) {
54
- if (typeof plainArg2 === 'function') {
55
- const plainArg3 = unref(arg3);
56
- options = { ...plainArg3,
57
- mutationKey: plainArg1,
58
- mutationFn: plainArg2
59
- };
60
- } else {
61
- options = { ...plainArg2,
62
- mutationKey: plainArg1
63
- };
64
- }
65
- }
66
-
67
- if (typeof plainArg1 === 'function') {
68
- options = { ...plainArg2,
69
- mutationFn: plainArg1
70
- };
71
- }
72
-
73
- return cloneDeepUnref(options);
74
- }
75
-
76
- export { parseMutationArgs, useMutation };
77
- //# sourceMappingURL=useMutation.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMutation.mjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport {\n cloneDeepUnref,\n isMutationKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateFunction,\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type {\n DistributiveOmit,\n MaybeRef,\n MaybeRefDeep,\n WithQueryClientKey,\n} from './types'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<TData, TError, TVariables, TContext> =\n WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >\n\nexport type VueMutationObserverOptions<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = {\n [Property in keyof UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >]: MaybeRefDeep<\n UseMutationOptions<TData, TError, TVariables, TContext>[Property]\n >\n}\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MaybeRef<MutationKey>,\n mutationFn?: MaybeRef<MutationFunction<TData, TVariables>>,\n options?: MaybeRef<\n Omit<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext>\nexport function useMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 options = computed(() => {\n return parseMutationArgs(arg1, arg2, arg3)\n })\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n const observer = new MutationObserver(\n queryClient,\n queryClient.defaultMutationOptions(options.value),\n )\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.useErrorBoundary, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n\nexport function parseMutationArgs<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MaybeRef<MutationKey>\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg2?:\n | MaybeRef<MutationFunction<TData, TVariables>>\n | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>,\n arg3?: MaybeRef<\n VueMutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n): WithQueryClientKey<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n let options = plainArg1\n if (isMutationKey(plainArg1)) {\n if (typeof plainArg2 === 'function') {\n const plainArg3 = unref(arg3)\n options = { ...plainArg3, mutationKey: plainArg1, mutationFn: plainArg2 }\n } else {\n options = { ...plainArg2, mutationKey: plainArg1 }\n }\n }\n\n if (typeof plainArg1 === 'function') {\n options = { ...plainArg2, mutationFn: plainArg1 }\n }\n\n return cloneDeepUnref(options) as UseMutationOptions<\n TData,\n TError,\n TVariables,\n TContext\n >\n}\n"],"names":["useMutation","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","onScopeDispose","resultRefs","toRefs","readonly","error","shouldThrowError","useErrorBoundary","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/useQueries.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { QueriesObserver } from '@tanstack/query-core';
2
- import { getCurrentScope, computed, reactive, watch, onScopeDispose, readonly } from 'vue-demi';
3
- import { useQueryClient } from './useQueryClient.esm.js';
4
- import { cloneDeepUnref } from './utils.esm.js';
5
-
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- function useQueries({
8
- queries,
9
- queryClient: queryClientInjected
10
- }) {
11
- var _unreffedQueries$valu, _unreffedQueries$valu2, _ref;
12
-
13
- if (process.env.NODE_ENV === 'development') {
14
- if (!getCurrentScope()) {
15
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
16
- }
17
- }
18
-
19
- const unreffedQueries = computed(() => {
20
- const clonedQueries = cloneDeepUnref(queries);
21
- clonedQueries.map(query => {
22
- if (typeof query.enabled === 'function') {
23
- query.enabled = query.enabled();
24
- }
25
- });
26
- return clonedQueries;
27
- });
28
- const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
29
- const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
30
- const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient(queryClientKey);
31
-
32
- if (process.env.NODE_ENV !== 'production' && (queryClientKey || optionsQueryClient)) {
33
- queryClient.getLogger().error("Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.");
34
- }
35
-
36
- const defaultedQueries = computed(() => unreffedQueries.value.map(options => {
37
- const defaulted = queryClient.defaultQueryOptions(options);
38
- defaulted._optimisticResults = queryClient.isRestoring.value ? 'isRestoring' : 'optimistic';
39
- return defaulted;
40
- }));
41
- const observer = new QueriesObserver(queryClient, defaultedQueries.value);
42
- const state = reactive(observer.getCurrentResult());
43
-
44
- let unsubscribe = () => {// noop
45
- };
46
-
47
- watch(queryClient.isRestoring, isRestoring => {
48
- if (!isRestoring) {
49
- unsubscribe();
50
- unsubscribe = observer.subscribe(result => {
51
- state.splice(0, result.length, ...result);
52
- }); // Subscription would not fire for persisted results
53
-
54
- state.splice(0, state.length, ...observer.getOptimisticResult(defaultedQueries.value));
55
- }
56
- }, {
57
- immediate: true
58
- });
59
- watch(defaultedQueries, () => {
60
- observer.setQueries(defaultedQueries.value);
61
- state.splice(0, state.length, ...observer.getCurrentResult());
62
- }, {
63
- flush: 'sync'
64
- });
65
- onScopeDispose(() => {
66
- unsubscribe();
67
- });
68
- return readonly(state);
69
- }
70
-
71
- export { useQueries };
72
- //# sourceMappingURL=useQueries.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var queryCore = require('@tanstack/query-core');
6
- var vueDemi = require('vue-demi');
7
- var useQueryClient = require('./useQueryClient.js');
8
- var utils = require('./utils.js');
9
-
10
- /* eslint-disable @typescript-eslint/no-explicit-any */
11
- function useQueries({
12
- queries,
13
- queryClient: queryClientInjected
14
- }) {
15
- var _unreffedQueries$valu, _unreffedQueries$valu2, _ref;
16
-
17
- if (process.env.NODE_ENV === 'development') {
18
- if (!vueDemi.getCurrentScope()) {
19
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
20
- }
21
- }
22
-
23
- const unreffedQueries = vueDemi.computed(() => {
24
- const clonedQueries = utils.cloneDeepUnref(queries);
25
- clonedQueries.map(query => {
26
- if (typeof query.enabled === 'function') {
27
- query.enabled = query.enabled();
28
- }
29
- });
30
- return clonedQueries;
31
- });
32
- const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
33
- const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
34
- const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient.useQueryClient(queryClientKey);
35
-
36
- if (process.env.NODE_ENV !== 'production' && (queryClientKey || optionsQueryClient)) {
37
- queryClient.getLogger().error("Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.");
38
- }
39
-
40
- const defaultedQueries = vueDemi.computed(() => unreffedQueries.value.map(options => {
41
- const defaulted = queryClient.defaultQueryOptions(options);
42
- defaulted._optimisticResults = queryClient.isRestoring.value ? 'isRestoring' : 'optimistic';
43
- return defaulted;
44
- }));
45
- const observer = new queryCore.QueriesObserver(queryClient, defaultedQueries.value);
46
- const state = vueDemi.reactive(observer.getCurrentResult());
47
-
48
- let unsubscribe = () => {// noop
49
- };
50
-
51
- vueDemi.watch(queryClient.isRestoring, isRestoring => {
52
- if (!isRestoring) {
53
- unsubscribe();
54
- unsubscribe = observer.subscribe(result => {
55
- state.splice(0, result.length, ...result);
56
- }); // Subscription would not fire for persisted results
57
-
58
- state.splice(0, state.length, ...observer.getOptimisticResult(defaultedQueries.value));
59
- }
60
- }, {
61
- immediate: true
62
- });
63
- vueDemi.watch(defaultedQueries, () => {
64
- observer.setQueries(defaultedQueries.value);
65
- state.splice(0, state.length, ...observer.getCurrentResult());
66
- }, {
67
- flush: 'sync'
68
- });
69
- vueDemi.onScopeDispose(() => {
70
- unsubscribe();
71
- });
72
- return vueDemi.readonly(state);
73
- }
74
-
75
- exports.useQueries = useQueries;
76
- //# sourceMappingURL=useQueries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { QueriesObserver } from '@tanstack/query-core';
2
- import { getCurrentScope, computed, reactive, watch, onScopeDispose, readonly } from 'vue-demi';
3
- import { useQueryClient } from './useQueryClient.mjs';
4
- import { cloneDeepUnref } from './utils.mjs';
5
-
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- function useQueries({
8
- queries,
9
- queryClient: queryClientInjected
10
- }) {
11
- var _unreffedQueries$valu, _unreffedQueries$valu2, _ref;
12
-
13
- if (process.env.NODE_ENV === 'development') {
14
- if (!getCurrentScope()) {
15
- console.warn('vue-query composables like "uesQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.');
16
- }
17
- }
18
-
19
- const unreffedQueries = computed(() => {
20
- const clonedQueries = cloneDeepUnref(queries);
21
- clonedQueries.map(query => {
22
- if (typeof query.enabled === 'function') {
23
- query.enabled = query.enabled();
24
- }
25
- });
26
- return clonedQueries;
27
- });
28
- const queryClientKey = (_unreffedQueries$valu = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu.queryClientKey;
29
- const optionsQueryClient = (_unreffedQueries$valu2 = unreffedQueries.value[0]) == null ? void 0 : _unreffedQueries$valu2.queryClient;
30
- const queryClient = (_ref = queryClientInjected != null ? queryClientInjected : optionsQueryClient) != null ? _ref : useQueryClient(queryClientKey);
31
-
32
- if (process.env.NODE_ENV !== 'production' && (queryClientKey || optionsQueryClient)) {
33
- queryClient.getLogger().error("Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.");
34
- }
35
-
36
- const defaultedQueries = computed(() => unreffedQueries.value.map(options => {
37
- const defaulted = queryClient.defaultQueryOptions(options);
38
- defaulted._optimisticResults = queryClient.isRestoring.value ? 'isRestoring' : 'optimistic';
39
- return defaulted;
40
- }));
41
- const observer = new QueriesObserver(queryClient, defaultedQueries.value);
42
- const state = reactive(observer.getCurrentResult());
43
-
44
- let unsubscribe = () => {// noop
45
- };
46
-
47
- watch(queryClient.isRestoring, isRestoring => {
48
- if (!isRestoring) {
49
- unsubscribe();
50
- unsubscribe = observer.subscribe(result => {
51
- state.splice(0, result.length, ...result);
52
- }); // Subscription would not fire for persisted results
53
-
54
- state.splice(0, state.length, ...observer.getOptimisticResult(defaultedQueries.value));
55
- }
56
- }, {
57
- immediate: true
58
- });
59
- watch(defaultedQueries, () => {
60
- observer.setQueries(defaultedQueries.value);
61
- state.splice(0, state.length, ...observer.getCurrentResult());
62
- }, {
63
- flush: 'sync'
64
- });
65
- onScopeDispose(() => {
66
- unsubscribe();
67
- });
68
- return readonly(state);
69
- }
70
-
71
- export { useQueries };
72
- //# sourceMappingURL=useQueries.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" 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 unreffedQueries = computed(() => {\n const clonedQueries = cloneDeepUnref(queries)\n\n ;(clonedQueries as any[]).map((query) => {\n if (typeof query.enabled === 'function') {\n query.enabled = query.enabled()\n }\n })\n\n return clonedQueries as UseQueriesOptionsArg<T>\n })\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","process","env","NODE_ENV","getCurrentScope","console","warn","unreffedQueries","computed","clonedQueries","cloneDeepUnref","map","query","enabled","queryClientKey","value","optionsQueryClient","useQueryClient","getLogger","error","defaultedQueries","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","flush","onScopeDispose","readonly"],"mappings":"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"}