emojic 0.5.1

Emoji constants
Documentation
use emojic::grouped::people_and_body::hands;
use emojic::grouped::people_and_body::person_resting;
use emojic::grouped::travel_and_places::place_geographic;

fn main() {
    // Output: πŸ‘πŸ™πŸ€πŸ‘πŸ€²πŸ™Œ
    println!(
        "All base emojis of hands: {}",
        hands::base_emojis()
            .map(|e| e.to_string())
            .collect::<String>()
    );

    // Output: πŸ‘πŸ‘πŸ»πŸ‘πŸΌπŸ‘πŸ½πŸ‘πŸΎπŸ‘πŸΏ, πŸ™πŸ™πŸ»πŸ™πŸΌπŸ™πŸ½πŸ™πŸΎπŸ™πŸΏ, 🀝, πŸ‘πŸ‘πŸ»πŸ‘πŸΌπŸ‘πŸ½πŸ‘πŸΎπŸ‘πŸΏ, 🀲🀲🏻🀲🏼🀲🏽🀲🏾🀲🏿, πŸ™ŒπŸ™ŒπŸ»πŸ™ŒπŸΌπŸ™ŒπŸ½πŸ™ŒπŸΎπŸ™ŒπŸΏ
    println!(
        "All variants of hands:\n\t{}",
        hands::all_variants()
            .map(|sub| sub.iter().map(|e| e.to_string()).collect::<String>())
            .collect::<Vec<_>>()
            .join(",\n\t")
    );

    println!();

    // Output: πŸ›ŒπŸ§˜πŸ›€
    println!(
        "All base emojis of person_resting: {}",
        person_resting::base_emojis()
            .map(|e| e.to_string())
            .collect::<String>()
    );

    // Output: πŸ›ŒπŸ›ŒπŸ»πŸ›ŒπŸΌπŸ›ŒπŸ½πŸ›ŒπŸΎπŸ›ŒπŸΏ, πŸ§˜πŸ§˜πŸ»πŸ§˜πŸΌπŸ§˜πŸ½πŸ§˜πŸΎπŸ§˜πŸΏπŸ§˜β€β™‚οΈπŸ§˜πŸ»β€β™‚οΈπŸ§˜πŸΌβ€β™‚οΈπŸ§˜πŸ½β€β™‚οΈπŸ§˜πŸΎβ€β™‚οΈπŸ§˜πŸΏβ€β™‚οΈπŸ§˜β€β™€οΈπŸ§˜πŸ»β€β™€οΈπŸ§˜πŸΌβ€β™€οΈπŸ§˜πŸ½β€β™€οΈπŸ§˜πŸΎβ€β™€οΈπŸ§˜πŸΏβ€β™€οΈ, πŸ›€πŸ›€πŸ»πŸ›€πŸΌπŸ›€πŸ½πŸ›€πŸΎπŸ›€πŸΏ
    println!(
        "All variants of person_resting:\n\t{}",
        person_resting::all_variants()
            .map(|sub| sub.iter().map(|e| e.to_string()).collect::<String>())
            .collect::<Vec<_>>()
            .join(",\n\t")
    );

    println!();

    // Output: πŸ–οΈπŸ•οΈπŸœοΈπŸοΈβ›°οΈπŸ—»πŸžοΈπŸ”οΈπŸŒ‹
    // Notice, in this group there is no difference between `base_emojis()` and `all_variants()`
    println!(
        "All geographic places: {}",
        place_geographic::base_emojis()
            .map(|e| e.to_string())
            .collect::<String>()
    );

    // Outputs the each emoji with its full name and version of introduction
    println!("Geographic places with names and version:");
    for emoji in place_geographic::base_emojis() {
        println!(
            " - {}: {} (since E{})",
            emoji.name, emoji.grapheme, emoji.since
        );
    }
}