This commit is contained in:
@@ -246,12 +246,16 @@ extends Pipeable.Class() implements Query<K, A, E, R, P> {
|
||||
)
|
||||
}
|
||||
|
||||
makeCacheKey(key: K): QueryClient.QueryClientCacheKey {
|
||||
return new QueryClient.QueryClientCacheKey(key, this.f as (key: Query.AnyKey) => Effect.Effect<unknown, unknown, unknown>)
|
||||
}
|
||||
|
||||
getCacheEntry(
|
||||
key: K
|
||||
): Effect.Effect<Option.Option<QueryClient.QueryClientCacheEntry>, never, QueryClient.QueryClient> {
|
||||
return QueryClient.QueryClient.pipe(
|
||||
Effect.andThen(client => client.cache),
|
||||
Effect.map(HashMap.get(new QueryClient.QueryClientCacheKey(key, this.f as (key: Query.AnyKey) => Effect.Effect<unknown, unknown, unknown>))),
|
||||
Effect.map(HashMap.get(this.makeCacheKey(key))),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -265,7 +269,7 @@ extends Pipeable.Class() implements Query<K, A, E, R, P> {
|
||||
Effect.let("entry", ({ now }) => new QueryClient.QueryClientCacheEntry(result, now)),
|
||||
Effect.tap(({ client, entry }) => SubscriptionRef.update(
|
||||
client.cache,
|
||||
HashMap.set(new QueryClient.QueryClientCacheKey(key, this.f as (key: Query.AnyKey) => Effect.Effect<unknown, unknown, unknown>), entry),
|
||||
HashMap.set(this.makeCacheKey(key), entry),
|
||||
)),
|
||||
Effect.map(({ entry }) => entry),
|
||||
)
|
||||
@@ -276,7 +280,7 @@ extends Pipeable.Class() implements Query<K, A, E, R, P> {
|
||||
QueryClient.QueryClient,
|
||||
client => SubscriptionRef.update(
|
||||
client.cache,
|
||||
HashMap.remove(new QueryClient.QueryClientCacheKey(key, this.f as (key: Query.AnyKey) => Effect.Effect<unknown, unknown, unknown>)),
|
||||
HashMap.remove(this.makeCacheKey(key)),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user