CosmicHorrorDev / CosmicHorrorDev/vdf-rs
v0.3 Release Wishlist
- Dominant language
- Rust
- Stars
- 46
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
## `keyvalues-parser`
- [ ] Split the error type into separate parse/render errors (akin to `serde`'s ser/de errors)
- [ ] Add more context to the parse error including tracking line+col of the error (#15)
- [ ] Rename `Vdf` -> `Pair`, `PartialVdf` -> `TopLevelPair`
- [ ] Have `TopLevelPair` directly hold a `pair` instead of storing the same fields
- [ ] Switch parse entry point to `parse()` and `parse_with_opts()` where `Opts` can toggle raw mode, and the object recursion limit. This makes the "default" usage clear while still giving configurability
- [ ] Prune away most of the typedefs
- [ ] Rename obj stuff to map?
- [ ] Restructure the API to nest by general type (`pair`, `map`, etc.) instead of the current mishmash
- [ ] Macro strings can be changed from cows to strs
## `keyvalues-serde`
- [ ] Go through and prune what's exposed as public
- [ ] Have configuration knobs for the parser's opts on the `Serializer` and `Deserializer` akin to `serde_json`
- [ ] Figure out how we want to expose parser opts
- [ ] Consider re-exporting the parser
## General
- [ ] Run the fuzzers at least overnight
- [ ] Drop `dtolnay/rust-toolchain` in favor of using the already installed `rustup`
- [ ] Switch publishing to use a scoped `crates.io` token now that those are a thing
- [ ] Add support for unit types and unit struct by treating them the same as `null` is for TOML (explicitly omitted)?
# v0.3.x
## `keyvalues-parser`
- [ ] Add a pretty parse error display that renders against the original text (store an error span and the original text)
- [ ] Avoid stack overflows when parsing arbitrarily nested objects (e.g. `a{a{a{a{a{...`) by including a default recursion limit
## `keyvalues-serde`
- [ ] Reconsider supporting enums depending on how the type inference shakes out for it (we're not quite a self-describing format due to very limited type info)
Contributor guide
Assessment
This issue has not been assessed yet.