yaged 0.2.0

Yet another gif encoder decoder
Documentation
use crate::types::{ColorMap, Rgb};
use std::collections::HashMap;

pub fn decode(bytes: &[u8], pixel: u8, m: bool, cursor: usize) -> (Option<ColorMap>, usize) {
    if m {
        let mut map = HashMap::new();

        let map_entries = 3 * 2i32.pow(pixel as u32 + 1);
        let to_index = cursor + map_entries as usize;
        let entries = &bytes[cursor..to_index];

        entries
            .chunks(3 as usize)
            .map(|rgb| Rgb::new(rgb[0], rgb[1], rgb[2]))
            .enumerate()
            .for_each(|(index, rgb)| {
                map.insert(index, rgb);
            });

        (Some(map), to_index)
    } else {
        (None, cursor)
    }
}