Crate quire

Source
Expand description

Yaml-based configuration parsing and validation library

§Example

extern crate quire;
#[macor_use] extern crate serde_derive;
use quire::{parse_config, Options};
use quire::validate::{Structure, Scalar};

#[derive(Deserialize)]
struct Config {
    item1: String,
    item2: Option<String>,
}

fn validator<'static>() -> Structure<'static> {
    Structure::new()
    .member("item1", Scalar::new())
    .member("item2", Scalar::new().optional())
}

let cfg: Config;
cfg = parse_config("config.yaml", &validator(), &Options::default())
      .expect("valid config");

Modules§

ast
Abstract syntax tree
validate
Validators for your config

Structs§

Error
Single error when of parsing configuration file
ErrorCollector
An internal structure to track list of errors
ErrorList
List of errors that were encountered during configuration file parsing
Options
Options for parsing configuration file
Pos
Source code position

Enums§

Include
The kind of include tag that encountered in config

Functions§

parse_config
Parse configuration from a file
parse_string
Parse configuration from a string
raw_parse
Raw parser of the yaml to ast