4 releases (breaking)
0.4.0 | Aug 2, 2022 |
---|---|
0.3.0 | May 24, 2021 |
0.2.0 | Jan 20, 2021 |
0.1.0 | Oct 15, 2020 |
#836 in Encoding
60KB
2K
SLoC
Spaniel Interactive Deserialiser for Serde
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
- Apache Licence, Version 2.0, (LICENCE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT licence (LICENCE-MIT or https://opensource.org/licenses/MIT)
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.
Dependencies
~5–17MB
~198K SLoC