Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is mostly a work in progress look at some medium-term performance & maintainability improvements I want to make, by re-writing the parser, adding typescript, and starting to use this module "from the inside out" to find out where the perf bottlenecks are. I've identified a pretty significant (2x!!) performance improvement on some experimental code by removing some intermediate event emitters and streamlining the parsing code quite a bit. I'm not sure there's a way to land it in a non-disruptive way so I'm still investigating, but I want to land some of this work-in-progress stuff. It's in its own module right now so it shouldn't disturb the main library at all.