mirror of
https://github.com/fleetdm/fleet
synced 2026-04-25 15:37:22 +00:00
31 lines
840 B
TypeScript
31 lines
840 B
TypeScript
const DEFAULT_RESULTS_NAME = "results";
|
|
|
|
/**
|
|
* Returns a proper results count text — singular or plural as needed.
|
|
* For regular cases, computes singular by removing "ies" or "s".
|
|
* For irregular cases, pass singularName.
|
|
*/
|
|
export const generateResultsCountText = (
|
|
name: string = DEFAULT_RESULTS_NAME,
|
|
resultsCount?: number,
|
|
singularName?: string
|
|
): string => {
|
|
if (!resultsCount || resultsCount === 0) return `0 ${name}`;
|
|
|
|
// If exactly 1 result, return singular form.
|
|
if (resultsCount === 1) {
|
|
if (singularName) {
|
|
return `1 ${singularName}`;
|
|
}
|
|
if (name.endsWith("ies")) {
|
|
return `1 ${name.slice(0, -3)}y`;
|
|
}
|
|
if (name.endsWith("s")) {
|
|
return `1 ${name.slice(0, -1)}`;
|
|
}
|
|
}
|
|
|
|
return `${resultsCount.toLocaleString()} ${name}`;
|
|
};
|
|
|
|
export default { generateResultsCountText };
|