UNPKG

react-intlayer

Version:

Easily internationalize i18n your React applications with type-safe multilingual content management.

38 lines (36 loc) 1.06 kB
import { getServerContext } from "../serverContext.mjs"; import { IntlayerServerContext } from "../IntlayerServerProvider.mjs"; import { number } from "@intlayer/core"; //#region src/server/format/useNumber.ts /** * React client hook that provides a localized number formatter. * * Uses the current locale from {@link useLocaleBase} and returns * a function that can be used to format numbers consistently * according to the user's locale. * * @example * ```tsx * const formatNumber = useNumber(); * * formatNumber(12345); * // e.g. "12,345" (en-US) * // e.g. "12 345" (fr-FR) * * formatNumber(0.75, { style: "percent" }); * // e.g. "75%" * ``` * * @returns {(value: string | number, options?: import("../createNumber").NumberProps) => string} * A number formatting function bound to the active locale. */ const useNumber = () => { const locale = getServerContext(IntlayerServerContext); return (...args) => number(args[0], { ...args[1], locale: args[1]?.locale ?? locale }); }; //#endregion export { useNumber }; //# sourceMappingURL=useNumber.mjs.map