package export
Provides a simple mechanism to insert derived type class instances in the implicit resolution mechanism.
By default, when imported, such instances have the highest possible priority, which is typically problematic
with shapeless instance derivation: bespoke instances for Option or Either, for example, find themselves
shadowed by the generically derived ones.
If such instances are of type kantan.codecs.export.DerivedDecoder / kantan.codecs.export.DerivedEncoder rather than Decoder / Encoder, however, they'll find themselves with a lower precedence and only be used if no other, more specific instance is found.
- Alphabetic
- By Inheritance
- export
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
DerivedDecoder[E, D, F, T] = Exported[Decoder[E, D, F, T]]
Decoder instance that should only be used when no specific one is found.
-
type
DerivedEncoder[E, D, T] = Exported[Encoder[E, D, T]]
Encoder instance that should only be used when no specific one is found.
-
final
case class
Exported[A](value: A) extends AnyVal with Product with Serializable
Wraps derived type class instances.
Value Members
-
object
DerivedDecoder
Provides construction methods for kantan.codecs.export.DerivedDecoder.
-
object
DerivedEncoder
Provides construction methods for kantan.codecs.export.DerivedEncoder.