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.
Hey @estrattonbailey! Really loving this library. It’s been a perfect "small-but-mighty" solve for a few projects of mine.
This PR effectively solves #7 but without baking in
module.default
resolution. Pass anyPromise
that resolves the value of acomponent
call.Though the API remains unchanged, I might consider this a breaking feature for the fact that
mount
is asynchronous. Might trip up some folks that callappInstance.emit()
(or whatever) immediately afterappInstance.mount()
.I’ve updated tests and the readme. I thought grouping these readme additions alongside the explainer on the
add
method might make sense.Let me know what you think! Cheers!
Feature Summary
Each passed component is now wrapped in a
Promise.resolve
, which has the following consequences:picoapp
andappInstance.add
.Promise
be polyfilled for browsers that don’t support it.appInstance.mount()
returns aPromise
that resolves when all components have been successfully resolved and bound to the DOM.