Tries to produce a BSON value from an instance of T.
Tries to produce a BSON value from an instance of T.
import scala.util.Try import reactivemongo.api.bson.{ BSONWriter, BSONValue } def toBSON[T](value: T)(implicit w: BSONWriter[T]): Try[BSONValue] = w.writeTry(value)
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
If the f function is not defined for a BSONValue,
it will results in a Failure.
the partial function to apply
Prepares a BSON writer that converts the input before calling the current writer.
Prepares a BSON writer that converts the input before calling the current writer.
the function apply the U input value to convert at T value used to the current writer
import reactivemongo.api.bson.BSONWriter val w: BSONWriter[String] = implicitly[BSONWriter[Int]].beforeWrite(_.size) w.writeTry("foo") // Success: BSONInteger(3)
Narrows this writer for a compatible type U.
Narrows this writer for a compatible type U.
import reactivemongo.api.bson.BSONWriter val listWriter: BSONWriter[Seq[String]] = implicitly[BSONWriter[Seq[String]]] val narrowAsListWriter: BSONWriter[List[String]] = listWriter.narrow[List[String]] // as List[String] <: Seq[String]
must be a sub-type of T
Tries to produce a BSON value from an instance of T,
returns None if an error occurred.
Tries to produce a BSON value from an instance of T,
returns None if an error occurred.
import reactivemongo.api.bson.{ BSONWriter, BSONValue } def maybeBSON[T](value: T)(implicit w: BSONWriter[T]): Option[BSONValue] = w.writeOpt(value)
A writer that produces a subtype of BSONValue from an instance of
T.