type SessionErrors = SessionNotFound | SessionNotRetrievable;
export function authGuard<A, E extends SessionErrors, R>(effect: Effect.Effect<A, E, R>) {
return effect.pipe(
Effect.catchTags({
SessionNotFound: () => Effect.succeed(<p>Session not found </p>),
SessionNotRetrievable: () =>
Effect.succeed(<p>Session not retrievable </p>),
}),
);
}
type SessionErrors = SessionNotFound | SessionNotRetrievable;
export function authGuard<A, E extends SessionErrors, R>(effect: Effect.Effect<A, E, R>) {
return effect.pipe(
Effect.catchTags({
SessionNotFound: () => Effect.succeed(<p>Session not found </p>),
SessionNotRetrievable: () =>
Effect.succeed(<p>Session not retrievable </p>),
}),
);
}