react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
43 lines (40 loc) • 1.22 kB
JavaScript
'use client';
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
const require_client_IntlayerProvider = require('../IntlayerProvider.cjs');
let react = require("react");
let _intlayer_core = require("@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 } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext);
return (0, react.useCallback)((...args) => (0, _intlayer_core.currency)(args[0], {
...args[1],
locale: args[1]?.locale ?? locale
}), [locale]);
};
//#endregion
exports.useCurrency = useCurrency;
//# sourceMappingURL=useCurrency.cjs.map