Object/Trait

higherkindness.skeuomorph.mu.comparison

Comparison

Related Docs: trait Comparison | package comparison

Permalink

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. All

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

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink

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

  5. type CompatibleDelta[T] = Map[Path, List[Transformation[T]]]

    Permalink
  6. type Context[T] = (Path, Option[T], Option[T])

    Permalink

    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

    Permalink

    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

    Permalink

    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]

    Permalink

    Function for result enrichment

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

    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. object Match

    Permalink
  5. object Result

    Permalink
  6. def apply[T](writer: T, reader: T)(implicit ev: Basis[MuF, T], F: Functor[[β$0$]Comparison[T, β$0$]]): Result[T]

    Permalink

    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 qq.droste.Basis over higherkindness.skeuomorph.mu.MuF

  7. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. implicit def comparisonCatsFunctor[T]: Functor[[β$1$]Comparison[T, β$1$]]

    Permalink
    Definition Classes
    ComparisonInstances
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ComparisonInstances

Inherited from AnyRef

Inherited from Any

Ungrouped