osu-file-parser 1.1.0

A crate to parse an osu! beatmap file
Documentation
use std::fmt::Display;

pub trait MapStringNewLine {
    fn map_string_new_line<T>(&mut self) -> String
    where
        Self: Iterator<Item = T>,
        T: Display,
    {
        self.into_iter()
            .map(|v| v.to_string())
            .collect::<Vec<_>>()
            .join("\n")
    }
}

pub trait MapOptStringNewLine {
    fn map_string_new_line(&mut self) -> String
    where
        Self: Iterator<Item = Option<String>>,
    {
        self.into_iter().flatten().collect::<Vec<_>>().join("\n")
    }
}

impl<T: Display, I: Iterator<Item = T>> MapStringNewLine for I {}
impl<I: Iterator<Item = Option<String>>> MapOptStringNewLine for I {}