UNPKG

react-intlayer

Version:

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

25 lines (22 loc) 1.33 kB
'use client'; Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_client_useLoadDynamic = require('./useLoadDynamic.cjs'); const require_client_IntlayerProvider = require('./IntlayerProvider.cjs'); const require_client_useDictionary = require('./useDictionary.cjs'); let _intlayer_config_built = require("@intlayer/config/built"); let react = require("react"); //#region src/client/useDictionaryDynamic.ts /** * On the server side, Hook that transform a dictionary and return the content * * If the locale is not provided, it will use the locale from the client context */ const useDictionaryDynamic = (dictionaryPromise, key, locale) => { const { locale: currentLocale } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext) ?? {}; const localeTarget = (0, react.useMemo)(() => locale ?? currentLocale ?? _intlayer_config_built.internationalization.defaultLocale, [currentLocale, locale]); return require_client_useDictionary.useDictionary(require_client_useLoadDynamic.useLoadDynamic(`${String(key)}.${localeTarget}`, dictionaryPromise[localeTarget]?.()), localeTarget); }; //#endregion exports.useDictionaryDynamic = useDictionaryDynamic; //# sourceMappingURL=useDictionaryDynamic.cjs.map