0.2.0 #5

Merged
Thilawyn merged 59 commits from next into master 2026-05-30 06:10:54 +02:00
Showing only changes of commit 7ed5135aa6 - Show all commits
+25
View File
@@ -233,6 +233,31 @@ describe("Lens", () => {
expect(result.count).toBe(iterations) expect(result.count).toBe(iterations)
}) })
test("unwrap delegates reads, writes, and locking to the inner lens", async () => {
const iterations = 100
const result = await Effect.runPromise(Effect.flatMap(
SubscriptionRef.make(0),
parent => {
const lens = Lens.unwrap(Effect.succeed(Lens.fromSubscriptionRef(parent)))
return Effect.flatMap(
Effect.forEach(
Array.from({ length: iterations }),
() => Lens.updateEffect(
lens,
count => Effect.as(Effect.yieldNow(), count + 1),
),
{ concurrency: "unbounded", discard: true },
),
() => Effect.all([Lens.get(lens), parent.get] as const),
)
},
))
expect(result).toEqual([iterations, iterations])
})
test("focusObjectOn focuses a nested property without touching other fields", async () => { test("focusObjectOn focuses a nested property without touching other fields", async () => {
const [initialCount, updatedState] = await Effect.runPromise( const [initialCount, updatedState] = await Effect.runPromise(
Effect.flatMap( Effect.flatMap(