@atomist/automation-client
Version:
Atomist API for software low-level client
40 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const defaultRepoLoader_1 = require("../common/defaultRepoLoader");
const repoFilter_1 = require("../common/repoFilter");
const repoUtils_1 = require("../common/repoUtils");
/**
* Review all the repos
* @param {HandlerContext} ctx
* @param credentials credentials to use to find and load repos
* @param {ProjectReviewer} reviewer
* @param {RepoFinder} repoFinder
* @param parameters parameters to the reviewer
* @param {} repoFilter
* @param {RepoLoader} repoLoader
* @return {Promise<Array<ActionResult<GitProject>>>}
*/
function reviewAll(ctx, credentials, reviewer, parameters, repoFinder, repoFilter = repoFilter_1.AllRepos, repoLoader = defaultRepoLoader_1.defaultRepoLoader(credentials)) {
return repoUtils_1.doWithAllRepos(ctx, credentials, p => reviewer(p, ctx, parameters), parameters, repoFinder, repoFilter, repoLoader);
}
exports.reviewAll = reviewAll;
function review(ctx, credentials, reviewer, parameters, repoFinder, repoFilter = repoFilter_1.AllRepos, repoLoader = defaultRepoLoader_1.defaultRepoLoader(credentials)) {
let projectsReviewed = 0;
const countingRepoFilter = id => {
const include = repoFilter(id);
if (include) {
++projectsReviewed;
}
return include;
};
return repoUtils_1.doWithAllRepos(ctx, credentials, p => reviewer(p, ctx, parameters), parameters, repoFinder, countingRepoFilter, repoLoader)
.then(projectReviews => {
return {
projectReviews,
projectsReviewed,
code: 0,
};
});
}
exports.review = review;
//# sourceMappingURL=reviewAll.js.map