@tanstack/vue-query 4.24.9 → 5.0.0-alpha.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 (112) hide show
  1. package/build/lib/__mocks__/useBaseQuery.d.ts +2 -2
  2. package/build/lib/__mocks__/useQueryClient.d.ts +1 -1
  3. package/build/lib/devtools/devtools.esm.js +6 -12
  4. package/build/lib/devtools/devtools.esm.js.map +1 -1
  5. package/build/lib/devtools/devtools.js +6 -14
  6. package/build/lib/devtools/devtools.js.map +1 -1
  7. package/build/lib/devtools/devtools.mjs +6 -12
  8. package/build/lib/devtools/devtools.mjs.map +1 -1
  9. package/build/lib/devtools/utils.esm.js +0 -23
  10. package/build/lib/devtools/utils.esm.js.map +1 -1
  11. package/build/lib/devtools/utils.js +0 -25
  12. package/build/lib/devtools/utils.js.map +1 -1
  13. package/build/lib/devtools/utils.mjs +0 -23
  14. package/build/lib/devtools/utils.mjs.map +1 -1
  15. package/build/lib/index.js +0 -2
  16. package/build/lib/index.js.map +1 -1
  17. package/build/lib/mutationCache.d.ts +3 -3
  18. package/build/lib/mutationCache.esm.js +1 -3
  19. package/build/lib/mutationCache.esm.js.map +1 -1
  20. package/build/lib/mutationCache.js +1 -5
  21. package/build/lib/mutationCache.js.map +1 -1
  22. package/build/lib/mutationCache.mjs +1 -3
  23. package/build/lib/mutationCache.mjs.map +1 -1
  24. package/build/lib/queryCache.d.ts +2 -4
  25. package/build/lib/queryCache.esm.js +5 -16
  26. package/build/lib/queryCache.esm.js.map +1 -1
  27. package/build/lib/queryCache.js +4 -17
  28. package/build/lib/queryCache.js.map +1 -1
  29. package/build/lib/queryCache.mjs +5 -16
  30. package/build/lib/queryCache.mjs.map +1 -1
  31. package/build/lib/queryClient.d.ts +13 -29
  32. package/build/lib/queryClient.esm.js +33 -124
  33. package/build/lib/queryClient.esm.js.map +1 -1
  34. package/build/lib/queryClient.js +32 -125
  35. package/build/lib/queryClient.js.map +1 -1
  36. package/build/lib/queryClient.mjs +33 -124
  37. package/build/lib/queryClient.mjs.map +1 -1
  38. package/build/lib/types.d.ts +1 -13
  39. package/build/lib/useBaseQuery.d.ts +6 -7
  40. package/build/lib/useBaseQuery.esm.js +15 -41
  41. package/build/lib/useBaseQuery.esm.js.map +1 -1
  42. package/build/lib/useBaseQuery.js +12 -41
  43. package/build/lib/useBaseQuery.js.map +1 -1
  44. package/build/lib/useBaseQuery.mjs +15 -41
  45. package/build/lib/useBaseQuery.mjs.map +1 -1
  46. package/build/lib/useInfiniteQuery.d.ts +10 -10
  47. package/build/lib/useInfiniteQuery.esm.js +5 -5
  48. package/build/lib/useInfiniteQuery.esm.js.map +1 -1
  49. package/build/lib/useInfiniteQuery.js +5 -7
  50. package/build/lib/useInfiniteQuery.js.map +1 -1
  51. package/build/lib/useInfiniteQuery.mjs +5 -5
  52. package/build/lib/useInfiniteQuery.mjs.map +1 -1
  53. package/build/lib/useIsFetching.d.ts +5 -6
  54. package/build/lib/useIsFetching.esm.js +10 -28
  55. package/build/lib/useIsFetching.esm.js.map +1 -1
  56. package/build/lib/useIsFetching.js +7 -28
  57. package/build/lib/useIsFetching.js.map +1 -1
  58. package/build/lib/useIsFetching.mjs +10 -28
  59. package/build/lib/useIsFetching.mjs.map +1 -1
  60. package/build/lib/useIsMutating.d.ts +5 -6
  61. package/build/lib/useIsMutating.esm.js +10 -28
  62. package/build/lib/useIsMutating.esm.js.map +1 -1
  63. package/build/lib/useIsMutating.js +7 -28
  64. package/build/lib/useIsMutating.js.map +1 -1
  65. package/build/lib/useIsMutating.mjs +10 -28
  66. package/build/lib/useIsMutating.mjs.map +1 -1
  67. package/build/lib/useMutation.d.ts +6 -12
  68. package/build/lib/useMutation.esm.js +12 -41
  69. package/build/lib/useMutation.esm.js.map +1 -1
  70. package/build/lib/useMutation.js +9 -41
  71. package/build/lib/useMutation.js.map +1 -1
  72. package/build/lib/useMutation.mjs +12 -41
  73. package/build/lib/useMutation.mjs.map +1 -1
  74. package/build/lib/useQueries.d.ts +15 -10
  75. package/build/lib/useQueries.esm.js +17 -26
  76. package/build/lib/useQueries.esm.js.map +1 -1
  77. package/build/lib/useQueries.js +16 -27
  78. package/build/lib/useQueries.js.map +1 -1
  79. package/build/lib/useQueries.mjs +17 -26
  80. package/build/lib/useQueries.mjs.map +1 -1
  81. package/build/lib/useQuery.d.ts +14 -28
  82. package/build/lib/useQuery.esm.js +5 -5
  83. package/build/lib/useQuery.esm.js.map +1 -1
  84. package/build/lib/useQuery.js +5 -7
  85. package/build/lib/useQuery.js.map +1 -1
  86. package/build/lib/useQuery.mjs +5 -5
  87. package/build/lib/useQuery.mjs.map +1 -1
  88. package/build/lib/useQueryClient.esm.js +1 -7
  89. package/build/lib/useQueryClient.esm.js.map +1 -1
  90. package/build/lib/useQueryClient.js +1 -9
  91. package/build/lib/useQueryClient.js.map +1 -1
  92. package/build/lib/useQueryClient.mjs +1 -7
  93. package/build/lib/useQueryClient.mjs.map +1 -1
  94. package/build/lib/utils.d.ts +3 -6
  95. package/build/lib/utils.esm.js +9 -17
  96. package/build/lib/utils.esm.js.map +1 -1
  97. package/build/lib/utils.js +8 -20
  98. package/build/lib/utils.js.map +1 -1
  99. package/build/lib/utils.mjs +9 -17
  100. package/build/lib/utils.mjs.map +1 -1
  101. package/build/lib/vueQueryPlugin.d.ts +0 -6
  102. package/build/lib/vueQueryPlugin.esm.js +9 -31
  103. package/build/lib/vueQueryPlugin.esm.js.map +1 -1
  104. package/build/lib/vueQueryPlugin.js +9 -33
  105. package/build/lib/vueQueryPlugin.js.map +1 -1
  106. package/build/lib/vueQueryPlugin.mjs +9 -31
  107. package/build/lib/vueQueryPlugin.mjs.map +1 -1
  108. package/build/umd/index.development.js +1033 -1858
  109. package/build/umd/index.development.js.map +1 -1
  110. package/build/umd/index.production.js +1 -1
  111. package/build/umd/index.production.js.map +1 -1
  112. package/package.json +11 -7
