def isMatch()

in app/utils/filter.scala [22:37]


  def isMatch(json: JsValue): Boolean = {
    filter.map { case (field, values) =>
      values -> field.split('.').foldLeft(json) { case (jv, part) =>
        (jv \ part).getOrElse(JsNull)
      }
    } forall {
      case (values, JsString(str)) => values exists (_.isMatch(str))
      case (values, JsNumber(int)) => values exists (_.isMatch(int.toString()))
      case (values, JsArray(seq)) =>
        seq.exists {
          case JsString(str) => values exists (_.isMatch(str))
          case _             => false
        }
      case _ => false
    }
  }