use-intl 3.4.3 → 3.4.5
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.
- package/dist/development/core.js +1 -1
- package/dist/development/{createFormatter-7b0d3042.js → createFormatter-3fcd09b9.js} +10 -18
- package/dist/development/index.js +1 -1
- package/dist/development/react.js +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/createFormatter-da46887b.js +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/react.js +1 -1
- package/dist/production/core.js +1 -1
- package/dist/production/createFormatter-46d61ef5.js +1 -0
- package/dist/production/index.js +1 -1
- package/dist/production/react.js +1 -1
- package/package.json +2 -2
- package/dist/esm/createFormatter-7f1b07e8.js +0 -1
- package/dist/production/createFormatter-83c90dd4.js +0 -1
package/dist/development/core.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var initializeConfig = require('./initializeConfig-c503e215.js');
|
|
6
|
-
var createFormatter = require('./createFormatter-
|
|
6
|
+
var createFormatter = require('./createFormatter-3fcd09b9.js');
|
|
7
7
|
require('intl-messageformat');
|
|
8
8
|
require('react');
|
|
9
9
|
|
|
@@ -53,7 +53,7 @@ function convertFormatsToIntlMessageFormat(formats, timeZone) {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
// eslint-disable-next-line import/no-named-as-default -- False positive
|
|
56
|
-
function resolvePath(messages, key, namespace) {
|
|
56
|
+
function resolvePath(locale, messages, key, namespace) {
|
|
57
57
|
const fullKey = initializeConfig.joinPath(namespace, key);
|
|
58
58
|
if (!messages) {
|
|
59
59
|
throw new Error("No messages available at `".concat(namespace, "`.") );
|
|
@@ -62,7 +62,7 @@ function resolvePath(messages, key, namespace) {
|
|
|
62
62
|
key.split('.').forEach(part => {
|
|
63
63
|
const next = message[part];
|
|
64
64
|
if (part == null || next == null) {
|
|
65
|
-
throw new Error("Could not resolve `".concat(fullKey, "` in messages.") );
|
|
65
|
+
throw new Error("Could not resolve `".concat(fullKey, "` in messages for locale `").concat(locale, "`.") );
|
|
66
66
|
}
|
|
67
67
|
message = next;
|
|
68
68
|
});
|
|
@@ -91,17 +91,13 @@ function prepareTranslationValues(values) {
|
|
|
91
91
|
});
|
|
92
92
|
return transformedValues;
|
|
93
93
|
}
|
|
94
|
-
function getMessagesOrError(
|
|
95
|
-
let
|
|
96
|
-
messages,
|
|
97
|
-
namespace,
|
|
98
|
-
onError = initializeConfig.defaultOnError
|
|
99
|
-
} = _ref;
|
|
94
|
+
function getMessagesOrError(locale, messages, namespace) {
|
|
95
|
+
let onError = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : initializeConfig.defaultOnError;
|
|
100
96
|
try {
|
|
101
97
|
if (!messages) {
|
|
102
98
|
throw new Error("No messages were configured on the provider." );
|
|
103
99
|
}
|
|
104
|
-
const retrievedMessages = namespace ? resolvePath(messages, namespace) : messages;
|
|
100
|
+
const retrievedMessages = namespace ? resolvePath(locale, messages, namespace) : messages;
|
|
105
101
|
if (!retrievedMessages) {
|
|
106
102
|
throw new Error("No messages for namespace `".concat(namespace, "` found.") );
|
|
107
103
|
}
|
|
@@ -126,17 +122,13 @@ function getPlainMessage(candidate, values) {
|
|
|
126
122
|
return undefined;
|
|
127
123
|
}
|
|
128
124
|
function createBaseTranslator(config) {
|
|
129
|
-
const messagesOrError = getMessagesOrError(
|
|
130
|
-
messages: config.messages,
|
|
131
|
-
namespace: config.namespace,
|
|
132
|
-
onError: config.onError
|
|
133
|
-
});
|
|
125
|
+
const messagesOrError = getMessagesOrError(config.locale, config.messages, config.namespace, config.onError);
|
|
134
126
|
return createBaseTranslatorImpl({
|
|
135
127
|
...config,
|
|
136
128
|
messagesOrError
|
|
137
129
|
});
|
|
138
130
|
}
|
|
139
|
-
function createBaseTranslatorImpl(
|
|
131
|
+
function createBaseTranslatorImpl(_ref) {
|
|
140
132
|
let {
|
|
141
133
|
defaultTranslationValues,
|
|
142
134
|
formats: globalFormats,
|
|
@@ -147,7 +139,7 @@ function createBaseTranslatorImpl(_ref2) {
|
|
|
147
139
|
namespace,
|
|
148
140
|
onError,
|
|
149
141
|
timeZone
|
|
150
|
-
} =
|
|
142
|
+
} = _ref;
|
|
151
143
|
function getFallbackFromErrorAndNotify(key, code, message) {
|
|
152
144
|
const error = new initializeConfig.IntlError(code, message);
|
|
153
145
|
onError(error);
|
|
@@ -172,7 +164,7 @@ function createBaseTranslatorImpl(_ref2) {
|
|
|
172
164
|
const messages = messagesOrError;
|
|
173
165
|
let message;
|
|
174
166
|
try {
|
|
175
|
-
message = resolvePath(messages, key, namespace);
|
|
167
|
+
message = resolvePath(locale, messages, key, namespace);
|
|
176
168
|
} catch (error) {
|
|
177
169
|
return getFallbackFromErrorAndNotify(key, initializeConfig.IntlErrorCode.MISSING_MESSAGE, error.message);
|
|
178
170
|
}
|
|
@@ -294,7 +286,7 @@ function createBaseTranslatorImpl(_ref2) {
|
|
|
294
286
|
}
|
|
295
287
|
const messages = messagesOrError;
|
|
296
288
|
try {
|
|
297
|
-
return resolvePath(messages, key, namespace);
|
|
289
|
+
return resolvePath(locale, messages, key, namespace);
|
|
298
290
|
} catch (error) {
|
|
299
291
|
return getFallbackFromErrorAndNotify(key, initializeConfig.IntlErrorCode.MISSING_MESSAGE, error.message);
|
|
300
292
|
}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var initializeConfig = require('./initializeConfig-c503e215.js');
|
|
6
6
|
var core = require('./core.js');
|
|
7
|
-
var createFormatter = require('./createFormatter-
|
|
7
|
+
var createFormatter = require('./createFormatter-3fcd09b9.js');
|
|
8
8
|
var _IntlProvider = require('./_IntlProvider.js');
|
|
9
9
|
var react = require('./react.js');
|
|
10
10
|
var _useLocale = require('./_useLocale-321e619f.js');
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _IntlProvider = require('./_IntlProvider.js');
|
|
6
6
|
var _useLocale = require('./_useLocale-321e619f.js');
|
|
7
7
|
var React = require('react');
|
|
8
|
-
var createFormatter = require('./createFormatter-
|
|
8
|
+
var createFormatter = require('./createFormatter-3fcd09b9.js');
|
|
9
9
|
var initializeConfig = require('./initializeConfig-c503e215.js');
|
|
10
10
|
require('./IntlContext-b5cc6be8.js');
|
|
11
11
|
require('intl-messageformat');
|
package/dist/esm/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,d as r}from"./initializeConfig-8268c3a9.js";export{I as IntlError,a as IntlErrorCode,i as initializeConfig}from"./initializeConfig-8268c3a9.js";import{r as s,a as t}from"./createFormatter-
|
|
1
|
+
import{b as e,d as r}from"./initializeConfig-8268c3a9.js";export{I as IntlError,a as IntlErrorCode,i as initializeConfig}from"./initializeConfig-8268c3a9.js";import{r as s,a as t}from"./createFormatter-da46887b.js";export{c as createFormatter}from"./createFormatter-da46887b.js";import"intl-messageformat";import"react";function o(a){let{getMessageFallback:o=e,messages:n,namespace:i,onError:m=r,...c}=a;return function(e,a){let{getMessageFallback:r,messages:o,namespace:n,onError:i,...m}=e;return o=o[a],n=s(n,a),t({...m,onError:i,getMessageFallback:r,messages:o,namespace:n})}({...c,onError:m,getMessageFallback:o,messages:{"!":n},namespace:i?"!.".concat(i):"!"},"!")}export{o as createTranslator};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"intl-messageformat";import{isValidElement as t,cloneElement as n}from"react";import{I as r,a as o,j as a,d as s,b as i}from"./initializeConfig-8268c3a9.js";function c(e,t){return e?Object.keys(e).reduce(((n,r)=>(n[r]={timeZone:t,...e[r]},n)),{}):e}function u(e,t,n,r){const o=a(r,n);if(!t)throw new Error("No messages available at `".concat(r,"`."));let s=t;return n.split(".").forEach((t=>{const n=s[t];if(null==t||null==n)throw new Error("Could not resolve `".concat(o,"` in messages for locale `").concat(e,"`."));s=n})),s}function m(m){const l=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;try{if(!t)throw new Error("No messages were configured on the provider.");const r=n?u(e,t,n):t;if(!r)throw new Error("No messages for namespace `".concat(n,"` found."));return r}catch(e){const t=new r(o.MISSING_MESSAGE,e.message);return a(t),t}}(m.locale,m.messages,m.namespace,m.onError);return function(s){let{defaultTranslationValues:m,formats:l,getMessageFallback:f=i,locale:d,messageFormatCache:g,messagesOrError:p,namespace:h,onError:w,timeZone:y}=s;function v(e,t,n){const o=new r(t,n);return w(o),f({error:o,key:e,namespace:h})}function E(s,i,w){if(p instanceof r)return f({error:p,key:s,namespace:h});const E=p;let I;try{I=u(d,E,s,h)}catch(e){return v(s,o.MISSING_MESSAGE,e.message)}const T=a(d,h,s,String(I));let b;if(null!=g&&g.has(T))b=g.get(T);else{if("object"==typeof I){let e,t;return Array.isArray(I)?(e=o.INVALID_MESSAGE,t="Message at `".concat(a(h,s),"` resolved to an array, but only strings are supported. See https://next-intl-docs.vercel.app/docs/usage/messages#arrays-of-messages")):(e=o.INSUFFICIENT_PATH,t="Message at `".concat(a(h,s),"` resolved to an object, but only strings are supported. Use a `.` to retrieve nested messages. See https://next-intl-docs.vercel.app/docs/usage/messages#structuring-messages")),v(s,e,t)}const t=function(e,t){if(t)return;const n=e.replace(/'([{}])/gi,"$1");return/<|{/.test(n)?void 0:n}(I,i);if(t)return t;try{b=new e(I,d,function(t,n){const r=n?{...t,dateTime:c(t.dateTime,n)}:t,o=e.formats.date,a=n?c(o,n):o,s=e.formats.time,i=n?c(s,n):s;return{...r,date:{...a,...null==r?void 0:r.dateTime},time:{...i,...null==r?void 0:r.dateTime}}}({...l,...w},y),{formatters:{getNumberFormat:(e,t)=>new Intl.NumberFormat(e,t),getDateTimeFormat:(e,t)=>new Intl.DateTimeFormat(e,{timeZone:y,...t}),getPluralRules:(e,t)=>new Intl.PluralRules(e,t)}})}catch(e){const t=e;return v(s,o.INVALID_MESSAGE,t.message+("originalMessage"in t?" (".concat(t.originalMessage,")"):""))}null==g||g.set(T,b)}try{const e=b.format(function(e){if(0===Object.keys(e).length)return;const r={};return Object.keys(e).forEach((o=>{let a=0;const s=e[o];let i;i="function"==typeof s?e=>{const r=s(e);return t(r)?n(r,{key:o+a++}):r}:s,r[o]=i})),r}({...m,...i}));if(null==e)throw new Error("Unable to format `".concat(s,"` in ").concat(h?"namespace `".concat(h,"`"):"messages"));return t(e)||Array.isArray(e)||"string"==typeof e?e:String(e)}catch(e){return v(s,o.FORMATTING_ERROR,e.message)}}function I(e,t,n){const r=E(e,t,n);return"string"!=typeof r?v(e,o.INVALID_MESSAGE,"The message `".concat(e,"` in ").concat(h?"namespace `".concat(h,"`"):"messages"," didn't resolve to a string. If you want to format rich text, use `t.rich` instead.")):r}return I.rich=E,I.markup=(e,t,n)=>{const a=E(e,t,n);if("string"!=typeof a){const t=new r(o.FORMATTING_ERROR,"`t.markup` only accepts functions for formatting that receive and return strings.\n\nE.g. t.markup('markup', {b: (chunks) => `<b>${chunks}</b>`})");return w(t),f({error:t,key:e,namespace:h})}return a},I.raw=e=>{if(p instanceof r)return f({error:p,key:e,namespace:h});const t=p;try{return u(d,t,e,h)}catch(t){return v(e,o.MISSING_MESSAGE,t.message)}},I}({...m,messagesOrError:l})}function l(e,t){return e===t?void 0:e.slice((t+".").length)}const f=60,d=60*f,g=24*d,p=7*g,h=g*(365/12),w=3*h,y=365*g,v={second:1,seconds:1,minute:f,minutes:f,hour:d,hours:d,day:g,days:g,week:p,weeks:p,month:h,months:h,quarter:w,quarters:w,year:y,years:y};function E(e){let{formats:t,locale:n,now:a,onError:i=s,timeZone:c}=e;function u(e,t,n,a){let s;try{s=function(e,t){let n;if("string"==typeof t){const a=t;if(n=null==e?void 0:e[a],!n){const e=new r(o.MISSING_FORMAT,"Format `".concat(a,"` is not available. You can configure it on the provider or provide custom options."));throw i(e),e}}else n=t;return n}(n,t)}catch(t){return String(e)}try{return a(s)}catch(t){return i(new r(o.FORMATTING_ERROR,t.message)),String(e)}}function m(e){return e instanceof Date||"number"==typeof e?new Date(e):void 0!==(null==e?void 0:e.now)?new Date(e.now):a||(i(new r(o.ENVIRONMENT_FALLBACK,"The `now` parameter wasn't provided and there is no global default configured. Consider adding a global default to avoid markup mismatches caused by environment differences. Learn more: https://next-intl-docs.vercel.app/docs/configuration#now")),new Date)}return{dateTime:function(e,a){return u(e,a,null==t?void 0:t.dateTime,(t=>{var a;return null!==(a=t)&&void 0!==a&&a.timeZone||(c?t={...t,timeZone:c}:i(new r(o.ENVIRONMENT_FALLBACK,"The `timeZone` parameter wasn't provided and there is no global default configured. Consider adding a global default to avoid markup mismatches caused by environment differences. Learn more: https://next-intl-docs.vercel.app/docs/configuration#time-zone"))),new Intl.DateTimeFormat(n,t).format(e)}))},number:function(e,r){return u(e,r,null==t?void 0:t.number,(t=>new Intl.NumberFormat(n,t).format(e)))},relativeTime:function(e,t){try{const r=new Date(e),o=m(t),a=(r.getTime()-o.getTime())/1e3,s="number"==typeof t||t instanceof Date||void 0===(null==t?void 0:t.unit)?function(e){const t=Math.abs(e);return t<f?"second":t<d?"minute":t<g?"hour":t<p?"day":t<h?"week":t<y?"month":"year"}(a):t.unit,i=function(e,t){return Math.round(e/v[t])}(a,s);return new Intl.RelativeTimeFormat(n,{numeric:"second"===s?"auto":"always"}).format(i,s)}catch(t){return i(new r(o.FORMATTING_ERROR,t.message)),String(e)}},list:function(e,r){return u(e,r,null==t?void 0:t.list,(t=>new Intl.ListFormat(n,t).format(e)))}}}export{m as a,E as c,l as r};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{I as IntlError,a as IntlErrorCode,i as initializeConfig}from"./initializeConfig-8268c3a9.js";export{createTranslator}from"./core.js";export{c as createFormatter}from"./createFormatter-
|
|
1
|
+
export{I as IntlError,a as IntlErrorCode,i as initializeConfig}from"./initializeConfig-8268c3a9.js";export{createTranslator}from"./core.js";export{c as createFormatter}from"./createFormatter-da46887b.js";export{IntlProvider}from"./_IntlProvider.js";export{useFormatter,useMessages,useNow,useTimeZone,useTranslations}from"./react.js";export{u as useLocale}from"./_useLocale-65297b4e.js";import"intl-messageformat";import"react";import"./IntlContext-b1dc6cbd.js";
|
package/dist/esm/react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{IntlProvider}from"./_IntlProvider.js";import{a as e}from"./_useLocale-65297b4e.js";export{u as useLocale}from"./_useLocale-65297b4e.js";import{useMemo as o,useState as t,useEffect as n}from"react";import{r,a,c as s}from"./createFormatter-
|
|
1
|
+
export{IntlProvider}from"./_IntlProvider.js";import{a as e}from"./_useLocale-65297b4e.js";export{u as useLocale}from"./_useLocale-65297b4e.js";import{useMemo as o,useState as t,useEffect as n}from"react";import{r,a,c as s}from"./createFormatter-da46887b.js";import{I as i,a as c}from"./initializeConfig-8268c3a9.js";import"./IntlContext-b1dc6cbd.js";import"intl-messageformat";let l=!1;const m="undefined"==typeof window;function f(t){return function(t,n,s){const{defaultTranslationValues:u,formats:f,getMessageFallback:d,locale:g,messageFormatCache:p,onError:v,timeZone:h}=e();return t=t[s],n=r(n,s),h||l||!m||(l=!0,v(new i(c.ENVIRONMENT_FALLBACK,"There is no `timeZone` configured, this can lead to markup mismatches caused by environment differences. Consider adding a global default: https://next-intl-docs.vercel.app/docs/configuration#time-zone"))),o((()=>a({messageFormatCache:p,getMessageFallback:d,messages:t,defaultTranslationValues:u,namespace:n,onError:v,formats:f,locale:g,timeZone:h})),[p,d,t,n,v,u,f,g,h])}({"!":e().messages},t?"!.".concat(t):"!","!")}function d(){return new Date}function g(o){const r=null==o?void 0:o.updateInterval,{now:a}=e(),[s,i]=t(a||d());return n((()=>{if(!r)return;const e=setInterval((()=>{i(d())}),r);return()=>{clearInterval(e)}}),[a,r]),s}function p(){return e().timeZone}function v(){const o=e();if(!o.messages)throw new Error("No messages found. Have you configured them correctly? See https://next-intl-docs.vercel.app/docs/configuration#messages");return o.messages}function h(){const{formats:t,locale:n,now:r,onError:a,timeZone:i}=e();return o((()=>s({formats:t,locale:n,now:r,onError:a,timeZone:i})),[t,r,n,a,i])}export{h as useFormatter,v as useMessages,g as useNow,p as useTimeZone,f as useTranslations};
|
package/dist/production/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./createFormatter-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./createFormatter-46d61ef5.js"),r=require("./initializeConfig-63bc7f90.js");require("intl-messageformat"),require("react"),exports.IntlError=e.IntlError,exports.IntlErrorCode=e.IntlErrorCode,exports.createFormatter=e.createFormatter,exports.initializeConfig=r.initializeConfig,exports.createTranslator=function(a){let{getMessageFallback:t=r.defaultGetMessageFallback,messages:s,namespace:o,onError:n=r.defaultOnError,...l}=a;return function(r,a){let{getMessageFallback:t,messages:s,namespace:o,onError:n,...l}=r;return s=s[a],o=e.resolveNamespace(o,a),e.createBaseTranslator({...l,onError:n,getMessageFallback:t,messages:s,namespace:o})}({...l,onError:n,getMessageFallback:t,messages:{"!":s},namespace:o?"!.".concat(o):"!"},"!")};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("intl-messageformat"),t=require("react"),r=require("./initializeConfig-63bc7f90.js");function n(e){return e&&e.__esModule?e:{default:e}}var o=n(e);function i(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let a=function(e){return e.MISSING_MESSAGE="MISSING_MESSAGE",e.MISSING_FORMAT="MISSING_FORMAT",e.ENVIRONMENT_FALLBACK="ENVIRONMENT_FALLBACK",e.INSUFFICIENT_PATH="INSUFFICIENT_PATH",e.INVALID_MESSAGE="INVALID_MESSAGE",e.INVALID_KEY="INVALID_KEY",e.FORMATTING_ERROR="FORMATTING_ERROR",e}({});class u extends Error{constructor(e,t){let r=e;t&&(r+=": "+t),super(r),i(this,"code",void 0),i(this,"originalMessage",void 0),this.code=e,t&&(this.originalMessage=t)}}function s(e,t){return e?Object.keys(e).reduce(((r,n)=>(r[n]={timeZone:t,...e[n]},r)),{}):e}function c(e,t,n,o){const i=r.joinPath(o,n);if(!t)throw new Error(i);let a=t;return n.split(".").forEach((t=>{const r=a[t];if(null==t||null==r)throw new Error(i+" (".concat(e,")"));a=r})),a}const l=60,m=60*l,f=24*m,E=7*f,d=f*(365/12),I=3*d,S=365*f,g={second:1,seconds:1,minute:l,minutes:l,hour:m,hours:m,day:f,days:f,week:E,weeks:E,month:d,months:d,quarter:I,quarters:I,year:S,years:S};exports.IntlError=u,exports.IntlErrorCode=a,exports.createBaseTranslator=function(e){const n=function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r.defaultOnError;try{if(!t)throw new Error(void 0);const r=n?c(e,t,n):t;if(!r)throw new Error(n);return r}catch(e){const t=new u(a.MISSING_MESSAGE,e.message);return o(t),t}}(e.locale,e.messages,e.namespace,e.onError);return function(e){let{defaultTranslationValues:n,formats:i,getMessageFallback:l=r.defaultGetMessageFallback,locale:m,messageFormatCache:f,messagesOrError:E,namespace:d,onError:I,timeZone:S}=e;function g(e,t,r){const n=new u(t,r);return I(n),l({error:n,key:e,namespace:d})}function N(e,I,N){if(E instanceof u)return l({error:E,key:e,namespace:d});const w=E;let y;try{y=c(m,w,e,d)}catch(t){return g(e,a.MISSING_MESSAGE,t.message)}const A=r.joinPath(m,d,e,String(y));let T;if(null!=f&&f.has(A))T=f.get(A);else{if("object"==typeof y){let t,r;return t=Array.isArray(y)?a.INVALID_MESSAGE:a.INSUFFICIENT_PATH,g(e,t,r)}const t=function(e,t){if(t)return;const r=e.replace(/'([{}])/gi,"$1");return/<|{/.test(r)?void 0:r}(y,I);if(t)return t;try{T=new o.default(y,m,function(e,t){const r=t?{...e,dateTime:s(e.dateTime,t)}:e,n=o.default.formats.date,i=t?s(n,t):n,a=o.default.formats.time,u=t?s(a,t):a;return{...r,date:{...i,...null==r?void 0:r.dateTime},time:{...u,...null==r?void 0:r.dateTime}}}({...i,...N},S),{formatters:{getNumberFormat:(e,t)=>new Intl.NumberFormat(e,t),getDateTimeFormat:(e,t)=>new Intl.DateTimeFormat(e,{timeZone:S,...t}),getPluralRules:(e,t)=>new Intl.PluralRules(e,t)}})}catch(t){const r=t;return g(e,a.INVALID_MESSAGE,r.message)}null==f||f.set(A,T)}try{const e=T.format(function(e){if(0===Object.keys(e).length)return;const r={};return Object.keys(e).forEach((n=>{let o=0;const i=e[n];let a;a="function"==typeof i?e=>{const r=i(e);return t.isValidElement(r)?t.cloneElement(r,{key:n+o++}):r}:i,r[n]=a})),r}({...n,...I}));if(null==e)throw new Error(void 0);return t.isValidElement(e)||Array.isArray(e)||"string"==typeof e?e:String(e)}catch(t){return g(e,a.FORMATTING_ERROR,t.message)}}function w(e,t,r){const n=N(e,t,r);return"string"!=typeof n?g(e,a.INVALID_MESSAGE,void 0):n}return w.rich=N,w.markup=(e,t,r)=>{const n=N(e,t,r);if("string"!=typeof n){const t=new u(a.FORMATTING_ERROR,void 0);return I(t),l({error:t,key:e,namespace:d})}return n},w.raw=e=>{if(E instanceof u)return l({error:E,key:e,namespace:d});const t=E;try{return c(m,t,e,d)}catch(t){return g(e,a.MISSING_MESSAGE,t.message)}},w}({...e,messagesOrError:n})},exports.createFormatter=function(e){let{formats:t,locale:n,now:o,onError:i=r.defaultOnError,timeZone:s}=e;function c(e,t,r,n){let o;try{o=function(e,t){let r;if("string"==typeof t){if(r=null==e?void 0:e[t],!r){const e=new u(a.MISSING_FORMAT,void 0);throw i(e),e}}else r=t;return r}(r,t)}catch(t){return String(e)}try{return n(o)}catch(t){return i(new u(a.FORMATTING_ERROR,t.message)),String(e)}}function I(e){return e instanceof Date||"number"==typeof e?new Date(e):void 0!==(null==e?void 0:e.now)?new Date(e.now):o||(i(new u(a.ENVIRONMENT_FALLBACK,void 0)),new Date)}return{dateTime:function(e,r){return c(e,r,null==t?void 0:t.dateTime,(t=>{var r;return null!==(r=t)&&void 0!==r&&r.timeZone||(s?t={...t,timeZone:s}:i(new u(a.ENVIRONMENT_FALLBACK,void 0))),new Intl.DateTimeFormat(n,t).format(e)}))},number:function(e,r){return c(e,r,null==t?void 0:t.number,(t=>new Intl.NumberFormat(n,t).format(e)))},relativeTime:function(e,t){try{const r=new Date(e),o=I(t),i=(r.getTime()-o.getTime())/1e3,a="number"==typeof t||t instanceof Date||void 0===(null==t?void 0:t.unit)?function(e){const t=Math.abs(e);return t<l?"second":t<m?"minute":t<f?"hour":t<E?"day":t<d?"week":t<S?"month":"year"}(i):t.unit,u=function(e,t){return Math.round(e/g[t])}(i,a);return new Intl.RelativeTimeFormat(n,{numeric:"second"===a?"auto":"always"}).format(u,a)}catch(t){return i(new u(a.FORMATTING_ERROR,t.message)),String(e)}},list:function(e,r){return c(e,r,null==t?void 0:t.list,(t=>new Intl.ListFormat(n,t).format(e)))}}},exports.resolveNamespace=function(e,t){return e===t?void 0:e.slice((t+".").length)};
|
package/dist/production/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./createFormatter-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./createFormatter-46d61ef5.js"),r=require("./core.js"),t=require("./initializeConfig-63bc7f90.js"),s=require("./_IntlProvider.js"),o=require("./react.js"),i=require("./_useLocale-8e23751a.js");require("intl-messageformat"),require("react"),require("./IntlContext-381f3ce4.js"),exports.IntlError=e.IntlError,exports.IntlErrorCode=e.IntlErrorCode,exports.createFormatter=e.createFormatter,exports.createTranslator=r.createTranslator,exports.initializeConfig=t.initializeConfig,exports.IntlProvider=s.IntlProvider,exports.useFormatter=o.useFormatter,exports.useMessages=o.useMessages,exports.useNow=o.useNow,exports.useTimeZone=o.useTimeZone,exports.useTranslations=o.useTranslations,exports.useLocale=i.useLocale;
|
package/dist/production/react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./_IntlProvider.js"),t=require("./_useLocale-8e23751a.js"),r=require("react"),o=require("./createFormatter-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./_IntlProvider.js"),t=require("./_useLocale-8e23751a.js"),r=require("react"),o=require("./createFormatter-46d61ef5.js");require("./initializeConfig-63bc7f90.js"),require("./IntlContext-381f3ce4.js"),require("intl-messageformat");let n=!1;const s="undefined"==typeof window;function a(){return new Date}exports.IntlProvider=e.IntlProvider,exports.useLocale=t.useLocale,exports.useFormatter=function(){const{formats:e,locale:n,now:s,onError:a,timeZone:u}=t.useIntlContext();return r.useMemo((()=>o.createFormatter({formats:e,locale:n,now:s,onError:a,timeZone:u})),[e,s,n,a,u])},exports.useMessages=function(){const e=t.useIntlContext();if(!e.messages)throw new Error(void 0);return e.messages},exports.useNow=function(e){const o=null==e?void 0:e.updateInterval,{now:n}=t.useIntlContext(),[s,u]=r.useState(n||a());return r.useEffect((()=>{if(!o)return;const e=setInterval((()=>{u(a())}),o);return()=>{clearInterval(e)}}),[n,o]),s},exports.useTimeZone=function(){return t.useIntlContext().timeZone},exports.useTranslations=function(e){return function(e,a,u){const{defaultTranslationValues:l,formats:i,getMessageFallback:c,locale:m,messageFormatCache:f,onError:I,timeZone:d}=t.useIntlContext();return e=e[u],a=o.resolveNamespace(a,u),d||n||!s||(n=!0,I(new o.IntlError(o.IntlErrorCode.ENVIRONMENT_FALLBACK,void 0))),r.useMemo((()=>o.createBaseTranslator({messageFormatCache:f,getMessageFallback:c,messages:e,defaultTranslationValues:l,namespace:a,onError:I,formats:i,locale:m,timeZone:d})),[f,c,e,a,I,l,i,m,d])}({"!":t.useIntlContext().messages},e?"!.".concat(e):"!","!")};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "use-intl",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.5",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Jan Amann <jan@amann.work>",
|
|
6
6
|
"description": "Minimal, but complete solution for managing internationalization in React apps.",
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"limit": "12.4 kB"
|
|
94
94
|
}
|
|
95
95
|
],
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "453f002a8b51135f37c17ab169664b778e1bb353"
|
|
97
97
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"intl-messageformat";import{isValidElement as t,cloneElement as n}from"react";import{I as r,a as o,j as a,d as s,b as i}from"./initializeConfig-8268c3a9.js";function c(e,t){return e?Object.keys(e).reduce(((n,r)=>(n[r]={timeZone:t,...e[r]},n)),{}):e}function u(e,t,n){const r=a(n,t);if(!e)throw new Error("No messages available at `".concat(n,"`."));let o=e;return t.split(".").forEach((e=>{const t=o[e];if(null==e||null==t)throw new Error("Could not resolve `".concat(r,"` in messages."));o=t})),o}function m(m){const l=function(e){let{messages:t,namespace:n,onError:a=s}=e;try{if(!t)throw new Error("No messages were configured on the provider.");const e=n?u(t,n):t;if(!e)throw new Error("No messages for namespace `".concat(n,"` found."));return e}catch(e){const t=new r(o.MISSING_MESSAGE,e.message);return a(t),t}}({messages:m.messages,namespace:m.namespace,onError:m.onError});return function(s){let{defaultTranslationValues:m,formats:l,getMessageFallback:f=i,locale:d,messageFormatCache:g,messagesOrError:p,namespace:h,onError:w,timeZone:y}=s;function v(e,t,n){const o=new r(t,n);return w(o),f({error:o,key:e,namespace:h})}function E(s,i,w){if(p instanceof r)return f({error:p,key:s,namespace:h});const E=p;let I;try{I=u(E,s,h)}catch(e){return v(s,o.MISSING_MESSAGE,e.message)}const T=a(d,h,s,String(I));let b;if(null!=g&&g.has(T))b=g.get(T);else{if("object"==typeof I){let e,t;return Array.isArray(I)?(e=o.INVALID_MESSAGE,t="Message at `".concat(a(h,s),"` resolved to an array, but only strings are supported. See https://next-intl-docs.vercel.app/docs/usage/messages#arrays-of-messages")):(e=o.INSUFFICIENT_PATH,t="Message at `".concat(a(h,s),"` resolved to an object, but only strings are supported. Use a `.` to retrieve nested messages. See https://next-intl-docs.vercel.app/docs/usage/messages#structuring-messages")),v(s,e,t)}const t=function(e,t){if(t)return;const n=e.replace(/'([{}])/gi,"$1");return/<|{/.test(n)?void 0:n}(I,i);if(t)return t;try{b=new e(I,d,function(t,n){const r=n?{...t,dateTime:c(t.dateTime,n)}:t,o=e.formats.date,a=n?c(o,n):o,s=e.formats.time,i=n?c(s,n):s;return{...r,date:{...a,...null==r?void 0:r.dateTime},time:{...i,...null==r?void 0:r.dateTime}}}({...l,...w},y),{formatters:{getNumberFormat:(e,t)=>new Intl.NumberFormat(e,t),getDateTimeFormat:(e,t)=>new Intl.DateTimeFormat(e,{timeZone:y,...t}),getPluralRules:(e,t)=>new Intl.PluralRules(e,t)}})}catch(e){const t=e;return v(s,o.INVALID_MESSAGE,t.message+("originalMessage"in t?" (".concat(t.originalMessage,")"):""))}null==g||g.set(T,b)}try{const e=b.format(function(e){if(0===Object.keys(e).length)return;const r={};return Object.keys(e).forEach((o=>{let a=0;const s=e[o];let i;i="function"==typeof s?e=>{const r=s(e);return t(r)?n(r,{key:o+a++}):r}:s,r[o]=i})),r}({...m,...i}));if(null==e)throw new Error("Unable to format `".concat(s,"` in ").concat(h?"namespace `".concat(h,"`"):"messages"));return t(e)||Array.isArray(e)||"string"==typeof e?e:String(e)}catch(e){return v(s,o.FORMATTING_ERROR,e.message)}}function I(e,t,n){const r=E(e,t,n);return"string"!=typeof r?v(e,o.INVALID_MESSAGE,"The message `".concat(e,"` in ").concat(h?"namespace `".concat(h,"`"):"messages"," didn't resolve to a string. If you want to format rich text, use `t.rich` instead.")):r}return I.rich=E,I.markup=(e,t,n)=>{const a=E(e,t,n);if("string"!=typeof a){const t=new r(o.FORMATTING_ERROR,"`t.markup` only accepts functions for formatting that receive and return strings.\n\nE.g. t.markup('markup', {b: (chunks) => `<b>${chunks}</b>`})");return w(t),f({error:t,key:e,namespace:h})}return a},I.raw=e=>{if(p instanceof r)return f({error:p,key:e,namespace:h});const t=p;try{return u(t,e,h)}catch(t){return v(e,o.MISSING_MESSAGE,t.message)}},I}({...m,messagesOrError:l})}function l(e,t){return e===t?void 0:e.slice((t+".").length)}const f=60,d=60*f,g=24*d,p=7*g,h=g*(365/12),w=3*h,y=365*g,v={second:1,seconds:1,minute:f,minutes:f,hour:d,hours:d,day:g,days:g,week:p,weeks:p,month:h,months:h,quarter:w,quarters:w,year:y,years:y};function E(e){let{formats:t,locale:n,now:a,onError:i=s,timeZone:c}=e;function u(e,t,n,a){let s;try{s=function(e,t){let n;if("string"==typeof t){const a=t;if(n=null==e?void 0:e[a],!n){const e=new r(o.MISSING_FORMAT,"Format `".concat(a,"` is not available. You can configure it on the provider or provide custom options."));throw i(e),e}}else n=t;return n}(n,t)}catch(t){return String(e)}try{return a(s)}catch(t){return i(new r(o.FORMATTING_ERROR,t.message)),String(e)}}function m(e){return e instanceof Date||"number"==typeof e?new Date(e):void 0!==(null==e?void 0:e.now)?new Date(e.now):a||(i(new r(o.ENVIRONMENT_FALLBACK,"The `now` parameter wasn't provided and there is no global default configured. Consider adding a global default to avoid markup mismatches caused by environment differences. Learn more: https://next-intl-docs.vercel.app/docs/configuration#now")),new Date)}return{dateTime:function(e,a){return u(e,a,null==t?void 0:t.dateTime,(t=>{var a;return null!==(a=t)&&void 0!==a&&a.timeZone||(c?t={...t,timeZone:c}:i(new r(o.ENVIRONMENT_FALLBACK,"The `timeZone` parameter wasn't provided and there is no global default configured. Consider adding a global default to avoid markup mismatches caused by environment differences. Learn more: https://next-intl-docs.vercel.app/docs/configuration#time-zone"))),new Intl.DateTimeFormat(n,t).format(e)}))},number:function(e,r){return u(e,r,null==t?void 0:t.number,(t=>new Intl.NumberFormat(n,t).format(e)))},relativeTime:function(e,t){try{const r=new Date(e),o=m(t),a=(r.getTime()-o.getTime())/1e3,s="number"==typeof t||t instanceof Date||void 0===(null==t?void 0:t.unit)?function(e){const t=Math.abs(e);return t<f?"second":t<d?"minute":t<g?"hour":t<p?"day":t<h?"week":t<y?"month":"year"}(a):t.unit,i=function(e,t){return Math.round(e/v[t])}(a,s);return new Intl.RelativeTimeFormat(n,{numeric:"second"===s?"auto":"always"}).format(i,s)}catch(t){return i(new r(o.FORMATTING_ERROR,t.message)),String(e)}},list:function(e,r){return u(e,r,null==t?void 0:t.list,(t=>new Intl.ListFormat(n,t).format(e)))}}}export{m as a,E as c,l as r};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("intl-messageformat"),t=require("react"),r=require("./initializeConfig-63bc7f90.js");function n(e){return e&&e.__esModule?e:{default:e}}var o=n(e);function i(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let a=function(e){return e.MISSING_MESSAGE="MISSING_MESSAGE",e.MISSING_FORMAT="MISSING_FORMAT",e.ENVIRONMENT_FALLBACK="ENVIRONMENT_FALLBACK",e.INSUFFICIENT_PATH="INSUFFICIENT_PATH",e.INVALID_MESSAGE="INVALID_MESSAGE",e.INVALID_KEY="INVALID_KEY",e.FORMATTING_ERROR="FORMATTING_ERROR",e}({});class s extends Error{constructor(e,t){let r=e;t&&(r+=": "+t),super(r),i(this,"code",void 0),i(this,"originalMessage",void 0),this.code=e,t&&(this.originalMessage=t)}}function u(e,t){return e?Object.keys(e).reduce(((r,n)=>(r[n]={timeZone:t,...e[n]},r)),{}):e}function c(e,t,n){const o=r.joinPath(n,t);if(!e)throw new Error(o);let i=e;return t.split(".").forEach((e=>{const t=i[e];if(null==e||null==t)throw new Error(o);i=t})),i}const l=60,m=60*l,f=24*m,E=7*f,I=f*(365/12),d=3*I,S=365*f,g={second:1,seconds:1,minute:l,minutes:l,hour:m,hours:m,day:f,days:f,week:E,weeks:E,month:I,months:I,quarter:d,quarters:d,year:S,years:S};exports.IntlError=s,exports.IntlErrorCode=a,exports.createBaseTranslator=function(e){const n=function(e){let{messages:t,namespace:n,onError:o=r.defaultOnError}=e;try{if(!t)throw new Error(void 0);const e=n?c(t,n):t;if(!e)throw new Error(n);return e}catch(e){const t=new s(a.MISSING_MESSAGE,e.message);return o(t),t}}({messages:e.messages,namespace:e.namespace,onError:e.onError});return function(e){let{defaultTranslationValues:n,formats:i,getMessageFallback:l=r.defaultGetMessageFallback,locale:m,messageFormatCache:f,messagesOrError:E,namespace:I,onError:d,timeZone:S}=e;function g(e,t,r){const n=new s(t,r);return d(n),l({error:n,key:e,namespace:I})}function N(e,d,N){if(E instanceof s)return l({error:E,key:e,namespace:I});const w=E;let y;try{y=c(w,e,I)}catch(t){return g(e,a.MISSING_MESSAGE,t.message)}const A=r.joinPath(m,I,e,String(y));let T;if(null!=f&&f.has(A))T=f.get(A);else{if("object"==typeof y){let t,r;return t=Array.isArray(y)?a.INVALID_MESSAGE:a.INSUFFICIENT_PATH,g(e,t,r)}const t=function(e,t){if(t)return;const r=e.replace(/'([{}])/gi,"$1");return/<|{/.test(r)?void 0:r}(y,d);if(t)return t;try{T=new o.default(y,m,function(e,t){const r=t?{...e,dateTime:u(e.dateTime,t)}:e,n=o.default.formats.date,i=t?u(n,t):n,a=o.default.formats.time,s=t?u(a,t):a;return{...r,date:{...i,...null==r?void 0:r.dateTime},time:{...s,...null==r?void 0:r.dateTime}}}({...i,...N},S),{formatters:{getNumberFormat:(e,t)=>new Intl.NumberFormat(e,t),getDateTimeFormat:(e,t)=>new Intl.DateTimeFormat(e,{timeZone:S,...t}),getPluralRules:(e,t)=>new Intl.PluralRules(e,t)}})}catch(t){const r=t;return g(e,a.INVALID_MESSAGE,r.message)}null==f||f.set(A,T)}try{const e=T.format(function(e){if(0===Object.keys(e).length)return;const r={};return Object.keys(e).forEach((n=>{let o=0;const i=e[n];let a;a="function"==typeof i?e=>{const r=i(e);return t.isValidElement(r)?t.cloneElement(r,{key:n+o++}):r}:i,r[n]=a})),r}({...n,...d}));if(null==e)throw new Error(void 0);return t.isValidElement(e)||Array.isArray(e)||"string"==typeof e?e:String(e)}catch(t){return g(e,a.FORMATTING_ERROR,t.message)}}function w(e,t,r){const n=N(e,t,r);return"string"!=typeof n?g(e,a.INVALID_MESSAGE,void 0):n}return w.rich=N,w.markup=(e,t,r)=>{const n=N(e,t,r);if("string"!=typeof n){const t=new s(a.FORMATTING_ERROR,void 0);return d(t),l({error:t,key:e,namespace:I})}return n},w.raw=e=>{if(E instanceof s)return l({error:E,key:e,namespace:I});const t=E;try{return c(t,e,I)}catch(t){return g(e,a.MISSING_MESSAGE,t.message)}},w}({...e,messagesOrError:n})},exports.createFormatter=function(e){let{formats:t,locale:n,now:o,onError:i=r.defaultOnError,timeZone:u}=e;function c(e,t,r,n){let o;try{o=function(e,t){let r;if("string"==typeof t){if(r=null==e?void 0:e[t],!r){const e=new s(a.MISSING_FORMAT,void 0);throw i(e),e}}else r=t;return r}(r,t)}catch(t){return String(e)}try{return n(o)}catch(t){return i(new s(a.FORMATTING_ERROR,t.message)),String(e)}}function d(e){return e instanceof Date||"number"==typeof e?new Date(e):void 0!==(null==e?void 0:e.now)?new Date(e.now):o||(i(new s(a.ENVIRONMENT_FALLBACK,void 0)),new Date)}return{dateTime:function(e,r){return c(e,r,null==t?void 0:t.dateTime,(t=>{var r;return null!==(r=t)&&void 0!==r&&r.timeZone||(u?t={...t,timeZone:u}:i(new s(a.ENVIRONMENT_FALLBACK,void 0))),new Intl.DateTimeFormat(n,t).format(e)}))},number:function(e,r){return c(e,r,null==t?void 0:t.number,(t=>new Intl.NumberFormat(n,t).format(e)))},relativeTime:function(e,t){try{const r=new Date(e),o=d(t),i=(r.getTime()-o.getTime())/1e3,a="number"==typeof t||t instanceof Date||void 0===(null==t?void 0:t.unit)?function(e){const t=Math.abs(e);return t<l?"second":t<m?"minute":t<f?"hour":t<E?"day":t<I?"week":t<S?"month":"year"}(i):t.unit,s=function(e,t){return Math.round(e/g[t])}(i,a);return new Intl.RelativeTimeFormat(n,{numeric:"second"===a?"auto":"always"}).format(s,a)}catch(t){return i(new s(a.FORMATTING_ERROR,t.message)),String(e)}},list:function(e,r){return c(e,r,null==t?void 0:t.list,(t=>new Intl.ListFormat(n,t).format(e)))}}},exports.resolveNamespace=function(e,t){return e===t?void 0:e.slice((t+".").length)};
|