blob: 3476a1e6193ac4d18e9a4f99a9c38dcfa3acd7c0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package xyz.driver.pdsuicommon.utils
import play.api.libs.json._
object WritesUtils {
def filterKeys[T](p: String => Boolean)(implicit w: Writes[T]): Writes[T] = {
filter {
case (key, _) => p(key)
}
}
def filter[T](p: (String, JsValue) => Boolean)(implicit w: Writes[T]): Writes[T] = {
w.transform { input: JsValue =>
input match {
case JsObject(map) => JsObject(map.filter(Function.tupled(p)))
case x => x
}
}
}
}
|