jss-core 0.2.0

Json Simplified Schema Core Interface
Documentation
use json_value::serde_json::Value;
use jss_convert::JssSchema;
use jss_error::Result;
use std::{io::Write, path::PathBuf};

#[test]
fn convert_all_draft() -> Result<()> {
    let mut drafts = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
    drafts.push("tests/from_json/draft");

    for file in drafts.read_dir()? {
        let mut path = file?.path();
        if let Some(s) = path.extension() {
            if s.eq("json") {
                let json: Value = std::fs::read_to_string(&path)?.parse()?;
                let jss = JssSchema::parse_json_schema_as_jss(json)?;
                path.set_extension("jss");
                let mut f = std::fs::OpenOptions::new().write(true).create(true).open(path)?;
                f.write_all(jss.as_bytes())?;
                f.flush()?;
            }
        }
    }
    Ok(())
}