// SPDX-License-Identifier: BUSL-1.1
/// Write a msgpack string header + bytes into `buf`.
pub(super) fn write_str(buf: &mut Vec<u8>, s: &str) {
let len = s.len();
if len < 32 {
buf.push(0xA0 | len as u8);
} else if len <= u8::MAX as usize {
buf.push(0xD9);
buf.push(len as u8);
} else if len <= u16::MAX as usize {
buf.push(0xDA);
buf.extend_from_slice(&(len as u16).to_be_bytes());
} else {
buf.push(0xDB);
buf.extend_from_slice(&(len as u32).to_be_bytes());
}
buf.extend_from_slice(s.as_bytes());
}