¿Cómo convertir un Some ("") a None en una línea?

Quiero definir una función:

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

Cuandox esSome(str) y elstr está vacío después de recortar, se convertirá en Ninguno, de lo contrario, será unSome con hilo recortado.

Entonces, el caso de prueba será:

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

Puedo escribirlo como:

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

Pero espero encontrar una implementación más simple (una línea).

Respuestas a la pregunta(6)

Su respuesta a la pregunta