@@ -1,4 +1,4 @@
|
|||||||
import { type Cause, type Context, Duration, Effect, Equal, type Equivalence, Exit, Fiber, Option, Pipeable, Predicate, PubSub, Ref, type Scope, Semaphore, Stream, SubscriptionRef } from "effect"
|
import { Cause, type Context, Duration, Effect, Equal, type Equivalence, Exit, Fiber, Option, Pipeable, Predicate, PubSub, Ref, type Scope, Semaphore, Stream, SubscriptionRef } from "effect"
|
||||||
import { AsyncResult } from "effect/unstable/reactivity"
|
import { AsyncResult } from "effect/unstable/reactivity"
|
||||||
import * as Lens from "./Lens.js"
|
import * as Lens from "./Lens.js"
|
||||||
import * as QueryClient from "./QueryClient.js"
|
import * as QueryClient from "./QueryClient.js"
|
||||||
@@ -271,24 +271,26 @@ extends Pipeable.Class implements Query<K, A, E, R> {
|
|||||||
key: previous.key,
|
key: previous.key,
|
||||||
result: AsyncResult.success(v),
|
result: AsyncResult.success(v),
|
||||||
}),
|
}),
|
||||||
onFailure: c => AsyncResult.match(previous.result, {
|
onFailure: c => Cause.hasInterruptsOnly(c)
|
||||||
onInitial: () => ({
|
? previous
|
||||||
key: previous.key,
|
: AsyncResult.match(previous.result, {
|
||||||
result: AsyncResult.failure(c),
|
onInitial: () => ({
|
||||||
}),
|
key: previous.key,
|
||||||
onSuccess: v => ({
|
result: AsyncResult.failure(c),
|
||||||
key: previous.key,
|
}),
|
||||||
result: AsyncResult.failure(c, {
|
onSuccess: v => ({
|
||||||
previousSuccess: Option.some(v),
|
key: previous.key,
|
||||||
|
result: AsyncResult.failure(c, {
|
||||||
|
previousSuccess: Option.some(v),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
onFailure: v => ({
|
||||||
|
key: previous.key,
|
||||||
|
result: AsyncResult.failure(c, {
|
||||||
|
previousSuccess: v.previousSuccess,
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
onFailure: v => ({
|
|
||||||
key: previous.key,
|
|
||||||
result: AsyncResult.failure(c, {
|
|
||||||
previousSuccess: v.previousSuccess,
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
}),
|
}),
|
||||||
)) as FinalQueryState<K, A, E>
|
)) as FinalQueryState<K, A, E>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user