generify sequence converters

This commit is contained in:
Eugene Zadyra
2019-04-17 10:42:52 +02:00
parent daba98b2c3
commit 65c93021d7

View File

@@ -1,6 +1,8 @@
package com.lbs.common
import scala.collection.TraversableLike
import scala.collection.generic.CanBuildFrom
import scala.language.{higherKinds, implicitConversions}
trait ModelConverters {
@@ -13,10 +15,9 @@ trait ModelConverters {
def mapTo[To](implicit converter: ObjectConverter[From, To]): To = converter.convert(anyRef)
}
implicit def sequenceConverters[From, To](implicit objectConverter: ObjectConverter[From, To]): ObjectConverter[Seq[From], Seq[To]] = {
collection: Seq[From] => {
collection.map(objectConverter.convert)
}
implicit def sequenceConverters[From, To, Col[+X] <: TraversableLike[X, Col[X]]]
(implicit objectConverter: ObjectConverter[From, To], bf: CanBuildFrom[Col[From], To, Col[To]]): ObjectConverter[Col[From], Col[To]] = {
col: Col[From] => col.map(objectConverter.convert)
}
}