UNPKG

react-intlayer

Version:

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

36 lines (34 loc) 1.46 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../../_virtual/_rolldown/runtime.cjs'); const require_server_serverContext = require('../serverContext.cjs'); const require_server_IntlayerServerProvider = require('../IntlayerServerProvider.cjs'); let _intlayer_core_formatters = require("@intlayer/core/formatters"); //#region src/server/format/useRelativeTime.ts /** * Client-side React hook for accessing a localized relative time formatter. * * This hook: * - Reads the current locale from {@link useLocaleBase}. * - Creates a new relative time formatter with {@link createRelativeTime}. * - Returns a function that can format time differences into localized strings. * * Example: * ```tsx * const relativeTime = useRelativeTime(); * const formatted = relativeTime(new Date("2024-08-01"), new Date()); * // e.g., "2 weeks ago" * ``` * * @returns {ReturnType<typeof createRelativeTime>} A relative time formatting function * bound to the current client locale. */ const useRelativeTime = () => { const locale = require_server_serverContext.getServerContext(require_server_IntlayerServerProvider.IntlayerServerContext); return (...args) => (0, _intlayer_core_formatters.relativeTime)(args[0], args[1] ?? /* @__PURE__ */ new Date(), { ...args[2], locale: args[2]?.locale ?? locale }); }; //#endregion exports.useRelativeTime = useRelativeTime; //# sourceMappingURL=useRelativeTime.cjs.map