wuffle 0.66.1 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,6 +58,18 @@ export default function Search(config, logger, store) {
58
58
  return pattern && actual.toLowerCase().includes(pattern.toLowerCase());
59
59
  }
60
60
 
61
+ function isPull(issue) {
62
+ return issue.pull_request;
63
+ }
64
+
65
+ function isApproved(issue) {
66
+ return (issue.reviews || []).some(r => r.state === 'approved');
67
+ }
68
+
69
+ function isReviewed(issue) {
70
+ return (issue.reviews || []).length > 0;
71
+ }
72
+
61
73
  const filters = {
62
74
 
63
75
  text: function textFilter(text, exact) {
@@ -103,17 +115,33 @@ export default function Search(config, logger, store) {
103
115
  return function filterClosed(issue) {
104
116
  return issue.state === 'closed';
105
117
  };
118
+ case 'approved':
119
+ return function filterApproved(issue) {
120
+ return (
121
+ isPull(issue) && isApproved(issue)
122
+ ) || (
123
+ (issue.links || []).some(link => link.type === LinkTypes.CLOSED_BY && isApproved(link.target))
124
+ );
125
+ };
126
+ case 'reviewed':
127
+ return function filterReviewed(issue) {
128
+ return (
129
+ isPull(issue) && isReviewed(issue)
130
+ ) || (
131
+ (issue.links || []).some(link => link.type === LinkTypes.CLOSED_BY && isReviewed(link.target))
132
+ );
133
+ };
106
134
  case 'open':
107
135
  return function filterOpen(issue) {
108
136
  return issue.state === 'open';
109
137
  };
110
138
  case 'issue':
111
139
  return function filterIssue(issue) {
112
- return !issue.pull_request;
140
+ return !isPull(issue);
113
141
  };
114
142
  case 'pull':
115
143
  return function filterPull(issue) {
116
- return issue.pull_request;
144
+ return isPull(issue);
117
145
  };
118
146
  case 'milestoned':
119
147
  return function filterMilestoned(issue) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuffle",
3
- "version": "0.66.1",
3
+ "version": "0.68.0",
4
4
  "description": "A multi-repository task board for GitHub issues",
5
5
  "author": {
6
6
  "name": "Nico Rehwaldt",
@@ -83,5 +83,5 @@
83
83
  "index.js",
84
84
  "wuffle.config.example.js"
85
85
  ],
86
- "gitHead": "4041219897b8a7d238d0d84eb06214bb1ab55d8e"
86
+ "gitHead": "5e6c8546c2c3ea6da7e4ce23e043d2afc0423a05"
87
87
  }