blob: 9411bebae679e3087d4b9dacc1075e97e7dbb4e8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package xyz.driver.pdsuicommon.utils
import play.api.libs.json.JsResult
import xyz.driver.pdsuicommon.json.JsResultOps
import scala.collection.generic.CanBuildFrom
object Implicits {
final class ConditionalAppend[U, T[U] <: TraversableOnce[U]](val c: T[U]) extends AnyVal {
def condAppend(cond: => Boolean, value: U)(implicit cbf: CanBuildFrom[T[U], U, T[U]]): T[U] = {
val col = cbf()
if (cond) {
((col ++= c) += value).result
} else {
c.asInstanceOf[T[U]]
}
}
}
implicit def traversableConditionalAppend[U, T[U] <: TraversableOnce[U]](c: T[U]): ConditionalAppend[U, T] =
new ConditionalAppend[U, T](c)
implicit def toMapOps[K, V](x: Map[K, V]): MapOps[K, V] = new MapOps(x)
implicit def toCharOps(self: Char): CharOps = new CharOps(self)
implicit def toStringOps(self: String): StringOps = new StringOps(self)
implicit def toJsResultOps[T](self: JsResult[T]): JsResultOps[T] = new JsResultOps(self)
}
|