instead of importing, you could mix in Bson.
instead of importing, you could mix in Bson. if anyone finds a good use case for that, let me know.
Builders are all the things you need to build up DBObjects using available EncodeBsons and EncodeBsonFields.
CodecBson is both an EncodeBson and a DecodeBson.
CodecBson is both an EncodeBson and a DecodeBson.
the type this codec encodes and decodes.
contains a number of autogenerated bsonCaseCodec methods, which (for each arity) take apply and unapply functions and a number of field names, and produce CodecBsons.
the typeclass of things that can be decoded from DBObjects.
the typeclass of things that can be decoded from DBObjects.
not certain what effect the covariance on A has.
an instance of DecodeBsonField for a type A can extract an A from a field of a db object.
this contains:
this contains:
the base type of things that can go wrong when decoding a DBO.
decode result is either a non-empty list of errors, or some value.
instances of this trait encode things to DBObjects.
instances of this trait encode things to DBObjects.
the type that this can encode. contravariant so that this can be used in any situation where a subtype of A needs to be encoded.
these allow things of type A
to be written into DBObjects as keyed values.
these allow things of type A
to be written into DBObjects as keyed values.
this is important because with BSON the only valid database objects are, well, objects.
the type that can be encoded. contravariant for the same reason as EncodeBson.
contains:
contains:
X
into an
n-tuple of things that have EncodeBsonField instances, along with the
n field names to insert the encoded values with
contains any utilies for using decoders
all of the features in core
can be imported by importing Bson.
all of the features in core
can be imported by importing Bson._; generally speaking that is what you want.
this object provides several macro implementations for automatically deriving encode and decode type classes for case classes.
this object provides several macro implementations for automatically deriving encode and decode type classes for case classes. they all work about the same way:
root package of the-bson.