diff --git a/packages/extension-query/src/QueryErrorHandler.ts b/packages/extension-query/src/QueryErrorHandler.ts index 733b7e1..da64787 100644 --- a/packages/extension-query/src/QueryErrorHandler.ts +++ b/packages/extension-query/src/QueryErrorHandler.ts @@ -1,4 +1,4 @@ -import { Cause, Context, Effect, identity, Layer, Queue, Stream } from "effect" +import { Cause, Context, Effect, identity, Layer, PubSub, Stream } from "effect" import type { Mutable } from "effect/Types" @@ -36,17 +36,17 @@ export const Service = () => ( const TagClass = Context.Tag(id)() as ServiceResult (TagClass as Mutable).Live = Layer.effect(TagClass, Effect.gen(function*() { - const queue = yield* Queue.unbounded>() - const errors = Stream.fromQueue(queue) + const pubsub = yield* PubSub.unbounded>() + const errors = Stream.fromPubSub(pubsub) const handle = ( self: Effect.Effect ): Effect.Effect, R> => f( self as unknown as Effect.Effect, - (failure: HandledE) => Queue.offer(queue, Cause.fail(failure)).pipe( + (failure: HandledE) => PubSub.publish(pubsub, Cause.fail(failure)).pipe( Effect.andThen(Effect.failCause(Cause.empty)) ), - (defect: unknown) => Queue.offer(queue, Cause.die(defect)).pipe( + (defect: unknown) => PubSub.publish(pubsub, Cause.die(defect)).pipe( Effect.andThen(Effect.failCause(Cause.empty)) ), )