fix: fixed bug with prFilter function
This commit is contained in:
21
addLabels.js
21
addLabels.js
@ -6,17 +6,16 @@ const octokit = require('@octokit/rest')(octokitConfig);
|
||||
octokit.authenticate(octokitAuth);
|
||||
|
||||
const addLabels = (number, labels, log) => {
|
||||
console.log(`PR #${number} added ${JSON.stringify(labels)}\n`);
|
||||
// octokit.issues.addLabels({ owner, repo, number, labels })
|
||||
// .then(() => {
|
||||
// log.update(number, true);
|
||||
// console.log(`PR #${number} added ${JSON.stringify(labels)}\n`);
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// console.log(`PR #${number} had an error when trying to label with ${JSON.stringify(labels)}\n`);
|
||||
// console.log(err)
|
||||
// log.finish()
|
||||
// })
|
||||
octokit.issues.addLabels({ owner, repo, number, labels })
|
||||
.then(() => {
|
||||
log.update(number, true);
|
||||
console.log(`PR #${number} added ${JSON.stringify(labels)}\n`);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(`PR #${number} had an error when trying to label with ${JSON.stringify(labels)}\n`);
|
||||
console.log(err)
|
||||
log.finish()
|
||||
})
|
||||
};
|
||||
|
||||
exports.addLabels = addLabels;
|
||||
|
26
paginate.js
26
paginate.js
@ -1,21 +1,25 @@
|
||||
const { owner, repo } = require('./constants');
|
||||
|
||||
const paginate = async function paginate (method, octokit, firstPR, lastPR, prPropsToGet) {
|
||||
const minMaxFilter = (prs, first, last, prPropsToGet) => {
|
||||
return prs.reduce((filtered, pr) => {
|
||||
|
||||
const prFilter = (prs, first, last, prPropsToGet) => {
|
||||
const filtered = [];
|
||||
for (let pr of prs) {
|
||||
if (pr.number >= first && pr.number <= last) {
|
||||
const propsObj = prPropsToGet.reduce((obj, prop) => {
|
||||
obj[prop] = pr[prop];
|
||||
return obj;
|
||||
} ,{});
|
||||
filtered = [propsObj, ...filtered];
|
||||
filtered.push(propsObj);
|
||||
}
|
||||
return filtered;
|
||||
}, []);
|
||||
if (pr.number >= last) {
|
||||
done = true;
|
||||
return filtered;
|
||||
}
|
||||
}
|
||||
return filtered;
|
||||
};
|
||||
|
||||
const includesPRNum = (prs, prNum) => prs.some(({ number }) => number >= prNum);
|
||||
|
||||
const methodProps = {
|
||||
owner, repo, state: 'open',
|
||||
base: 'master', sort: 'created',
|
||||
@ -25,13 +29,11 @@ const paginate = async function paginate (method, octokit, firstPR, lastPR, prPr
|
||||
let done = false; // will be true when lastPR is seen paginated results
|
||||
let response = await method(methodProps);
|
||||
let { data } = response;
|
||||
data = minMaxFilter(data, firstPR, lastPR, prPropsToGet);
|
||||
done = includesPRNum(data, lastPR);
|
||||
while (octokit.hasNextPage(response) && !done) {
|
||||
data = prFilter(data, firstPR, lastPR, prPropsToGet);
|
||||
while (octokit.hasNextPage(response) && !done ) {
|
||||
response = await octokit.getNextPage(response);
|
||||
let dataFiltered = minMaxFilter(response.data, firstPR, lastPR, prPropsToGet);
|
||||
let dataFiltered = prFilter(response.data, firstPR, lastPR, prPropsToGet);
|
||||
data = data.concat(dataFiltered);
|
||||
done = includesPRNum(dataFiltered, lastPR);
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
Reference in New Issue
Block a user