diff --git a/packages/effect-fc/src/Lens.ts b/packages/effect-fc/src/Lens.ts index f7f98c6..1c1fb62 100644 --- a/packages/effect-fc/src/Lens.ts +++ b/packages/effect-fc/src/Lens.ts @@ -155,10 +155,17 @@ export const mapStructAt: { )) export const mapArrayAt: { + ( + self: Lens, + index: number, + ): Lens ( self: Lens, index: number, ): Lens + ( + index: number + ): (self: Lens) => Lens ( index: number ): (self: Lens) => Lens @@ -289,8 +296,8 @@ export const updateAndGetEffect: { Effect.gen(function*() { const ref = yield* SubscriptionRef.make({ - values: [13, 69, 1488] - }) + values: [13, 69, 1488] as readonly number[] + } as const) const myValueLens = ref.pipe( fromSubscriptionRef, @@ -298,6 +305,8 @@ Effect.gen(function*() { mapArrayAt(1), ) + const myValueLens2 = mapArrayAt(mapStructAt(fromSubscriptionRef(ref), "values"), 1) + console.log(yield* ref.get, yield* myValueLens.get) yield* set(myValueLens, 22) console.log(yield* ref.get, yield* myValueLens.get)