👷 Refactors Builder to accept options in any order #358
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 patch is backwards-compatible.
This change refactors the
Builderclass to allow options in any order. This builds on #357 and solves one of the annoyances I had with the builder API (which I, unfortunately, introduced in #307), which is that it became order-dependent. This now has an internaldataobject that holds the info until everything is loaded.The one exception to the order-dependent is still the
.brand()method (this was a requirement prior to #307 too). So I added an optionalbrand?: stringargument to thebuild()function to make it more idiomatic to specify the brand up front.