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; | ||
|  | } |