File tree 2 files changed +18
-1
lines changed
2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -283,6 +283,18 @@ where
283
283
Ok ( serializer. into_vec ( ) )
284
284
}
285
285
286
+ /// Serialize the given `T` as a BSON byte vector into the provided `Vec`.
287
+ #[ inline]
288
+ pub fn into_vec < T > ( value : & T , vec : Vec < u8 > ) -> Result < Vec < u8 > >
289
+ where
290
+ T : Serialize ,
291
+ {
292
+ let mut serializer = raw:: Serializer :: with_vec ( vec) ;
293
+ value. serialize ( & mut serializer) ?;
294
+ Ok ( serializer. into_vec ( ) )
295
+ }
296
+
297
+
286
298
/// Serialize the given `T` as a [`RawDocumentBuf`].
287
299
///
288
300
/// ```rust
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