| 
									
										
										
										
											2020-03-20 06:59:35 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							|  |  |  |  * Copyright Google Inc. 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 {parse as parseYaml} from 'yaml'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface PullApproveGroupConfig { | 
					
						
							| 
									
										
										
										
											2020-04-16 20:12:25 +02:00
										 |  |  |   conditions?: string[]; | 
					
						
							| 
									
										
										
										
											2020-03-20 06:59:35 -07:00
										 |  |  |   reviewers: { | 
					
						
							|  |  |  |     users: string[], | 
					
						
							| 
									
										
										
										
											2020-03-30 08:44:30 -07:00
										 |  |  |     teams?: string[], | 
					
						
							|  |  |  |   }|{ | 
					
						
							| 
									
										
										
										
											2020-03-20 06:59:35 -07:00
										 |  |  |     teams: string[], | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface PullApproveConfig { | 
					
						
							|  |  |  |   version: number; | 
					
						
							|  |  |  |   github_api_version?: string; | 
					
						
							|  |  |  |   pullapprove_conditions?: { | 
					
						
							|  |  |  |     condition: string, | 
					
						
							|  |  |  |     unmet_status: string, | 
					
						
							|  |  |  |     explanation: string, | 
					
						
							|  |  |  |   }[]; | 
					
						
							|  |  |  |   groups: { | 
					
						
							|  |  |  |     [key: string]: PullApproveGroupConfig, | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export function parsePullApproveYaml(rawYaml: string): PullApproveConfig { | 
					
						
							|  |  |  |   return parseYaml(rawYaml) as PullApproveConfig; | 
					
						
							| 
									
										
										
										
											2020-03-30 08:44:30 -07:00
										 |  |  | } |