-
Type: Task
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: BSON
-
None
The separation between the BSON packages mostly exists to prevent import cycles, but otherwise doesn't make a lot of sense to users. Additionally, the separation between BSON packages requires that much more code is exported that otherwise doesn't need to be exported. For example, most functions on the the DefaultValueEncoders and DefaultValueDecoders types only need to be exported because they are used by code in the bson package. Otherwise, there is no known use case (there is only a use case for overriding the defaults, not for exposing the defaults).
Definition of done:
- Move all exported symbols from the bsoncodec package into the bson package.
- Maintain only bson.NewRegistry, which builds a default registry. Do not move bsoncodec.NewRegistryBuilder, which builds an empty registry.
- Update all dependent code in the Go driver to reference bson instead of bsoncodec.
- Update all documentation in the Go driver to reference bson instead of bsoncodec.
- is depended on by
-
GODRIVER-2611 Merge the "primitive" package into the "bson" package
- Closed