GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |
GeezerVison is showing github.com — Quickfix jsdoc in Typescript files by sandersn · Pull Request #17250 · microsoft/TypeScript Conversation
Member
Add a codefix for the "JSDoc types can only be used inside documentation comments" error in .ts files. The codefix offers to convert the JSDoc-syntax type into the equivalent Typescript-syntax type. Notes:
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionsIt only handles a few simple types right now, but the skeleton is there. 1. Still pretty janky. 2. Type Reference code doesn't work yet. 3. Other transforms just aren't done. 4. Always replaces, even when there isn't any transformation of JSDoc types. (This probably isn't an issue since we wouldn't issue an error unless there were some JSDoc to change.) For ?, provide two code fixes, one for jsdoc/closure semantics (`?t -> t | null)` and one for flow semantics (`?t -> t | null | undefined`). The current way of doing this is the hackiest thing you can imagine, but it was easier than lifting everything into the list monad for a code fix that I might not actually keep. Instead of trying to walk the type structure in the codefix, I changed to call getTypeFromTypeNode in the checker and then calling typeToString. Together, these two functions normalise out JSDoc. Note that you only get `T | null` for `?T` if you have --strict on. This is technically correct -- adding a null union does nothing without strict -- but it would still serve as documentation.
Nathan Shively-Sanders (sandersn)
requested a review
from Wesley Wigham (weswigham)
Wesley Wigham (weswigham)
approved these changes
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks super clean, actually. Maybe add some doc comments to
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Member
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
ReviewersUh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
None yet
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. Uh oh!
There was an error while loading. Please reload this page. 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. | |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |