1 | import { HandlerContext } from "../../HandlerContext";
|
2 | import { Project } from "../../project/Project";
|
3 | import { PullRequestReviewer } from "../common/RepoId";
|
4 | import { EditResult, ProjectEditor } from "./projectEditor";
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | export declare type EditModeFactory = (p: Project) => EditMode;
|
10 | export declare function toEditModeFactory(em: EditMode | EditModeFactory): EditModeFactory;
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | export interface EditMode {
|
16 | message: string;
|
17 | |
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | afterPersist?(p: Project, ctx: HandlerContext): Promise<any>;
|
25 | }
|
26 | export declare function isEditMode(em: any): em is EditMode;
|
27 |
|
28 |
|
29 |
|
30 | export declare enum AutoMergeMethod {
|
31 | Merge = "[auto-merge-method:merge]",
|
32 | Rebase = "[auto-merge-method:rebase]",
|
33 | Squash = "[auto-merge-method:squash]"
|
34 | }
|
35 |
|
36 |
|
37 |
|
38 | export declare enum AutoMergeMode {
|
39 | ApprovedReview = "[auto-merge:on-approve]",
|
40 | SuccessfulCheck = "[auto-merge:on-check-success]"
|
41 | }
|
42 |
|
43 |
|
44 |
|
45 | export interface AutoMerge {
|
46 | mode: AutoMergeMode | string;
|
47 | method?: AutoMergeMethod;
|
48 | }
|
49 |
|
50 |
|
51 |
|
52 | export interface BranchCommit extends EditMode {
|
53 | branch: string;
|
54 | autoMerge?: AutoMerge;
|
55 | }
|
56 |
|
57 |
|
58 |
|
59 | export declare function commitToMaster(message: string): BranchCommit;
|
60 | export declare function isBranchCommit(em: EditMode): em is BranchCommit;
|
61 |
|
62 |
|
63 |
|
64 | export declare class Commit implements BranchCommit {
|
65 | branch: string;
|
66 | message: string;
|
67 | autoMerge?: AutoMerge;
|
68 | constructor(branch: string, message: string, autoMerge?: AutoMerge);
|
69 | }
|
70 | /**
|
71 | * Captures extra steps that must go into raising a PR
|
72 | */
|
73 | export declare class PullRequest extends Commit {
|
74 | branch: string;
|
75 | title: string;
|
76 | body: string;
|
77 | message: string;
|
78 | targetBranch?: string;
|
79 | autoMerge?: AutoMerge;
|
80 | reviewers?: PullRequestReviewer[];
|
81 | constructor(branch: string, title: string, body?: string, message?: string, targetBranch?: string, autoMerge?: AutoMerge, reviewers?: PullRequestReviewer[]);
|
82 | }
|
83 | export declare function isPullRequest(em: EditMode): em is PullRequest;
|
84 | /**
|
85 | * Use for edit modes that require custom persistence
|
86 | */
|
87 | export interface CustomExecutionEditMode extends EditMode {
|
88 | edit<P>(p: Project, action: ProjectEditor<P>, context: HandlerContext, parameters: P): Promise<EditResult>;
|
89 | }
|
90 | export declare function isCustomExecutionEditMode(ei: EditMode): ei is CustomExecutionEditMode;
|
91 |
|
\ | No newline at end of file |