Added defaultOptions and hardcoded two-level defaults nesting #59
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.
Builds onto #57 with the long-lived temporary solution @gr2m referenced in that PR thread of having a known finite level of nesting.
I did away with fancy conditional types to make sure the type system doesn't get bogged down computing them all for plugins with a few options. I can add them back if you have test cases that require more than just
version
being required?The big return type of the
static defaults
in theory could be automated a little bit with a recursive type. However, we wouldn't be able to go infinitely deep, and again the code to get that to work would be a good bit longer and less readable than how it is now. 🤷