@@ -1,18 +1,16 @@
1
- import { computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { computed, ref, watch, onScopeDispose } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.esm.js';
3
- import { isQueryKey, cloneDeepUnref } from './utils.esm.js';
3
+ import { cloneDeepUnref } from './utils.esm.js';
4
4
 
5
- function useIsMutating(arg1, arg2) {
6
- var _filters$value$queryC;
7
-
8
- const filters = computed(() => parseFilterArgs(arg1, arg2));
9
- const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
10
- const isMutating = ref(queryClient.isMutating(filters));
11
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
12
- isMutating.value = queryClient.isMutating(filters);
5
+ function useIsMutating(mutationFilters = {}, queryClient) {
6
+ const filters = computed(() => cloneDeepUnref(mutationFilters));
7
+ const client = queryClient || useQueryClient();
8
+ const isMutating = ref(client.isMutating(filters));
9
+ const unsubscribe = client.getMutationCache().subscribe(() => {
10
+ isMutating.value = client.isMutating(filters);
13
11
  });
14
12
  watch(filters, () => {
15
- isMutating.value = queryClient.isMutating(filters);
13
+ isMutating.value = client.isMutating(filters);
16
14
  }, {
17
15
  deep: true
18
16
  });
@@ -21,22 +19,6 @@ function useIsMutating(arg1, arg2) {
21
19
  });
22
20
  return isMutating;
23
21
  }
24
- function parseFilterArgs(arg1, arg2 = {}) {
25
- const plainArg1 = unref(arg1);
26
- const plainArg2 = unref(arg2);
27
- let options = plainArg1;
28
-
29
- if (isQueryKey(plainArg1)) {
30
- options = { ...plainArg2,
31
- mutationKey: plainArg1
32
- };
33
- } else {
34
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
35
- options = plainArg1 || {};
36
- }
37
-
38
- return cloneDeepUnref(options);
39
- }
40
22
 
41
- export { parseFilterArgs, useIsMutating };
23
+ export { useIsMutating };
42
24
  //# sourceMappingURL=useIsMutating.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.esm.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, unref, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationKey, MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","deep","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAeO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACJ,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMI,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,IAAI,EAAE,IAAA;AAAR,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLJ,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMgB,SAAS,GAAGC,KAAK,CAAClB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMmB,SAAS,GAAGD,KAAK,CAACjB,IAAD,CAAvB,CAAA;EAEA,IAAImB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsMutating.esm.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n mutationFilters: MaybeRefDeep<MF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(mutationFilters))\n const client = queryClient || useQueryClient()\n\n const isMutating = ref(client.isMutating(filters))\n\n const unsubscribe = client.getMutationCache().subscribe(() => {\n isMutating.value = client.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = client.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n"],"names":["useIsMutating","mutationFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isMutating","ref","unsubscribe","getMutationCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;AAWO,SAASA,aAAa,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,cAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,cAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,GAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAGJ,MAAM,CAACK,gBAAgB,EAAE,CAACC,SAAS,CAAC,MAAM;IAC5DJ,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAEFW,KAAK,CACHX,OAAO,EACP,MAAM;IACJK,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBN,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -1,22 +1,18 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var vueDemi = require('vue-demi');
6
4
  var useQueryClient = require('./useQueryClient.js');
7
5
  var utils = require('./utils.js');
8
6
 
9
- function useIsMutating(arg1, arg2) {
10
- var _filters$value$queryC;
11
-
12
- const filters = vueDemi.computed(() => parseFilterArgs(arg1, arg2));
13
- const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient.useQueryClient(filters.value.queryClientKey);
14
- const isMutating = vueDemi.ref(queryClient.isMutating(filters));
15
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
16
- isMutating.value = queryClient.isMutating(filters);
7
+ function useIsMutating(mutationFilters = {}, queryClient) {
8
+ const filters = vueDemi.computed(() => utils.cloneDeepUnref(mutationFilters));
9
+ const client = queryClient || useQueryClient.useQueryClient();
10
+ const isMutating = vueDemi.ref(client.isMutating(filters));
11
+ const unsubscribe = client.getMutationCache().subscribe(() => {
12
+ isMutating.value = client.isMutating(filters);
17
13
  });
18
14
  vueDemi.watch(filters, () => {
19
- isMutating.value = queryClient.isMutating(filters);
15
+ isMutating.value = client.isMutating(filters);
20
16
  }, {
21
17
  deep: true
22
18
  });
@@ -25,23 +21,6 @@ function useIsMutating(arg1, arg2) {
25
21
  });
26
22
  return isMutating;
27
23
  }
28
- function parseFilterArgs(arg1, arg2 = {}) {
29
- const plainArg1 = vueDemi.unref(arg1);
30
- const plainArg2 = vueDemi.unref(arg2);
31
- let options = plainArg1;
32
-
33
- if (utils.isQueryKey(plainArg1)) {
34
- options = { ...plainArg2,
35
- mutationKey: plainArg1
36
- };
37
- } else {
38
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
39
- options = plainArg1 || {};
40
- }
41
-
42
- return utils.cloneDeepUnref(options);
43
- }
44
24
 
45
- exports.parseFilterArgs = parseFilterArgs;
46
25
  exports.useIsMutating = useIsMutating;
47
26
  //# sourceMappingURL=useIsMutating.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, unref, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationKey, MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","deep","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;;;;;AAeO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;EACb,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,eAAe,CAACJ,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMI,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,WAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,aAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,IAAI,EAAE,IAAA;AAAR,GALG,CAAL,CAAA;AAQAC,EAAAA,sBAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLJ,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMgB,SAAS,GAAGC,aAAK,CAAClB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMmB,SAAS,GAAGD,aAAK,CAACjB,IAAD,CAAvB,CAAA;EAEA,IAAImB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,gBAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,oBAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;;"}
1
+ {"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n mutationFilters: MaybeRefDeep<MF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(mutationFilters))\n const client = queryClient || useQueryClient()\n\n const isMutating = ref(client.isMutating(filters))\n\n const unsubscribe = client.getMutationCache().subscribe(() => {\n isMutating.value = client.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = client.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n"],"names":["useIsMutating","mutationFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isMutating","ref","unsubscribe","getMutationCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;;AAWO,SAASA,aAAa,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,oBAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,6BAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,WAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAGJ,MAAM,CAACK,gBAAgB,EAAE,CAACC,SAAS,CAAC,MAAM;IAC5DJ,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAEFW,aAAK,CACHX,OAAO,EACP,MAAM;IACJK,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBN,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -1,18 +1,16 @@
1
- import { computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { computed, ref, watch, onScopeDispose } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.mjs';
3
- import { isQueryKey, cloneDeepUnref } from './utils.mjs';
3
+ import { cloneDeepUnref } from './utils.mjs';
4
4
 
5
- function useIsMutating(arg1, arg2) {
6
- var _filters$value$queryC;
7
-
8
- const filters = computed(() => parseFilterArgs(arg1, arg2));
9
- const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
10
- const isMutating = ref(queryClient.isMutating(filters));
11
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
12
- isMutating.value = queryClient.isMutating(filters);
5
+ function useIsMutating(mutationFilters = {}, queryClient) {
6
+ const filters = computed(() => cloneDeepUnref(mutationFilters));
7
+ const client = queryClient || useQueryClient();
8
+ const isMutating = ref(client.isMutating(filters));
9
+ const unsubscribe = client.getMutationCache().subscribe(() => {
10
+ isMutating.value = client.isMutating(filters);
13
11
  });
14
12
  watch(filters, () => {
15
- isMutating.value = queryClient.isMutating(filters);
13
+ isMutating.value = client.isMutating(filters);
16
14
  }, {
17
15
  deep: true
18
16
  });
@@ -21,22 +19,6 @@ function useIsMutating(arg1, arg2) {
21
19
  });
22
20
  return isMutating;
23
21
  }
24
- function parseFilterArgs(arg1, arg2 = {}) {
25
- const plainArg1 = unref(arg1);
26
- const plainArg2 = unref(arg2);
27
- let options = plainArg1;
28
-
29
- if (isQueryKey(plainArg1)) {
30
- options = { ...plainArg2,
31
- mutationKey: plainArg1
32
- };
33
- } else {
34
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
35
- options = plainArg1 || {};
36
- }
37
-
38
- return cloneDeepUnref(options);
39
- }
40
22
 
41
- export { parseFilterArgs, useIsMutating };
23
+ export { useIsMutating };
42
24
  //# sourceMappingURL=useIsMutating.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.mjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, unref, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationKey, MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","deep","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAeO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACJ,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMI,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,IAAI,EAAE,IAAA;AAAR,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLJ,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMgB,SAAS,GAAGC,KAAK,CAAClB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMmB,SAAS,GAAGD,KAAK,CAACjB,IAAD,CAAvB,CAAA;EAEA,IAAImB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsMutating.mjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n mutationFilters: MaybeRefDeep<MF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(mutationFilters))\n const client = queryClient || useQueryClient()\n\n const isMutating = ref(client.isMutating(filters))\n\n const unsubscribe = client.getMutationCache().subscribe(() => {\n isMutating.value = client.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = client.isMutating(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n"],"names":["useIsMutating","mutationFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isMutating","ref","unsubscribe","getMutationCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;AAWO,SAASA,aAAa,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,cAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,cAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,GAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAGJ,MAAM,CAACK,gBAAgB,EAAE,CAACC,SAAS,CAAC,MAAM;IAC5DJ,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAEFW,KAAK,CACHX,OAAO,EACP,MAAM;IACJK,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBN,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -1,20 +1,14 @@
1
1
  import type { ToRefs } from 'vue-demi';
2
- import type { MutationFunction, MutationKey, MutateFunction, MutationObserverResult, MutationObserverOptions } from '@tanstack/query-core';
3
- import type { WithQueryClientKey, MaybeRef, MaybeRefDeep, DistributiveOmit } from './types';
2
+ import type { MutateFunction, MutationObserverResult, MutationObserverOptions, RegisteredError } from '@tanstack/query-core';
3
+ import type { MaybeRefDeep, DistributiveOmit } from './types';
4
+ import type { QueryClient } from './queryClient';
4
5
  declare type MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<MutationObserverResult<TData, TError, TVariables, TContext>, 'mutate' | 'reset'>;
5
- export declare type UseMutationOptions<TData, TError, TVariables, TContext> = WithQueryClientKey<MutationObserverOptions<TData, TError, TVariables, TContext>>;
6
- export declare type VueMutationObserverOptions<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> = {
7
- [Property in keyof UseMutationOptions<TData, TError, TVariables, TContext>]: MaybeRefDeep<UseMutationOptions<TData, TError, TVariables, TContext>[Property]>;
8
- };
9
- declare type MutateSyncFunction<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
6
+ export declare type UseMutationOptions<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>;
7
+ declare type MutateSyncFunction<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> = (...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
10
8
  export declare type UseMutationReturnType<TData, TError, TVariables, TContext, Result = MutationResult<TData, TError, TVariables, TContext>> = ToRefs<Readonly<Result>> & {
11
9
  mutate: MutateSyncFunction<TData, TError, TVariables, TContext>;
12
10
  mutateAsync: MutateFunction<TData, TError, TVariables, TContext>;
13
11
  reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset'];
14
12
  };
15
- export declare function useMutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown>(options: MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>): UseMutationReturnType<TData, TError, TVariables, TContext>;
16
- export declare function useMutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown>(mutationFn: MaybeRef<MutationFunction<TData, TVariables>>, options?: MaybeRef<Omit<VueMutationObserverOptions<TData, TError, TVariables, TContext>, 'mutationFn'>>): UseMutationReturnType<TData, TError, TVariables, TContext>;
17
- export declare function useMutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown>(mutationKey: MaybeRef<MutationKey>, options?: MaybeRef<Omit<VueMutationObserverOptions<TData, TError, TVariables, TContext>, 'mutationKey'>>): UseMutationReturnType<TData, TError, TVariables, TContext>;
18
- export declare function useMutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown>(mutationKey: MaybeRef<MutationKey>, mutationFn?: MaybeRef<MutationFunction<TData, TVariables>>, options?: MaybeRef<Omit<VueMutationObserverOptions<TData, TError, TVariables, TContext>, 'mutationKey' | 'mutationFn'>>): UseMutationReturnType<TData, TError, TVariables, TContext>;
19
- export declare function parseMutationArgs<TData = unknown, TError = unknown, TVariables = void, TContext = unknown>(arg1: MaybeRef<MutationKey> | MaybeRef<MutationFunction<TData, TVariables>> | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>, arg2?: MaybeRef<MutationFunction<TData, TVariables>> | MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>, arg3?: MaybeRef<VueMutationObserverOptions<TData, TError, TVariables, TContext>>): WithQueryClientKey<MutationObserverOptions<TData, TError, TVariables, TContext>>;
13
+ export declare function useMutation<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown>(mutationOptions: MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>, queryClient?: QueryClient): UseMutationReturnType<TData, TError, TVariables, TContext>;
20
14
  export {};
@@ -1,28 +1,25 @@
1
- import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
1
+ import { computed, reactive, watch, onScopeDispose, toRefs, readonly } from 'vue-demi';
2
2
  import { MutationObserver } from '@tanstack/query-core';
3
- import { updateState, isMutationKey, cloneDeepUnref } from './utils.esm.js';
3
+ import { cloneDeepUnref, updateState } from './utils.esm.js';
4
4
  import { useQueryClient } from './useQueryClient.esm.js';
5
5
 
6
- function useMutation(arg1, arg2, arg3) {
7
- var _options$value$queryC;
8
-
6
+ function useMutation(mutationOptions, queryClient) {
7
+ const client = queryClient || useQueryClient();
9
8
  const options = computed(() => {
10
- return parseMutationArgs(arg1, arg2, arg3);
9
+ return client.defaultMutationOptions(cloneDeepUnref(mutationOptions));
11
10
  });
12
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient(options.value.queryClientKey);
13
- const observer = new MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
11
+ const observer = new MutationObserver(client, options.value);
14
12
  const state = reactive(observer.getCurrentResult());
15
13
  const unsubscribe = observer.subscribe(result => {
16
14
  updateState(state, result);
17
15
  });
18
-
19
16
  const mutate = (variables, mutateOptions) => {
20
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
17
+ observer.mutate(variables, mutateOptions).catch(() => {
18
+ // This is intentional
21
19
  });
22
20
  };
23
-
24
21
  watch(options, () => {
25
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
22
+ observer.setOptions(options.value);
26
23
  }, {
27
24
  deep: true
28
25
  });
@@ -30,39 +27,13 @@ function useMutation(arg1, arg2, arg3) {
30
27
  unsubscribe();
31
28
  });
32
29
  const resultRefs = toRefs(readonly(state));
33
- return { ...resultRefs,
30
+ return {
31
+ ...resultRefs,
34
32
  mutate,
35
33
  mutateAsync: state.mutate,
36
34
  reset: state.reset
37
35
  };
38
36
  }
39
- function parseMutationArgs(arg1, arg2, arg3) {
40
- const plainArg1 = unref(arg1);
41
- const plainArg2 = unref(arg2);
42
- let options = plainArg1;
43
-
44
- if (isMutationKey(plainArg1)) {
45
- if (typeof plainArg2 === 'function') {
46
- const plainArg3 = unref(arg3);
47
- options = { ...plainArg3,
48
- mutationKey: plainArg1,
49
- mutationFn: plainArg2
50
- };
51
- } else {
52
- options = { ...plainArg2,
53
- mutationKey: plainArg1
54
- };
55
- }
56
- }
57
-
58
- if (typeof plainArg1 === 'function') {
59
- options = { ...plainArg2,
60
- mutationFn: plainArg1
61
- };
62
- }
63
-
64
- return cloneDeepUnref(options);
65
- }
66
37
 
67
- export { parseMutationArgs, useMutation };
38
+ export { useMutation };
68
39
  //# sourceMappingURL=useMutation.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.esm.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n} from '@tanstack/query-core'\nimport type {\n WithQueryClientKey,\n MaybeRef,\n MaybeRefDeep,\n DistributiveOmit,\n} from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, isMutationKey } from './utils'\nimport { useQueryClient } from './useQueryClient'\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 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(\n options,\n () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n },\n { deep: true },\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 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","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.esm.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n RegisteredError,\n} from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = RegisteredError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = RegisteredError,\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 = RegisteredError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\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(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\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 return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;AAuDO,SAASA,WAAW,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,cAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,gBAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;AAEnD,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDC,IAAAA,WAAW,CAACN,KAAK,EAAEK,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEF,EAAA,MAAME,MAAM,GAAG,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHZ,QAAQ,CAACU,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,KAAK,CACHlB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACe,UAAU,CAACnB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBX,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMY,UAAU,GAAGC,MAAM,CAACC,QAAQ,CAACjB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGe,UAAU;IACbR,MAAM;IACNW,WAAW,EAAElB,KAAK,CAACO,MAAM;IACzBY,KAAK,EAAEnB,KAAK,CAACmB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -1,32 +1,27 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var vueDemi = require('vue-demi');
6
4
  var queryCore = require('@tanstack/query-core');
7
5
  var utils = require('./utils.js');
8
6
  var useQueryClient = require('./useQueryClient.js');
9
7
 
10
- function useMutation(arg1, arg2, arg3) {
11
- var _options$value$queryC;
12
-
8
+ function useMutation(mutationOptions, queryClient) {
9
+ const client = queryClient || useQueryClient.useQueryClient();
13
10
  const options = vueDemi.computed(() => {
14
- return parseMutationArgs(arg1, arg2, arg3);
11
+ return client.defaultMutationOptions(utils.cloneDeepUnref(mutationOptions));
15
12
  });
16
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient.useQueryClient(options.value.queryClientKey);
17
- const observer = new queryCore.MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
13
+ const observer = new queryCore.MutationObserver(client, options.value);
18
14
  const state = vueDemi.reactive(observer.getCurrentResult());
19
15
  const unsubscribe = observer.subscribe(result => {
20
16
  utils.updateState(state, result);
21
17
  });
22
-
23
18
  const mutate = (variables, mutateOptions) => {
24
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
19
+ observer.mutate(variables, mutateOptions).catch(() => {
20
+ // This is intentional
25
21
  });
26
22
  };
27
-
28
23
  vueDemi.watch(options, () => {
29
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
24
+ observer.setOptions(options.value);
30
25
  }, {
31
26
  deep: true
32
27
  });
@@ -34,40 +29,13 @@ function useMutation(arg1, arg2, arg3) {
34
29
  unsubscribe();
35
30
  });
36
31
  const resultRefs = vueDemi.toRefs(vueDemi.readonly(state));
37
- return { ...resultRefs,
32
+ return {
33
+ ...resultRefs,
38
34
  mutate,
39
35
  mutateAsync: state.mutate,
40
36
  reset: state.reset
41
37
  };
42
38
  }
43
- function parseMutationArgs(arg1, arg2, arg3) {
44
- const plainArg1 = vueDemi.unref(arg1);
45
- const plainArg2 = vueDemi.unref(arg2);
46
- let options = plainArg1;
47
-
48
- if (utils.isMutationKey(plainArg1)) {
49
- if (typeof plainArg2 === 'function') {
50
- const plainArg3 = vueDemi.unref(arg3);
51
- options = { ...plainArg3,
52
- mutationKey: plainArg1,
53
- mutationFn: plainArg2
54
- };
55
- } else {
56
- options = { ...plainArg2,
57
- mutationKey: plainArg1
58
- };
59
- }
60
- }
61
-
62
- if (typeof plainArg1 === 'function') {
63
- options = { ...plainArg2,
64
- mutationFn: plainArg1
65
- };
66
- }
67
-
68
- return utils.cloneDeepUnref(options);
69
- }
70
39
 
71
- exports.parseMutationArgs = parseMutationArgs;
72
40
  exports.useMutation = useMutation;
73
41
  //# sourceMappingURL=useMutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutationFunction,\n MutationKey,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n} from '@tanstack/query-core'\nimport type {\n WithQueryClientKey,\n MaybeRef,\n MaybeRefDeep,\n DistributiveOmit,\n} from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, isMutationKey } from './utils'\nimport { useQueryClient } from './useQueryClient'\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 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(\n options,\n () => {\n observer.setOptions(queryClient.defaultMutationOptions(options.value))\n },\n { deep: true },\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 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","options","computed","parseMutationArgs","queryClient","value","useQueryClient","queryClientKey","observer","MutationObserver","defaultMutationOptions","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset","plainArg1","unref","plainArg2","isMutationKey","plainArg3","mutationKey","mutationFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n RegisteredError,\n} from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = RegisteredError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = RegisteredError,\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 = RegisteredError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\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(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\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 return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;;;AAuDO,SAASA,WAAW,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,oBAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,0BAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;AAEnD,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDC,IAAAA,iBAAW,CAACN,KAAK,EAAEK,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEF,EAAA,MAAME,MAAM,GAAG,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHZ,QAAQ,CAACU,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,aAAK,CACHlB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACe,UAAU,CAACnB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GAAC,CACf,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBX,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMY,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAACjB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGe,UAAU;IACbR,MAAM;IACNW,WAAW,EAAElB,KAAK,CAACO,MAAM;IACzBY,KAAK,EAAEnB,KAAK,CAACmB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -1,28 +1,25 @@
1
- import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
1
+ import { computed, reactive, watch, onScopeDispose, toRefs, readonly } from 'vue-demi';
2
2
  import { MutationObserver } from '@tanstack/query-core';
3
- import { updateState, isMutationKey, cloneDeepUnref } from './utils.mjs';
3
+ import { cloneDeepUnref, updateState } from './utils.mjs';
4
4
  import { useQueryClient } from './useQueryClient.mjs';
5
5
 
6
- function useMutation(arg1, arg2, arg3) {
7
- var _options$value$queryC;
8
-
6
+ function useMutation(mutationOptions, queryClient) {
7
+ const client = queryClient || useQueryClient();
9
8
  const options = computed(() => {
10
- return parseMutationArgs(arg1, arg2, arg3);
9
+ return client.defaultMutationOptions(cloneDeepUnref(mutationOptions));
11
10
  });
12
- const queryClient = (_options$value$queryC = options.value.queryClient) != null ? _options$value$queryC : useQueryClient(options.value.queryClientKey);
13
- const observer = new MutationObserver(queryClient, queryClient.defaultMutationOptions(options.value));
11
+ const observer = new MutationObserver(client, options.value);
14
12
  const state = reactive(observer.getCurrentResult());
15
13
  const unsubscribe = observer.subscribe(result => {
16
14
  updateState(state, result);
17
15
  });
18
-
19
16
  const mutate = (variables, mutateOptions) => {
20
- observer.mutate(variables, mutateOptions).catch(() => {// This is intentional
17
+ observer.mutate(variables, mutateOptions).catch(() => {
18
+ // This is intentional
21
19
  });
22
20
  };
23
-
24
21
  watch(options, () => {
25
- observer.setOptions(queryClient.defaultMutationOptions(options.value));
22
+ observer.setOptions(options.value);
26
23
  }, {
27
24
  deep: true
28
25
  });
@@ -30,39 +27,13 @@ function useMutation(arg1, arg2, arg3) {
30
27
  unsubscribe();
31
28
  });
32
29
  const resultRefs = toRefs(readonly(state));
33
- return { ...resultRefs,
30
+ return {
31
+ ...resultRefs,
34
32
  mutate,
35
33
  mutateAsync: state.mutate,
36
34
  reset: state.reset
37
35
  };
38
36
  }
39
- function parseMutationArgs(arg1, arg2, arg3) {
40
- const plainArg1 = unref(arg1);
41
- const plainArg2 = unref(arg2);
42
- let options = plainArg1;
43
-
44
- if (isMutationKey(plainArg1)) {
45
- if (typeof plainArg2 === 'function') {
46
- const plainArg3 = unref(arg3);
47
- options = { ...plainArg3,
48
- mutationKey: plainArg1,
49
- mutationFn: plainArg2
50
- };
51
- } else {
52
- options = { ...plainArg2,
53
- mutationKey: plainArg1
54
- };
55
- }
56
- }
57
-
58
- if (typeof plainArg1 === 'function') {
59
- options = { ...plainArg2,
60
- mutationFn: plainArg1
61
- };
62
- }
63
-
64
- return cloneDeepUnref(options);
65
- }
66
37
 
67
- export { parseMutationArgs, useMutation };
38
+ export { useMutation };
68
39
  //# sourceMappingURL=useMutation.mjs.map