export class MyError extends Data.TaggedError('MyError')<{
message: string
}> {}
export class OtherError extends Data.TaggedError('OtherError')<{
message: string
}> {}
const catchMyError =
<A, E>(
eff: Effect.Effect<
A,
MyError | OtherError | E
>,
): Effect.Effect<A, OtherError | E> =>
eff.pipe(
Effect.catchTags({
MyError: (e) => {
return new OtherError({ message: e.message })
},
}),
)
export class MyError extends Data.TaggedError('MyError')<{
message: string
}> {}
export class OtherError extends Data.TaggedError('OtherError')<{
message: string
}> {}
const catchMyError =
<A, E>(
eff: Effect.Effect<
A,
MyError | OtherError | E
>,
): Effect.Effect<A, OtherError | E> =>
eff.pipe(
Effect.catchTags({
MyError: (e) => {
return new OtherError({ message: e.message })
},
}),
)