UNPKG

react-intlayer

Version:

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

40 lines (37 loc) 1.08 kB
'use client'; import { IntlayerClientContext } from "../IntlayerProvider.mjs"; import { useCallback, useContext } from "react"; import { number } from "@intlayer/core"; //#region src/client/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 } = useContext(IntlayerClientContext); return useCallback((...args) => number(args[0], { ...args[1], locale: args[1]?.locale ?? locale }), [locale]); }; //#endregion export { useNumber }; //# sourceMappingURL=useNumber.mjs.map