18 lines
698 B
TypeScript
18 lines
698 B
TypeScript
function declension(num: number, words: string[]): string {
|
|
const cases = [2, 0, 1, 1, 1, 2];
|
|
return words[num % 100 > 4 && num % 100 < 20 ? 2 : cases[num % 10 < 5 ? num % 10 : 5]];
|
|
}
|
|
|
|
export function updateFriendAndReferralCounts(
|
|
referralsLength: number,
|
|
referralsCount: number,
|
|
): { friendsWord: string; referralWord: string } {
|
|
const friendWord = declension(referralsLength, ['Друг', 'Друга', 'Друзей']);
|
|
const referralWord = declension(referralsCount, ['Реферал', 'Реферала', 'Рефералов']);
|
|
|
|
return {
|
|
friendsWord: `${referralsLength} ${friendWord}`,
|
|
referralWord: `${referralsCount} ${referralWord}`,
|
|
};
|
|
}
|