Skip to content

Commit

Permalink
Support new PR view in isClosedIssue; tighten related checks (#201)
Browse files Browse the repository at this point in the history
* Refactor PR state selectors and add checks for PR and issue types

* update

* update

* update

* update

* lint

* update
  • Loading branch information
kovsu authored Nov 6, 2024
1 parent b562b56 commit 7ef1350
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -286,28 +286,40 @@ TEST: addTests('isQuickPR', [
'https://github.com/sindresorhus/refined-github/compare/test-branch?quick_pull=1',
]);

const prStateSelector = [
const stateSelector = [
'.State',
'[class^="StateLabel"]',
'[data-testid="header-state"]',
].join(',');

export const isDraftPR = (): boolean => $(prStateSelector)!.textContent!.trim() === 'Draft';
export const isDraftPR = (): boolean => $(stateSelector)?.textContent!.trim() === 'Draft';
export const isOpenPR = (): boolean => {
const status = $(prStateSelector)!.textContent!.trim();
if (!isPR()) {
return false;
}

const status = $(stateSelector)!.textContent!.trim();
return status === 'Open' || status === 'Draft';
};

export const isMergedPR = (): boolean => {
const status = $(prStateSelector)!.textContent!.trim();
return status === 'Merged';
};
export const isMergedPR = (): boolean => $(stateSelector)?.textContent!.trim() === 'Merged';

export const isClosedPR = (): boolean => {
const status = $(prStateSelector)!.textContent!.trim();
if (!isPR()) {
return false;
}

const status = $(stateSelector)!.textContent!.trim();
return status === 'Closed' || status === 'Merged';
};

export const isClosedIssue = (): boolean => exists('#partial-discussion-header :is(.octicon-issue-closed, .octicon-skip)');
export const isClosedIssue = (): boolean => {
if (!isIssue()) {
return false;
}

const status = $(stateSelector)!.textContent!.trim();
return status === 'Closed' || status === 'Closed as not planned';
};

export const isReleases = (url: URL | HTMLAnchorElement | Location = location): boolean => getRepo(url)?.path === 'releases';
TEST: addTests('isReleases', [
Expand Down

0 comments on commit 7ef1350

Please sign in to comment.