react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
35 lines (33 loc) • 1.36 kB
JavaScript
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
const require_server_serverContext = require('../serverContext.cjs');
const require_server_IntlayerServerProvider = require('../IntlayerServerProvider.cjs');
let _intlayer_core = require("@intlayer/core");
//#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.relativeTime)(args[0], args[1] ?? /* @__PURE__ */ new Date(), {
...args[2],
locale: args[2]?.locale ?? locale
});
};
//#endregion
exports.useRelativeTime = useRelativeTime;
//# sourceMappingURL=useRelativeTime.cjs.map