diff --git a/packages/io-utils/src/language/plurals.ts b/packages/io-utils/src/language/plurals.ts index 24a7a942b..6d1d6488b 100644 --- a/packages/io-utils/src/language/plurals.ts +++ b/packages/io-utils/src/language/plurals.ts @@ -15,8 +15,8 @@ const ordinals: Record = { * * ```typescript * pluralizeOrdinal(7) // 7th - * pluralizeNoun(1) // 1st - * pluralizeNoun(19, 'cacti') // 19th + * pluralizeOrdinal(1) // 1st + * pluralizeOrdinal(19) // 19th * ``` * * @param {number} n @@ -33,17 +33,17 @@ export const pluralizeOrdinal = (n: number): string => { * Choose a correct form of a noun based on cardinality. * * ```typescript - * pluralizeNoun('cat', 7) // cats - * pluralizeNoun('cat', 1) // cat - * pluralizeNoun('cactus', 19, 'cacti') // cacti + * pluralizeNoun(7, 'cat') // cats + * pluralizeNoun(1, 'cat') // cat + * pluralizeNoun(19, 'cactus', 'cacti') // cacti * ``` * - * @param {string} singular The signular form of the english noun * @param {number} n + * @param {string} singular The signular form of the english noun * @param {string} [plural] Plural version of the noun for irregular cases * @returns {string} */ -export const pluralizeNoun = (singular: string, n: number, plural: string = `${singular}s`): string => { +export const pluralizeNoun = (n: number, singular: string, plural: string = `${singular}s`): string => { const rule = cardinalRules.select(n) if (rule === 'one') return singular diff --git a/packages/io-utils/test/language/plurals.test.ts b/packages/io-utils/test/language/plurals.test.ts index 0e39ec15d..a06b48bab 100644 --- a/packages/io-utils/test/language/plurals.test.ts +++ b/packages/io-utils/test/language/plurals.test.ts @@ -10,13 +10,13 @@ describe('language/plurals', () => { describe('pluralizeNoun', () => { describe('without custom plural', () => { it.each([0, 1, 2, 3, 4, 5, 11, 12, 21, 100, 1234])(`should work for %d`, (n) => - expect(pluralizeNoun('cat', n)).toMatchSnapshot() + expect(pluralizeNoun(n, 'cat')).toMatchSnapshot() ) }) describe('with custom plural', () => { it.each([0, 1, 2, 3, 4, 5, 11, 12, 21, 100, 1234])(`should work for %d`, (n) => - expect(pluralizeNoun('cactus', n, 'cacti')).toMatchSnapshot() + expect(pluralizeNoun(n, 'cactus', 'cacti')).toMatchSnapshot() ) }) }) diff --git a/packages/ua-utils-evm-hardhat/src/tasks/oapp/wire.ts b/packages/ua-utils-evm-hardhat/src/tasks/oapp/wire.ts index 8f0588fed..3ccfff06e 100644 --- a/packages/ua-utils-evm-hardhat/src/tasks/oapp/wire.ts +++ b/packages/ua-utils-evm-hardhat/src/tasks/oapp/wire.ts @@ -128,8 +128,8 @@ const action: ActionType = async ({ oappConfig: oappConfigPath, logLev // Tell the user about the transactions logger.info( pluralizeNoun( - `There is 1 transaction required to configure the OApp`, transactions.length, + `There is 1 transaction required to configure the OApp`, `There are ${transactions.length} transactions required to configure the OApp` ) ) diff --git a/packages/utils/src/transactions/signer.ts b/packages/utils/src/transactions/signer.ts index 01136d123..a48926485 100644 --- a/packages/utils/src/transactions/signer.ts +++ b/packages/utils/src/transactions/signer.ts @@ -23,7 +23,7 @@ export const createSignAndSend = if (n === 0) return logger.debug(`No transactions to sign, exiting`), [[], []] // Tell the user how many we are signing - logger.debug(`Signing ${n} ${pluralizeNoun('transaction', n)}`) + logger.debug(`Signing ${n} ${pluralizeNoun(n, 'transaction')}`) // We'll gather the successful transactions here const successful: OmniTransactionWithReceipt[] = [] @@ -55,7 +55,7 @@ export const createSignAndSend = } // Tell the inquisitive user what a good job we did - logger.debug(`Successfully signed ${n} ${pluralizeNoun('transaction', n)}`) + logger.debug(`Successfully signed ${n} ${pluralizeNoun(n, 'transaction')}`) return [successful, []] }