implicit def efOption[T]()

in datastore/src/main/scala/magnolify/datastore/EntityType.scala [264:280]


  implicit def efOption[T](implicit f: EntityField[T]): EntityField[Option[T]] =
    new EntityField[Option[T]] {
      override val keyField: KeyField[Option[T]] = new KeyField[Option[T]] {
        override def setKey(b: Key.PathElement.Builder, key: Option[T]): Key.PathElement.Builder =
          key match {
            case None    => b
            case Some(k) => f.keyField.setKey(b, k)
          }
      }

      override def from(v: Value)(cm: CaseMapper): Option[T] =
        if (v == null) None else Some(f.from(v)(cm))
      override def to(v: Option[T])(cm: CaseMapper): Value.Builder = v match {
        case None    => null
        case Some(x) => f.to(x)(cm)
      }
    }