-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: update onMount type definition to prevent async function return #8136
Merged
dummdidumm
merged 9 commits into
sveltejs:version-4
from
chrskerr:onMount-type-prevent-async-function-return
Apr 18, 2023
+120
−59
Merged
Changes from 1 commit
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
7ea02c8
update onmount typing to prevent async function return
chrskerr 5522a35
Merge remote-tracking branch 'upstream/master' into onMount-type-prev…
baseballyama eb97b53
enhance type
baseballyama 1dec6e4
simplify
baseballyama f7c2a66
force conflict so I can merge version-4 into this
dummdidumm c941525
Merge branch 'version-4' into onMount-type-prevent-async-function-return
dummdidumm cda63cf
docs, test
dummdidumm 5c15082
lint
dummdidumm 1246260
Update src/runtime/internal/lifecycle.ts
dummdidumm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case, this will be a type error, right?
But fundamentally, there is no problem.
So IMO, it's better to use
any
type instead ofvoid
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion but I think that this won't work to prevent a function return from an async onMount.
I am attempting to cause a typescript failure on arguments of type
() => Promise<() => any>
, but the introduction of() => any
means that this remains a valid argument.Given I only actually want to disallow this single type, perhaps the following is more appropriate:
Testing locally, this allows your example above and any other return from onMount except for the following: