| /** |
| * @license |
| * Copyright 2020 Google LLC |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| import {ParsedChangeInfo} from '../types/types'; |
| |
| export enum Metadata { |
| OWNER = 'Owner', |
| REVIEWERS = 'Reviewers', |
| REPO_BRANCH = 'Repo | Branch', |
| SUBMITTED = 'Submitted', |
| PARENT = 'Parent', |
| MERGED_AS = 'Merged as', |
| REVERT_CREATED_AS = 'Revert Created as', |
| STRATEGY = 'Strategy', |
| UPDATED = 'Updated', |
| CC = 'CC', |
| HASHTAGS = 'Hashtags', |
| TOPIC = 'Topic', |
| UPLOADER = 'Uploader', |
| AUTHOR = 'Author', |
| COMMITTER = 'Committer', |
| CHERRY_PICK_OF = 'Cherry pick of', |
| } |
| |
| export const DisplayRules = { |
| ALWAYS_SHOW: [ |
| Metadata.OWNER, |
| Metadata.REVIEWERS, |
| Metadata.REPO_BRANCH, |
| Metadata.SUBMITTED, |
| Metadata.TOPIC, |
| ], |
| SHOW_IF_SET: [ |
| Metadata.CC, |
| Metadata.HASHTAGS, |
| Metadata.UPLOADER, |
| Metadata.AUTHOR, |
| Metadata.COMMITTER, |
| Metadata.CHERRY_PICK_OF, |
| ], |
| ALWAYS_HIDE: [ |
| Metadata.PARENT, |
| Metadata.MERGED_AS, |
| Metadata.REVERT_CREATED_AS, |
| Metadata.STRATEGY, |
| Metadata.UPDATED, |
| ], |
| }; |
| |
| export function isSectionSet(section: Metadata, change?: ParsedChangeInfo) { |
| switch (section) { |
| case Metadata.CC: |
| return !!change?.reviewers?.CC?.length; |
| case Metadata.HASHTAGS: |
| return !!change?.hashtags?.length; |
| case Metadata.TOPIC: |
| return !!change?.topic; |
| case Metadata.UPLOADER: |
| case Metadata.AUTHOR: |
| case Metadata.COMMITTER: |
| return false; |
| case Metadata.CHERRY_PICK_OF: |
| return !!change?.cherry_pick_of_change; |
| } |
| return true; |
| } |