0.2.5 #43

Merged
Thilawyn merged 94 commits from next into master 2026-03-31 21:01:13 +02:00
Showing only changes of commit 7f8411e83c - Show all commits

View File

@@ -79,7 +79,9 @@ export const map = <A, ER, RR, EW, RW, B>(
(b: B): (parent: A) => A (b: B): (parent: A) => A
}, },
): Lens<B, ER, RR, EW, RW> => { ): Lens<B, ER, RR, EW, RW> => {
const setF = const setF = (parent: A, b: B) => set.length >= 2
? (set as (parent: A, b: B) => A)(parent, b)
: (set as (b: B) => (parent: A) => A)(b)(parent)
return make({ return make({
get: Effect.map(self.get, get), get: Effect.map(self.get, get),
@@ -87,7 +89,7 @@ export const map = <A, ER, RR, EW, RW, B>(
modify: <C, E1 = never, R1 = never>( modify: <C, E1 = never, R1 = never>(
f: (b: B) => Effect.Effect<readonly [C, B], E1, R1> f: (b: B) => Effect.Effect<readonly [C, B], E1, R1>
) => self.modify((a: A) => ) => self.modify((a: A) =>
Effect.flatMap(f(get(a)), ([c, next]) => Effect.succeed([c, set(a, next)] as const)) Effect.flatMap(f(get(a)), ([c, next]) => Effect.succeed([c, setF(a, next)] as const))
), ),
}) })
} }