| 
									
										
										
										
											2024-03-06 09:05:45 -08:00
										 |  |  | // Copyright (C) MongoDB, Inc. 2017-present. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // Licensed under the Apache License, Version 2.0 (the "License"); you may | 
					
						
							|  |  |  | // not use this file except in compliance with the License. You may obtain | 
					
						
							|  |  |  | // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package bson | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-25 11:00:36 +00:00
										 |  |  | import ( | 
					
						
							|  |  |  | 	"go.mongodb.org/mongo-driver/bson/bsoncodec" | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2024-03-06 09:05:45 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // DefaultRegistry is the default bsoncodec.Registry. It contains the default codecs and the | 
					
						
							|  |  |  | // primitive codecs. | 
					
						
							| 
									
										
										
										
											2024-03-25 11:00:36 +00:00
										 |  |  | var DefaultRegistry = NewRegistry() | 
					
						
							| 
									
										
										
										
											2024-03-06 09:05:45 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // NewRegistryBuilder creates a new RegistryBuilder configured with the default encoders and | 
					
						
							|  |  |  | // decoders from the bsoncodec.DefaultValueEncoders and bsoncodec.DefaultValueDecoders types and the | 
					
						
							|  |  |  | // PrimitiveCodecs type in this package. | 
					
						
							| 
									
										
										
										
											2024-03-25 11:00:36 +00:00
										 |  |  | // | 
					
						
							|  |  |  | // Deprecated: Use NewRegistry instead. | 
					
						
							| 
									
										
										
										
											2024-03-06 09:05:45 -08:00
										 |  |  | func NewRegistryBuilder() *bsoncodec.RegistryBuilder { | 
					
						
							|  |  |  | 	rb := bsoncodec.NewRegistryBuilder() | 
					
						
							|  |  |  | 	bsoncodec.DefaultValueEncoders{}.RegisterDefaultEncoders(rb) | 
					
						
							|  |  |  | 	bsoncodec.DefaultValueDecoders{}.RegisterDefaultDecoders(rb) | 
					
						
							|  |  |  | 	primitiveCodecs.RegisterPrimitiveCodecs(rb) | 
					
						
							|  |  |  | 	return rb | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-03-25 11:00:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | // NewRegistry creates a new Registry configured with the default encoders and decoders from the | 
					
						
							|  |  |  | // bsoncodec.DefaultValueEncoders and bsoncodec.DefaultValueDecoders types and the PrimitiveCodecs | 
					
						
							|  |  |  | // type in this package. | 
					
						
							|  |  |  | func NewRegistry() *bsoncodec.Registry { | 
					
						
							|  |  |  | 	return NewRegistryBuilder().Build() | 
					
						
							|  |  |  | } |