[GODRIVER-670] Move D family of types from bson package to primitive package Created: 03/Dec/18  Updated: 04/Dec/18  Resolved: 04/Dec/18

Status: Closed
Project: Go Driver
Component/s: BSON
Affects Version/s: None
Fix Version/s: 0.1.0

Type: Improvement Priority: Major - P3
Reporter: Kristofer Brandow (Inactive) Assignee: Kristofer Brandow (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently the bson.D type family is in the bson package, but this means that no package below the bson package can handle decoding nor encoding into a BSON Document nor bson Array without the user providing additional ValueDecoder or ValueEncoder. Moving the bson.D type family to the primitive package will provide type for BSON Document and Array.

To ease usage, add a type alias for primitive.D, primitive.M, and primitive.A to the bson package.



 Comments   
Comment by Githook User [ 04/Dec/18 ]

Author:

{'name': 'Kris Brandow', 'email': 'kris@mongodb.com', 'username': 'skriptble'}

Message: Update codec system to use reflect.Value

Add support for pointers to the BSON codec system. When doing an
interface lookup for a decoder, we now check if the type or a pointer to
the type implement the interface. If either one does, we return the
decoder for that interface.

This change changes the ValueEncoder and ValueDecoder interfaces to use
reflect.Value instead of interface{}.

Move the bson.D family of types into the primitive package.

GODRIVER-535
GODRIVER-598
GODRIVER-588
GODRIVER-645
GODRIVER-662
GODRIVER-649
GODRIVER-670

Change-Id: Idec68f74e354973160bd59f9f8fef009f026f943
Branch: master
https://github.com/mongodb/mongo-go-driver/commit/d305fc0b97b199028c9a7def35f931224c448665

Comment by Kristofer Brandow (Inactive) [ 03/Dec/18 ]

Code Review: https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/435374.

Generated at Thu Feb 08 08:34:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.