use-intl 4.0.0-beta-0825f08 → 4.0.0-beta-f10dbba
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.
|
@@ -20,6 +20,9 @@ function createTranslatorImpl({
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
// This type is slightly more loose than `AbstractIntlMessages`
|
|
24
|
+
// in order to avoid a type error.
|
|
25
|
+
|
|
23
26
|
/**
|
|
24
27
|
* Translates messages from the given namespace by using the ICU syntax.
|
|
25
28
|
* See https://formatjs.io/docs/core-concepts/icu-syntax.
|
|
@@ -6,7 +6,7 @@ import type TimeZone from './TimeZone.tsx';
|
|
|
6
6
|
/**
|
|
7
7
|
* Should be used for entry points that configure the library.
|
|
8
8
|
*/
|
|
9
|
-
type IntlConfig<Messages = AbstractIntlMessages> = {
|
|
9
|
+
type IntlConfig<Messages extends AbstractIntlMessages = AbstractIntlMessages> = {
|
|
10
10
|
/** A valid Unicode locale tag (e.g. "en" or "en-GB"). */
|
|
11
11
|
locale: Locale;
|
|
12
12
|
/** Global formats can be provided to achieve consistent
|
|
@@ -44,7 +44,7 @@ type IntlConfig<Messages = AbstractIntlMessages> = {
|
|
|
44
44
|
* A stricter set of the configuration that should be used internally
|
|
45
45
|
* once defaults are assigned to `IntlConfiguration`.
|
|
46
46
|
*/
|
|
47
|
-
export type InitializedIntlConfig<Messages = AbstractIntlMessages> = IntlConfig<Messages> & {
|
|
47
|
+
export type InitializedIntlConfig<Messages extends AbstractIntlMessages = AbstractIntlMessages> = IntlConfig<Messages> & {
|
|
48
48
|
onError: NonNullable<IntlConfig<Messages>['onError']>;
|
|
49
49
|
getMessageFallback: NonNullable<IntlConfig<Messages>['getMessageFallback']>;
|
|
50
50
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { Messages } from './AppConfig.tsx';
|
|
3
2
|
import type Formats from './Formats.tsx';
|
|
4
3
|
import type ICUArgs from './ICUArgs.tsx';
|
|
5
4
|
import type ICUTags from './ICUTags.tsx';
|
|
@@ -18,7 +17,8 @@ type TranslateArgs<Value extends string, TagsFn extends RichTagsFunction | Marku
|
|
|
18
17
|
values?: Record<string, TranslationValues[string] | TagsFn>,
|
|
19
18
|
formats?: Formats
|
|
20
19
|
] : (Value extends any ? (key: ICUArgsWithTags<Value, TagsFn>) => void : never) extends (key: infer Args) => void ? OnlyOptional<Args> extends true ? [values?: undefined, formats?: Formats] : [values: Prettify<Args>, formats?: Formats] : never;
|
|
21
|
-
type
|
|
20
|
+
type IntlMessages = Record<string, any>;
|
|
21
|
+
type NamespacedMessageKeys<TranslatorMessages extends IntlMessages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>> = never> = MessageKeys<NestedValueOf<{
|
|
22
22
|
'!': TranslatorMessages;
|
|
23
23
|
}, [
|
|
24
24
|
Namespace
|
|
@@ -27,7 +27,7 @@ type NamespacedMessageKeys<TranslatorMessages extends Messages, Namespace extend
|
|
|
27
27
|
}, [
|
|
28
28
|
Namespace
|
|
29
29
|
] extends [never] ? '!' : `!.${Namespace}`>>>;
|
|
30
|
-
type NamespacedValue<TranslatorMessages extends
|
|
30
|
+
type NamespacedValue<TranslatorMessages extends IntlMessages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>>, TargetKey extends NamespacedMessageKeys<TranslatorMessages, Namespace>> = NestedValueOf<TranslatorMessages, [
|
|
31
31
|
Namespace
|
|
32
32
|
] extends [never] ? TargetKey : `${Namespace}.${TargetKey}`>;
|
|
33
33
|
/**
|
|
@@ -38,7 +38,7 @@ type NamespacedValue<TranslatorMessages extends Messages, Namespace extends Name
|
|
|
38
38
|
* The namespace can also indicate nesting by using a dot
|
|
39
39
|
* (e.g. `namespace.Component`).
|
|
40
40
|
*/
|
|
41
|
-
export default function createTranslator<const TranslatorMessages extends
|
|
41
|
+
export default function createTranslator<const TranslatorMessages extends IntlMessages, const Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>> = never>({ _cache, _formatters, getMessageFallback, messages, namespace, onError, ...rest }: Omit<IntlConfig<TranslatorMessages>, 'messages'> & {
|
|
42
42
|
messages?: TranslatorMessages;
|
|
43
43
|
namespace?: Namespace;
|
|
44
44
|
/** @private */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "use-intl",
|
|
3
|
-
"version": "4.0.0-beta-
|
|
3
|
+
"version": "4.0.0-beta-f10dbba",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Jan Amann <jan@amann.work>",
|
|
6
6
|
"description": "Internationalization (i18n) for React",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"react": "^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "0b110fbdc662f812b077e5e3935cc3401c23aa46"
|
|
68
68
|
}
|