INNER CODE UNIT · Rust
Ok
mongodb/bson-rust · src/binary.rs:71
if let Ok(bytes) = binary_doc.get_str("base64") {
let bytes = base64::decode(bytes).ok()?;
let subtype = binary_doc.get_str("subType").ok()?;
let subtype = hex::decode(subtype).ok()?;
if subtype.len() == 1 {
Some(Self {
bytes,
subtype: subtype[0].into(),
})
} else {
None
}
} else {
// in non-human-readable mode, RawBinary will serialize as
// { "$binary": { "bytes": <bytes>, "subType": <i32> } };
let binary = binary_doc.get_binary_generic("bytes").ok()?;
let subtype = binary_doc.get_i32("subType").ok()?;