ezcal 0.3.4

Ergonomic iCalendar + vCard library for Rust
Documentation
use crate::common::content_line::fold_line;
use crate::vcard::contact::Contact;

/// Serialize a `Contact` to a vCard string.
pub(crate) fn write_contact(contact: &Contact) -> String {
    let mut out = String::new();

    write_line(&mut out, "BEGIN:VCARD");

    for prop in contact.to_properties() {
        write_line(&mut out, &prop.to_string());
    }

    write_line(&mut out, "END:VCARD");

    out
}

fn write_line(out: &mut String, line: &str) {
    out.push_str(&fold_line(line));
}