DRY up labels using the new pluralize method

This commit is contained in:
Elena Tanasoiu
2022-07-19 13:25:40 +01:00
parent 9c598c2f06
commit 1b425fc261
2 changed files with 21 additions and 11 deletions

View File

@@ -3,6 +3,7 @@ import * as path from 'path';
import { QueryHistoryConfig } from './config';
import { LocalQueryInfo, QueryHistoryInfo } from './query-results';
import { RemoteQueryHistoryItem } from './remote-queries/remote-query-history-item';
import { pluralize } from './helpers';
interface InterpolateReplacements {
t: string; // Start time
@@ -64,17 +65,23 @@ export class HistoryItemLabelProvider {
};
}
private getRemoteInterpolateReplacements(item: RemoteQueryHistoryItem): InterpolateReplacements {
// Return the number of repositories queried if available. Otherwise, use the controller repository name.
private buildRepoLabel(item: RemoteQueryHistoryItem): string {
const numRepositoriesQueried = item.remoteQuery.numRepositoriesQueried;
const numRepositoriesLabel = `${numRepositoriesQueried} ${numRepositoriesQueried === 1 ? 'repository' : 'repositories'}`;
if (numRepositoriesQueried) {
return pluralize(numRepositoriesQueried, 'repository', 'repositories');
}
return `${item.remoteQuery.controllerRepository.owner}/${item.remoteQuery.controllerRepository.name}`;
}
private getRemoteInterpolateReplacements(item: RemoteQueryHistoryItem): InterpolateReplacements {
return {
t: new Date(item.remoteQuery.executionStartTime).toLocaleString(env.language),
q: `${item.remoteQuery.queryName} (${item.remoteQuery.language})`,
// Return the number of repositories queried if available. Otherwise, use the controller repository name.
d: numRepositoriesQueried ? numRepositoriesLabel : `${item.remoteQuery.controllerRepository.owner}/${item.remoteQuery.controllerRepository.name}`,
r: item.resultCount === undefined ? '' : `(${item.resultCount} results)`,
d: this.buildRepoLabel(item),
r: `(${pluralize(item.resultCount, 'result', 'results')})`,
s: item.status,
f: path.basename(item.remoteQuery.queryFilePath),
'%': '%'

View File

@@ -4,7 +4,10 @@ import * as fs from 'fs-extra';
import { window, commands, Uri, ExtensionContext, QuickPickItem, workspace, ViewColumn } from 'vscode';
import { Credentials } from '../authentication';
import { UserCancellationException } from '../commandRunner';
import { showInformationMessageWithAction } from '../helpers';
import {
showInformationMessageWithAction,
pluralize
} from '../helpers';
import { logger } from '../logging';
import { QueryHistoryManager } from '../query-history';
import { createGist } from './gh-actions-api-client';
@@ -106,9 +109,9 @@ export async function exportResultsToGist(
*/
const buildGistDescription = (query: RemoteQuery, analysesResults: AnalysisResults[]) => {
const resultCount = sumAnalysesResults(analysesResults);
const repositoryLabel = `${query.numRepositoriesQueried} ${query.numRepositoriesQueried === 1 ? 'repository' : 'repositories'}`;
const repositoryCount = query.numRepositoriesQueried ? repositoryLabel : '';
return `${query.queryName} (${query.language}) ${resultCount} results (${repositoryCount})`;
const resultLabel = pluralize(resultCount, 'result', 'results');
const repositoryLabel = pluralize(query.numRepositoriesQueried, 'repository', 'repositories');
return `${query.queryName} (${query.language}) ${resultLabel} (${repositoryLabel})`;
};
/**