Packages

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.

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. export
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

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

  2. type DerivedEncoder[E, D, T] = Exported[Encoder[E, D, T]]

    Encoder instance that should only be used when no specific one is found.

  3. final case class Exported[A](value: A) extends AnyVal with Product with Serializable

    Wraps derived type class instances.

Value Members

  1. object DerivedDecoder

    Provides construction methods for kantan.codecs.export.DerivedDecoder.

  2. object DerivedEncoder

    Provides construction methods for kantan.codecs.export.DerivedEncoder.

Inherited from AnyRef

Inherited from Any

Ungrouped