You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
1.1 KiB

package outwatchapp
import colibri.Sink
import nova.monadic_sfx.util.reactive.store.MonixProSubject
import cats.effect.Sync
import colibri.CreateProSubject
import colibri.Source
import colibri.LiftSink
import monix.reactive.Observer
import colibri.LiftSource
import monix.reactive.Observable
import colibri.ext.monix._
import monix.execution.Scheduler
import monix.execution.Ack
package object implicits {
// implicit def sinkForMyMonixProSub[A, M] =
// new Sink[MonixProSubject[A, M]] {}\
// implicit val monixCreateProSubject = new CreateProSubject[MonixProSubject] {
// @inline def from[SI[_]: Sink, SO[_]: Source, I, O](
// sink: SI[I],
// source: SO[O]
// ): MonixProSubject[I, O] = MonixProSubject.from(
// LiftSink[Observer].lift(sink),
// LiftSource[Observable].lift(source)
// )
// }
implicit class Ops[A](val sink: Observer[A]) {
@inline def liftSink[G[_]: LiftSink]: G[A] = LiftSink[G].lift(sink)
}
implicit class Ops2[A](val source: Observable[A])(implicit s: Scheduler) {
@inline def liftSource[G[_]: LiftSource]: G[A] = LiftSource[G].lift(source)
}
}