Fix
All checks were successful
Lint / lint (push) Successful in 14s

This commit is contained in:
Julien Valverdé
2026-03-23 20:31:26 +01:00
parent 10d69f977b
commit a30c527803

View File

@@ -73,26 +73,27 @@ export const fromSubscriptionRef = <A>(
export const map = <A, ER, RR, EW, RW, B>( export const map = <A, ER, RR, EW, RW, B>(
self: Lens<A, ER, RR, EW, RW>, self: Lens<A, ER, RR, EW, RW>,
get: (a: A) => B, options: {
set: { readonly get: (a: A) => B,
(b: B): (parent: A) => A readonly set: {
(parent: A, b: B): A (b: B): (parent: A) => A
}, (parent: A, b: B): A
): Lens<B, ER, RR, EW, RW> => { },
const setF = (parent: A, b: B) => set.length >= 2 }
? (set as (parent: A, b: B) => A)(parent, b) ): Lens<B, ER, RR, EW, RW> => make({
: (set as (b: B) => (parent: A) => A)(b)(parent) get: Effect.map(self.get, options.get),
changes: Stream.map(self.changes, options.get),
return make({ modify: <C, E1 = never, R1 = never>(
get: Effect.map(self.get, get), f: (b: B) => Effect.Effect<readonly [C, B], E1, R1>
changes: Stream.map(self.changes, get), ) => self.modify(a =>
modify: <C, E1 = never, R1 = never>( Effect.flatMap(f(options.get(a)), ([c, next]) => Effect.succeed([
f: (b: B) => Effect.Effect<readonly [C, B], E1, R1> c,
) => self.modify(a => options.set.length >= 2
Effect.flatMap(f(get(a)), ([c, next]) => Effect.succeed([c, setF(a, next)] as const)) ? (options.set as (parent: A, b: B) => A)(a, next)
), : (options.set as (b: B) => (parent: A) => A)(next)(a),
}) ] as const))
} ),
})
export const mapEffect = <A, ER, RR, EW, RW, B, EGet = never, RGet = never, ESet = never, RSet = never>( export const mapEffect = <A, ER, RR, EW, RW, B, EGet = never, RGet = never, ESet = never, RSet = never>(
self: Lens<A, ER, RR, EW, RW>, self: Lens<A, ER, RR, EW, RW>,