fix(language-core): preserve declared setup binding types in template exposure#5979
Closed
serkodev wants to merge 8 commits intovuejs:masterfrom
Closed
fix(language-core): preserve declared setup binding types in template exposure#5979serkodev wants to merge 8 commits intovuejs:masterfrom
serkodev wants to merge 8 commits intovuejs:masterfrom
Conversation
Member
|
I think it would be better to use type __VLS_SetupExposed = import("vue").ShallowUnwrapRef<{
foo: ReturnType<() => typeof foo>;
}>;to avoid creating an extra type. |
Co-authored-by: 山吹色御守 <85992002+KazariEX@users.noreply.github.com>
Member
Author
|
Oh, that’s a better way, thanks! |
Member
|
After #5982 it can be further simplified. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fix #5958
Avoid
typeofflow narrowing in__VLS_SetupExposedfor mutable bindings with explicit type annotations and initializers (e.g.let x: boolean = true).Generate declared-type-based exposure only for that subset with a helper class field initializer pattern, while keeping existing
typeofbehavior for other bindings to preserve control-flow typing.POC
TS Playground