scalafmt reformat (#91)

* scalafmt config

* scalafmt reformat

* revert scaladoc to javadoc

* danglingParentheses = true

* delete scalariform prefs

* delete scalariform imports

* disabling test
This commit is contained in:
Dima 2018-03-20 14:58:08 +03:00 committed by GitHub
parent 250e4f1371
commit f0fa6a16e1
5 changed files with 41 additions and 29 deletions

View File

@ -18,11 +18,11 @@
package fluence.codec package fluence.codec
import cats.data.Kleisli import cats.data.Kleisli
import cats.{ Applicative, ApplicativeError, FlatMap, Traverse } import cats.{Applicative, ApplicativeError, FlatMap, Traverse}
import cats.syntax.applicative._ import cats.syntax.applicative._
import scodec.bits.ByteVector import scodec.bits.ByteVector
import scala.language.{ higherKinds, implicitConversions } import scala.language.{higherKinds, implicitConversions}
/** /**
* Base trait for serialize/deserialize objects. * Base trait for serialize/deserialize objects.
@ -48,10 +48,12 @@ final case class Codec[F[_], A, B](encode: A ⇒ F[B], decode: B ⇒ F[A]) {
} }
object Codec { object Codec {
implicit def identityCodec[F[_] : Applicative, T]: Codec[F, T, T] = implicit def identityCodec[F[_]: Applicative, T]: Codec[F, T, T] =
Codec(_.pure[F], _.pure[F]) Codec(_.pure[F], _.pure[F])
implicit def traverseCodec[F[_] : Applicative, G[_] : Traverse, O, B](implicit codec: Codec[F, O, B]): Codec[F, G[O], G[B]] = implicit def traverseCodec[F[_]: Applicative, G[_]: Traverse, O, B](
implicit codec: Codec[F, O, B]
): Codec[F, G[O], G[B]] =
Codec[F, G[O], G[B]](Traverse[G].traverse[F, O, B](_)(codec.encode), Traverse[G].traverse[F, B, O](_)(codec.decode)) Codec[F, G[O], G[B]](Traverse[G].traverse[F, O, B](_)(codec.encode), Traverse[G].traverse[F, B, O](_)(codec.decode))
implicit def toDirect[F[_], A, B](implicit cod: Codec[F, A, B]): Kleisli[F, A, B] = implicit def toDirect[F[_], A, B](implicit cod: Codec[F, A, B]): Kleisli[F, A, B] =
@ -63,17 +65,18 @@ object Codec {
implicit def swap[F[_], A, B](implicit cod: Codec[F, A, B]): Codec[F, B, A] = implicit def swap[F[_], A, B](implicit cod: Codec[F, A, B]): Codec[F, B, A] =
Codec[F, B, A](cod.decode, cod.encode) Codec[F, B, A](cod.decode, cod.encode)
implicit def byteVectorArray[F[_] : Applicative]: Codec[F, Array[Byte], ByteVector] = implicit def byteVectorArray[F[_]: Applicative]: Codec[F, Array[Byte], ByteVector] =
pure(ByteVector.apply, _.toArray) pure(ByteVector.apply, _.toArray)
// TODO: descriptive error // TODO: descriptive error
implicit def byteVectorB64[F[_]](implicit F: ApplicativeError[F, Throwable]): Codec[F, String, ByteVector] = implicit def byteVectorB64[F[_]](implicit F: ApplicativeError[F, Throwable]): Codec[F, String, ByteVector] =
Codec( Codec(
str str
ByteVector.fromBase64(str).fold[F[ByteVector]]( ByteVector
.fromBase64(str)
.fold[F[ByteVector]](
F.raiseError(new IllegalArgumentException(s"Given string is not valid b64: $str")) F.raiseError(new IllegalArgumentException(s"Given string is not valid b64: $str"))
)(_.pure[F]), )(_.pure[F]),
_.toBase64.pure[F] _.toBase64.pure[F]
) )
@ -89,6 +92,6 @@ object Codec {
* @tparam B Encoded type * @tparam B Encoded type
* @return New codec for O and B * @return New codec for O and B
*/ */
def pure[F[_] : Applicative, O, B](encodeFn: O B, decodeFn: B O): Codec[F, O, B] = def pure[F[_]: Applicative, O, B](encodeFn: O B, decodeFn: B O): Codec[F, O, B] =
Codec(encodeFn(_).pure[F], decodeFn(_).pure[F]) Codec(encodeFn(_).pure[F], decodeFn(_).pure[F])
} }

View File

