use super::data_block::write_block;
use super::{LeapRecord, LocalTimeType, Transition, TzifData};
use crate::error::Result;
pub fn write_bytes(data: &TzifData) -> Result<Vec<u8>> {
let mut out = Vec::new();
let v1_stub = [LocalTimeType {
utoff: 0,
is_dst: false,
abbr: String::new(),
}];
let no_transitions: [Transition; 0] = [];
let no_leaps: [LeapRecord; 0] = [];
write_block(
&mut out,
data.version,
4,
&v1_stub,
&no_transitions,
&no_leaps,
)?;
write_block(
&mut out,
data.version,
8,
&data.types,
&data.transitions,
&data.leaps,
)?;
out.push(b'\n');
out.extend_from_slice(data.footer.as_bytes());
out.push(b'\n');
Ok(out)
}