@@ -18,7 +18,7 @@ extends Pipeable.Class() implements ErrorObserver<E> {
|
|||||||
readonly subscribe: Effect.Effect<Queue.Dequeue<Cause.Cause<E>>, never, Scope.Scope>
|
readonly subscribe: Effect.Effect<Queue.Dequeue<Cause.Cause<E>>, never, Scope.Scope>
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly pubsub: PubSub.PubSub<Cause.Cause<E>>
|
readonly pubsub: PubSub.PubSub<Cause.Cause<E>>
|
||||||
) {
|
) {
|
||||||
super()
|
super()
|
||||||
this.subscribe = pubsub.subscribe
|
this.subscribe = pubsub.subscribe
|
||||||
@@ -36,10 +36,11 @@ class ErrorObserverSupervisorImpl extends Supervisor.AbstractSupervisor<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onEnd<A, E>(_value: Exit.Exit<A, E>): void {
|
onEnd<A, E>(_value: Exit.Exit<A, E>): void {
|
||||||
if (Exit.isFailure(_value))
|
if (Exit.isFailure(_value)) {
|
||||||
Effect.runSync(PubSub.publish(this.pubsub, _value.cause as Cause.Cause<never>))
|
Effect.runSync(PubSub.publish(this.pubsub, _value.cause as Cause.Cause<never>))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export const isErrorObserver = (u: unknown): u is ErrorObserver<unknown> => Predicate.hasProperty(u, TypeId)
|
export const isErrorObserver = (u: unknown): u is ErrorObserver<unknown> => Predicate.hasProperty(u, TypeId)
|
||||||
|
|||||||
Reference in New Issue
Block a user