lc-renderer 0.2.0

Server to render chart images.
use crate::error::RendererError;
use crate::proto::render::ChartSizes;

pub(crate) struct Sizes {
    pub(crate) width: i32,
    pub(crate) height: i32,
}

pub(crate) fn get_sizes(sizes: Option<ChartSizes>) -> Result<Sizes, RendererError> {
    match sizes {
        Some(sizes) => {
            let mut res = Sizes {
                width: 0,
                height: 0,
            };
            match sizes.width {
                Some(width) => res.width = width,
                _ => return Err(RendererError::ChartWidthIsNotSpecified),
            };
            match sizes.height {
                Some(height) => res.height = height,
                _ => return Err(RendererError::ChartHeightIsNotSpecified),
            };

            Ok(res)
        }
        _ => Err(RendererError::ChartSizesAreNotSpecified),
    }
}