@ -43,7 +43,8 @@ class KryoCodecs[F[_], L <: HList] private (pool: KryoPool)(implicit F: MonadErr
*/ */
implicit def codec[T](implicit sel: ops.hlist.Selector[L, T]): Codec[F, T, Array[Byte]] = implicit def codec[T](implicit sel: ops.hlist.Selector[L, T]): Codec[F, T, Array[Byte]] =
Codec( Codec(
obj Option(obj) match { obj
Option(obj) match {
case Some(o) case Some(o)
F.catchNonFatal(Option(pool.toBytesWithClass(o))).flatMap { F.catchNonFatal(Option(pool.toBytesWithClass(o))).flatMap {
case Some(v) F.pure(v) case Some(v) F.pure(v)
@ -51,7 +52,9 @@ class KryoCodecs[F[_], L <: HList] private (pool: KryoPool)(implicit F: MonadErr
} }
case None case None
F.raiseError[Array[Byte]](new NullPointerException("Obj is null, encoding is impossible")) F.raiseError[Array[Byte]](new NullPointerException("Obj is null, encoding is impossible"))
}, binary F.catchNonFatal(pool.fromBytes(binary).asInstanceOf[T])) },
binary F.catchNonFatal(pool.fromBytes(binary).asInstanceOf[T])
)
} }
object KryoCodecs { object KryoCodecs {
@ -62,6 +65,7 @@ object KryoCodecs {
* @tparam L List of registered classes * @tparam L List of registered classes
*/ */
class Builder[L <: HList] private[KryoCodecs] (klasses: Seq[Class[_]]) { class Builder[L <: HList] private[KryoCodecs] (klasses: Seq[Class[_]]) {
/** /**
* Register a new case class T to Kryo * Register a new case class T to Kryo
* @tparam T Type to add * @tparam T Type to add
@ -70,7 +74,9 @@ object KryoCodecs {
* @param sa Presence of all types of S inside L * @param sa Presence of all types of S inside L
* @return Extended builder * @return Extended builder
*/ */
def addCase[T, S <: HList](klass: Class[T])(implicit gen: Generic.Aux[T, S], sa: ops.hlist.SelectAll[L, S]): Builder[T :: L] = def addCase[T, S <: HList](
klass: Class[T]
)(implicit gen: Generic.Aux[T, S], sa: ops.hlist.SelectAll[L, S]): Builder[T :: L] =
new Builder[T :: L](klasses :+ klass) new Builder[T :: L](klasses :+ klass)
/** /**
@ -78,7 +84,7 @@ object KryoCodecs {
* @tparam T Type to add * @tparam T Type to add
* @return Extended builder * @return Extended builder
*/ */
def add[T : ClassTag]: Builder[T :: L] = def add[T: ClassTag]: Builder[T :: L] =
new Builder[T :: L](klasses :+ implicitly[ClassTag[T]].runtimeClass) new Builder[T :: L](klasses :+ implicitly[ClassTag[T]].runtimeClass)
/** /**
@ -88,7 +94,9 @@ object KryoCodecs {
* @tparam F Effect type * @tparam F Effect type
* @return Configured instance of KryoCodecs * @return Configured instance of KryoCodecs
*/ */
def build[F[_]](poolSize: Int = Runtime.getRuntime.availableProcessors)(implicit F: MonadError[F, Throwable]): KryoCodecs[F, L] = def build[F[_]](
poolSize: Int = Runtime.getRuntime.availableProcessors
)(implicit F: MonadError[F, Throwable]): KryoCodecs[F, L] =
new KryoCodecs[F, L]( new KryoCodecs[F, L](
KryoPool.withByteArrayOutputStream( KryoPool.withByteArrayOutputStream(
poolSize, poolSize,

View File

@ -17,7 +17,7 @@
package fluence.codec.kryo package fluence.codec.kryo
import com.twitter.chill.{ AllScalaRegistrar, KryoBase, KryoInstantiator } import com.twitter.chill.{AllScalaRegistrar, KryoBase, KryoInstantiator}
import org.objenesis.strategy.StdInstantiatorStrategy import org.objenesis.strategy.StdInstantiatorStrategy
/** /**
@ -26,7 +26,8 @@ import org.objenesis.strategy.StdInstantiatorStrategy
* @param classesToReg additional classes for registration * @param classesToReg additional classes for registration
* @param registrationRequired if true, an exception is thrown when an unregistered class is encountered. * @param registrationRequired if true, an exception is thrown when an unregistered class is encountered.
*/ */
private[kryo] case class KryoFactory(classesToReg: Seq[Class[_]], registrationRequired: Boolean) extends KryoInstantiator { private[kryo] case class KryoFactory(classesToReg: Seq[Class[_]], registrationRequired: Boolean)
extends KryoInstantiator {
override def newKryo(): KryoBase = { override def newKryo(): KryoBase = {
val kryo = new KryoBase() val kryo = new KryoBase()

View File

@ -18,7 +18,7 @@
package fluence.codec.kryo package fluence.codec.kryo
import cats.instances.try_._ import cats.instances.try_._
import org.scalatest.{ Matchers, WordSpec } import org.scalatest.{Matchers, WordSpec}
import scala.util.Try import scala.util.Try
@ -30,7 +30,8 @@ class KryoCodecsSpec extends WordSpec with Matchers {
private val testCodecs = private val testCodecs =
KryoCodecs() KryoCodecs()
.add[Array[Array[Byte]]] .add[Array[Array[Byte]]]
.addCase(classOf[TestClass]).build[Try]() .addCase(classOf[TestClass])
.build[Try]()
"encode and decode" should { "encode and decode" should {
"be inverse functions" when { "be inverse functions" when {
@ -69,4 +70,3 @@ class KryoCodecsSpec extends WordSpec with Matchers {
} }
case class TestClass(str: String, num: Long, blob: Array[Array[Byte]]) case class TestClass(str: String, num: Long, blob: Array[Array[Byte]])

View File

@ -17,7 +17,7 @@
package fluence.codec.pb package fluence.codec.pb
import cats.{ Applicative, MonadError } import cats.{Applicative, MonadError}
import com.google.protobuf.ByteString import com.google.protobuf.ByteString
import fluence.codec.Codec import fluence.codec.Codec
import fluence.kad.protocol.Key import fluence.kad.protocol.Key
@ -27,7 +27,7 @@ import scala.language.higherKinds
object ProtobufCodecs { object ProtobufCodecs {
implicit def byteVectorByteString[F[_] : Applicative]: Codec[F, ByteString, ByteVector] = implicit def byteVectorByteString[F[_]: Applicative]: Codec[F, ByteString, ByteVector] =
Codec.pure( Codec.pure(
str ByteVector(str.toByteArray), str ByteVector(str.toByteArray),
vec ByteString.copyFrom(vec.toArray) vec ByteString.copyFrom(vec.toArray)