object Reusability extends ReusabilityMacros with ScalaVersionSpecificReusability

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Reusability
  2. ScalaVersionSpecificReusability
  3. ReusabilityMacros
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class ShouldComponentUpdateResult[P, S, B](self: ShouldComponentUpdate[P, S, B])(implicit evidence$266: Reusability[P], evidence$267: Reusability[S]) extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def always[A]: Reusability[A]
  5. def apply[A](f: (A, A) => Boolean): Reusability[A]
    Annotations
    @inline()
  6. implicit def arraySeq[A](implicit arg0: Reusability[A]): Reusability[ArraySeq[A]]
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. implicit def bigInt: Reusability[BigInt]
    Annotations
    @inline()
  9. implicit def bigInteger: Reusability[BigInteger]
    Annotations
    @inline()
  10. implicit def boolean: Reusability[Boolean]
    Annotations
    @inline()
  11. implicit def box[A](implicit arg0: Reusability[A]): Reusability[Box[A]]
  12. def by[A, B](f: (A) => B)(implicit r: Reusability[B]): Reusability[A]
  13. def byIterator[I[X] <: Iterable[X], A](implicit arg0: Reusability[A]): Reusability[I[A]]
  14. def byJavaDuration[A](dur: (A, A) => Duration, tolerance: Duration): Reusability[A]
  15. def byRef[A <: AnyRef]: Reusability[A]

    Compare by reference.

    Compare by reference. Reuse if both values are the same instance.

  16. def byRefOr_==[A <: AnyRef]: Reusability[A]

    Compare by reference and if different, compare using universal equality (Scala's == operator).

  17. def byScalaDuration[A](dur: (A, A) => Duration, tolerance: Duration): Reusability[A]
  18. def by_==[A]: Reusability[A]

    Compare using universal equality (Scala's == operator).

  19. implicit def byte: Reusability[Byte]
    Annotations
    @inline()
  20. macro def caseClassExcept[A](field1: String, fieldN: String*): Reusability[A]

    Generate an instance for a case class by comparing each case field except those specified.

    Generate an instance for a case class by comparing each case field except those specified.

    Example: case class Picture(id: Long, url: String, title: String)

    implicit val picReuse = Reusability.caseClassExcept[Picture]("url", "title")

    A

    The case class type.

    Definition Classes
    ReusabilityMacros
  21. macro def caseClassExceptDebug[A](logNonReuse: Boolean, logCode: Boolean)(field1: String, fieldN: String*): Reusability[A]

    Same as caseClassExcept but with debugging options.

    Same as caseClassExcept but with debugging options.

    logNonReuse

    Log to the console when and why non-reusable values are detected

    logCode

    Log to generated Scala code to the screen on compilation.

    Definition Classes
    ReusabilityMacros
  22. macro def caseClassExceptDebug[A](field1: String, fieldN: String*): Reusability[A]

    Same as caseClassExcept but with all debugging options enabled.

    Same as caseClassExcept but with all debugging options enabled.

    Definition Classes
    ReusabilityMacros
  23. implicit def char: Reusability[Char]
    Annotations
    @inline()
  24. implicit def clock: Reusability[Clock]
  25. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  26. def const[A](r: Boolean): Reusability[A]
  27. implicit def date: Reusability[Date]
    Annotations
    @inline()
  28. implicit def dayOfWeek: Reusability[DayOfWeek]
  29. def deadline(tolerance: Duration): Reusability[Deadline]
  30. macro def derive[A]: Reusability[A]

    Generate an instance for A.

    Generate an instance for A.

    If A is a sealed trait or sealed abstract class, Reusability is determined by sub-class reusability (which will be derived when it doesn't exist).

    If A is a case class, Reusability is determined by each field's Reusability.

    Definition Classes
    ReusabilityMacros
  31. macro def deriveDebug[A](logNonReuse: Boolean, logCode: Boolean): Reusability[A]

    Same as derive but with debugging options.

    Same as derive but with debugging options.

    logNonReuse

    Log to the console when and why non-reusable values are detected

    logCode

    Log to generated Scala code to the screen on compilation.

    Definition Classes
    ReusabilityMacros
  32. macro def deriveDebug[A]: Reusability[A]

    Same as derive but with all debugging options enabled.

    Same as derive but with all debugging options enabled.

    Definition Classes
    ReusabilityMacros
  33. final def disableGloballyInDev(): Unit

    When you're in dev-mode (i.e.

    When you're in dev-mode (i.e. fastOptJS), this globally disables Reusability.shouldComponentUpdate.

    Definition Classes
    ScalaVersionSpecificReusability
  34. def double(tolerance: Double): Reusability[Double]
  35. implicit def either[A, B](implicit arg0: Reusability[A], arg1: Reusability[B]): Reusability[Either[A, B]]
  36. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  38. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  39. def finiteDuration(tolerance: Duration): Reusability[FiniteDuration]
  40. def float(tolerance: Float): Reusability[Float]
  41. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  42. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. implicit def hooksUseRefF[F[_], A]: Reusability[UseRefF[F, A]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

  44. def indexedSeq[S[X] <: IndexedSeq[X], A](implicit arg0: Reusability[A]): Reusability[S[A]]
  45. def instant(tolerance: Duration): Reusability[Instant]
  46. implicit def int: Reusability[Int]
    Annotations
    @inline()
  47. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  48. def javaBigDecimal(tolerance: BigDecimal): Reusability[BigDecimal]
  49. def javaBigDecimal(tolerance: Double): Reusability[BigDecimal]
  50. def javaDuration(tolerance: Duration): Reusability[Duration]
  51. implicit def jsDate: Reusability[Date]
  52. implicit def list[A](implicit arg0: Reusability[A]): Reusability[List[A]]
  53. implicit def localDate: Reusability[LocalDate]
  54. def localDate(tolerance: Duration): Reusability[LocalDate]
  55. def localDateTime(tolerance: Duration): Reusability[LocalDateTime]
  56. implicit def long: Reusability[Long]
    Annotations
    @inline()
  57. def map[K, V](implicit rv: Reusability[V]): Reusability[Map[K, V]]

    This is not implicit because the point of Reusability is to be fast, where as full comparison of all keys and values in a map, is usually not desirable; in some cases it will probably even be faster just rerender and have React determine that nothing has changed.

    This is not implicit because the point of Reusability is to be fast, where as full comparison of all keys and values in a map, is usually not desirable; in some cases it will probably even be faster just rerender and have React determine that nothing has changed.

    Nonetheless, there are cases where a full comparison is desired and so use this as needed. Reusability[K] isn't needed because its existence in the map (and thus universal equality) is all that's necessary. Time is O(|m₁|+|m₂|).

  58. implicit def month: Reusability[Month]
  59. implicit def monthDay: Reusability[MonthDay]
  60. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  61. def never[A]: Reusability[A]
  62. implicit def nonEmptyRefFullF[F[_], I, A, O]: Reusability[FullF[F, I, A, O]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Any map/contramap functions installed in the ref are ignored for the sake of reusability. If this is undesirable, pass around a Reusable ref instead.

  63. implicit def nonEmptyRefHandleF[F[_], A]: Reusability[HandleF[F, A]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

  64. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  65. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  66. def offsetDateTime(tolerance: Duration): Reusability[OffsetDateTime]
  67. def offsetTime(tolerance: Duration): Reusability[OffsetTime]
  68. implicit def option[A](implicit arg0: Reusability[A]): Reusability[Option[A]]
    Annotations
    @inline()
  69. implicit def optionLike[O[_], A](implicit o: OptionLike[O], r: Reusability[A]): Reusability[O[A]]
  70. implicit def period: Reusability[Period]
  71. implicit def range: Reusability[Range]
  72. implicit def refFullF[F[_], I, A, O]: Reusability[FullF[F, I, A, O]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Any map/contramap functions installed in the ref are ignored for the sake of reusability. If this is undesirable, pass around a Reusable ref instead.

  73. implicit def refHandleF[F[_], A]: Reusability[HandleF[F, A]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

  74. implicit def refRaw[A]: Reusability[RefHandle[A]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Annotations
    @inline()
  75. implicit def refToComponentF[F[_], I, R, O, C]: Reusability[ToComponentF[F, I, R, O, C]]

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Updating a reference doesn't trigger a component re-rendering, nor is the current reference value considered for reusability.

    Any map/contramap functions installed in the ref are ignored for the sake of reusability. If this is undesirable, pass around a Reusable ref instead.

  76. def scalaBigDecimal(tolerance: BigDecimal): Reusability[BigDecimal]
  77. def scalaDuration(tolerance: Duration): Reusability[Duration]
  78. implicit def set[A]: Reusability[Set[A]]
  79. implicit lazy val setIntervalHandle: Reusability[SetIntervalHandle]
  80. implicit lazy val setTimeoutHandle: Reusability[SetTimeoutHandle]
  81. implicit def short: Reusability[Short]
    Annotations
    @inline()
  82. final def shouldComponentUpdate[P, C <: Children, S, B, U <: UpdateSnapshot](implicit arg0: Reusability[P], arg1: Reusability[S]): Config[P, C, S, B, U, U]
    Definition Classes
    ScalaVersionSpecificReusability
    Annotations
    @inline()
  83. def shouldComponentUpdateAnd[G[_], P, C <: Children, S, B, U <: UpdateSnapshot](f: (ShouldComponentUpdateResult[P, S, B]) => G[Unit])(implicit arg0: Reusability[P], arg1: Reusability[S], G: Sync[G]): Config[P, C, S, B, U, U]
  84. def shouldComponentUpdateAndLog[P, C <: Children, S, B, U <: UpdateSnapshot](name: String)(implicit arg0: Reusability[P], arg1: Reusability[S]): Config[P, C, S, B, U, U]
  85. implicit def string: Reusability[String]
    Annotations
    @inline()
  86. def suspend[A](f: => Reusability[A]): Reusability[A]
  87. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  88. def toString(): String
    Definition Classes
    AnyRef → Any
  89. implicit def tuple10[A, B, C, D, E, F, G, H, I, J](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J]): Reusability[(A, B, C, D, E, F, G, H, I, J)]
  90. implicit def tuple11[A, B, C, D, E, F, G, H, I, J, K](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K]): Reusability[(A, B, C, D, E, F, G, H, I, J, K)]
  91. implicit def tuple12[A, B, C, D, E, F, G, H, I, J, K, L](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L)]
  92. implicit def tuple13[A, B, C, D, E, F, G, H, I, J, K, L, M](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M)]
  93. implicit def tuple14[A, B, C, D, E, F, G, H, I, J, K, L, M, N](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N)]
  94. implicit def tuple15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)]
  95. implicit def tuple16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)]
  96. implicit def tuple17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)]
  97. implicit def tuple18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q], arg17: Reusability[R]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)]
  98. implicit def tuple19[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q], arg17: Reusability[R], arg18: Reusability[S]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)]
  99. implicit def tuple2[A, B](implicit arg0: Reusability[A], arg1: Reusability[B]): Reusability[(A, B)]
  100. implicit def tuple20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q], arg17: Reusability[R], arg18: Reusability[S], arg19: Reusability[T]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)]
  101. implicit def tuple21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q], arg17: Reusability[R], arg18: Reusability[S], arg19: Reusability[T], arg20: Reusability[U]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)]
  102. implicit def tuple22[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I], arg9: Reusability[J], arg10: Reusability[K], arg11: Reusability[L], arg12: Reusability[M], arg13: Reusability[N], arg14: Reusability[O], arg15: Reusability[P], arg16: Reusability[Q], arg17: Reusability[R], arg18: Reusability[S], arg19: Reusability[T], arg20: Reusability[U], arg21: Reusability[V]): Reusability[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)]
  103. implicit def tuple3[A, B, C](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C]): Reusability[(A, B, C)]
  104. implicit def tuple4[A, B, C, D](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D]): Reusability[(A, B, C, D)]
  105. implicit def tuple5[A, B, C, D, E](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E]): Reusability[(A, B, C, D, E)]
  106. implicit def tuple6[A, B, C, D, E, F](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F]): Reusability[(A, B, C, D, E, F)]
  107. implicit def tuple7[A, B, C, D, E, F, G](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G]): Reusability[(A, B, C, D, E, F, G)]
  108. implicit def tuple8[A, B, C, D, E, F, G, H](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H]): Reusability[(A, B, C, D, E, F, G, H)]
  109. implicit def tuple9[A, B, C, D, E, F, G, H, I](implicit arg0: Reusability[A], arg1: Reusability[B], arg2: Reusability[C], arg3: Reusability[D], arg4: Reusability[E], arg5: Reusability[F], arg6: Reusability[G], arg7: Reusability[H], arg8: Reusability[I]): Reusability[(A, B, C, D, E, F, G, H, I)]
  110. implicit def unit: Reusability[Unit]
    Annotations
    @inline()
  111. def unless[A](f: (A) => Boolean): Reusability[A]

    Declare a type reusable when both values fail a given predicate.

  112. implicit def uuid: Reusability[UUID]
    Annotations
    @inline()
  113. implicit def vector[A](implicit arg0: Reusability[A]): Reusability[Vector[A]]
  114. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  115. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  116. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  117. def when[A](f: (A) => Boolean): Reusability[A]

    Declare a type reusable when both values pass a given predicate.

  118. implicit def year: Reusability[Year]
  119. implicit def yearMonth: Reusability[YearMonth]
  120. implicit def zoneId: Reusability[ZoneId]
  121. implicit def zoneOffset: Reusability[ZoneOffset]
  122. def zonedDateTime(tolerance: Duration): Reusability[ZonedDateTime]
  123. object DecimalImplicitsWithoutTolerance
  124. object MapImplicits
  125. object TemporalImplicitsWithoutTolerance

Deprecated Value Members

  1. def byName[A](f: => Reusability[A]): Reusability[A]
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) Use Reusability.suspend

Inherited from ReusabilityMacros

Inherited from AnyRef

Inherited from Any

Ungrouped