29 lines
948 B
TypeScript
29 lines
948 B
TypeScript
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
import {MergeConfig, TargetLabel} from './config';
|
|
import {matchesPattern} from './string-pattern';
|
|
|
|
/** Gets the target label from the specified pull request labels. */
|
|
export function getTargetLabelFromPullRequest(config: MergeConfig, labels: string[]): TargetLabel|
|
|
null {
|
|
for (const label of labels) {
|
|
const match = config.labels.find(({pattern}) => matchesPattern(label, pattern));
|
|
if (match !== undefined) {
|
|
return match;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/** Gets the branches from the specified target label. */
|
|
export function getBranchesFromTargetLabel(
|
|
label: TargetLabel, githubTargetBranch: string): string[] {
|
|
return typeof label.branches === 'function' ? label.branches(githubTargetBranch) : label.branches;
|
|
}
|