osmgraphing 1.1.1

Playing around with graphs created via parsing OpenStreetMap data
Documentation
use crate::{defaults, network::vehicles::Category as VehicleCategory};
use serde::Deserialize;

#[derive(Clone, Debug)]
pub struct Config {
    pub category: VehicleCategory,
    pub are_drivers_picky: bool,
}

impl Default for Config {
    fn default() -> Config {
        Config {
            category: defaults::parsing::vehicles::CATEGORY,
            are_drivers_picky: defaults::parsing::vehicles::ARE_DRIVERS_PICKY,
        }
    }
}

impl From<ProtoConfig> for Config {
    fn from(proto_cfg: ProtoConfig) -> Self {
        Config {
            category: proto_cfg.category,
            are_drivers_picky: proto_cfg.are_drivers_picky,
        }
    }
}

#[derive(Clone, Debug)]
pub struct ProtoConfig {
    pub category: VehicleCategory,
    pub are_drivers_picky: bool,
}

impl From<RawConfig> for ProtoConfig {
    fn from(raw_cfg: RawConfig) -> ProtoConfig {
        ProtoConfig {
            category: raw_cfg.category,
            are_drivers_picky: raw_cfg.are_drivers_picky,
        }
    }
}

#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct RawConfig {
    pub category: VehicleCategory,
    pub are_drivers_picky: bool,
}