Packages

object Comparison extends ComparisonInstances

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Comparison
  2. ComparisonInstances
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class AlignUnionMembers[T, A](attempts: Map[Path, List[A]], reporter: Reporter[T] = Reporter.id[T]) extends Comparison[T, A] with Product with Serializable

    Perform lists of recursive comparisons indexed by paths, then select the first positive result for each entry (or a mismatch if none) then combine results of all entries and enrich it.

  2. final case class Compare[T, A](a: A, reporter: Reporter[T] = Reporter.id[T]) extends Comparison[T, A] with Product with Serializable

    Perform a single recursive comparison and enrich its result

  3. final case class CompareBoth[T, A](x: A, y: A) extends Comparison[T, A] with Product with Serializable

    Perform two recursive comparisons and combine their results

  4. final case class CompareList[T, A](items: List[A], reporter: Reporter[T] = Reporter.id[T]) extends Comparison[T, A] with Product with Serializable

    Perform a list of recursive comparisons, combine and then enrich their results

  5. type CompatibleDelta[T] = Map[Path, List[Transformation[T]]]
  6. type Context[T] = (Path, Option[T], Option[T])

    The schemas being compared at a given path of the current comparison

  7. final case class End[T, A](result: Result[T]) extends Comparison[T, A] with Product with Serializable

    Early result: there is nothing left to compare

  8. final case class MatchInList[T, A](attempts: Vector[A], reporter: Reporter[T] = Reporter.id[T]) extends Comparison[T, A] with Product with Serializable

    Perform a list of recursive comparisons but return the first positive result (or a mismatch if none), enriched

  9. type Reporter[T] = (Result[T]) => Result[T]

    Function for result enrichment

  10. type Result[T] = (CompatibleDelta[T], List[Incompatibility])

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 apply[T](writer: T, reader: T)(implicit ev: Basis[MuF, T], F: Functor[[β$0$]Comparison[T, β$0$]]): Result[T]

    Performs the comparison of two schemas

    Performs the comparison of two schemas

    Compares two schemas to verify that messages written using the writer schema are compatible with the reader schema. Both schemas' roots are shallowly compared to unfold a Comparison[T, *], to compare their children or to signal a result. Comparison branches are then folded back by combining their results.

    WARNING: The current implementation does a lot of "useless" comparisons when it comes to compare coproducts. This is due to the structure of hylo: when we want to align something with a coproduct, we test all the possible combinations algthough we're only interested in finding the first successful one.

    T

    the concrete schema type, must be a higherkindness.droste.Basis over higherkindness.skeuomorph.mu.MuF

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. implicit def comparisonCatsFunctor[T]: Functor[[β$1$]Comparison[T, β$1$]]
    Definition Classes
    ComparisonInstances
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. object Match
  22. object Result

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from ComparisonInstances

Inherited from AnyRef

Inherited from Any

Ungrouped