Recovering from defect
This program might crash because
getOne in repository under the hood can call Effect.dieI am getting this error that die throws inside
onError callback, how can i check if something is an error thrown from die?getOneEffect.dieonErrorsomethingEffect.runPromise(
Effect.gen(function* () {
const gamesService = yield* GamesService;
const value = gamesService.getOne(slug);
const failureOrSuccess = yield* Effect.either(value);
return Either.match(failureOrSuccess, {
onLeft: (error) => {
switch (error._tag) {
case "GameNotFoundError":
throw new NotFoundError(`Game with slug ${slug} was not found`);
}
},
onRight: (value) => value,
});
})
.pipe(Effect.provide(GamesRepository.Default))
.pipe(Effect.provide(GamesService.Default)),
);