@@ -29,7 +29,7 @@ import { GHPRComment, GHPRCommentThread, TemporaryComment } from './github/prCom
2929import { PullRequestModel } from './github/pullRequestModel' ;
3030import { PullRequestOverviewPanel } from './github/pullRequestOverview' ;
3131import { RepositoriesManager } from './github/repositoriesManager' ;
32- import { getIssuesUrl , getPullsUrl , isInCodespaces , vscodeDevPrLink , parseIssueExpressionOutput , ISSUE_OR_URL_EXPRESSION } from './github/utils' ;
32+ import { getIssuesUrl , getPullsUrl , isInCodespaces , ISSUE_OR_URL_EXPRESSION , parseIssueExpressionOutput , vscodeDevPrLink } from './github/utils' ;
3333import { isNotificationTreeItem , NotificationTreeItem } from './notifications/notificationItem' ;
3434import { PullRequestsTreeDataProvider } from './view/prsTreeDataProvider' ;
3535import { ReviewCommentController } from './view/reviewCommentController' ;
@@ -1456,7 +1456,7 @@ ${contents}
14561456 }
14571457 } ) ) ;
14581458
1459- function validateAndParseInput ( input : string , expectedOwner : string , expectedRepo : string ) : { isValid : boolean ; prNumber ? : number ; errorMessage ?: string } {
1459+ function validateAndParseInput ( input : string , expectedOwner : string , expectedRepo : string ) : { isValid : true ; prNumber : number ; errorMessage ?: string } | { isValid : false ; prNumber ?: number ; errorMessage : string } {
14601460 const prNumberMatcher = / ^ # ? ( \d * ) $ / ;
14611461 const numberMatches = input . match ( prNumberMatcher ) ;
14621462 if ( numberMatches && ( numberMatches . length === 2 ) && ! Number . isNaN ( Number ( numberMatches [ 1 ] ) ) ) {
@@ -1465,7 +1465,7 @@ ${contents}
14651465 return { isValid : true , prNumber : num } ;
14661466 }
14671467 }
1468-
1468+
14691469 const urlMatches = input . match ( ISSUE_OR_URL_EXPRESSION ) ;
14701470 const parsed = parseIssueExpressionOutput ( urlMatches ) ;
14711471 if ( parsed && parsed . issueNumber && parsed . issueNumber > 0 ) {
@@ -1477,7 +1477,7 @@ ${contents}
14771477 }
14781478 return { isValid : true , prNumber : parsed . issueNumber } ;
14791479 }
1480-
1480+
14811481 return { isValid : false , errorMessage : vscode . l10n . t ( 'Value must be a pull request number or GitHub URL' ) } ;
14821482 }
14831483
@@ -1508,13 +1508,13 @@ ${contents}
15081508 if ( ( prNumber === undefined ) || prNumber === '#' ) {
15091509 return ;
15101510 }
1511-
1511+
15121512 // Extract PR number from input (either direct number or URL)
15131513 const parseResult = validateAndParseInput ( prNumber , githubRepo . repo . remote . owner , githubRepo . repo . remote . repositoryName ) ;
1514- if ( ! parseResult . isValid || ! parseResult . prNumber ) {
1514+ if ( ! parseResult . isValid ) {
15151515 return vscode . window . showErrorMessage ( parseResult . errorMessage || vscode . l10n . t ( 'Invalid pull request number or URL' ) ) ;
15161516 }
1517-
1517+
15181518 const prModel = await githubRepo . manager . fetchById ( githubRepo . repo , parseResult . prNumber ) ;
15191519 if ( prModel ) {
15201520 return ReviewManager . getReviewManagerForFolderManager ( reviewsManager . reviewManagers , githubRepo . manager ) ?. switch ( prModel ) ;
0 commit comments