serde-doc 0.1.0

A tool to generate documentation for Serde serialization and deserialization.
Documentation
pub mod markdown;
pub mod jsonschema;
use anyhow::{bail, Result};

use crate::Context;

pub struct GeneratorConfig {
    pub output: Option<String>,
    pub structs: Option<Vec<String>>,
    pub files: Option<Vec<String>>,

}
pub trait Generator {
    fn generate(&self, ctx: &Context, config:&GeneratorConfig) -> Result<()>;
}

pub fn get_generator(name: &str) -> Result<Box<dyn Generator>> {
    match name {
        "markdown" => Ok(Box::new(markdown::MarkdownGenerator::new())),
        "jsonschema" => Ok(Box::new(jsonschema::JsonSchemaGenerator::new())),
        _ => bail!("Unknown generator: {}", name),
    }
}