Class

mhtml.Rx

Sharing

Related Doc: package Rx

Permalink

final case class Sharing[A](self: Rx[A]) extends Rx[A] with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, Rx[A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Sharing
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Rx
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Sharing(self: Rx[A])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def collect[B](f: PartialFunction[A, B])(b: B): Rx[B]

    Permalink

    Returns a new Rx with updates where f is defined and mapped by f.

    Returns a new Rx with updates where f is defined and mapped by f. If the first update is dropped, the default value is used instead.

    Definition Classes
    Rx
  7. def dropIf[B >: A](f: (B) ⇒ Boolean)(b: B): Rx[B]

    Permalink

    Returns a new Rx without updates fulfilling a predicate.

    Returns a new Rx without updates fulfilling a predicate. If the first update is dropped, the default value is used instead.

    val numbers: Rx[Int] val even: Rx[Int] = numbers.dropIf(_ % 2 == 0)(-1) // numbers => 0 0 3 4 5 6 ... // even => -1 3 5 ...

    Definition Classes
    Rx
  8. def dropRepeats: Rx[A]

    Permalink

    Drop repeated value of this Rx.

    Drop repeated value of this Rx.

    val numbers: Rx[Int] val noDups: Rx[Int] = numbers.dropRepeats // numbers => 0 0 3 3 5 5 5 4 ... // noDups => 0 3 5 4 ...

    Note: This could also be implemented in terms of keepIf, map, and foldp.

    Definition Classes
    Rx
  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def flatMap[B](f: (A) ⇒ Rx[B]): Rx[B]

    Permalink

    Dynamically switch between different Rxs according to the given function, applied on each element of this Rx.

    Dynamically switch between different Rxs according to the given function, applied on each element of this Rx. Each switch will cancel the subscriptions for the previous outgoing Rx and start a new subscription on the next Rx.

    Together with Rx#map and Rx.apply, flatMap forms a Monad. [Proof](https://github.com/OlivierBlanvillain/monadic-html/blob/master/monadic-rx-cats/src/main/scala/mhtml/cats.scala).

    Definition Classes
    Rx
  12. def foldp[B](seed: B)(step: (B, A) ⇒ B): Rx[B]

    Permalink

    Produces a Rx containing cumulative results of applying a binary operator to each element of this Rx, starting from a seed and the current value of the upstream Rx, and moving forward in time; no internal state is maintained.

    Produces a Rx containing cumulative results of applying a binary operator to each element of this Rx, starting from a seed and the current value of the upstream Rx, and moving forward in time; no internal state is maintained.

    val numbers: Rx[Int] val folded: Rx[Int] = numbers.foldp(0)(_ + _) // numbers => 1 2 1 1 3 ... // folded => 1 3 4 5 8 ...

    Definition Classes
    Rx
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. val impure: RxImpureOps[A]

    Permalink
    Definition Classes
    Rx
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def isSharing: Boolean

    Permalink
    Attributes
    protected[mhtml.Rx]
  17. def keepIf[B >: A](f: (B) ⇒ Boolean)(b: B): Rx[B]

    Permalink

    Returns a new Rx with updates fulfilling a predicate.

    Returns a new Rx with updates fulfilling a predicate. If the first update is dropped, the default value is used instead.

    val numbers: Rx[Int] val even: Rx[Int] = numbers.keepIf(_ % 2 == 0)(-1) // numbers => 0 0 3 4 5 6 ... // even => 0 0 4 6 ...

    Definition Classes
    Rx
  18. def map[B](f: (A) ⇒ B): Rx[B]

    Permalink

    Apply a function to each element of this Rx.

    Apply a function to each element of this Rx.

    val numbers: Rx[Int] val doubles: Rx[Int] = numbers.map(2.*) // numbers => 0 1 4 3 2 ... // doubles => 0 2 8 6 4 ...

    Definition Classes
    Rx
  19. def merge[B >: A](other: Rx[B]): Rx[B]

    Permalink

    Merge two Rx into one.

    Merge two Rx into one. Updates coming from either of the incoming Rx trigger updates in the outgoing Rx. Upon creation, the outgoing Rx first receives the current value from this Rx, then from the other Rx.

    val r1: Rx[Int] val r2: Rx[Int] val merged: Rx[Int] = r1.merge(r2) // r1 => 0 8 3 ... // r2 => 1 4 3 ... // merged => 0 8 4 3 3 ...

    With this operation, Rx forms a Semigroup. [Proof](https://github.com/OlivierBlanvillain/monadic-html/blob/master/monadic-rx-cats/src/main/scala/mhtml/cats.scala). |+| syntax is available via the monadic-rx-cats package.

    Definition Classes
    Rx
  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. def sampleOn[B](other: Rx[B]): Rx[A]

    Permalink

    Sample this Rx using another Rx: every time an event occurs on the second Rx the output updates with the latest value of this Rx.

    Sample this Rx using another Rx: every time an event occurs on the second Rx the output updates with the latest value of this Rx.

    val r1: Rx[Char] val r2: Rx[Int] val sp: Rx[Int] = r2.sampleOn(r1) // r1 => u u u u ... // r2 => 1 2 3 4 ... // sp => 1 3 3 4 ...

    Definition Classes
    Rx
  24. val self: Rx[A]

    Permalink
  25. var sharingCancelable: Cancelable

    Permalink
    Attributes
    protected[mhtml.Rx]
  26. val sharingMemo: Var[Any]

    Permalink
    Attributes
    protected[mhtml.Rx]
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def zip[B](other: Rx[B]): Rx[(A, B)]

    Permalink

    Create the Cartesian product of two Rx.

    Create the Cartesian product of two Rx. The output tuple contains the latest values from each input Rx, which updates whenever the value from either input Rx update. This method is faster than combining Rxs using for { a <- ra; b <- rb } yield (a, b).

    // r1 => 0 8 9 ... // r2 => 1 4 5 6 ... // zip => (0,1) (8,1) (8,4) (8,5) (8,6) (9,6) ...

    This method, together with Rx.apply, forms am Applicative. |@| syntax is available via the monadic-rx-cats package.

    Definition Classes
    Rx

Deprecated Value Members

  1. def product[B](other: Rx[B]): Rx[(A, B)]

    Permalink
    Definition Classes
    Rx
    Annotations
    @deprecated
    Deprecated

    (Since version 0.3.3) Renamed to zip

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Rx[A]

Inherited from AnyRef

Inherited from Any

Ungrouped