UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

52 lines 2.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const defaultRepoLoader_1 = require("../common/defaultRepoLoader"); const repoFilter_1 = require("../common/repoFilter"); const repoUtils_1 = require("../common/repoUtils"); const editorUtils_1 = require("../support/editorUtils"); const editModes_1 = require("./editModes"); const projectEditor_1 = require("./projectEditor"); /** * Edit all the given repos with the given editor * @param {HandlerContext} ctx * @param credentials credentials * @param {ProjectEditor} editor * @param editInfo: EditMode determines how the edits should be applied. * Factory allows us to use different branches if necessary * @param parameters parameters (optional) * @param {RepoFinder} repoFinder * @param {} repoFilter * @param {RepoLoader} repoLoader * @return {Promise<Array<EditResult>>} */ function editAll(ctx, credentials, editor, editInfo, parameters, repoFinder, repoFilter = repoFilter_1.AllRepos, repoLoader = defaultRepoLoader_1.defaultRepoLoader(credentials)) { const edit = (p, parms) => editorUtils_1.editRepo(ctx, p, projectEditor_1.toEditor(editor), editModes_1.toEditModeFactory(editInfo)(p), parms) .catch(err => { return { edited: false, success: false, target: p, error: err, }; }); return repoUtils_1.doWithAllRepos(ctx, credentials, edit, parameters, repoFinder, repoFilter, repoLoader); } exports.editAll = editAll; /** * Edit the given repo with the given editor function, which depends only on the project * @param {HandlerContext} ctx * @param credentials credentials * @param {ProjectEditor} editor * @param editInfo: EditMode determines how the edits should be applied. * @param singleRepository reference to the single repo to edit * @param parameters parameters (optional) * @param {RepoLoader} repoLoader (optional, useful in testing) * @return {Promise<EditResult>} */ function editOne(ctx, credentials, editor, editInfo, singleRepository, parameters, repoLoader = defaultRepoLoader_1.defaultRepoLoader(credentials)) { const singleRepoFinder = () => Promise.resolve([singleRepository]); return editAll(ctx, credentials, projectEditor_1.toEditor(editor), editInfo, parameters, singleRepoFinder, repoFilter_1.AllRepos, repoLoader) .then(ers => ers[0]); } exports.editOne = editOne; //# sourceMappingURL=editAll.js.map