Como converter Alguns (“”) em Nenhum em uma linha?

Quero definir uma função:

def convert(x: Option[String]): Option[String] = ...

Quandox éSome(str) e astr fica vazio após o corte, será convertido em Nenhum, caso contrário, será umSome com barbante aparado.

Então, o caso de teste será:

convert(Some("")) == None
convert(Some("  ")) == None
convert(None) == None
convert(Some(" abc ")) == Some("abc")

Eu posso escrever como:

def convert(x: Option[String]): Option[String] = x match {
  case Some(str) if str.trim()!="" => Some(str.trim())
  case _ => None
}

Mas espero encontrar uma implementação mais simples (uma linha

questionAnswers(6)

yourAnswerToTheQuestion