1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const onCommand_1 = require("../../onCommand");
|
4 | const repoFilter_1 = require("../common/repoFilter");
|
5 | const editAll_1 = require("./editAll");
|
6 | const editModes_1 = require("./editModes");
|
7 | function defaultDetails(name) {
|
8 | return {
|
9 | description: name,
|
10 | editMode: new editModes_1.PullRequest(name, name),
|
11 | };
|
12 | }
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | function editorHandler(pe, factory, name, details = {}) {
|
21 | const detailsToUse = Object.assign({}, defaultDetails(name), details);
|
22 | return onCommand_1.commandHandlerFrom(handleEditOneOrMany(pe, detailsToUse), factory, name, detailsToUse.description, detailsToUse.intent, detailsToUse.tags);
|
23 | }
|
24 | exports.editorHandler = editorHandler;
|
25 |
|
26 |
|
27 |
|
28 |
|
29 | function handleEditOneOrMany(pe, details) {
|
30 | return (ctx, parameters) => {
|
31 | const credentials = parameters.targets.credentials;
|
32 | if (!!parameters.targets.repoRef) {
|
33 | return editAll_1.editOne(ctx, credentials, pe(parameters), editModeFor(details.editMode, parameters), parameters.targets.repoRef, parameters, !!details.repoLoader ? details.repoLoader(parameters) : undefined);
|
34 | }
|
35 | return editAll_1.editAll(ctx, credentials, pe(parameters), editModeFor(details.editMode, parameters), parameters, details.repoFinder, repoFilter_1.andFilter(parameters.targets.test, details.repoFilter), !!details.repoLoader ? details.repoLoader(parameters) : undefined);
|
36 | };
|
37 | }
|
38 | exports.handleEditOneOrMany = handleEditOneOrMany;
|
39 | function editModeFor(emf, p) {
|
40 | return editModes_1.isEditMode(emf) ?
|
41 | emf :
|
42 | emf(p);
|
43 | }
|
44 |
|
\ | No newline at end of file |