I think this is an overall improvement. A few things done here:
- They are available as `::env::parse` instead of `::env_utils`. The
`env` module gets functions of its own soon enough.
- Renamed functions to be shorter: `list_by_sep`, `list_by_comma`, ...
- The docs were adjusted. One example is enough. And the functions with
a fixed separator don't need the full docs again. That way we can
avoid the `paste` dependency.
- Functions now always return `Result<C, _>`. While the previous version
was slightly more flexible, I don't think anyone would benefit from
that flexibility (as `parse_env` requires `Result<_, _>` anyway) and
this way it's a bit clearer what the function does, especially for
those who don't know the nifty `FromIterator for Result` impl.
- The example was adjusted accordingly. I also changed the names to
obviously dummy names as I didn't know the existing names and don't
want to spend time investigating whether I want their names in my
code base :D
Since there is no established format for representing collections within env variables, to enable their support, the feature with a custom parser attribute added.
Add helpers for parsing env variables into collections
Improve rustdoc for `env_utils` functions
Improve `parse_env` example