From 580c6ec3d31d2f4aae68111e2d0d8ca6aa8dea85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Tue, 24 Mar 2026 07:21:44 +0100 Subject: [PATCH] Fix --- packages/effect-fc/src/Lens.ts | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/packages/effect-fc/src/Lens.ts b/packages/effect-fc/src/Lens.ts index 79a8f5a..50f1319 100644 --- a/packages/effect-fc/src/Lens.ts +++ b/packages/effect-fc/src/Lens.ts @@ -81,7 +81,18 @@ export const unwrap = ( }) -export const map = ( +export const map: { + ( + self: Lens, + get: (a: NoInfer) => B, + set: (a: NoInfer, b: B) => NoInfer, + ): Lens + ( + get: (a: NoInfer) => B, + set: (a: NoInfer, b: B) => NoInfer, + self: Lens, + ): Lens +} = Function.dual(3, ( self: Lens, get: (a: NoInfer) => B, set: (a: NoInfer, b: B) => NoInfer, @@ -93,9 +104,20 @@ export const map = ( ) => self.modify(a => Effect.flatMap(f(get(a)), ([c, next]) => Effect.succeed([c, set(a, next)])) ), -}) +})) -export const mapEffect = ( +export const mapEffect: { + ( + self: Lens, + get: (a: NoInfer) => Effect.Effect, + set: (a: NoInfer, b: B) => Effect.Effect, ESet, RSet>, + ): Lens + ( + get: (a: NoInfer) => Effect.Effect, + set: (a: NoInfer, b: B) => Effect.Effect, ESet, RSet>, + self: Lens, + ): Lens +} = Function.dual(3, ( self: Lens, get: (a: NoInfer) => Effect.Effect, set: (a: NoInfer, b: B) => Effect.Effect, ESet, RSet>, @@ -114,7 +136,7 @@ export const mapEffect = (self: Lens): Effect.Effect => self.get