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

behaviors.serialization.CardSerialization.scala Maven / Gradle / Ivy

Go to download

Scala library for card-playing functionality, including games Blackjack and Thirty-One

The newest version!
package cards.behaviors.serialization

import cards.behaviors.serialization.Serialization
import cards.classes.{ Card, Cards }
import play.api.libs.json. { Json, JsSuccess }
import com.fasterxml.jackson.core.JsonParseException

trait CardSerialization extends Serialization[Card] {
  override def parse(json: String): Either[String, Seq[Card]] = try {
    Json.parse(json).validate[Cards] match {
      case JsSuccess(cs, _) => Right(cs.cards)
      case e => Left(s"Error occurred: ${e.toString()}")
    }
  } catch {
    case e: JsonParseException => Left(e.getMessage())
  }

  override def json(items: Seq[Card]): String = Cards(items).toString()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy