All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scodec.codecs.NamedCodec.scala Maven / Gradle / Ivy

package scodec
package codecs

import scodec.bits.BitVector

/** Codec that prefixes error messages with the specified name. */
private[codecs] final class NamedCodec[A](name: String, target: Codec[A]) extends Codec[A] {

  override def encode(a: A) =
    target.encode(a).leftMap { e => s"$name: $e" }

  override def decode(buffer: BitVector) =
    target.decode(buffer).leftMap { e => s"$name: $e" }

  override def toString = s"$name($target)"
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy