Crate quire[][src]

Yaml-based configuration parsing and validation library

Example

This example is not tested
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