QueryClient work
Lint / lint (push) Successful in 42s

This commit is contained in:
Julien Valverdé
2025-12-16 09:19:52 +01:00
parent edf06b5f99
commit f09c6e3a1c
3 changed files with 19 additions and 9 deletions
+6 -3
View File
@@ -63,15 +63,18 @@ export class QueryClientCacheKey
extends Pipeable.Class()
implements Pipeable.Pipeable, Equal.Equal {
readonly [QueryClientCacheKeyTypeId]: QueryClientCacheKeyTypeId = QueryClientCacheKeyTypeId
constructor(readonly key: Query.Query.AnyKey) {
constructor(
readonly key: Query.Query.AnyKey,
readonly f: (key: Query.Query.AnyKey) => Effect.Effect<unknown, unknown, unknown>,
) {
super()
}
[Equal.symbol](that: Equal.Equal) {
return isQueryClientCacheKey(that) && Equivalence.array(Equal.equivalence())(this.key, that.key)
return isQueryClientCacheKey(that) && Equivalence.array(Equal.equivalence())(this.key, that.key) && Equivalence.strict()(this.f, that.f)
}
[Hash.symbol]() {
return Hash.array(this.key)
return Hash.combine(Hash.hash(this.f))(Hash.array(this.key))
}
}