react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
36 lines (33 loc) • 1.17 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/useUnit.ts
/**
* React hook that provides a unit formatting function
* based on the current locale from {@link useLocaleBase}.
*
* This hook wraps {@link createUnit} to return a formatter
* that can convert values into human-readable localized units
* (e.g., "10 km", "5 lbs").
*
* @example
* ```tsx
* const formatUnit = useUnit();
* const distance = formatUnit(10, { unit: "kilometer" });
* // "10 km" (depending on locale)
* ```
*
* @returns {Function} A unit formatting function that accepts a value and optional formatting options.
*/
const useUnit = () => {
const { locale } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext);
return (0, react.useCallback)((...args) => (0, _intlayer_core.units)(args[0], {
...args[1],
locale: args[1]?.locale ?? locale
}), [locale]);
};
//#endregion
exports.useUnit = useUnit;
//# sourceMappingURL=useUnit.cjs.map