@tanstack/vue-query 5.0.0-alpha.64 → 5.0.0-alpha.66

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.
@@ -10,21 +10,28 @@ function useIsMutating(filters = {}, queryClient) {
10
10
  ...utils.cloneDeepUnref(filters),
11
11
  status: 'pending'
12
12
  }));
13
- const length = vueDemi.computed(() => useMutationState({
13
+ const mutationState = useMutationState({
14
14
  filters: unreffedFilters
15
- }, client).value.length);
15
+ }, client);
16
+ const length = vueDemi.computed(() => mutationState.value.length);
16
17
  return length;
17
18
  }
18
19
  function getResult(mutationCache, options) {
19
20
  return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
20
21
  }
21
22
  function useMutationState(options = {}, queryClient) {
23
+ const filters = vueDemi.computed(() => utils.cloneDeepUnref(options.filters));
22
24
  const mutationCache = (queryClient || useQueryClient.useQueryClient()).getMutationCache();
23
25
  const state = vueDemi.ref(getResult(mutationCache, options));
24
26
  const unsubscribe = mutationCache.subscribe(() => {
25
27
  const result = getResult(mutationCache, options);
26
28
  state.value = result;
27
29
  });
30
+ vueDemi.watch(filters, () => {
31
+ state.value = getResult(mutationCache, options);
32
+ }, {
33
+ deep: true
34
+ });
28
35
  vueDemi.onScopeDispose(() => {
29
36
  unsubscribe();
30
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationState.cjs","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const length = computed(\n () => useMutationState({ filters: unreffedFilters }, client).value.length,\n )\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","length","useMutationState","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","onScopeDispose","readonly"],"mappings":";;;;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,gBAAQ,CAAC,OAAO;IACtC,GAAGC,oBAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;AAEH,EAAA,MAAMC,MAAM,GAAGH,gBAAQ,CACrB,MAAMI,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;AAAgB,GAAC,EAAEF,MAAM,CAAC,CAACQ,KAAK,CAACF,MACrE,CAAC,CAAA;AAED,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASG,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACb,OAAO,CAAC,CACxBe,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAAST,gBAAgBA,CAC9BI,OAAsC,GAAG,EAAE,EAC3CZ,WAAyB,EACU;EACnC,MAAMW,aAAa,GAAG,CAACX,WAAW,IAAIE,6BAAc,EAAE,EAAEgB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,WAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;AAEFC,EAAAA,sBAAc,CAAC,MAAM;AACnBH,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOI,gBAAQ,CAACP,KAAK,CAAC,CAAA;AACxB;;;;;"}
1
+ {"version":3,"file":"useMutationState.cjs","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref, watch } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const mutationState = useMutationState({ filters: unreffedFilters }, client)\n const length = computed(() => mutationState.value.length)\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const filters = computed(() => cloneDeepUnref(options.filters))\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n watch(\n filters,\n () => {\n state.value = getResult(mutationCache, options)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","mutationState","useMutationState","length","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","watch","deep","onScopeDispose","readonly"],"mappings":";;;;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,gBAAQ,CAAC,OAAO;IACtC,GAAGC,oBAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;EAEH,MAAMC,aAAa,GAAGC,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;GAAiB,EAAEF,MAAM,CAAC,CAAA;EAC5E,MAAMQ,MAAM,GAAGL,gBAAQ,CAAC,MAAMG,aAAa,CAACG,KAAK,CAACD,MAAM,CAAC,CAAA;AAEzD,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASE,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACd,OAAO,CAAC,CACxBgB,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAASV,gBAAgBA,CAC9BK,OAAsC,GAAG,EAAE,EAC3Cb,WAAyB,EACU;EACnC,MAAMD,OAAO,GAAGK,gBAAQ,CAAC,MAAMC,oBAAc,CAACQ,OAAO,CAACd,OAAO,CAAC,CAAC,CAAA;EAC/D,MAAMa,aAAa,GAAG,CAACZ,WAAW,IAAIE,6BAAc,EAAE,EAAEiB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,WAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;EAEFC,aAAK,CACHzB,OAAO,EACP,MAAM;IACJmB,KAAK,CAACR,KAAK,GAAGC,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;AACjD,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBL,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOM,gBAAQ,CAACT,KAAK,CAAC,CAAA;AACxB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationState.d.ts","sourceRoot":"","sources":["../../src/useMutationState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,eAAe,IAAI,EAAE,EACrB,QAAQ,EACR,YAAY,EACZ,aAAa,EACd,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;AAE9C,wBAAgB,aAAa,CAC3B,OAAO,GAAE,eAAoB,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,GAAG,CAAC,MAAM,CAAC,CAYb;AAED,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,aAAa,IAAI;IAC1D,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,KACxD,OAAO,CAAA;CACb,CAAA;AAkBD,wBAAgB,gBAAgB,CAAC,OAAO,GAAG,aAAa,EACtD,OAAO,GAAE,oBAAoB,CAAC,OAAO,CAAM,EAC3C,WAAW,CAAC,EAAE,WAAW,GACxB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAanC"}
1
+ {"version":3,"file":"useMutationState.d.ts","sourceRoot":"","sources":["../../src/useMutationState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,eAAe,IAAI,EAAE,EACrB,QAAQ,EACR,YAAY,EACZ,aAAa,EACd,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;AAE9C,wBAAgB,aAAa,CAC3B,OAAO,GAAE,eAAoB,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,GAAG,CAAC,MAAM,CAAC,CAWb;AAED,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,aAAa,IAAI;IAC1D,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,KACxD,OAAO,CAAA;CACb,CAAA;AAkBD,wBAAgB,gBAAgB,CAAC,OAAO,GAAG,aAAa,EACtD,OAAO,GAAE,oBAAoB,CAAC,OAAO,CAAM,EAC3C,WAAW,CAAC,EAAE,WAAW,GACxB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAsBnC"}
@@ -1,4 +1,4 @@
1
- import { computed, ref, onScopeDispose, readonly } from 'vue-demi';
1
+ import { computed, ref, watch, onScopeDispose, readonly } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.js';
3
3
  import { cloneDeepUnref } from './utils.js';
4
4
 
@@ -8,21 +8,28 @@ function useIsMutating(filters = {}, queryClient) {
8
8
  ...cloneDeepUnref(filters),
9
9
  status: 'pending'
10
10
  }));
11
- const length = computed(() => useMutationState({
11
+ const mutationState = useMutationState({
12
12
  filters: unreffedFilters
13
- }, client).value.length);
13
+ }, client);
14
+ const length = computed(() => mutationState.value.length);
14
15
  return length;
15
16
  }
16
17
  function getResult(mutationCache, options) {
17
18
  return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
18
19
  }
19
20
  function useMutationState(options = {}, queryClient) {
21
+ const filters = computed(() => cloneDeepUnref(options.filters));
20
22
  const mutationCache = (queryClient || useQueryClient()).getMutationCache();
21
23
  const state = ref(getResult(mutationCache, options));
22
24
  const unsubscribe = mutationCache.subscribe(() => {
23
25
  const result = getResult(mutationCache, options);
24
26
  state.value = result;
25
27
  });
28
+ watch(filters, () => {
29
+ state.value = getResult(mutationCache, options);
30
+ }, {
31
+ deep: true
32
+ });
26
33
  onScopeDispose(() => {
27
34
  unsubscribe();
28
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationState.js","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const length = computed(\n () => useMutationState({ filters: unreffedFilters }, client).value.length,\n )\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","length","useMutationState","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","onScopeDispose","readonly"],"mappings":";;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,QAAQ,CAAC,OAAO;IACtC,GAAGC,cAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;AAEH,EAAA,MAAMC,MAAM,GAAGH,QAAQ,CACrB,MAAMI,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;AAAgB,GAAC,EAAEF,MAAM,CAAC,CAACQ,KAAK,CAACF,MACrE,CAAC,CAAA;AAED,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASG,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACb,OAAO,CAAC,CACxBe,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAAST,gBAAgBA,CAC9BI,OAAsC,GAAG,EAAE,EAC3CZ,WAAyB,EACU;EACnC,MAAMW,aAAa,GAAG,CAACX,WAAW,IAAIE,cAAc,EAAE,EAAEgB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,GAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;AAEFC,EAAAA,cAAc,CAAC,MAAM;AACnBH,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOI,QAAQ,CAACP,KAAK,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useMutationState.js","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref, watch } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const mutationState = useMutationState({ filters: unreffedFilters }, client)\n const length = computed(() => mutationState.value.length)\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const filters = computed(() => cloneDeepUnref(options.filters))\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n watch(\n filters,\n () => {\n state.value = getResult(mutationCache, options)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","mutationState","useMutationState","length","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","watch","deep","onScopeDispose","readonly"],"mappings":";;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,QAAQ,CAAC,OAAO;IACtC,GAAGC,cAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;EAEH,MAAMC,aAAa,GAAGC,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;GAAiB,EAAEF,MAAM,CAAC,CAAA;EAC5E,MAAMQ,MAAM,GAAGL,QAAQ,CAAC,MAAMG,aAAa,CAACG,KAAK,CAACD,MAAM,CAAC,CAAA;AAEzD,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASE,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACd,OAAO,CAAC,CACxBgB,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAASV,gBAAgBA,CAC9BK,OAAsC,GAAG,EAAE,EAC3Cb,WAAyB,EACU;EACnC,MAAMD,OAAO,GAAGK,QAAQ,CAAC,MAAMC,cAAc,CAACQ,OAAO,CAACd,OAAO,CAAC,CAAC,CAAA;EAC/D,MAAMa,aAAa,GAAG,CAACZ,WAAW,IAAIE,cAAc,EAAE,EAAEiB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,GAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;EAEFC,KAAK,CACHzB,OAAO,EACP,MAAM;IACJmB,KAAK,CAACR,KAAK,GAAGC,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;AACjD,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBL,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOM,QAAQ,CAACT,KAAK,CAAC,CAAA;AACxB;;;;"}
@@ -10,21 +10,28 @@ function useIsMutating(filters = {}, queryClient) {
10
10
  ...utils.cloneDeepUnref(filters),
11
11
  status: 'pending'
12
12
  }));
13
- const length = vueDemi.computed(() => useMutationState({
13
+ const mutationState = useMutationState({
14
14
  filters: unreffedFilters
15
- }, client).value.length);
15
+ }, client);
16
+ const length = vueDemi.computed(() => mutationState.value.length);
16
17
  return length;
17
18
  }
18
19
  function getResult(mutationCache, options) {
19
20
  return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
20
21
  }
21
22
  function useMutationState(options = {}, queryClient) {
23
+ const filters = vueDemi.computed(() => utils.cloneDeepUnref(options.filters));
22
24
  const mutationCache = (queryClient || useQueryClient.useQueryClient()).getMutationCache();
23
25
  const state = vueDemi.ref(getResult(mutationCache, options));
24
26
  const unsubscribe = mutationCache.subscribe(() => {
25
27
  const result = getResult(mutationCache, options);
26
28
  state.value = result;
27
29
  });
30
+ vueDemi.watch(filters, () => {
31
+ state.value = getResult(mutationCache, options);
32
+ }, {
33
+ deep: true
34
+ });
28
35
  vueDemi.onScopeDispose(() => {
29
36
  unsubscribe();
30
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationState.legacy.cjs","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const length = computed(\n () => useMutationState({ filters: unreffedFilters }, client).value.length,\n )\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","length","useMutationState","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","onScopeDispose","readonly"],"mappings":";;;;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,gBAAQ,CAAC,OAAO;IACtC,GAAGC,oBAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;AAEH,EAAA,MAAMC,MAAM,GAAGH,gBAAQ,CACrB,MAAMI,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;AAAgB,GAAC,EAAEF,MAAM,CAAC,CAACQ,KAAK,CAACF,MACrE,CAAC,CAAA;AAED,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASG,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACb,OAAO,CAAC,CACxBe,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAAST,gBAAgBA,CAC9BI,OAAsC,GAAG,EAAE,EAC3CZ,WAAyB,EACU;EACnC,MAAMW,aAAa,GAAG,CAACX,WAAW,IAAIE,6BAAc,EAAE,EAAEgB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,WAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;AAEFC,EAAAA,sBAAc,CAAC,MAAM;AACnBH,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOI,gBAAQ,CAACP,KAAK,CAAC,CAAA;AACxB;;;;;"}
1
+ {"version":3,"file":"useMutationState.legacy.cjs","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref, watch } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const mutationState = useMutationState({ filters: unreffedFilters }, client)\n const length = computed(() => mutationState.value.length)\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const filters = computed(() => cloneDeepUnref(options.filters))\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n watch(\n filters,\n () => {\n state.value = getResult(mutationCache, options)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","mutationState","useMutationState","length","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","watch","deep","onScopeDispose","readonly"],"mappings":";;;;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,gBAAQ,CAAC,OAAO;IACtC,GAAGC,oBAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;EAEH,MAAMC,aAAa,GAAGC,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;GAAiB,EAAEF,MAAM,CAAC,CAAA;EAC5E,MAAMQ,MAAM,GAAGL,gBAAQ,CAAC,MAAMG,aAAa,CAACG,KAAK,CAACD,MAAM,CAAC,CAAA;AAEzD,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASE,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACd,OAAO,CAAC,CACxBgB,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAASV,gBAAgBA,CAC9BK,OAAsC,GAAG,EAAE,EAC3Cb,WAAyB,EACU;EACnC,MAAMD,OAAO,GAAGK,gBAAQ,CAAC,MAAMC,oBAAc,CAACQ,OAAO,CAACd,OAAO,CAAC,CAAC,CAAA;EAC/D,MAAMa,aAAa,GAAG,CAACZ,WAAW,IAAIE,6BAAc,EAAE,EAAEiB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,WAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;EAEFC,aAAK,CACHzB,OAAO,EACP,MAAM;IACJmB,KAAK,CAACR,KAAK,GAAGC,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;AACjD,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBL,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOM,gBAAQ,CAACT,KAAK,CAAC,CAAA;AACxB;;;;;"}
@@ -1,4 +1,4 @@
1
- import { computed, ref, onScopeDispose, readonly } from 'vue-demi';
1
+ import { computed, ref, watch, onScopeDispose, readonly } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.legacy.js';
3
3
  import { cloneDeepUnref } from './utils.legacy.js';
4
4
 
@@ -8,21 +8,28 @@ function useIsMutating(filters = {}, queryClient) {
8
8
  ...cloneDeepUnref(filters),
9
9
  status: 'pending'
10
10
  }));
11
- const length = computed(() => useMutationState({
11
+ const mutationState = useMutationState({
12
12
  filters: unreffedFilters
13
- }, client).value.length);
13
+ }, client);
14
+ const length = computed(() => mutationState.value.length);
14
15
  return length;
15
16
  }
16
17
  function getResult(mutationCache, options) {
17
18
  return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
18
19
  }
19
20
  function useMutationState(options = {}, queryClient) {
21
+ const filters = computed(() => cloneDeepUnref(options.filters));
20
22
  const mutationCache = (queryClient || useQueryClient()).getMutationCache();
21
23
  const state = ref(getResult(mutationCache, options));
22
24
  const unsubscribe = mutationCache.subscribe(() => {
23
25
  const result = getResult(mutationCache, options);
24
26
  state.value = result;
25
27
  });
28
+ watch(filters, () => {
29
+ state.value = getResult(mutationCache, options);
30
+ }, {
31
+ deep: true
32
+ });
26
33
  onScopeDispose(() => {
27
34
  unsubscribe();
28
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationState.legacy.js","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const length = computed(\n () => useMutationState({ filters: unreffedFilters }, client).value.length,\n )\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","length","useMutationState","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","onScopeDispose","readonly"],"mappings":";;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,QAAQ,CAAC,OAAO;IACtC,GAAGC,cAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;AAEH,EAAA,MAAMC,MAAM,GAAGH,QAAQ,CACrB,MAAMI,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;AAAgB,GAAC,EAAEF,MAAM,CAAC,CAACQ,KAAK,CAACF,MACrE,CAAC,CAAA;AAED,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASG,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACb,OAAO,CAAC,CACxBe,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAAST,gBAAgBA,CAC9BI,OAAsC,GAAG,EAAE,EAC3CZ,WAAyB,EACU;EACnC,MAAMW,aAAa,GAAG,CAACX,WAAW,IAAIE,cAAc,EAAE,EAAEgB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,GAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;AAEFC,EAAAA,cAAc,CAAC,MAAM;AACnBH,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOI,QAAQ,CAACP,KAAK,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useMutationState.legacy.js","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref, watch } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const mutationState = useMutationState({ filters: unreffedFilters }, client)\n const length = computed(() => mutationState.value.length)\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const filters = computed(() => cloneDeepUnref(options.filters))\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n watch(\n filters,\n () => {\n state.value = getResult(mutationCache, options)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","mutationState","useMutationState","length","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","watch","deep","onScopeDispose","readonly"],"mappings":";;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,QAAQ,CAAC,OAAO;IACtC,GAAGC,cAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;EAEH,MAAMC,aAAa,GAAGC,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;GAAiB,EAAEF,MAAM,CAAC,CAAA;EAC5E,MAAMQ,MAAM,GAAGL,QAAQ,CAAC,MAAMG,aAAa,CAACG,KAAK,CAACD,MAAM,CAAC,CAAA;AAEzD,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASE,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACd,OAAO,CAAC,CACxBgB,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAASV,gBAAgBA,CAC9BK,OAAsC,GAAG,EAAE,EAC3Cb,WAAyB,EACU;EACnC,MAAMD,OAAO,GAAGK,QAAQ,CAAC,MAAMC,cAAc,CAACQ,OAAO,CAACd,OAAO,CAAC,CAAC,CAAA;EAC/D,MAAMa,aAAa,GAAG,CAACZ,WAAW,IAAIE,cAAc,EAAE,EAAEiB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,GAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;EAEFC,KAAK,CACHzB,OAAO,EACP,MAAM;IACJmB,KAAK,CAACR,KAAK,GAAGC,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;AACjD,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBL,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOM,QAAQ,CAACT,KAAK,CAAC,CAAA;AACxB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/vue-query",
3
- "version": "5.0.0-alpha.64",
3
+ "version": "5.0.0-alpha.66",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in Vue",
5
5
  "author": "Damian Osipiuk",
6
6
  "license": "MIT",
@@ -1,4 +1,4 @@
1
- import { onScopeDispose, readonly, computed, ref } from 'vue-demi'
1
+ import { onScopeDispose, readonly, computed, ref, watch } from 'vue-demi'
2
2
  import type { Ref, DeepReadonly } from 'vue-demi'
3
3
  import type {
4
4
  MutationFilters as MF,
@@ -24,9 +24,8 @@ export function useIsMutating(
24
24
  status: 'pending' as const,
25
25
  }))
26
26
 
27
- const length = computed(
28
- () => useMutationState({ filters: unreffedFilters }, client).value.length,
29
- )
27
+ const mutationState = useMutationState({ filters: unreffedFilters }, client)
28
+ const length = computed(() => mutationState.value.length)
30
29
 
31
30
  return length
32
31
  }
@@ -58,6 +57,7 @@ export function useMutationState<TResult = MutationState>(
58
57
  options: MutationStateOptions<TResult> = {},
59
58
  queryClient?: QueryClient,
60
59
  ): DeepReadonly<Ref<Array<TResult>>> {
60
+ const filters = computed(() => cloneDeepUnref(options.filters))
61
61
  const mutationCache = (queryClient || useQueryClient()).getMutationCache()
62
62
  const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>
63
63
  const unsubscribe = mutationCache.subscribe(() => {
@@ -65,6 +65,14 @@ export function useMutationState<TResult = MutationState>(
65
65
  state.value = result
66
66
  })
67
67
 
68
+ watch(
69
+ filters,
70
+ () => {
71
+ state.value = getResult(mutationCache, options)
72
+ },
73
+ { deep: true },
74
+ )
75
+
68
76
  onScopeDispose(() => {
69
77
  unsubscribe()
70
78
  })