Jesse Trinity
|
17022388bd
|
Add refactor convertToOptionalChainExpression (#39135)
* add convertOptionalChain
* cover more cases
* expose containsMatchingReference
* clean up performing edits
* bound start position
* add tests
* refactor and handle edge cases
* update tests
* consider explicit requests for empty spans
* update fourslash to use trigger reason
* add tests cases for trigger reason
* fix errors
* remove type assertion
* fix non ampersand chains
* clean up some logic
* add ternary case
* add diagnostic message
* add nullish check for ternary expressions
* Update src/services/refactors/convertToOptionalChainExpression.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update src/services/refactors/convertToOptionalChainExpression.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update tests/cases/fourslash/refactorConvertToOptionalChainExpressionForTriggerReason3.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update tests/cases/fourslash/refactorConvertToOptionalChainExpressionForTriggerReason1.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* reformat and remove unused checks
* allow any for ternary refactor
* add tests
* add tests
* check return and variable statements
* use isMatchingReference instead of containsMatchingReference
* allow partial selections
* fine tune selection ranges
* recurse for call expressions
* fix spellings
* add recursive cases
* remove isOrContainsMatchingReference
* cleanup
* more refactoring
* cleanup
* rename tests
* address PR comments
* check match syntactically
* handle another call expression case
* some renames
* inline some checks
* add test
* address comments
* add refactorNotAvailableReason
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
|
2020-07-13 19:33:33 -07:00 |
|