Packages

object GenCodec extends RecursiveAutoCodecs with TupleGenCodecs

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenCodec
  2. TupleGenCodecs
  3. RecursiveAutoCodecs
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class Deferred[T] extends DeferredInstance[GenCodec[T]] with GenCodec[T]
  2. trait ListCodec[T] extends NullSafeCodec[T]
  3. trait NullSafeCodec[T] extends GenCodec[T]
  4. trait OOOFieldsObjectCodec[T] extends ObjectCodec[T]
  5. trait ObjectCodec[T] extends GenObjectCodec[T] with NullSafeCodec[T]

    Convenience base class for GenCodecs that serialize values as objects.

    Convenience base class for GenCodecs that serialize values as objects. NOTE: if you need to implement a custom GenCodec that writes an object, the best way to do it is to have manually implemented apply and unapply in companion object or by using GenCodec.fromApplyUnapplyProvider.

  6. class ReadFailure extends RuntimeException
  7. trait SimpleCodec[T] extends NullSafeCodec[T]
  8. class SubclassCodec[T, S >: T] extends NullSafeCodec[T]
  9. final class Transformed[A, B] extends GenCodec[A]
  10. class WriteFailure extends RuntimeException

Value Members

  1. implicit lazy val BigDecimalCodec: GenCodec[BigDecimal]
  2. implicit lazy val BigIntCodec: GenCodec[BigInt]
  3. implicit lazy val BooleanCodec: GenCodec[Boolean]
  4. implicit lazy val ByteArrayCodec: GenCodec[Array[Byte]]
  5. implicit lazy val ByteCodec: GenCodec[Byte]
  6. implicit lazy val CharCodec: GenCodec[Char]
  7. final val DefaultCaseField: String("_case")
  8. implicit lazy val DoubleCodec: GenCodec[Double]
  9. implicit lazy val FloatCodec: GenCodec[Float]
  10. implicit lazy val IntCodec: GenCodec[Int]
  11. implicit lazy val JBigDecimalCodec: GenCodec[commons.JBigDecimal]
  12. implicit lazy val JBigIntegerCodec: GenCodec[commons.JBigInteger]
  13. implicit lazy val JBooleanCodec: GenCodec[commons.JBoolean]
  14. implicit lazy val JByteCodec: GenCodec[commons.JByte]
  15. implicit lazy val JCharacterCodec: GenCodec[commons.JCharacter]
  16. implicit lazy val JDateCodec: GenCodec[commons.JDate]
  17. implicit lazy val JDoubleCodec: GenCodec[commons.JDouble]
  18. implicit lazy val JFloatCodec: GenCodec[commons.JFloat]
  19. implicit lazy val JIntegerCodec: GenCodec[commons.JInteger]
  20. implicit lazy val JLongCodec: GenCodec[commons.JLong]
  21. implicit lazy val JShortCodec: GenCodec[commons.JShort]
  22. implicit lazy val LongCodec: GenCodec[Long]
  23. implicit lazy val NothingCodec: GenCodec[Nothing]
  24. implicit lazy val NullCodec: GenCodec[Null]
  25. implicit lazy val ShortCodec: GenCodec[Short]
  26. implicit lazy val StringCodec: GenCodec[String]
  27. implicit lazy val SymbolCodec: GenCodec[Symbol]
  28. implicit lazy val UnitCodec: GenCodec[Unit]
  29. implicit lazy val UuidCodec: GenCodec[UUID]
  30. implicit lazy val VoidCodec: GenCodec[Void]
  31. def apply[T](implicit codec: GenCodec[T]): GenCodec[T]
  32. macro def applyUnapplyCodec[T]: ApplyUnapplyCodec[T]
  33. implicit def arrayCodec[T](implicit arg0: commons.ClassTag[T], arg1: GenCodec[T]): GenCodec[Array[T]]
  34. def create[T](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any): GenCodec[T]
  35. def createList[T](readFun: (ListInput) ⇒ T, writeFun: (ListOutput, T) ⇒ Any, allowNull: Boolean): GenCodec[T]
  36. def createObject[T](readFun: (ObjectInput) ⇒ T, writeFun: (ObjectOutput, T) ⇒ Any, allowNull: Boolean): GenObjectCodec[T]

    Helper method to manually implement a GenCodec that writes an object.

    Helper method to manually implement a GenCodec that writes an object. NOTE: in most cases the easiest way to have a custom object codec is to manually implement apply and unapply/unapplySeq methods in companion object of your type or use fromApplyUnapplyProvider if the type comes from a third party code and you can't modify its companion object.

  37. def createSimple[T](readFun: (SimpleInput) ⇒ T, writeFun: (SimpleOutput, T) ⇒ Any, allowNull: Boolean): GenCodec[T]
  38. implicit def eitherCodec[A, B](implicit arg0: GenCodec[A], arg1: GenCodec[B]): GenCodec[Either[A, B]]
  39. macro def forSealedEnum[T]: GenCodec[T]
  40. macro def fromApplyUnapplyProvider[T](applyUnapplyProvider: Any): GenCodec[T]

    Materializes a GenCodec for type T using apply and unapply/unapplySeq methods available on passed applyUnapplyProvider object.

    Materializes a GenCodec for type T using apply and unapply/unapplySeq methods available on passed applyUnapplyProvider object. The signatures of apply and unapply must be as if T was a case class and applyUnapplyProvider was its companion object. This is useful for easy derivation of GenCodec for third party classes which don't have their own companion objects with apply and unapply. So essentially the applyUnapplyProvider is a "fake companion object" of type T.

    Example:

    class ThirdParty { ... }
    
    object ThirdPartyFakeCompanion {
      def apply(int: Int, string: String): ThirdParty = ...
      def unapply(tp: ThirdParty): Option[(Int, String)] = ...
    }
    
    implicit val thirdPartyCodec: GenCodec[ThirdParty] =
      GenCodec.fromApplyUnapplyProvider[ThirdParty](ThirdPartyFakeCompanion)
  41. implicit def fromFallback[T](implicit fallback: Fallback[GenCodec[T]]): GenCodec[T]
  42. def fromKeyCodec[T](implicit keyCodec: GenKeyCodec[T]): GenCodec[T]
  43. implicit def fromTransparentWrapping[R, T](implicit tw: TransparentWrapping[R, T], wrappedCodec: GenCodec[R]): GenCodec[T]
  44. implicit def jCollectionCodec[C[X] <: commons.JCollection[X], T](implicit arg0: GenCodec[T], cbf: JCanBuildFrom[T, C[T]]): GenCodec[C[T] with commons.JCollection[T]]
  45. implicit def jEnumCodec[E <: Enum[E]](implicit arg0: commons.ClassTag[E]): GenCodec[E]
  46. implicit def jMapCodec[M[X, Y] <: commons.JMap[X, Y], K, V](implicit arg0: GenKeyCodec[K], arg1: GenCodec[V], cbf: JCanBuildFrom[(K, V), M[K, V]]): GenObjectCodec[M[K, V] with commons.JMap[K, V]]
  47. def makeLazy[T](codec: ⇒ GenCodec[T]): GenCodec[T]
  48. implicit def mapCodec[M[X, Y] <: commons.BMap[X, Y], K, V](implicit arg0: GenKeyCodec[K], arg1: GenCodec[V], cbf: CanBuildFrom[Nothing, (K, V), M[K, V]]): GenObjectCodec[M[K, V] with commons.BMap[K, V]]
  49. macro def materialize[T]: GenCodec[T]

    Macro that automatically materializes a GenCodec for some type T, which must be one of:

    Macro that automatically materializes a GenCodec for some type T, which must be one of:

    • singleton type, e.g. an object
    • case class whose every field type has its own GenCodec
    • (generalization of case classes) class or trait whose companion object has a pair of case-class-like apply and unapply methods and every parameter type of apply method has its own GenCodec
    • sealed hierarchy in which every non-abstract subclass either has its own GenCodec or it can be automatically materialized with the same mechanism

    Note that automatic materialization does NOT descend into types that T is made of (e.g. types of case class fields must have their own codecs independently declared). If you want recursive materialization, use materializeRecursively.

  50. implicit macro def materializeImplicitly[T](implicit allow: AllowImplicitMacro[GenCodec[T]]): GenCodec[T]

    INTERNAL API.

    INTERNAL API. Should not be used directly.

    Definition Classes
    RecursiveAutoCodecs
  51. macro def materializeRecursively[T]: GenCodec[T]

    Like materialize, but descends into types that T is made of (e.g.

    Like materialize, but descends into types that T is made of (e.g. case class field types).

    Definition Classes
    RecursiveAutoCodecs
  52. implicit def nOptCodec[T](implicit arg0: GenCodec[T]): GenCodec[commons.NOpt[T]]
  53. def nonNull[T](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any): GenCodec[T]
  54. def nonNullList[T](readFun: (ListInput) ⇒ T, writeFun: (ListOutput, T) ⇒ Any): GenCodec[T]
  55. def nonNullObject[T](readFun: (ObjectInput) ⇒ T, writeFun: (ObjectOutput, T) ⇒ Any): GenObjectCodec[T]
  56. def nonNullSimple[T](readFun: (SimpleInput) ⇒ T, writeFun: (SimpleOutput, T) ⇒ Any): GenCodec[T]
  57. def nullSafe[T](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any, allowNull: Boolean): GenCodec[T]
  58. def nullable[T <: AnyRef](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any): GenCodec[T]
  59. def nullableList[T <: AnyRef](readFun: (ListInput) ⇒ T, writeFun: (ListOutput, T) ⇒ Any): GenCodec[T]
  60. def nullableObject[T <: AnyRef](readFun: (ObjectInput) ⇒ T, writeFun: (ObjectOutput, T) ⇒ Any): GenObjectCodec[T]
  61. def nullableSimple[T <: AnyRef](readFun: (SimpleInput) ⇒ T, writeFun: (SimpleOutput, T) ⇒ Any): GenCodec[T]
  62. implicit def optArgCodec[T](implicit arg0: GenCodec[T]): GenCodec[commons.OptArg[T]]
  63. implicit def optCodec[T](implicit arg0: GenCodec[T]): GenCodec[commons.Opt[T]]
  64. implicit def optRefCodec[T >: Null](implicit arg0: GenCodec[T]): GenCodec[commons.OptRef[T]]
  65. implicit def optionCodec[T](implicit arg0: GenCodec[T]): GenCodec[Option[T]]
  66. def read[T](input: Input)(implicit arg0: GenCodec[T]): T
    Annotations
    @explicitGenerics()
  67. implicit def seqCodec[C[X] <: commons.BSeq[X], T](implicit arg0: GenCodec[T], cbf: CanBuildFrom[Nothing, T, C[T]]): GenCodec[C[T] with commons.BSeq[T]]
  68. implicit def setCodec[C[X] <: commons.BSet[X], T](implicit arg0: GenCodec[T], cbf: CanBuildFrom[Nothing, T, C[T]]): GenCodec[C[T] with commons.BSet[T]]
  69. def transformed[T, R](toRaw: (T) ⇒ R, fromRaw: (R) ⇒ T)(implicit arg0: GenCodec[R]): GenCodec[T]
  70. implicit def tuple10Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)]
    Definition Classes
    TupleGenCodecs
  71. implicit def tuple11Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)]
    Definition Classes
    TupleGenCodecs
  72. implicit def tuple12Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)]
    Definition Classes
    TupleGenCodecs
  73. implicit def tuple13Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)]
    Definition Classes
    TupleGenCodecs
  74. implicit def tuple14Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)]
    Definition Classes
    TupleGenCodecs
  75. implicit def tuple15Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)]
    Definition Classes
    TupleGenCodecs
  76. implicit def tuple16Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)]
    Definition Classes
    TupleGenCodecs
  77. implicit def tuple17Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)]
    Definition Classes
    TupleGenCodecs
  78. implicit def tuple18Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)]
    Definition Classes
    TupleGenCodecs
  79. implicit def tuple19Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)]
    Definition Classes
    TupleGenCodecs
  80. implicit def tuple20Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)]
    Definition Classes
    TupleGenCodecs
  81. implicit def tuple21Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20], r21: GenCodec[T21]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)]
    Definition Classes
    TupleGenCodecs
  82. implicit def tuple22Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20], r21: GenCodec[T21], r22: GenCodec[T22]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)]
    Definition Classes
    TupleGenCodecs
  83. implicit def tuple2Codec[T1, T2](implicit r1: GenCodec[T1], r2: GenCodec[T2]): GenCodec[(T1, T2)]
    Definition Classes
    TupleGenCodecs
  84. implicit def tuple3Codec[T1, T2, T3](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3]): GenCodec[(T1, T2, T3)]
    Definition Classes
    TupleGenCodecs
  85. implicit def tuple4Codec[T1, T2, T3, T4](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4]): GenCodec[(T1, T2, T3, T4)]
    Definition Classes
    TupleGenCodecs
  86. implicit def tuple5Codec[T1, T2, T3, T4, T5](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5]): GenCodec[(T1, T2, T3, T4, T5)]
    Definition Classes
    TupleGenCodecs
  87. implicit def tuple6Codec[T1, T2, T3, T4, T5, T6](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6]): GenCodec[(T1, T2, T3, T4, T5, T6)]
    Definition Classes
    TupleGenCodecs
  88. implicit def tuple7Codec[T1, T2, T3, T4, T5, T6, T7](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7]): GenCodec[(T1, T2, T3, T4, T5, T6, T7)]
    Definition Classes
    TupleGenCodecs
  89. implicit def tuple8Codec[T1, T2, T3, T4, T5, T6, T7, T8](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8)]
    Definition Classes
    TupleGenCodecs
  90. implicit def tuple9Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]
    Definition Classes
    TupleGenCodecs
  91. def underlyingCodec(codec: GenCodec[_]): GenCodec[_]
  92. def write[T](output: Output, value: T)(implicit arg0: GenCodec[T]): Unit