From 019e9518d222761c3c29c6327d57da7e632a3cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 22 May 2026 02:54:20 +0200 Subject: [PATCH] Refactor --- packages/effect-lens/src/Lens.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/effect-lens/src/Lens.ts b/packages/effect-lens/src/Lens.ts index bfda515..5a1e02c 100644 --- a/packages/effect-lens/src/Lens.ts +++ b/packages/effect-lens/src/Lens.ts @@ -91,17 +91,15 @@ extends Pipeable.Class() implements Lens { get get(): Effect.Effect { let effect: Effect.Effect = this.sourceGet - for (const step of this.steps) { + for (const step of this.steps) effect = step.transform(effect as never) - } return effect as Effect.Effect } get changes(): Stream.Stream { let stream: Stream.Stream = this.sourceChanges - for (const step of this.steps) { + for (const step of this.steps) stream = step.transformStream(stream as never) - } return stream as Stream.Stream } @@ -114,12 +112,11 @@ extends Pipeable.Class() implements Lens { const parents: unknown[] = [] let current: Effect.Effect = Effect.succeed(source) - for (const step of this.steps) { + for (const step of this.steps) current = Effect.flatMap(current, parent => { parents.push(parent) return step.transform(Effect.succeed(parent) as never) }) - } return Effect.flatMap(current, a => Effect.flatMap( f(a as A), @@ -127,7 +124,9 @@ extends Pipeable.Class() implements Lens { let rebuilt: Effect.Effect = Effect.succeed(next) for (let i = this.steps.length - 1; i >= 0; i--) { + // biome-ignore lint/style/noNonNullAssertion: won't throw const step = this.steps[i]! + // biome-ignore lint/style/noNonNullAssertion: won't throw const parent = parents[i]! rebuilt = step.update(rebuilt as never, parent as never) }