UNPKG

next-intl

Version:

Internationalization (i18n) for Next.js

29 lines (24 loc) 929 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var navigation = require('next/navigation'); var _useLocale = require('use-intl/_useLocale'); var constants = require('../shared/constants.js'); function useLocale() { // The types aren't entirely correct here. Outside of Next.js // `useParams` can be called, but the return type is `null`. const params = navigation.useParams(); let locale; try { // eslint-disable-next-line react-compiler/react-compiler // eslint-disable-next-line react-hooks/rules-of-hooks, react-compiler/react-compiler -- False positive locale = _useLocale.useLocale(); } catch (error) { if (typeof (params === null || params === void 0 ? void 0 : params[constants.LOCALE_SEGMENT_NAME]) === 'string') { locale = params[constants.LOCALE_SEGMENT_NAME]; } else { throw error; } } return locale; } exports.default = useLocale;