This implicit function will gather all the evidence types that are needed to be
able to generate an instance of PropertyInfo[T]
.
This implicit function will gather all the evidence types that are needed to be
able to generate an instance of PropertyInfo[T]
.
The type in our program that we want to work with
The Shapeless representation of T
. lgen
can translate between T
and R
. Because
we're using a LabelledGeneric
, R
will be a record type, mapping from the name of
a property to it's type.
An HList of the types of the keys in the LabelledGeneric
record type
An HList of the types of the values in the LabelledGeneric
record type
A LabelledGeneric
for the type T
. Shapeless generates this for us
the collection of keys in R
An HList of the values in R
An instance of a type class that lets us fold over the types in V
Evidence that we can convert the HList
of keys (K
) to an ordinary List
of scala Symbol
s
An instance of the PropertyInfo
type class for the type T
A generic builder of
PropertyInfo
instances for types that are record-like enough that Shapeless can generate aLabelledGeneric
for them.Extend this trait or import
PropertyInfoGen._
(from the object defined below) to get bring implicit generator into scope.