# EString A simple way to parse a string using type annotations. This package was originally designed for [enve] [enve]: https://github.com/pleshevskiy/itconfig-rs/tree/redesign ## Getting started ```rust use estring::{SepVec, EString}; type PlusVec = SepVec; type MulVec = SepVec; fn main() -> Result<(), estring::ParseError> { let res = EString::from("10+5*2+3") .parse::>>()? .iter() .map(|m| m.iter().product::()) .sum::(); assert_eq!(res, 23.0); Ok(()) } ``` You can use custom types as annotations! Just implement `TryFrom`! ## Installation **The MSRV is 1.51.0** Add `estring = { version = "0.1", features = ["vec", "number"] }` as a dependency in `Cargo.toml`. `Cargo.toml` example: ```toml [package] name = "my-crate" version = "0.1.0" authors = ["Me "] [dependencies] estring = { version = "0.1", features = ["vec", "number"] } ``` ## License **MIT**. See [LICENSE](https://github.com/pleshevskiy/estring/LICENSE) to see the full text. ## Contributors [pleshevskiy](https://github.com/pleshevskiy) (Dmitriy Pleshevskiy) – creator, maintainer.