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

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

package scodec
package codecs

import scalaz.\/
import scalaz.syntax.std.either._

import scodec.bits.BitVector

private[codecs] object BooleanCodec extends Codec[Boolean] {

  override def encode(b: Boolean) =
    \/.right(if (b) BitVector.high(1) else BitVector.low(1))

  override def decode(buffer: BitVector) =
    buffer.acquire(1) match {
      case Left(e) => \/.left(e)
      case Right(b) => \/.right((buffer.tail, b.head))
    }

  override def toString = "bool"
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy