refactors; improved errors; accept -- arbitrary positionals#7
Merged
Conversation
one less `clone()` yay
it behaves identically; just it's nicer to read imo
`node.insert` pulls in a bunch of logic about not having duplicate keys; but that's already guaranteed by a json map, so there's no reason to do that again in our code. this is simpler, faster, and smaller (yay! premature optimization!)
names can be empty; and we never did check that they're nonempty
"an array" over "json array" to match "arguments must be an array"
previously, this would throw "name must be a string"; since name field is obligatory.
because options now canonically come "before" the positional arguments, i also flipped the help text
Owner
|
Thanks for cleaning up the code! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I was going to make some changes to the formatting, but i got distracted and i ended up doing a lot of cleaning up and refactoring and other misc improvements.
there are a lot of individual changes; i tried to keep a tidy commit history when doing them. each commit is fairly small and individually valid; it's probably easier to review this commit-by-commit instead of looking at the final diff of all the commits and trying to review that.