private def highlightedTranscript()

in backend/app/services/index/HitReaders.scala [311:333]


  private def highlightedTranscript(maybeHighlights: Option[Map[String, Seq[String]]], maybeTranscript: Option[Map[String, String]]): Option[Map[String, String]] = {
    maybeHighlights match {
      case Some(highlights) if highlights.nonEmpty =>
        val prefix = IndexFields.transcript + "."

        val highlightedLanguages = highlights.collect {
          case (key, values) if key.startsWith(IndexFields.transcript) && values.nonEmpty =>
            key.substring(prefix.length) -> values.head
        }
        // don't discard languages without matches
        val nonHighlightedLanguages = maybeTranscript.map { transcript =>
          transcript.collect {
            case (key, value) if !highlightedLanguages.contains(key) =>
              key -> value
          }
        }

        Some(highlightedLanguages ++ nonHighlightedLanguages.getOrElse(Map()))

      case _ =>
        None
    }
  }