From 0fff48547332a54ec6449aa60c9ce2ce04088988 Mon Sep 17 00:00:00 2001 From: Bauke Date: Thu, 29 Jun 2023 23:24:20 +0200 Subject: [PATCH] Add a pluralize utility function. --- source/utilities/exports.ts | 1 + source/utilities/text.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 source/utilities/text.ts diff --git a/source/utilities/exports.ts b/source/utilities/exports.ts index 72d91da..71f0f37 100644 --- a/source/utilities/exports.ts +++ b/source/utilities/exports.ts @@ -6,4 +6,5 @@ export * from "./groups.js"; export * from "./logging.js"; export * from "./query-selectors.js"; export * from "./report-a-bug.js"; +export * from "./text.js"; export * from "./validators.js"; diff --git a/source/utilities/text.ts b/source/utilities/text.ts new file mode 100644 index 0000000..2f97e6a --- /dev/null +++ b/source/utilities/text.ts @@ -0,0 +1,18 @@ +/** + * Pluralize a word based on a count. + * @param count The number of things. + * @param singular The word in its singular form. + * @param plural Optionally the word in its plural form. If left undefined the + * returned string will be the singular form plus the letter "s". + */ +export function pluralize( + count: number, + singular: string, + plural?: string, +): string { + if (count === 1) { + return singular; + } + + return plural ?? singular + "s"; +}