@@ -82,24 +82,5 @@ extension [F[_], A](signal: Signal[F, A])
8282 def get = signal.get
8383
8484extension [F [_], A ](sigRef : SignallingRef [F , A ])
85- def zoom [B <: AnyRef ](lens : Lens [A , B ])(using Sync [F ]): SignallingRef [F , B ] =
86- val ref = Ref .lens[F , A , B ](sigRef)(lens.get(_), a => b => lens.replace(b)(a))
87- new :
88- def access = ref.access
89- def modify [C ](f : B => (B , C )) = ref.modify(f)
90- def modifyState [C ](state : State [B , C ]) = ref.modifyState(state)
91- def tryModify [C ](f : B => (B , C )) = ref.tryModify(f)
92- def tryModifyState [C ](state : State [B , C ]) = ref.tryModifyState(state)
93- def tryUpdate (f : B => B ) = ref.tryUpdate(f)
94- def update (f : B => B ) = ref.update(f)
95- def set (b : B ) = ref.set(b)
96- def get = ref.get
97- def continuous = sigRef.map(lens.get).continuous
98- def discrete = sigRef.map(lens.get).discrete
99-
100- extension [F [_], A , B ](pipe : Pipe [F , A , B ])
101- def channel (using F : Concurrent [F ]): Resource [F , Channel [F , A ]] =
102- for
103- ch <- Channel .unbounded[F , A ].toResource
104- _ <- ch.stream.through(pipe).compile.drain.background
105- yield ch
85+ def zoom [B ](lens : Lens [A , B ])(using Functor [F ]): SignallingRef [F , B ] =
86+ SignallingRef .lens[F , A , B ](sigRef)(lens.get(_), a => b => lens.replace(b)(a))
0 commit comments