Fix
Lint / lint (push) Successful in 12s

This commit is contained in:
Julien Valverdé
2026-01-14 22:36:40 +01:00
parent d1ef42e9cb
commit b29dec7d30
3 changed files with 15 additions and 9 deletions
+13 -8
View File
@@ -1,4 +1,4 @@
import { type Cause, type Context, DateTime, type Duration, Effect, Exit, Fiber, HashMap, identity, Option, Pipeable, Predicate, type Scope, Stream, Subscribable, SubscriptionRef } from "effect"
import { type Cause, Console, type Context, DateTime, type Duration, Effect, Exit, Fiber, HashMap, identity, Option, Pipeable, Predicate, type Scope, Stream, Subscribable, SubscriptionRef } from "effect"
import * as QueryClient from "./QueryClient.js"
import * as Result from "./Result.js"
@@ -195,13 +195,18 @@ extends Pipeable.Class() implements Query<K, A, E, R, P> {
Scope.Scope | QueryClient.QueryClient | R
> {
return Effect.andThen(this.getCacheEntry(key), Option.match({
onSome: entry => QueryClient.isQueryClientCacheEntryStale(entry, this.staleTime)
? Effect.succeed(Subscribable.make({
get: Effect.succeed(entry.result as Result.Result<A, E, P>),
get changes() { return Stream.make(entry.result as Result.Result<A, E, P>) },
}))
: this.start(key, Result.willRefresh(entry.result) as Result.Final<A, E, P>),
onNone: () => this.start(key, initial),
onSome: entry => Effect.andThen(
QueryClient.isQueryClientCacheEntryStale(entry, this.staleTime),
isStale => isStale
? this.start(key, Result.willRefresh(entry.result) as Result.Final<A, E, P>)
: Effect.succeed(Subscribable.make({
get: Effect.succeed(entry.result as Result.Result<A, E, P>),
get changes() { return Stream.make(entry.result as Result.Result<A, E, P>) },
})),
),
onNone: () => this.start(key, initial).pipe(
Effect.tap(Console.log("Cache missed"))
),
}))
}