Fix
All checks were successful
Lint / lint (push) Successful in 16s

This commit is contained in:
Julien Valverdé
2025-06-01 03:49:04 +02:00
parent f4e380ddcb
commit ed788af128
2 changed files with 22 additions and 40 deletions

View File

@@ -1,4 +1,4 @@
import { Cause, Effect, identity, PubSub, Stream } from "effect"
import { Cause, Effect, PubSub, Stream } from "effect"
export interface QueryErrorHandler<FallbackA, HandledE> {
@@ -25,19 +25,16 @@ export const make = <HandledE = never>() => (
self: Effect.Effect<A, E, R>
): Effect.Effect<A | FallbackA, Exclude<E, HandledE>, R> => f(
self as unknown as Effect.Effect<never, HandledE, never>,
(failure: HandledE) => PubSub.publish(pubsub, Cause.fail(failure)).pipe(
Effect.andThen(Effect.failCause(Cause.empty))
(failure: HandledE) => Effect.andThen(
PubSub.publish(pubsub, Cause.fail(failure)),
Effect.failCause(Cause.empty),
),
(defect: unknown) => PubSub.publish(pubsub, Cause.die(defect)).pipe(
Effect.andThen(Effect.failCause(Cause.empty))
(defect: unknown) => Effect.andThen(
PubSub.publish(pubsub, Cause.die(defect)),
Effect.failCause(Cause.empty),
),
)
return { errors, handle }
})
)
export class DefaultQueryErrorHandler extends Effect.Service<DefaultQueryErrorHandler>()("@reffuse/extension-query/DefaultQueryErrorHandler", {
effect: make<never>()(identity)
}) {}