Add tests for inferring contextual generic mapped types#52709
Merged
sandersn merged 1 commit intomicrosoft:mainfrom Mar 3, 2023
Merged
Add tests for inferring contextual generic mapped types#52709sandersn merged 1 commit intomicrosoft:mainfrom
sandersn merged 1 commit intomicrosoft:mainfrom
Conversation
Collaborator
|
This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise. |
Andarist
commented
Feb 9, 2023
| // @strict: true | ||
| // @noEmit: true | ||
|
|
||
| type LowInfer<T> = T & {}; |
Contributor
Author
There was a problem hiding this comment.
Since those tests are using LowInfer - cc @RyanCavanaugh who was mentioning this as a somewhat viable and stable pattern in some of the issues
Andarist
commented
Feb 9, 2023
|
|
||
| interface AssignAction<TContext> { | ||
| type: "xstate.assign"; | ||
| exec: (arg: TContext, meta: Meta<TContext>) => void; |
Contributor
Author
There was a problem hiding this comment.
The only difference between those 2 tests is that this one is using a property with a function value here and the other one is using a callable signature. Both cases are somewhat important for us in XState.
Andarist
commented
Feb 9, 2023
| @@ -0,0 +1,41 @@ | |||
| // @strict: true | |||
Contributor
Author
There was a problem hiding this comment.
You can play around with those test cases in the TS 4.7 playground where they error.
sandersn
approved these changes
Mar 3, 2023
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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 PR only introduces some tests. We started relying on this in XState and it turned out that this doesn't work pre-4.8.
I tracked down the PR that enabled this use case: #49696 (cc @ahejlsberg ). It wasn't fixing any case like that (no similar tests introduced there) so I figured out that it's best for us to provide tests for this here - to ensure that this won't accidentally regress (as long as you believe that this should continue to work, of course)