From 717f264aa1b8dbf08b24912e4e323c337949f7bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Tue, 31 Mar 2026 02:26:32 +0200 Subject: [PATCH] Refactor Result --- packages/effect-fc/src/Result.ts | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/effect-fc/src/Result.ts b/packages/effect-fc/src/Result.ts index 5b3d21e..5c43d68 100644 --- a/packages/effect-fc/src/Result.ts +++ b/packages/effect-fc/src/Result.ts @@ -174,20 +174,24 @@ export class PreviousResultNotRunningNorRefreshing extends Data.TaggedError("@ef export const makeProgressLayer = ( state: Lens.Lens, never, never, never, never> -): Layer.Layer | Progress, never, never> => Layer.effect( +): Layer.Layer | Progress, never, never> => Layer.succeed( Progress

() as Context.Tag | Progress, Progress

| Progress>, - Effect.gen(function*() { - const lens = Lens.mapEffect( - state, - a => (isRunning(a) || hasRefreshingFlag(a)) - ? Effect.succeed(a.progress) - : Effect.fail(new PreviousResultNotRunningNorRefreshing({ previous: a })), - (a, b) => isRunning(a) - ? Effect.succeed(running(b)) - : Effect.succeed(refreshing(a, b) as Final & Refreshing

), + { + progress: state.pipe( + Lens.mapEffect( + a => (isRunning(a) || hasRefreshingFlag(a)) + ? Effect.succeed(a) + : Effect.fail(new PreviousResultNotRunningNorRefreshing({ previous: a })), + (_a, b) => Effect.succeed(b), + ), + Lens.map( + a => a.progress, + (a, b) => isRunning(a) + ? running(b) + : refreshing(a, b) as Final & Refreshing

, + ), ) - return { progress: lens } as any - }), + }, )