def build()

in src/main/scala/lang/CapiQueryString.scala [14:31]


  def build(
      program: QueryList
  ): String =
    val (searchStrs, otherQueries) = program.exprs.partitionMap {
      case q: CqlBinary => Left(strFromBinary(q))
      case CqlField(key, Some(value)) =>
        Right(s"${key.literal.getOrElse("")}=${value.literal.getOrElse("")}")
      case CqlField(key, None) =>
        throw new CapiCqlStringError(
          s"The field '+$key' needs a value after it (e.g. +$key:tone/news)"
        )
      case QueryOutputModifier(key, Some(value)) =>
        Right(s"${key.literal.getOrElse("")}=${value.literal.getOrElse("")}")
      case QueryOutputModifier(key, None) =>
        throw new CapiCqlStringError(
          s"The output modifier '@$key' needs a value after it (e.g. +$key:all)"
        )
    }