0.2.6 #49

Merged
Thilawyn merged 48 commits from next into master 2026-05-04 02:10:53 +02:00
Showing only changes of commit 9937317c60 - Show all commits

View File

@@ -146,15 +146,22 @@ const makeEncodedValueLens = <A, I, R, TER, TEW, TRR, TRW>(
): Lens.Lens<I, never, never, never, never> => Lens.make({ ): Lens.Lens<I, never, never, never, never> => Lens.make({
get get() { return self.internalEncodedValue.get }, get get() { return self.internalEncodedValue.get },
get changes() { return self.internalEncodedValue.changes }, get changes() { return self.internalEncodedValue.changes },
modify: f => self.internalEncodedValue.get.pipe( modify: f => self.internalEncodedValue.modify(
Effect.flatMap(f), encodedValue => Effect.map(
Effect.flatMap(([b, nextEncodedValue]) => Effect.as( f(encodedValue),
Effect.andThen( ([b, nextEncodedValue]) => [
Lens.set(self.internalEncodedValue, nextEncodedValue), [b, nextEncodedValue] as const,
self.synchronizeEncodedValue(nextEncodedValue), nextEncodedValue,
] as const
)
).pipe(
Effect.tap(([, nextEncodedValue]) =>
self.synchronizeEncodedValue(nextEncodedValue).pipe(
Effect.forkScoped,
Effect.provide(self.context),
)
), ),
b, Effect.map(([b]) => b),
)),
), ),
}) })