From 9884c4e814abed7b4e6c4d822ee49cdb53273362 Mon Sep 17 00:00:00 2001 From: Thomas Brian Date: Wed, 10 May 2017 18:11:16 -0400 Subject: [PATCH] add number to possible types of values passed to FormattedMessage --- types/react-intl/index.d.ts | 4 ++-- types/react-intl/react-intl-tests.tsx | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/types/react-intl/index.d.ts b/types/react-intl/index.d.ts index 5fb82ada78..2b55a471ec 100644 --- a/types/react-intl/index.d.ts +++ b/types/react-intl/index.d.ts @@ -67,7 +67,7 @@ declare namespace ReactIntl { formatRelative: (value: number, options?: FormattedRelative.PropsBase & { now?: any }) => string; formatNumber: (value: number, options?: FormattedNumber.PropsBase) => string; formatPlural: (value: number, options?: FormattedPlural.Base) => keyof FormattedPlural.PropsBase; - formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; + formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string | number}) => string; formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; locale: string; formats: any; @@ -136,7 +136,7 @@ declare namespace ReactIntl { } export interface Props extends MessageDescriptor { - values?: {[key: string]: string | JSX.Element}; + values?: {[key: string]: string | number | JSX.Element}; tagName?: string; } } diff --git a/types/react-intl/react-intl-tests.tsx b/types/react-intl/react-intl-tests.tsx index 6ef7e5038f..a9717147e9 100644 --- a/types/react-intl/react-intl-tests.tsx +++ b/types/react-intl/react-intl-tests.tsx @@ -51,6 +51,7 @@ const SomeFunctionalComponentWithIntl: React.ComponentClass const formattedNumber = formatNumber(123, { format: "short" }); const formattedPlural = formatPlural(1, { style: "ordinal" }); const formattedMessage = formatMessage({ id: "hello", defaultMessage: "Hello {name}!" }, { name: "Roger" }); + const formattedMessagePlurals = formatMessage({ id: "hello", defaultMessage: "Hello {name} you have {unreadCount, number} {unreadCount, plural, one {message} other {messages}}!" }, { name: "Roger", unreadCount: 123 }); const formattedHTMLMessage = formatHTMLMessage({ id: "hello", defaultMessage: "Hello {name}!" }, { name: "Roger" }); return (
@@ -70,6 +71,7 @@ class SomeComponent extends React.Component{name}!" }, { name: "Roger" }); return
p

}} tagName="div" /> + + + +