ShapeMigration

org.hungerford.generic.schema.utilities.ShapeMigration$
See theShapeMigration companion trait

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Types

type Aux[A, AS, OuterA, B, BS, OuterB] = ShapeMigration[A, OuterA, B, OuterB] { type AShape = AS; type BShape = BS; }

Givens

Givens

given componentMigration[T1, C1 <: Tpe[T1], Outer1, T2, C2 <: Tpe[T2], Outer2, S1, S2](using ws1: Aux[C1, Outer1, T1, S1], ws2: Aux[C2, Outer2, T2, S2], sm: Aux[T1, S1, Outer1, T2, S2, Outer2]): componentMigration[T1, C1, Outer1, T2, C2, Outer2, S1, S2]
given coproductMigration[A, OA, AR <: Tuple, ARV <: Tuple, AD, ADN, B, OB, BR <: Tuple, BRV <: Tuple, BD, BDN, BRVFixed <: Tuple, BRFixed <: Tuple](using stAlignFilter: Aux[Backward, BRV, BR, OB, ARV, AR, OA, BRVFixed, BRFixed], subtypesIso: Aux[A, AR, OA, B, BRFixed, OB]): coproductMigration[A, OA, AR, ARV, AD, ADN, B, OB, BR, BRV, BD, BDN, BRVFixed, BRFixed]
given identityMigration[A, AS, OuterA, OuterB]: identityMigration[A, AS, OuterA, OuterB]
given nonEmptyFieldsTupleIso[AHead, OA, ATail <: Tuple, BHead, BTail <: Tuple, ARHead, ARTail <: Tuple, BRHead, OB, BRTail <: Tuple](using headIso: => Aux[AHead, ARHead, OA, BHead, BRHead, OB], tailIso: => Aux[ATail, ARTail, OA, BTail, BRTail, OB]): nonEmptyFieldsTupleIso[AHead, OA, ATail, BHead, BTail, ARHead, ARTail, BRHead, OB, BRTail]
given primitiveConversionMigration[A, OuterA, B, OuterB](using conv: PrimitiveMigration[A, B]): primitiveConversionMigration[A, OuterA, B, OuterB]
given productMigration[A, OA, ARV <: Tuple, AR <: Tuple, AAF, AAFS, AAFE, AC, ARVFixed <: Tuple, ARFixed <: Tuple, B, OB, BR <: Tuple, BRV <: Tuple, BAF, BAFS, BAFE, BC](using fieldsAlignFilter: Aux[Forward, ARV, AR, OA, BRV, BR, OB, ARVFixed, ARFixed], fieldsIso: Aux[ARVFixed, ARFixed, OA, BRV, BR, OB], ad: Aux[A, (AAFE, AR), (Map[String, AAF], ARV)], bc: ProductConstructor[BC, BRV, BAF, B], afIso: Aux[AAF, AAFS, OA, BAF, BAFS, OB]): productMigration[A, OA, ARV, AR, AAF, AAFS, AAFE, AC, ARVFixed, ARFixed, B, OB, BR, BRV, BAF, BAFS, BAFE, BC]
given productMigrationNoAF[A, OA, AR <: Tuple, ARV <: Tuple, AC, ARVFixed <: Tuple, ARFixed <: Tuple, B, OB, BR <: Tuple, BRV <: Tuple, BC](using fieldsAlignFilter: Aux[Forward, ARV, AR, OA, BRV, BR, OB, ARVFixed, ARFixed], fieldsIso: Aux[ARVFixed, ARFixed, OA, BRV, BR, OB], ad: Aux[A, (Unit, AR), ARV], bc: ProductConstructor[BC, BRV, Nothing, B]): productMigrationNoAF[A, OA, AR, ARV, AC, ARVFixed, ARFixed, B, OB, BR, BRV, BC]
given singletonMigration[A <: Singleton, OA, B <: Singleton, OB, AN <: TypeName, BN <: TypeName]: singletonMigration[A, OA, B, OB, AN, BN]