Comparing version 4.0.0-beta-ddd5ae5 to 4.0.0-beta-f10dbba
@@ -23,2 +23,5 @@ import { r as resolveNamespace, e as createBaseTranslator, d as createCache, b as createIntlFormatters, f as defaultGetMessageFallback, g as defaultOnError } from './initializeConfig-DNjOIggo.js'; | ||
// This type is slightly more loose than `AbstractIntlMessages` | ||
// in order to avoid a type error. | ||
/** | ||
@@ -25,0 +28,0 @@ * Translates messages from the given namespace by using the ICU syntax. |
import type { ReactNode } from 'react'; | ||
import type { Messages } from './AppConfig.tsx'; | ||
import type Formats from './Formats.tsx'; | ||
@@ -21,3 +20,4 @@ import type ICUArgs from './ICUArgs.tsx'; | ||
] : (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; | ||
type NamespacedMessageKeys<TranslatorMessages extends Messages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>> = never> = MessageKeys<NestedValueOf<{ | ||
type IntlMessages = Record<string, any>; | ||
type NamespacedMessageKeys<TranslatorMessages extends IntlMessages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>> = never> = MessageKeys<NestedValueOf<{ | ||
'!': TranslatorMessages; | ||
@@ -31,3 +31,3 @@ }, [ | ||
] extends [never] ? '!' : `!.${Namespace}`>>>; | ||
type NamespacedValue<TranslatorMessages extends Messages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>>, TargetKey extends NamespacedMessageKeys<TranslatorMessages, Namespace>> = NestedValueOf<TranslatorMessages, [ | ||
type NamespacedValue<TranslatorMessages extends IntlMessages, Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>>, TargetKey extends NamespacedMessageKeys<TranslatorMessages, Namespace>> = NestedValueOf<TranslatorMessages, [ | ||
Namespace | ||
@@ -43,3 +43,3 @@ ] extends [never] ? TargetKey : `${Namespace}.${TargetKey}`>; | ||
*/ | ||
export default function createTranslator<const TranslatorMessages extends Messages = Messages, const Namespace extends NamespaceKeys<TranslatorMessages, NestedKeyOf<TranslatorMessages>> = never>({ _cache, _formatters, getMessageFallback, messages, namespace, onError, ...rest }: Omit<IntlConfig<TranslatorMessages>, 'messages'> & { | ||
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'> & { | ||
messages?: TranslatorMessages; | ||
@@ -46,0 +46,0 @@ namespace?: Namespace; |
@@ -9,3 +9,3 @@ import type AbstractIntlMessages from './AbstractIntlMessages.tsx'; | ||
*/ | ||
type IntlConfig<Messages = AbstractIntlMessages> = { | ||
type IntlConfig<Messages extends AbstractIntlMessages = AbstractIntlMessages> = { | ||
/** A valid Unicode locale tag (e.g. "en" or "en-GB"). */ | ||
@@ -48,3 +48,3 @@ locale: Locale; | ||
*/ | ||
export type InitializedIntlConfig<Messages = AbstractIntlMessages> = IntlConfig<Messages> & { | ||
export type InitializedIntlConfig<Messages extends AbstractIntlMessages = AbstractIntlMessages> = IntlConfig<Messages> & { | ||
onError: NonNullable<IntlConfig<Messages>['onError']>; | ||
@@ -51,0 +51,0 @@ getMessageFallback: NonNullable<IntlConfig<Messages>['getMessageFallback']>; |
{ | ||
"name": "use-intl", | ||
"version": "4.0.0-beta-ddd5ae5", | ||
"version": "4.0.0-beta-f10dbba", | ||
"sideEffects": false, | ||
@@ -67,3 +67,3 @@ "author": "Jan Amann <jan@amann.work>", | ||
}, | ||
"gitHead": "1f0e953c2dd85407f7f386eee8ee17181f5d03df" | ||
"gitHead": "0b110fbdc662f812b077e5e3935cc3401c23aa46" | ||
} |
82848
1470