
behaviors.serialization.CardSerialization.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cards_2.13 Show documentation
Show all versions of cards_2.13 Show documentation
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