Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.52 KB

README.md

File metadata and controls

63 lines (46 loc) · 1.52 KB

Spaniel Interactive Deserialiser for Serde

crates.io docs

This crate is a Rust library which uses the Serde serialisation framework to capture data interactively from users.

Dependency

[dependencies]
serde_spaniel = "0.4"

Using Spaniel

Spaniel can produce a value of any type which implements Serde's Deserialize trait by interactively querying the user for information. For example, to interactively obtain a vector of strings:

let strs: Vec<String> = serde_spaniel::from_console()?;

Hence, a user could input the value vec!["Hello", "World"] using a dialogue such as below:

seq {
  [0] {
    Add element?: y
    string: Hello
  }
  [1] {
    Add element?: y
    string: World
  }
  [2] {
    Add element?: n
  }
}
Accept value?: y

Licence

Dual-licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 licence, shall be dual-licensed as above, without any additional terms or conditions.