UNPKG

react-intlayer

Version:

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

42 lines (39 loc) 1.06 kB
'use client'; import { IntlayerClientContext } from "../IntlayerProvider.mjs"; import { useCallback, useContext } from "react"; import { currency } from "@intlayer/core"; //#region src/client/format/useCurrency.ts /** * React client hook that provides a currency formatter * bound to the current application locale. * * @returns {(value: string | number, options?: CurrencyProps) => string} * A function to format numbers into localized currency strings. * * @example * ```tsx * const formatCurrency = useCurrency(); * * formatCurrency(1500, { currency: "USD" }); * // "$1,500.00" * * formatCurrency(1500, { currency: "EUR", locale: "de-DE" }); * // "1.500,00 €" * * formatCurrency(9876543.21, { * currency: "JPY", * fractionDigits: 0, * }); * // "¥9,876,543" * ``` */ const useCurrency = () => { const { locale } = useContext(IntlayerClientContext); return useCallback((...args) => currency(args[0], { ...args[1], locale: args[1]?.locale ?? locale }), [locale]); }; //#endregion export { useCurrency }; //# sourceMappingURL=useCurrency.mjs.map