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
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)
|
|
}
|
|
}
|