Allow Loaders to require onLoad parameter #598
Merged
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.
Why
Some
Loader
s check to see ifonLoad
isundefined
before calling it, some just call it without anundefined
check. With the changes in #570, it was impossible to define aLoader
where theonLoad
parameter was required since the baseLoader
class required it be optional.This came up in practice because the loader types defined by
three-stdlib
have some requiredonLoad
parameters that were causing type errors. After further investigation, this seemed like the best solution both for @types/three and three-stdlib.What
This PR allows for either required or optional
onLoad
parameters by making theonLoad
parameter required in the baseLoader
class and then overloading theload
method in any derived classes that want to makeonLoad
optional.Checklist
master
, next goesdev
)