react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
40 lines (37 loc) • 1.19 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/useList.ts
/**
* React client hook that provides a list formatter
* bound to the current application locale.
*
* @returns {(values: (string | number)[], options?: ListProps) => string}
* A function to format arrays into localized list strings.
*
* @example
* ```tsx
* const formatList = useList();
*
* formatList(['apple', 'banana', 'orange']);
* // "apple, banana, and orange"
*
* formatList(['red', 'green', 'blue'], { type: 'disjunction' });
* // "red, green, or blue"
*
* formatList([1, 2, 3], { type: 'unit', locale: 'de-DE' });
* // "1, 2 und 3"
* ```
*/
const useList = () => {
const { locale } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext);
return (0, react.useCallback)((...args) => (0, _intlayer_core.list)(args[0], {
...args[1],
locale: args[1]?.locale ?? locale
}), [locale]);
};
//#endregion
exports.useList = useList;
//# sourceMappingURL=useList.cjs.map