Skip to content

Commit 4579953

Browse files
committed
fix: safe remove for autoRemovePreviousQuery option
1 parent 24a8a41 commit 4579953

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/query.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -549,9 +549,7 @@ export class Query<
549549
this.features.autoRemovePreviousQuery &&
550550
options.queryHash !== nextQueryHash
551551
) {
552-
this.queryClient.removeQueries({
553-
predicate: (query) => query.queryHash === options.queryHash,
554-
});
552+
this.remove({ safe: true });
555553
}
556554

557555
options.queryHash = nextQueryHash;
@@ -616,7 +614,8 @@ export class Query<
616614
this.cumulativeQueryKeyHashesSet.has(query.options.queryHash!) &&
617615
(query.observers.length === 0 ||
618616
(query.observers.length === 1 &&
619-
query.observers[0] === this.queryObserver))
617+
query.observers[0] === this.queryObserver)) &&
618+
(!params?.predicate || params.predicate(query))
620619
);
621620
},
622621
...params,
@@ -641,7 +640,8 @@ export class Query<
641640
this.cumulativeQueryKeyHashesSet.has(query.options.queryHash!) &&
642641
(query.observers.length === 0 ||
643642
(query.observers.length === 1 &&
644-
query.observers[0] === this.queryObserver))
643+
query.observers[0] === this.queryObserver)) &&
644+
(!params?.predicate || params.predicate(query))
645645
);
646646
},
647647
...params,
@@ -655,7 +655,8 @@ export class Query<
655655
query.queryHash === this.options.queryHash &&
656656
(query.observers.length === 0 ||
657657
(query.observers.length === 1 &&
658-
query.observers[0] === this.queryObserver)),
658+
query.observers[0] === this.queryObserver)) &&
659+
(!params?.predicate || params.predicate(query)),
659660
});
660661
}
661662

src/query.types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ export interface QueryInvalidateParams
1919
export type MobxQueryInvalidateParams = QueryInvalidateParams;
2020

2121
export interface QueryResetParams
22-
extends Partial<Omit<QueryFilters, 'queryKey' | 'exact' | 'predicate'>> {}
22+
extends Partial<Omit<QueryFilters, 'queryKey' | 'exact'>> {}
2323

2424
export interface QueryRemoveParams
25-
extends Partial<Omit<QueryFilters, 'queryKey' | 'exact' | 'predicate'>> {
25+
extends Partial<Omit<QueryFilters, 'queryKey' | 'exact'>> {
2626
/**
2727
* Removes only queries that have no observers or one observer that is `queryObserver`.
2828
*/

0 commit comments

Comments
 (0)