File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -283,3 +283,14 @@ where
283
283
value. serialize ( & mut serializer) ?;
284
284
Ok ( serializer. into_vec ( ) )
285
285
}
286
+
287
+ /// Serialize the given `T` as a BSON byte vector into the provided writer.
288
+ #[ inline]
289
+ pub fn into_vec < T > ( value : & T , vec : Vec < u8 > ) -> Result < Vec < u8 > >
290
+ where
291
+ T : Serialize ,
292
+ {
293
+ let mut serializer = raw:: Serializer :: with_vec ( vec) ;
294
+ value. serialize ( & mut serializer) ?;
295
+ Ok ( serializer. into_vec ( ) )
296
+ }
Original file line number Diff line number Diff line change @@ -56,8 +56,13 @@ impl SerializerHint {
56
56
57
57
impl Serializer {
58
58
pub ( crate ) fn new ( ) -> Self {
59
+ Self :: with_vec ( Vec :: new ( ) )
60
+ }
61
+
62
+ pub ( crate ) fn with_vec ( mut bytes : Vec < u8 > ) -> Self {
63
+ bytes. clear ( ) ;
59
64
Self {
60
- bytes : Vec :: new ( ) ,
65
+ bytes,
61
66
type_index : 0 ,
62
67
hint : SerializerHint :: None ,
63
68
}
You can’t perform that action at this time.
0 commit comments