// @ts-check import React from 'react'; import { FormattedMessage } from 'react-intl'; /** * Returns custom renderer for one of the common counter types * * @param {"statuses" | "following" | "followers"} counterType * Type of the counter * @param {boolean} isBold Whether display number must be displayed in bold * @returns {(displayNumber: JSX.Element, pluralReady: number) => JSX.Element} * Renderer function * @throws If counterType is not covered by this function */ export function counterRenderer(counterType, isBold = true) { /** * @type {(displayNumber: JSX.Element) => JSX.Element} */ const renderCounter = isBold ? (displayNumber) => {displayNumber} : (displayNumber) => displayNumber; switch (counterType) { case 'statuses': { return (displayNumber, pluralReady) => ( ); } case 'following': { return (displayNumber, pluralReady) => ( ); } case 'followers': { return (displayNumber, pluralReady) => ( ); } default: throw Error(`Incorrect counter name: ${counterType}. Ensure it accepted by commonCounter function`); } }