Карта, сокращающая условия запроса Scanamo - PullRequest
0 голосов
/ 06 декабря 2018

Я сейчас начну. Я использую ScanamoAlpakka.

У меня есть следующее:

Map(
 'field1 -> value1,
 'field2 -> value2,
  and so on...
)

Цель состоит в том, чтобы повторить карту и удалить все пустые значения.После удаления пустых значений мне нужно преобразовать каждую пару ключ / значение в условие запроса на основе его типа.

Примерно так:

mapObject
 .collect({
   case (key, Some(value: DateRange)) => key between (value.after and value.before)
   case (key, Some(value)) => key -> value
 })
 .reduce(_ and _)

Это не работает, поскольку условияописанные выше не сразу становятся объектами класса условия запроса.Я просматривал SDK и столкнулся с трудностями при поиске класса, который преобразовал бы пары ключ / значение в запрашиваемое условие.

Я пытался использовать Condition(key, value), который, кажется, работает, однако, когда это делается в этомформат, по-видимому, все последствия, которые применяются для DynamoFormat, потеряны, поскольку я получаю следующую ошибку:

Error:(22, 45) could not find implicit value for evidence parameter of type com.gu.scanamo.query.ConditionExpression[(Symbol, Any)] case (key, Some(value)) => Condition(key -> value)

...