Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.3 Release Wishlist #61

Open
20 tasks
CosmicHorrorDev opened this issue Sep 8, 2024 · 0 comments
Open
20 tasks

v0.3 Release Wishlist #61

CosmicHorrorDev opened this issue Sep 8, 2024 · 0 comments

Comments

@CosmicHorrorDev
Copy link
Owner

CosmicHorrorDev commented Sep 8, 2024

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 (Enrich Error Information #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)
@CosmicHorrorDev CosmicHorrorDev changed the title v0.3 Release v0.3 Release Wishlist Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant