case class NamedOp[A](input: RxOps[A], name: String) extends UnaryRx[A, A] with Product with Serializable
- Alphabetic
- By Inheritance
- NamedOp
- Serializable
- Serializable
- Product
- Equals
- UnaryRx
- Rx
- RxOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
andThen[B](f: (A) ⇒ Future[B])(implicit ex: ExecutionContext): Rx[B]
Combine Rx stream and Future operators.
Combine Rx stream and Future operators.
This method is useful when you need to call RPC multiple times and chain the next operation after receiving the response.
Rx.intervalMillis(1000) .andThen { i => callRpc(...) } // Returns Future .map { (rpcReturnValue) => ... } // Use the Future response
- Definition Classes
- Rx
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
await: A
Await the completion of the first Rx result.
Await the completion of the first Rx result. This method is available only in Scala JVM.
Note: Generally speaking, blocking operations should be avoided in reactive programming. Use this method only for testing purpose. Both airframe-http and AirSpec supports evaluating Rx[X] result (async) in a non-blocking way.
- returns
the result
- Definition Classes
- RxOps
-
def
cache[A1 >: A]: RxCache[A1]
Cache the last item, and emit the cached value if available.
Cache the last item, and emit the cached value if available.
The cached value will be preserved to the operator itself even after cancelling the subscription. Re-subscription of this operator will immediately return the cached value to the downstream operator.
This operator is useful if we need to involve time-consuming process, and want to reuse the last result:
val v = Rx.intervalMillis(1000).map(i => (heavy process)).cache v.map { x => ... }
- Definition Classes
- Rx
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
def
concat[A1 >: A](other: Rx[A1]): Rx[A1]
- Definition Classes
- Rx
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
filter(f: (A) ⇒ Boolean): Rx[A]
Applies the given filter and emit the value only when the filter condition matches
Applies the given filter and emit the value only when the filter condition matches
- Definition Classes
- Rx
-
def
flatMap[B](f: (A) ⇒ RxOps[B]): Rx[B]
Applies
f
to the input value that produces another Rx stream.Applies
f
to the input value that produces another Rx stream.- Definition Classes
- Rx
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- val input: RxOps[A]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
join[B, C, D, E](b: RxOps[B], c: RxOps[C], d: RxOps[D], e: RxOps[E]): Rx[(A, B, C, D, E)]
Emit a new output if one of Rx[A], Rx[B], Rx[C], Rx[D], or Rx[E] is changed.
Emit a new output if one of Rx[A], Rx[B], Rx[C], Rx[D], or Rx[E] is changed.
- Definition Classes
- Rx
-
def
join[B, C, D](b: RxOps[B], c: RxOps[C], d: RxOps[D]): Rx[(A, B, C, D)]
Emit a new output if one of Rx[A], Rx[B], Rx[C], or Rx[D] is changed.
Emit a new output if one of Rx[A], Rx[B], Rx[C], or Rx[D] is changed.
- Definition Classes
- Rx
-
def
join[B, C](b: RxOps[B], c: RxOps[C]): Rx[(A, B, C)]
Emit a new output if one of Rx[A], Rx[B], or Rx[C] is changed.
Emit a new output if one of Rx[A], Rx[B], or Rx[C] is changed.
- Definition Classes
- Rx
-
def
join[B](other: RxOps[B]): Rx[(A, B)]
Emit a new output if one of Rx[A] or Rx[B] is changed.
Emit a new output if one of Rx[A] or Rx[B] is changed.
This method is useful when you need to monitor multiple Rx objects.
Using joins will be more intuitive than nesting multiple Rx operators like Rx[A].map { x => ... Rx[B].map { ...} }.
- Definition Classes
- Rx
-
def
lastOption: RxOption[A]
- Definition Classes
- Rx
-
def
map[B](f: (A) ⇒ B): Rx[B]
Applies
f
to the input value and return the result.Applies
f
to the input value and return the result.- Definition Classes
- Rx
-
def
mapToRx[B](f: (A) ⇒ RxOps[B]): Rx[B]
Applies
f
to the input value that produces another Rx stream.Applies
f
to the input value that produces another Rx stream. This method is an alias of flatMap(f)- Definition Classes
- Rx
- val name: String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def parents: Seq[RxOps[_]]
-
def
recover[U](f: PartialFunction[Throwable, U]): Rx[U]
Recover from a known error and emit a replacement value
Recover from a known error and emit a replacement value
- Definition Classes
- RxOps
-
def
recoverWith[A](f: PartialFunction[Throwable, RxOps[A]]): Rx[A]
Recover from a known error and emit replacement values from a given Rx
Recover from a known error and emit replacement values from a given Rx
- Definition Classes
- RxOps
-
def
run[U](effect: (A) ⇒ U): Cancelable
Evaluate this Rx[A] and apply the given effect function.
Evaluate this Rx[A] and apply the given effect function. Once OnError(e) or OnCompletion is observed, it will stop the evaluation.
- Definition Classes
- RxOps
-
def
runContinuously[U](effect: (A) ⇒ U): Cancelable
Keep evaluating Rx[A] even if OnError(e) or OnCompletion is reported.
Keep evaluating Rx[A] even if OnError(e) or OnCompletion is reported. This is useful for keep processing streams.
- Definition Classes
- RxOps
-
def
sample(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): Rx[A]
Emit the most recent item of the source within periodic time intervals.
Emit the most recent item of the source within periodic time intervals.
- Definition Classes
- Rx
-
def
startWith[A1 >: A](lst: Seq[A1]): Rx[A1]
Emit the given items first before returning the items from the source.
Emit the given items first before returning the items from the source.
- Definition Classes
- Rx
-
def
startWith[A1 >: A](a: A1): Rx[A1]
Emit the given item first before returning the items from the source.
Emit the given item first before returning the items from the source.
- Definition Classes
- Rx
-
def
subscribe[U](subscriber: (A) ⇒ U): Cancelable
- Definition Classes
- RxOps
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
take(n: Long): Rx[A]
Take an event up to n elements.
Take an event up to n elements. This may receive fewer events than n if the upstream operator completes before generating n elements.
- Definition Classes
- Rx
-
def
tap(f: (A) ⇒ Unit): Rx[A]
Applies
f
to the value for having a side effect, and return the original value. -
def
tapOn(f: PartialFunction[Try[A], Unit]): Rx[A]
Applies
f
to the value for having a side effect, and return the original value.Applies
f
to the value for having a side effect, and return the original value.This method is useful for debugging Rx chains. For example:
rx.tapOn { case Success(v) => debug(s"received ${v}") case Failure(e) => error(s"request failed", e) }
- f
partial function for the side effect
- returns
the original Rx event
- Definition Classes
- RxOps
-
def
tapOnFailure(f: (Throwable) ⇒ Unit): Rx[A]
Applies
f
to the error if it happens, and return the original value.Applies
f
to the error if it happens, and return the original value.This method is useful for logging the error.
- f
side-effect function used when observing an error
- returns
the original Rx event
- Definition Classes
- RxOps
-
def
throttleFirst(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): Rx[A]
Emit the first item of the source within each sampling period.
Emit the first item of the source within each sampling period. For example, this is useful to prevent double-clicks of buttons.
- Definition Classes
- Rx
-
def
throttleLast(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): Rx[A]
Emit the most recent item of the source within periodic time intervals.
Emit the most recent item of the source within periodic time intervals.
- Definition Classes
- Rx
-
def
toOption[X, A1 >: A](implicit ev: <:<[A1, Option[X]]): RxOption[X]
- Definition Classes
- Rx
- def toRx: Rx[A]
-
def
toSeq: Seq[A]
Materialize the stream as Seq[A].
Materialize the stream as Seq[A]. This works only for the finite stream and for Scala JVM.
- Definition Classes
- Rx
-
def
toString(): String
- Definition Classes
- NamedOp → AnyRef → Any
-
def
transform[B](f: (Try[A]) ⇒ B): Rx[B]
Transform a Success(v) or Failure(Throwable) input with a given function.
Transform a Success(v) or Failure(Throwable) input with a given function.
- Definition Classes
- Rx
-
def
transformFailure(f: PartialFunction[Throwable, Throwable]): Rx[A]
Transform a specific type of an exception into another exception.
Transform a specific type of an exception into another exception. This is useful for handling exceptions.
- Definition Classes
- Rx
-
def
transformRx[B](f: (Try[A]) ⇒ RxOps[B]): Rx[B]
Transform the input value by wrapping it with Try regardless of success or failure.
Transform the input value by wrapping it with Try regardless of success or failure. This is useful when you need to handle both success and failure cases in the same way.
- Definition Classes
- Rx
-
def
transformTry[B](f: (Try[A]) ⇒ Try[B]): Rx[B]
Transform the input value by wrapping it with Try regardless of success or failure.
Transform the input value by wrapping it with Try regardless of success or failure. This is useful when you need to add a post-processing step after handling success and failure cases.
- Definition Classes
- Rx
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
when(cond: (A) ⇒ Boolean): Rx[A]
An alias of filter
An alias of filter
- Definition Classes
- Rx
-
def
withFilter(f: (A) ⇒ Boolean): Rx[A]
An alias of filter
An alias of filter
- Definition Classes
- Rx
-
def
withName(name: String): Rx[A]
- Definition Classes
- Rx
-
def
zip[B, C, D, E](b: RxOps[B], c: RxOps[C], d: RxOps[D], e: RxOps[E]): Rx[(A, B, C, D, E)]
Combine five Rx streams to form a sequence of quintuples.
Combine five Rx streams to form a sequence of quintuples. This will emit a new quintuple when all of the streams are updated.
- Definition Classes
- Rx
-
def
zip[B, C, D](b: RxOps[B], c: RxOps[C], d: RxOps[D]): Rx[(A, B, C, D)]
Combine four Rx streams to form a sequence of quadruples.
Combine four Rx streams to form a sequence of quadruples. This will emit a new quadruple when all of the streams are updated.
- Definition Classes
- Rx
-
def
zip[B, C](b: RxOps[B], c: RxOps[C]): Rx[(A, B, C)]
Combine three Rx streams to form a sequence of triples.
Combine three Rx streams to form a sequence of triples. This will emit a new triple when all of the streams are updated.
- Definition Classes
- Rx
-
def
zip[B](other: RxOps[B]): Rx[(A, B)]
Combine two Rx streams to form a sequence of pairs.
Combine two Rx streams to form a sequence of pairs. This will emit a new pair when both of the streams are updated.
- Definition Classes
- Rx
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated