next-intl 3.0.0-rc.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +1 -1
  2. package/dist/development/navigation/BaseLink.js +3 -1
  3. package/dist/development/navigation/utils.js +6 -1
  4. package/dist/development/react-server/NextIntlClientProvider.js +3 -13
  5. package/dist/development/react-server/useHook.js +1 -1
  6. package/dist/development/server/getFormatter.js +2 -2
  7. package/dist/development/server/getLocale.js +1 -1
  8. package/dist/development/server/getMessages.js +3 -4
  9. package/dist/development/server/getNow.js +2 -2
  10. package/dist/development/server/getTimeZone.js +2 -2
  11. package/dist/development/server/getTranslations.js +7 -6
  12. package/dist/development/server/resolveLocaleArg.js +5 -14
  13. package/dist/development/server.js +16 -10
  14. package/dist/esm/navigation/BaseLink.js +1 -1
  15. package/dist/esm/navigation/utils.js +1 -1
  16. package/dist/esm/react-server/NextIntlClientProvider.js +1 -1
  17. package/dist/esm/react-server/useHook.js +1 -1
  18. package/dist/esm/server/getFormatter.js +1 -1
  19. package/dist/esm/server/getLocale.js +1 -1
  20. package/dist/esm/server/getMessages.js +1 -1
  21. package/dist/esm/server/getNow.js +1 -1
  22. package/dist/esm/server/getTimeZone.js +1 -1
  23. package/dist/esm/server/getTranslations.js +1 -1
  24. package/dist/esm/server/resolveLocaleArg.js +1 -1
  25. package/dist/esm/server.js +1 -1
  26. package/dist/production/navigation/BaseLink.js +1 -1
  27. package/dist/production/react-server/NextIntlClientProvider.js +1 -1
  28. package/dist/production/react-server/useHook.js +1 -1
  29. package/dist/production/server/getFormatter.js +1 -1
  30. package/dist/production/server/getLocale.js +1 -1
  31. package/dist/production/server/getMessages.js +1 -1
  32. package/dist/production/server/getNow.js +1 -1
  33. package/dist/production/server/getTimeZone.js +1 -1
  34. package/dist/production/server/getTranslations.js +1 -1
  35. package/dist/production/server/resolveLocaleArg.js +1 -1
  36. package/dist/production/server.js +1 -1
  37. package/dist/types/src/navigation/createLocalizedPathnamesNavigation.d.ts +1 -1
  38. package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +1 -1
  39. package/dist/types/src/navigation/react-server/index.d.ts +1 -0
  40. package/dist/types/src/server/getFormatter.d.ts +1 -1
  41. package/dist/types/src/server/getLocale.d.ts +1 -1
  42. package/dist/types/src/server/getMessages.d.ts +1 -1
  43. package/dist/types/src/server/getNow.d.ts +1 -1
  44. package/dist/types/src/server/getTimeZone.d.ts +1 -1
  45. package/dist/types/src/server/getTranslations.d.ts +39 -1
  46. package/dist/types/src/server/index.d.ts +0 -1
  47. package/dist/types/src/server/resolveLocaleArg.d.ts +2 -2
  48. package/dist/types/src/server.d.ts +1 -1
  49. package/package.json +7 -8
  50. package/dist/development/server/getTranslator.js +0 -25
  51. package/dist/development/server/react-client/index.js +0 -41
  52. package/dist/development/server.react-server.js +0 -25
  53. package/dist/esm/server/getTranslator.js +0 -1
  54. package/dist/esm/server/react-client/index.js +0 -1
  55. package/dist/esm/server.react-server.js +0 -1
  56. package/dist/production/server/getTranslator.js +0 -1
  57. package/dist/production/server/react-client/index.js +0 -1
  58. package/dist/production/server.react-server.js +0 -1
  59. package/dist/server.react-server.js +0 -7
  60. package/dist/types/src/server/getTranslator.d.ts +0 -41
  61. package/dist/types/src/server/react-client/index.d.ts +0 -36
  62. package/dist/types/src/server.react-server.d.ts +0 -1
package/README.md CHANGED
@@ -51,7 +51,7 @@ export default function UserProfile({user}) {
51
51
  }
52
52
  ```
53
53
 
54
- ```json
54
+ ```js
55
55
  // en.json
56
56
  {
57
57
  "UserProfile": {
@@ -17,9 +17,11 @@ function BaseLink(_ref, ref) {
17
17
  ...rest
18
18
  } = _ref;
19
19
  const defaultLocale = useLocale.default();
20
+ const linkLocale = locale || defaultLocale;
20
21
  return /*#__PURE__*/React__default.default.createElement(BaseLinkWithLocale.default, _rollupPluginBabelHelpers.extends({
21
22
  ref: ref,
22
- locale: locale || defaultLocale
23
+ hrefLang: linkLocale,
24
+ locale: linkLocale
23
25
  }, rest));
24
26
  }
25
27
 
@@ -44,7 +44,8 @@ function compileLocalizedPathname(_ref) {
44
44
  return namedPath;
45
45
  }
46
46
  function compilePath(namedPath) {
47
- let compiled = typeof namedPath === 'string' ? namedPath : namedPath[locale];
47
+ const template = typeof namedPath === 'string' ? namedPath : namedPath[locale];
48
+ let compiled = template;
48
49
  if (params) {
49
50
  Object.entries(params).forEach(_ref2 => {
50
51
  let [key, value] = _ref2;
@@ -55,6 +56,10 @@ function compileLocalizedPathname(_ref) {
55
56
  }
56
57
  });
57
58
  }
59
+ if (compiled.includes('[')) {
60
+ // Next.js throws anyway, therefore better provide a more helpful error message
61
+ throw new Error("Insufficient params provided for localized pathname.\nTemplate: ".concat(template, "\nParams: ").concat(JSON.stringify(params)));
62
+ }
58
63
  if (query) {
59
64
  compiled += serializeSearchParams(query);
60
65
  }
@@ -20,19 +20,9 @@ function NextIntlClientProvider(_ref) {
20
20
  timeZone,
21
21
  ...rest
22
22
  } = _ref;
23
- let defaultLocale, defaultNow, defaultTimeZone;
24
-
25
- // These hook calls can fail if this component is rendered in RSC, but the
26
- // plugin has not been added. This is mostly for backwards compatibility.
27
- try {
28
- /* eslint-disable react-hooks/rules-of-hooks -- */
29
- defaultLocale = useLocale.default();
30
- defaultNow = useNow.default();
31
- defaultTimeZone = useTimeZone.default();
32
- /* eslint-enable react-hooks/rules-of-hooks */
33
- } catch (e) {
34
- // Ignore
35
- }
23
+ const defaultLocale = useLocale.default();
24
+ const defaultNow = useNow.default();
25
+ const defaultTimeZone = useTimeZone.default();
36
26
  return /*#__PURE__*/React__default.default.createElement(NextIntlClientProvider$1.default, _rollupPluginBabelHelpers.extends({
37
27
  locale: locale !== null && locale !== void 0 ? locale : defaultLocale,
38
28
  now: now !== null && now !== void 0 ? now : defaultNow,
@@ -9,7 +9,7 @@ function useHook(hookName, promise) {
9
9
  return React.use(promise);
10
10
  } catch (error) {
11
11
  if (error instanceof TypeError && error.message.includes("Cannot read properties of null (reading 'use')")) {
12
- throw new Error("`".concat(hookName, "` is not callable within an async component. Please refer to https://next-intl-docs-git-feat-next-13-rsc-next-intl.vercel.app/docs/environments/server-client-components#async-components"), {
12
+ throw new Error("`".concat(hookName, "` is not callable within an async component. Please refer to https://next-intl-docs.vercel.app/docs/environments/server-client-components#async-components"), {
13
13
  cause: error
14
14
  });
15
15
  } else {
@@ -18,8 +18,8 @@ const getFormatterImpl = React.cache(async locale => {
18
18
  * The formatter automatically receives the request config, but
19
19
  * you can override it by passing in additional options.
20
20
  */
21
- function getFormatter(opts) {
22
- const locale = resolveLocaleArg.default('getFormatter', opts);
21
+ async function getFormatter(opts) {
22
+ const locale = await resolveLocaleArg.default(opts);
23
23
  return getFormatterImpl(locale);
24
24
  }
25
25
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var RequestLocale = require('./RequestLocale.js');
6
6
 
7
7
  function getLocale() {
8
- return RequestLocale.getRequestLocale();
8
+ return Promise.resolve(RequestLocale.getRequestLocale());
9
9
  }
10
10
 
11
11
  exports.default = getLocale;
@@ -4,18 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var getConfig = require('./getConfig.js');
7
- var getLocale = require('./getLocale.js');
8
7
  var resolveLocaleArg = require('./resolveLocaleArg.js');
9
8
 
10
9
  const getMessagesImpl = React.cache(async locale => {
11
- const config = await getConfig.default(locale || getLocale.default());
10
+ const config = await getConfig.default(locale);
12
11
  if (!config.messages) {
13
12
  throw new Error('No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages');
14
13
  }
15
14
  return config.messages;
16
15
  });
17
- function getMessages(opts) {
18
- const locale = resolveLocaleArg.default('getMessages', opts);
16
+ async function getMessages(opts) {
17
+ const locale = await resolveLocaleArg.default(opts);
19
18
  return getMessagesImpl(locale);
20
19
  }
21
20
 
@@ -10,8 +10,8 @@ const getNowImpl = React.cache(async locale => {
10
10
  const config = await getConfig.default(locale);
11
11
  return config.now;
12
12
  });
13
- function getNow(opts) {
14
- const locale = resolveLocaleArg.default('getNow', opts);
13
+ async function getNow(opts) {
14
+ const locale = await resolveLocaleArg.default(opts);
15
15
  return getNowImpl(locale);
16
16
  }
17
17
 
@@ -10,8 +10,8 @@ const getTimeZoneImpl = React.cache(async locale => {
10
10
  const config = await getConfig.default(locale);
11
11
  return config.timeZone;
12
12
  });
13
- function getTimeZone(opts) {
14
- const locale = resolveLocaleArg.default('getTimeZone', opts);
13
+ async function getTimeZone(opts) {
14
+ const locale = await resolveLocaleArg.default(opts);
15
15
  return getTimeZoneImpl(locale);
16
16
  }
17
17
 
@@ -7,18 +7,19 @@ var core = require('use-intl/core');
7
7
  var getConfig = require('./getConfig.js');
8
8
  var getLocale = require('./getLocale.js');
9
9
 
10
+ // Maintainer note: `getTranslations` has two different call signatures.
11
+ // We need to define these with function overloads, otherwise TypeScript
12
+ // messes up the return type.
10
13
  async function getTranslations(namespaceOrOpts) {
11
- let namespace, locale;
14
+ let namespace;
15
+ let locale;
12
16
  if (typeof namespaceOrOpts === 'string') {
13
17
  namespace = namespaceOrOpts;
14
- locale = getLocale.default();
15
18
  } else if (namespaceOrOpts) {
16
- namespace = namespaceOrOpts.namespace;
17
19
  locale = namespaceOrOpts.locale;
18
- } else {
19
- locale = getLocale.default();
20
+ namespace = namespaceOrOpts.namespace;
20
21
  }
21
- const config = await getConfig.default(locale);
22
+ const config = await getConfig.default(locale || (await getLocale.default()));
22
23
  return core.createTranslator({
23
24
  ...config,
24
25
  namespace,
@@ -2,23 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
6
5
  var getLocale = require('./getLocale.js');
7
6
 
8
- // TODO: Remove
9
-
10
- const deprecate = React.cache((fnName, locale) => {
11
- console.error("\nDEPRECATION WARNING: Passing a locale as a string to `".concat(fnName, "` has been deprecated in favor of passing an object with a `locale` property instead:\n\n").concat(fnName, "({locale: '").concat(locale, "'});\n\nSee https://github.com/amannn/next-intl/pull/600\n"));
12
- });
13
- function resolveLocaleArg(fnName, optsOrDeprecatedLocale) {
14
- if (typeof optsOrDeprecatedLocale === 'string') {
15
- deprecate(fnName, optsOrDeprecatedLocale);
16
- return optsOrDeprecatedLocale;
17
- }
18
- if (optsOrDeprecatedLocale !== null && optsOrDeprecatedLocale !== void 0 && optsOrDeprecatedLocale.locale) {
19
- return optsOrDeprecatedLocale.locale;
7
+ function resolveLocaleArg(opts) {
8
+ if (opts !== null && opts !== void 0 && opts.locale) {
9
+ return Promise.resolve(opts.locale);
10
+ } else {
11
+ return getLocale.default();
20
12
  }
21
- return getLocale.default();
22
13
  }
23
14
 
24
15
  exports.default = resolveLocaleArg;
@@ -2,16 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./server/react-client/index.js');
5
+ var getRequestConfig = require('./server/getRequestConfig.js');
6
+ var getFormatter = require('./server/getFormatter.js');
7
+ var getNow = require('./server/getNow.js');
8
+ var getTimeZone = require('./server/getTimeZone.js');
9
+ var getTranslations = require('./server/getTranslations.js');
10
+ var getMessages = require('./server/getMessages.js');
11
+ var getLocale = require('./server/getLocale.js');
12
+ var RequestLocale = require('./server/RequestLocale.js');
6
13
 
7
14
 
8
15
 
9
- exports.getFormatter = index.getFormatter;
10
- exports.getLocale = index.getLocale;
11
- exports.getMessages = index.getMessages;
12
- exports.getNow = index.getNow;
13
- exports.getRequestConfig = index.getRequestConfig;
14
- exports.getTimeZone = index.getTimeZone;
15
- exports.getTranslations = index.getTranslations;
16
- exports.getTranslator = index.getTranslator;
17
- exports.unstable_setRequestLocale = index.unstable_setRequestLocale;
16
+ exports.getRequestConfig = getRequestConfig.default;
17
+ exports.getFormatter = getFormatter.default;
18
+ exports.getNow = getNow.default;
19
+ exports.getTimeZone = getTimeZone.default;
20
+ exports.getTranslations = getTranslations.default;
21
+ exports.getMessages = getMessages.default;
22
+ exports.getLocale = getLocale.default;
23
+ exports.unstable_setRequestLocale = RequestLocale.setRequestLocale;
@@ -1 +1 @@
1
- import{extends as e}from"../_virtual/_rollupPluginBabelHelpers.js";import r,{forwardRef as t}from"react";import a from"../react-client/useLocale.js";import l from"../shared/BaseLinkWithLocale.js";function o(t,o){let{locale:s,...i}=t;const c=a();return r.createElement(l,e({ref:o,locale:s||c},i))}const s=t(o);s.displayName="Link";var i=s;export{i as default};
1
+ import{extends as e}from"../_virtual/_rollupPluginBabelHelpers.js";import r,{forwardRef as t}from"react";import a from"../react-client/useLocale.js";import l from"../shared/BaseLinkWithLocale.js";function o(t,o){let{locale:s,...i}=t;const n=a(),c=s||n;return r.createElement(l,e({ref:o,hrefLang:c,locale:c},i))}const s=t(o);s.displayName="Link";var i=s;export{i as default};
@@ -1 +1 @@
1
- import{unlocalizePathname as t,matchesPathname as n}from"../shared/utils.js";function e(t){return"string"==typeof t?{pathname:t}:t}function r(t){function n(t){return String(t)}const e=new URLSearchParams;for(const[r,a]of Object.entries(t))Array.isArray(a)?a.forEach((t=>{e.append(r,n(t))})):e.set(r,n(a));return"?"+e.toString()}function a(t){let{pathname:n,locale:e,params:a,pathnames:o,query:i}=t;function c(t){let n=o[t];return n||(n=t),n}function s(t){let n="string"==typeof t?t:t[e];return a&&Object.entries(a).forEach((t=>{let[e,r]=t;n=Array.isArray(r)?n.replace(new RegExp("(\\[)?\\[...".concat(e,"\\](\\])?"),"g"),r.map((t=>String(t))).join("/")):n.replace("[".concat(e,"]"),String(r))})),i&&(n+=r(i)),n}if("string"==typeof n){return s(c(n))}{const{pathname:t,...e}=n;return{...e,pathname:s(c(t))}}}function o(e){var r;let{locale:a,pathname:o,pathnames:i}=e;const c=t(o,a);let s=null===(r=Object.entries(i).find((t=>{let[,e]=t;const r="string"!=typeof e?e[a]:e;return n(r,c)})))||void 0===r?void 0:r[0];return s||(s=o),s}export{a as compileLocalizedPathname,o as getRoute,e as normalizeNameOrNameWithParams,r as serializeSearchParams};
1
+ import{unlocalizePathname as t,matchesPathname as n}from"../shared/utils.js";function r(t){return"string"==typeof t?{pathname:t}:t}function e(t){function n(t){return String(t)}const r=new URLSearchParams;for(const[e,a]of Object.entries(t))Array.isArray(a)?a.forEach((t=>{r.append(e,n(t))})):r.set(e,n(a));return"?"+r.toString()}function a(t){let{pathname:n,locale:r,params:a,pathnames:o,query:i}=t;function c(t){let n=o[t];return n||(n=t),n}function s(t){const n="string"==typeof t?t:t[r];let o=n;if(a&&Object.entries(a).forEach((t=>{let[n,r]=t;o=Array.isArray(r)?o.replace(new RegExp("(\\[)?\\[...".concat(n,"\\](\\])?"),"g"),r.map((t=>String(t))).join("/")):o.replace("[".concat(n,"]"),String(r))})),o.includes("["))throw new Error("Insufficient params provided for localized pathname.\nTemplate: ".concat(n,"\nParams: ").concat(JSON.stringify(a)));return i&&(o+=e(i)),o}if("string"==typeof n){return s(c(n))}{const{pathname:t,...r}=n;return{...r,pathname:s(c(t))}}}function o(r){var e;let{locale:a,pathname:o,pathnames:i}=r;const c=t(o,a);let s=null===(e=Object.entries(i).find((t=>{let[,r]=t;const e="string"!=typeof r?r[a]:r;return n(e,c)})))||void 0===e?void 0:e[0];return s||(s=o),s}export{a as compileLocalizedPathname,o as getRoute,r as normalizeNameOrNameWithParams,e as serializeSearchParams};
@@ -1 +1 @@
1
- import{extends as e}from"../_virtual/_rollupPluginBabelHelpers.js";import o from"react";import r from"../shared/NextIntlClientProvider.js";import t from"./useLocale.js";import l from"./useNow.js";import m from"./useTimeZone.js";function n(n){let i,s,a,{locale:u,now:p,timeZone:c,...f}=n;try{i=t(),s=l(),a=m()}catch(e){}return o.createElement(r,e({locale:null!=u?u:i,now:null!=p?p:s,timeZone:null!=c?c:a},f))}export{n as default};
1
+ import{extends as e}from"../_virtual/_rollupPluginBabelHelpers.js";import o from"react";import r from"../shared/NextIntlClientProvider.js";import l from"./useLocale.js";import t from"./useNow.js";import n from"./useTimeZone.js";function m(m){let{locale:i,now:s,timeZone:u,...a}=m;const p=l(),f=t(),c=n();return o.createElement(r,e({locale:null!=i?i:p,now:null!=s?s:f,timeZone:null!=u?u:c},a))}export{m as default};
@@ -1 +1 @@
1
- import{use as e}from"react";function n(n,t){try{return e(t)}catch(e){throw e instanceof TypeError&&e.message.includes("Cannot read properties of null (reading 'use')")?new Error("`".concat(n,"` is not callable within an async component. Please refer to https://next-intl-docs-git-feat-next-13-rsc-next-intl.vercel.app/docs/environments/server-client-components#async-components"),{cause:e}):e}}export{n as default};
1
+ import{use as e}from"react";function n(n,t){try{return e(t)}catch(e){throw e instanceof TypeError&&e.message.includes("Cannot read properties of null (reading 'use')")?new Error("`".concat(n,"` is not callable within an async component. Please refer to https://next-intl-docs.vercel.app/docs/environments/server-client-components#async-components"),{cause:e}):e}}export{n as default};
@@ -1 +1 @@
1
- import{cache as r}from"react";import{createFormatter as t}from"use-intl/core";import o from"./getConfig.js";import e from"./resolveLocaleArg.js";const n=r((async r=>{const e=await o(r);return t(e)}));function m(r){const t=e("getFormatter",r);return n(t)}export{m as default};
1
+ import{cache as o}from"react";import{createFormatter as r}from"use-intl/core";import t from"./getConfig.js";import e from"./resolveLocaleArg.js";const n=o((async o=>{const e=await t(o);return r(e)}));async function a(o){const r=await e(o);return n(r)}export{a as default};
@@ -1 +1 @@
1
- import{getRequestLocale as e}from"./RequestLocale.js";function t(){return e()}export{t as default};
1
+ import{getRequestLocale as e}from"./RequestLocale.js";function o(){return Promise.resolve(e())}export{o as default};
@@ -1 +1 @@
1
- import{cache as e}from"react";import o from"./getConfig.js";import s from"./getLocale.js";import r from"./resolveLocaleArg.js";const t=e((async e=>{const r=await o(e||s());if(!r.messages)throw new Error("No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages");return r.messages}));function a(e){const o=r("getMessages",e);return t(o)}export{a as default};
1
+ import{cache as e}from"react";import o from"./getConfig.js";import s from"./resolveLocaleArg.js";const r=e((async e=>{const s=await o(e);if(!s.messages)throw new Error("No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages");return s.messages}));async function t(e){const o=await s(e);return r(o)}export{t as default};
@@ -1 +1 @@
1
- import{cache as o}from"react";import t from"./getConfig.js";import r from"./resolveLocaleArg.js";const e=o((async o=>(await t(o)).now));function n(o){const t=r("getNow",o);return e(t)}export{n as default};
1
+ import{cache as o}from"react";import t from"./getConfig.js";import r from"./resolveLocaleArg.js";const a=o((async o=>(await t(o)).now));async function n(o){const t=await r(o);return a(t)}export{n as default};
@@ -1 +1 @@
1
- import{cache as o}from"react";import t from"./getConfig.js";import e from"./resolveLocaleArg.js";const r=o((async o=>(await t(o)).timeZone));function n(o){const t=e("getTimeZone",o);return r(t)}export{n as default};
1
+ import{cache as o}from"react";import t from"./getConfig.js";import r from"./resolveLocaleArg.js";const a=o((async o=>(await t(o)).timeZone));async function e(o){const t=await r(o);return a(t)}export{e as default};
@@ -1 +1 @@
1
- import{cache as e}from"react";import{createTranslator as t}from"use-intl/core";import o from"./getConfig.js";import a from"./getLocale.js";var r=e((async function(e){let r,s;"string"==typeof e?(r=e,s=a()):e?(r=e.namespace,s=e.locale):s=a();const m=await o(s);return t({...m,namespace:r,messages:m.messages})}));export{r as default};
1
+ import{cache as e}from"react";import{createTranslator as t}from"use-intl/core";import a from"./getConfig.js";import o from"./getLocale.js";var r=e((async function(e){let r,s;"string"==typeof e?r=e:e&&(s=e.locale,r=e.namespace);const m=await a(s||await o());return t({...m,namespace:r,messages:m.messages})}));export{r as default};
@@ -1 +1 @@
1
- import{cache as n}from"react";import o from"./getLocale.js";const t=n(((n,o)=>{console.error("\nDEPRECATION WARNING: Passing a locale as a string to `".concat(n,"` has been deprecated in favor of passing an object with a `locale` property instead:\n\n").concat(n,"({locale: '").concat(o,"'});\n\nSee https://github.com/amannn/next-intl/pull/600\n"))}));function a(n,a){return"string"==typeof a?(t(n,a),a):null!=a&&a.locale?a.locale:o()}export{a as default};
1
+ import e from"./getLocale.js";function l(l){return null!=l&&l.locale?Promise.resolve(l.locale):e()}export{l as default};
@@ -1 +1 @@
1
- export{getFormatter,getLocale,getMessages,getNow,getRequestConfig,getTimeZone,getTranslations,getTranslator,unstable_setRequestLocale}from"./server/react-client/index.js";
1
+ export{default as getRequestConfig}from"./server/getRequestConfig.js";export{default as getFormatter}from"./server/getFormatter.js";export{default as getNow}from"./server/getNow.js";export{default as getTimeZone}from"./server/getTimeZone.js";export{default as getTranslations}from"./server/getTranslations.js";export{default as getMessages}from"./server/getMessages.js";export{default as getLocale}from"./server/getLocale.js";export{setRequestLocale as unstable_setRequestLocale}from"./server/RequestLocale.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),t=require("../react-client/useLocale.js"),l=require("../shared/BaseLinkWithLocale.js");function a(e){return e&&e.__esModule?e:{default:e}}var u=a(r);function s(r,a){let{locale:s,...i}=r;const n=t.default();return u.default.createElement(l.default,e.extends({ref:a,locale:s||n},i))}const i=r.forwardRef(s);i.displayName="Link";var n=i;exports.default=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),t=require("../react-client/useLocale.js"),a=require("../shared/BaseLinkWithLocale.js");function l(e){return e&&e.__esModule?e:{default:e}}var u=l(r);function s(r,l){let{locale:s,...n}=r;const i=t.default(),o=s||i;return u.default.createElement(a.default,e.extends({ref:l,hrefLang:o,locale:o},n))}const n=r.forwardRef(s);n.displayName="Link";var i=n;exports.default=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),l=require("../shared/NextIntlClientProvider.js"),t=require("./useLocale.js"),u=require("./useNow.js"),n=require("./useTimeZone.js");function a(e){return e&&e.__esModule?e:{default:e}}var o=a(r);exports.default=function(r){let a,i,s,{locale:d,now:c,timeZone:f,...j}=r;try{a=t.default(),i=u.default(),s=n.default()}catch(e){}return o.default.createElement(l.default,e.extends({locale:null!=d?d:a,now:null!=c?c:i,timeZone:null!=f?f:s},j))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),l=require("react"),r=require("../shared/NextIntlClientProvider.js"),u=require("./useLocale.js"),t=require("./useNow.js"),n=require("./useTimeZone.js");function o(e){return e&&e.__esModule?e:{default:e}}var a=o(l);exports.default=function(l){let{locale:o,now:s,timeZone:i,...d}=l;const c=u.default(),f=t.default(),j=n.default();return a.default.createElement(r.default,e.extends({locale:null!=o?o:c,now:null!=s?s:f,timeZone:null!=i?i:j},d))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.default=function(t,n){try{return e.use(n)}catch(e){throw e instanceof TypeError&&e.message.includes("Cannot read properties of null (reading 'use')")?new Error("`".concat(t,"` is not callable within an async component. Please refer to https://next-intl-docs-git-feat-next-13-rsc-next-intl.vercel.app/docs/environments/server-client-components#async-components"),{cause:e}):e}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");exports.default=function(n,r){try{return e.use(r)}catch(e){throw e instanceof TypeError&&e.message.includes("Cannot read properties of null (reading 'use')")?new Error("`".concat(n,"` is not callable within an async component. Please refer to https://next-intl-docs.vercel.app/docs/environments/server-client-components#async-components"),{cause:e}):e}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("use-intl/core"),t=require("./getConfig.js"),a=require("./resolveLocaleArg.js");const o=e.cache((async e=>{const a=await t.default(e);return r.createFormatter(a)}));exports.default=function(e){const r=a.default("getFormatter",e);return o(r)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("use-intl/core"),t=require("./getConfig.js"),a=require("./resolveLocaleArg.js");const c=e.cache((async e=>{const a=await t.default(e);return r.createFormatter(a)}));exports.default=async function(e){const r=await a.default(e);return c(r)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./RequestLocale.js");exports.default=function(){return e.getRequestLocale()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./RequestLocale.js");exports.default=function(){return Promise.resolve(e.getRequestLocale())};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),s=require("./getConfig.js"),r=require("./getLocale.js"),t=require("./resolveLocaleArg.js");const o=e.cache((async e=>{const t=await s.default(e||r.default());if(!t.messages)throw new Error("No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages");return t.messages}));exports.default=function(e){const s=t.default("getMessages",e);return o(s)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./getConfig.js"),s=require("./resolveLocaleArg.js");const t=e.cache((async e=>{const s=await r.default(e);if(!s.messages)throw new Error("No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages");return s.messages}));exports.default=async function(e){const r=await s.default(e);return t(r)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./getConfig.js"),t=require("./resolveLocaleArg.js");const o=e.cache((async e=>(await r.default(e)).now));exports.default=function(e){const r=t.default("getNow",e);return o(r)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./getConfig.js"),t=require("./resolveLocaleArg.js");const a=e.cache((async e=>(await r.default(e)).now));exports.default=async function(e){const r=await t.default(e);return a(r)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./getConfig.js"),r=require("./resolveLocaleArg.js");const o=e.cache((async e=>(await t.default(e)).timeZone));exports.default=function(e){const t=r.default("getTimeZone",e);return o(t)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./getConfig.js"),r=require("./resolveLocaleArg.js");const a=e.cache((async e=>(await t.default(e)).timeZone));exports.default=async function(e){const t=await r.default(e);return a(t)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("use-intl/core"),r=require("./getConfig.js"),t=require("./getLocale.js");var s=e.cache((async function(e){let s,c;"string"==typeof e?(s=e,c=t.default()):e?(s=e.namespace,c=e.locale):c=t.default();const u=await r.default(c);return a.createTranslator({...u,namespace:s,messages:u.messages})}));exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("use-intl/core"),r=require("./getConfig.js"),t=require("./getLocale.js");var s=e.cache((async function(e){let s,c;"string"==typeof e?s=e:e&&(c=e.locale,s=e.namespace);const u=await r.default(c||await t.default());return a.createTranslator({...u,namespace:s,messages:u.messages})}));exports.default=s;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./getLocale.js");const n=e.cache(((e,t)=>{console.error("\nDEPRECATION WARNING: Passing a locale as a string to `".concat(e,"` has been deprecated in favor of passing an object with a `locale` property instead:\n\n").concat(e,"({locale: '").concat(t,"'});\n\nSee https://github.com/amannn/next-intl/pull/600\n"))}));exports.default=function(e,a){return"string"==typeof a?(n(e,a),a):null!=a&&a.locale?a.locale:t.default()};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./getLocale.js");exports.default=function(l){return null!=l&&l.locale?Promise.resolve(l.locale):e.default()};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server/react-client/index.js");exports.getFormatter=e.getFormatter,exports.getLocale=e.getLocale,exports.getMessages=e.getMessages,exports.getNow=e.getNow,exports.getRequestConfig=e.getRequestConfig,exports.getTimeZone=e.getTimeZone,exports.getTranslations=e.getTranslations,exports.getTranslator=e.getTranslator,exports.unstable_setRequestLocale=e.unstable_setRequestLocale;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server/getRequestConfig.js"),r=require("./server/getFormatter.js"),t=require("./server/getNow.js"),s=require("./server/getTimeZone.js"),o=require("./server/getTranslations.js"),u=require("./server/getMessages.js"),a=require("./server/getLocale.js"),g=require("./server/RequestLocale.js");exports.getRequestConfig=e.default,exports.getFormatter=r.default,exports.getNow=t.default,exports.getTimeZone=s.default,exports.getTranslations=o.default,exports.getMessages=u.default,exports.getLocale=a.default,exports.unstable_setRequestLocale=g.setRequestLocale;
@@ -41,7 +41,7 @@ export default function createLocalizedPathnamesNavigation<Locales extends AllLo
41
41
  locale?: string | undefined;
42
42
  } & {
43
43
  ref?: React.Ref<HTMLAnchorElement> | undefined;
44
- }, "name" | "href"> & {
44
+ }, "href" | "name"> & {
45
45
  href: Pathname extends `${string}[[...${string}` ? Pathname | ({
46
46
  pathname: Pathname;
47
47
  params?: import("./StrictParams").default<Pathname> | undefined;
@@ -38,7 +38,7 @@ export default function createLocalizedPathnamesNavigation<Locales extends AllLo
38
38
  locale: string;
39
39
  }, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
40
40
  locale?: string | undefined;
41
- }, "name" | "href"> & {
41
+ }, "href" | "name"> & {
42
42
  href: Pathname extends `${string}[[...${string}` ? Pathname | ({
43
43
  pathname: Pathname;
44
44
  params?: import("../StrictParams").default<Pathname> | undefined;
@@ -1,2 +1,3 @@
1
1
  export { default as createSharedPathnamesNavigation } from './createSharedPathnamesNavigation';
2
2
  export { default as createLocalizedPathnamesNavigation } from './createLocalizedPathnamesNavigation';
3
+ export type { Pathnames } from '../../shared/types';
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export default function getFormatter(opts?: {
8
8
  locale?: string;
9
- } | string): Promise<{
9
+ }): Promise<{
10
10
  dateTime: (value: number | Date, formatOrOptions?: string | import("use-intl/dist/types/src/core/DateTimeFormatOptions").default | undefined) => string;
11
11
  number: (value: number | bigint, formatOrOptions?: string | import("use-intl/core").NumberFormatOptions | undefined) => string;
12
12
  relativeTime: (date: number | Date, nowOrOptions?: number | Date | import("use-intl/dist/types/src/core/RelativeTimeFormatOptions").default | undefined) => string;
@@ -1 +1 @@
1
- export default function getLocale(): string;
1
+ export default function getLocale(): Promise<string>;
@@ -1,3 +1,3 @@
1
1
  export default function getMessages(opts?: {
2
2
  locale?: string;
3
- } | string): Promise<import("use-intl/dist/types/src/core/AbstractIntlMessages").default>;
3
+ }): Promise<import("use-intl/dist/types/src/core/AbstractIntlMessages").default>;
@@ -1,3 +1,3 @@
1
1
  export default function getNow(opts?: {
2
2
  locale?: string;
3
- } | string): Promise<Date>;
3
+ }): Promise<Date>;
@@ -1,3 +1,3 @@
1
1
  export default function getTimeZone(opts?: {
2
2
  locale?: string;
3
- } | string): Promise<string>;
3
+ }): Promise<string>;
@@ -1,6 +1,44 @@
1
1
  import { ReactElement, ReactNodeArray } from 'react';
2
2
  import { Formats, TranslationValues, MessageKeys, NamespaceKeys, NestedKeyOf, NestedValueOf, RichTranslationValues, MarkupTranslationValues } from 'use-intl/core';
3
- declare function getTranslations<NestedKey extends NamespaceKeys<IntlMessages, NestedKeyOf<IntlMessages>> = never>(namespaceOrOpts?: NestedKey | {
3
+ declare function getTranslations<NestedKey extends NamespaceKeys<IntlMessages, NestedKeyOf<IntlMessages>> = never>(namespace?: NestedKey): Promise<{
4
+ <TargetKey extends MessageKeys<NestedValueOf<{
5
+ '!': IntlMessages;
6
+ }, [
7
+ NestedKey
8
+ ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
9
+ '!': IntlMessages;
10
+ }, [
11
+ NestedKey
12
+ ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: TranslationValues, formats?: Partial<Formats>): string;
13
+ rich<TargetKey extends MessageKeys<NestedValueOf<{
14
+ '!': IntlMessages;
15
+ }, [
16
+ NestedKey
17
+ ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
18
+ '!': IntlMessages;
19
+ }, [
20
+ NestedKey
21
+ ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: RichTranslationValues, formats?: Partial<Formats>): string | ReactElement | ReactNodeArray;
22
+ markup<TargetKey extends MessageKeys<NestedValueOf<{
23
+ '!': IntlMessages;
24
+ }, [
25
+ NestedKey
26
+ ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
27
+ '!': IntlMessages;
28
+ }, [
29
+ NestedKey
30
+ ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: MarkupTranslationValues, formats?: Partial<Formats>): string;
31
+ raw<TargetKey extends MessageKeys<NestedValueOf<{
32
+ '!': IntlMessages;
33
+ }, [
34
+ NestedKey
35
+ ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
36
+ '!': IntlMessages;
37
+ }, [
38
+ NestedKey
39
+ ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey): any;
40
+ }>;
41
+ declare function getTranslations<NestedKey extends NamespaceKeys<IntlMessages, NestedKeyOf<IntlMessages>> = never>(opts?: {
4
42
  locale: string;
5
43
  namespace?: NestedKey;
6
44
  }): Promise<{
@@ -9,4 +9,3 @@ export { default as getTranslations } from './getTranslations';
9
9
  export { default as getMessages } from './getMessages';
10
10
  export { default as getLocale } from './getLocale';
11
11
  export { setRequestLocale as unstable_setRequestLocale } from './RequestLocale';
12
- export { default as getTranslator } from './getTranslator';
@@ -1,3 +1,3 @@
1
- export default function resolveLocaleArg(fnName: string, optsOrDeprecatedLocale?: {
1
+ export default function resolveLocaleArg(opts?: {
2
2
  locale?: string;
3
- } | string): string;
3
+ }): Promise<string>;
@@ -1 +1 @@
1
- export * from './server/react-client';
1
+ export * from './server/index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-intl",
3
- "version": "3.0.0-rc.8",
3
+ "version": "3.0.0",
4
4
  "sideEffects": false,
5
5
  "author": "Jan Amann <jan@amann.work>",
6
6
  "description": "A minimal, but complete solution for internationalization in Next.js apps.",
@@ -21,8 +21,7 @@
21
21
  },
22
22
  "./server": {
23
23
  "types": "./server.d.ts",
24
- "react-server": "./dist/esm/server.react-server.js",
25
- "default": "./dist/server.js"
24
+ "default": "./dist/esm/server.js"
26
25
  },
27
26
  "./config": {
28
27
  "types": "./config.d.ts",
@@ -66,7 +65,7 @@
66
65
  "dependencies": {
67
66
  "@formatjs/intl-localematcher": "^0.2.32",
68
67
  "negotiator": "^0.6.3",
69
- "use-intl": "3.0.0-rc.6"
68
+ "use-intl": "^3.0.0"
70
69
  },
71
70
  "peerDependencies": {
72
71
  "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
@@ -78,7 +77,7 @@
78
77
  "@testing-library/react": "^13.0.0",
79
78
  "@types/negotiator": "^0.6.1",
80
79
  "@types/node": "^17.0.23",
81
- "@types/react": "^18.2.29",
80
+ "@types/react": "18.2.34",
82
81
  "eslint": "^8.46.0",
83
82
  "eslint-config-molindo": "^7.0.0",
84
83
  "eslint-plugin-deprecation": "^1.4.1",
@@ -89,13 +88,13 @@
89
88
  "rollup": "^3.28.1",
90
89
  "rollup-plugin-preserve-directives": "0.2.0",
91
90
  "size-limit": "^8.2.6",
92
- "typescript": "^5.0.0",
91
+ "typescript": "^5.2.2",
93
92
  "vitest": "^0.32.2"
94
93
  },
95
94
  "size-limit": [
96
95
  {
97
96
  "path": "dist/production/index.js",
98
- "limit": "12.75 KB"
97
+ "limit": "12.81 KB"
99
98
  },
100
99
  {
101
100
  "path": "dist/production/navigation.js",
@@ -103,7 +102,7 @@
103
102
  },
104
103
  {
105
104
  "path": "dist/production/server.js",
106
- "limit": "0.4 KB"
105
+ "limit": "13.2 kB"
107
106
  },
108
107
  {
109
108
  "path": "dist/production/middleware.js",
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var getTranslations = require('./getTranslations.js');
7
-
8
- // TODO: Remove
9
- const getDeprecation = React.cache(() => ({
10
- hasWarned: false
11
- }));
12
-
13
- /** @deprecated Deprecated in favor of `getTranslations`. See https://github.com/amannn/next-intl/pull/600 */
14
- async function getTranslator(locale, namespace) {
15
- if (!getDeprecation().hasWarned) {
16
- console.error("\nDEPRECATION WARNING: `getTranslator` has been deprecated in favor of `getTranslations`:\n\nimport {getTranslations} from 'next-intl/server';\n\n// With implicit request locale\nconst t = await getTranslator('".concat(namespace, "'); \n\n// With explicit locale\nconst t = await getTranslator({locale: '").concat(locale, "', namespace: '").concat(namespace, "'}); \n\nSee https://github.com/amannn/next-intl/pull/600\n"));
17
- getDeprecation().hasWarned = true;
18
- }
19
- return getTranslations.default({
20
- locale,
21
- namespace
22
- });
23
- }
24
-
25
- exports.default = getTranslator;
@@ -1,41 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function notSupported(name) {
6
- return () => {
7
- throw new Error("`".concat(name, "` is not supported in Client Components.") );
8
- };
9
- }
10
-
11
- // Must match `../index.tsx`
12
-
13
- // prettier-ignore
14
- const getRequestConfig = () => notSupported('getRequestConfig');
15
- // prettier-ignore
16
- const getFormatter = notSupported('getFormatter');
17
- // prettier-ignore
18
- const getNow = notSupported('getNow');
19
- // prettier-ignore
20
- const getTimeZone = notSupported('getTimeZone');
21
- // prettier-ignore
22
- /** @deprecated Deprecated in favor of `getTranslations`. See https://github.com/amannn/next-intl/pull/600 */
23
- const getTranslator = notSupported('getTranslator');
24
- // prettier-ignore
25
- const getTranslations = notSupported('getTranslations');
26
- // prettier-ignore
27
- const getMessages = notSupported('getMessages');
28
- // prettier-ignore
29
- const getLocale = notSupported('getLocale');
30
- // prettier-ignore
31
- const unstable_setRequestLocale = notSupported('unstable_setRequestLocale');
32
-
33
- exports.getFormatter = getFormatter;
34
- exports.getLocale = getLocale;
35
- exports.getMessages = getMessages;
36
- exports.getNow = getNow;
37
- exports.getRequestConfig = getRequestConfig;
38
- exports.getTimeZone = getTimeZone;
39
- exports.getTranslations = getTranslations;
40
- exports.getTranslator = getTranslator;
41
- exports.unstable_setRequestLocale = unstable_setRequestLocale;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var getRequestConfig = require('./server/getRequestConfig.js');
6
- var getTranslator = require('./server/getTranslator.js');
7
- var getFormatter = require('./server/getFormatter.js');
8
- var getNow = require('./server/getNow.js');
9
- var getTimeZone = require('./server/getTimeZone.js');
10
- var getTranslations = require('./server/getTranslations.js');
11
- var getMessages = require('./server/getMessages.js');
12
- var getLocale = require('./server/getLocale.js');
13
- var RequestLocale = require('./server/RequestLocale.js');
14
-
15
-
16
-
17
- exports.getRequestConfig = getRequestConfig.default;
18
- exports.getTranslator = getTranslator.default;
19
- exports.getFormatter = getFormatter.default;
20
- exports.getNow = getNow.default;
21
- exports.getTimeZone = getTimeZone.default;
22
- exports.getTranslations = getTranslations.default;
23
- exports.getMessages = getMessages.default;
24
- exports.getLocale = getLocale.default;
25
- exports.unstable_setRequestLocale = RequestLocale.setRequestLocale;
@@ -1 +0,0 @@
1
- import{cache as n}from"react";import t from"./getTranslations.js";const a=n((()=>({hasWarned:!1})));async function e(n,e){return a().hasWarned||(console.error("\nDEPRECATION WARNING: `getTranslator` has been deprecated in favor of `getTranslations`:\n\nimport {getTranslations} from 'next-intl/server';\n\n// With implicit request locale\nconst t = await getTranslator('".concat(e,"'); \n\n// With explicit locale\nconst t = await getTranslator({locale: '").concat(n,"', namespace: '").concat(e,"'}); \n\nSee https://github.com/amannn/next-intl/pull/600\n")),a().hasWarned=!0),t({locale:n,namespace:e})}export{e as default};
@@ -1 +0,0 @@
1
- function e(e){return()=>{throw new Error("`".concat(e,"` is not supported in Client Components."))}}const t=()=>e("getRequestConfig"),o=e("getFormatter"),n=e("getNow"),s=e("getTimeZone"),r=e("getTranslator"),a=e("getTranslations"),g=e("getMessages"),i=e("getLocale"),c=e("unstable_setRequestLocale");export{o as getFormatter,i as getLocale,g as getMessages,n as getNow,t as getRequestConfig,s as getTimeZone,a as getTranslations,r as getTranslator,c as unstable_setRequestLocale};
@@ -1 +0,0 @@
1
- export{default as getRequestConfig}from"./server/getRequestConfig.js";export{default as getTranslator}from"./server/getTranslator.js";export{default as getFormatter}from"./server/getFormatter.js";export{default as getNow}from"./server/getNow.js";export{default as getTimeZone}from"./server/getTimeZone.js";export{default as getTranslations}from"./server/getTranslations.js";export{default as getMessages}from"./server/getMessages.js";export{default as getLocale}from"./server/getLocale.js";export{setRequestLocale as unstable_setRequestLocale}from"./server/RequestLocale.js";
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("./getTranslations.js");const t=e.cache((()=>({hasWarned:!1})));exports.default=async function(e,a){return t().hasWarned||(console.error("\nDEPRECATION WARNING: `getTranslator` has been deprecated in favor of `getTranslations`:\n\nimport {getTranslations} from 'next-intl/server';\n\n// With implicit request locale\nconst t = await getTranslator('".concat(a,"'); \n\n// With explicit locale\nconst t = await getTranslator({locale: '").concat(e,"', namespace: '").concat(a,"'}); \n\nSee https://github.com/amannn/next-intl/pull/600\n")),t().hasWarned=!0),n.default({locale:e,namespace:a})};
@@ -1 +0,0 @@
1
- "use strict";function e(e){return()=>{throw new Error(void 0)}}Object.defineProperty(exports,"__esModule",{value:!0});const t=e(),o=e(),r=e(),s=e(),n=e(),p=e(),a=e(),g=e();exports.getFormatter=t,exports.getLocale=a,exports.getMessages=p,exports.getNow=o,exports.getRequestConfig=()=>e(),exports.getTimeZone=r,exports.getTranslations=n,exports.getTranslator=s,exports.unstable_setRequestLocale=g;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server/getRequestConfig.js"),r=require("./server/getTranslator.js"),t=require("./server/getFormatter.js"),s=require("./server/getNow.js"),o=require("./server/getTimeZone.js"),a=require("./server/getTranslations.js"),u=require("./server/getMessages.js"),g=require("./server/getLocale.js"),l=require("./server/RequestLocale.js");exports.getRequestConfig=e.default,exports.getTranslator=r.default,exports.getFormatter=t.default,exports.getNow=s.default,exports.getTimeZone=o.default,exports.getTranslations=a.default,exports.getMessages=u.default,exports.getLocale=g.default,exports.unstable_setRequestLocale=l.setRequestLocale;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === 'production') {
4
- module.exports = require('./production/server.react-server.js');
5
- } else {
6
- module.exports = require('./development/server.react-server.js');
7
- }
@@ -1,41 +0,0 @@
1
- import { ReactElement, ReactNodeArray } from 'react';
2
- import { Formats, TranslationValues, MessageKeys, NamespaceKeys, NestedKeyOf, NestedValueOf, RichTranslationValues, MarkupTranslationValues } from 'use-intl/core';
3
- /** @deprecated Deprecated in favor of `getTranslations`. See https://github.com/amannn/next-intl/pull/600 */
4
- export default function getTranslator<NestedKey extends NamespaceKeys<IntlMessages, NestedKeyOf<IntlMessages>> = never>(locale: string, namespace?: NestedKey): Promise<{
5
- <TargetKey extends MessageKeys<NestedValueOf<{
6
- '!': IntlMessages;
7
- }, [
8
- NestedKey
9
- ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
10
- '!': IntlMessages;
11
- }, [
12
- NestedKey
13
- ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: TranslationValues, formats?: Partial<Formats>): string;
14
- rich<TargetKey extends MessageKeys<NestedValueOf<{
15
- '!': IntlMessages;
16
- }, [
17
- NestedKey
18
- ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
19
- '!': IntlMessages;
20
- }, [
21
- NestedKey
22
- ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: RichTranslationValues, formats?: Partial<Formats>): string | ReactElement | ReactNodeArray;
23
- markup<TargetKey extends MessageKeys<NestedValueOf<{
24
- '!': IntlMessages;
25
- }, [
26
- NestedKey
27
- ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
28
- '!': IntlMessages;
29
- }, [
30
- NestedKey
31
- ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey, values?: MarkupTranslationValues, formats?: Partial<Formats>): string;
32
- raw<TargetKey extends MessageKeys<NestedValueOf<{
33
- '!': IntlMessages;
34
- }, [
35
- NestedKey
36
- ] extends [never] ? '!' : `!.${NestedKey}`>, NestedKeyOf<NestedValueOf<{
37
- '!': IntlMessages;
38
- }, [
39
- NestedKey
40
- ] extends [never] ? '!' : `!.${NestedKey}`>>>>(key: TargetKey): any;
41
- }>;
@@ -1,36 +0,0 @@
1
- /// <reference types="react" />
2
- import type { getRequestConfig as getRequestConfig_type, getFormatter as getFormatter_type, getNow as getNow_type, getTimeZone as getTimeZone_type, getTranslator as getTranslator_type, getMessages as getMessages_type, unstable_setRequestLocale as unstable_setRequestLocale_type } from '..';
3
- export declare const getRequestConfig: typeof getRequestConfig_type;
4
- export declare const getFormatter: typeof getFormatter_type;
5
- export declare const getNow: typeof getNow_type;
6
- export declare const getTimeZone: typeof getTimeZone_type;
7
- /** @deprecated Deprecated in favor of `getTranslations`. See https://github.com/amannn/next-intl/pull/600 */
8
- export declare const getTranslator: typeof getTranslator_type;
9
- export declare const getTranslations: <NestedKey extends string = never>(namespaceOrOpts?: NestedKey | {
10
- locale: string;
11
- namespace?: NestedKey | undefined;
12
- } | undefined) => Promise<{
13
- <TargetKey extends import("use-intl/dist/types/src/core/utils/MessageKeys").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
14
- '!': IntlMessages;
15
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>, import("use-intl/dist/types/src/core/utils/NestedKeyOf").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
16
- '!': IntlMessages;
17
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>>>>(key: TargetKey, values?: import("use-intl/dist/types/src/core/TranslationValues").default | undefined, formats?: Partial<import("use-intl/dist/types/src/core/Formats").default> | undefined): string;
18
- rich<TargetKey_1 extends import("use-intl/dist/types/src/core/utils/MessageKeys").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
19
- '!': IntlMessages;
20
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>, import("use-intl/dist/types/src/core/utils/NestedKeyOf").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
21
- '!': IntlMessages;
22
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>>>>(key: TargetKey_1, values?: import("use-intl").RichTranslationValues | undefined, formats?: Partial<import("use-intl/dist/types/src/core/Formats").default> | undefined): string | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactNodeArray;
23
- markup<TargetKey_2 extends import("use-intl/dist/types/src/core/utils/MessageKeys").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
24
- '!': IntlMessages;
25
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>, import("use-intl/dist/types/src/core/utils/NestedKeyOf").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
26
- '!': IntlMessages;
27
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>>>>(key: TargetKey_2, values?: import("use-intl").MarkupTranslationValues | undefined, formats?: Partial<import("use-intl/dist/types/src/core/Formats").default> | undefined): string;
28
- raw<TargetKey_3 extends import("use-intl/dist/types/src/core/utils/MessageKeys").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
29
- '!': IntlMessages;
30
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>, import("use-intl/dist/types/src/core/utils/NestedKeyOf").default<import("use-intl/dist/types/src/core/utils/NestedValueOf").default<{
31
- '!': IntlMessages;
32
- }, [NestedKey] extends [never] ? "!" : `!.${NestedKey}`>>>>(key: TargetKey_3): any;
33
- }>;
34
- export declare const getMessages: typeof getMessages_type;
35
- export declare const getLocale: typeof getMessages_type;
36
- export declare const unstable_setRequestLocale: typeof unstable_setRequestLocale_type;
@@ -1 +0,0 @@
1
- export * from './server/index';