fix(jsii): single-valued enums are not processed correctly#1406
Merged
mergify[bot] merged 2 commits intomasterfrom Mar 27, 2020
Merged
fix(jsii): single-valued enums are not processed correctly#1406mergify[bot] merged 2 commits intomasterfrom
mergify[bot] merged 2 commits intomasterfrom
Conversation
TypeScript represents enums similar to union types, and single-valued enums are "simplified" to the sole member (the TypeChecker fiercely refuses to give a handle to the actual `enum` type). This resulted in `jsii` incorrectly tagging the type at usage sites. This commit adds the necessary infrastructure to detect single-valued enums and tweak the FQN generation to obtain the correct result. A new test was added to validate this whole endeavor works correctly even when the single-valued enum is within a submodule (which adds even more complexity to the mix). References: aws/aws-cdk#6712 aws/aws-cdk#6948
Collaborator
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
rix0rrr
approved these changes
Mar 27, 2020
Collaborator
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Contributor
|
Thank you for contributing! ❤️ I will now look into making sure the PR is up-to-date, then proceed to try and merge it! |
Contributor
|
Merging (with squash)... |
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.
Commit Message
TypeScript represents enums similar to union types, and single-valued
enums are "simplified" to the sole member (the TypeChecker fiercely
refuses to give a handle to the actual
enumtype). This resulted injsiiincorrectly tagging the type at usage sites.This commit adds the necessary infrastructure to detect single-valued
enums and tweak the FQN generation to obtain the correct result.
A new test was added to validate this whole endeavor works correctly
even when the single-valued enum is within a submodule (which adds even
more complexity to the mix).
References: aws/aws-cdk#6712 aws/aws-cdk#6948
End Commit Message
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.