From 47ff335aa317434f3c6ffa6db4792710756a3bfd Mon Sep 17 00:00:00 2001 From: Jaakko Hannikainen Date: Thu, 6 Apr 2017 15:55:46 +0300 Subject: [PATCH 1/2] [react-intl] Allow using JSX elements with --- types/react-intl/index.d.ts | 6 +++++- types/react-intl/react-intl-tests.tsx | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/types/react-intl/index.d.ts b/types/react-intl/index.d.ts index d9f965602d..bbe1a49be5 100644 --- a/types/react-intl/index.d.ts +++ b/types/react-intl/index.d.ts @@ -11,6 +11,10 @@ declare namespace ReactIntl { interface Values { + [key: string]: string | JSX.Element; + } + + interface HTMLValues { [key: string]: string; } @@ -71,7 +75,7 @@ declare namespace ReactIntl { formatNumber: (value: number, options?: FormattedNumber.PropsBase) => string; formatPlural: (value: number, options?: FormattedPlural.Base) => keyof FormattedPlural.PropsBase; formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: Values) => string; - formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: Values) => string; + formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: HTMLValues) => string; locale: string; formats: any; messages: { [id: string]: string }; diff --git a/types/react-intl/react-intl-tests.tsx b/types/react-intl/react-intl-tests.tsx index 55528a385e..6ef7e5038f 100644 --- a/types/react-intl/react-intl-tests.tsx +++ b/types/react-intl/react-intl-tests.tsx @@ -87,6 +87,13 @@ class SomeComponent extends React.Component + p

}} + tagName="div" /> + Date: Thu, 6 Apr 2017 16:43:50 +0300 Subject: [PATCH 2/2] [react-intl] Inline types for formatMessage, formatHTMLMessage and FormattedMessage --- types/react-intl/index.d.ts | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/types/react-intl/index.d.ts b/types/react-intl/index.d.ts index bbe1a49be5..44480deceb 100644 --- a/types/react-intl/index.d.ts +++ b/types/react-intl/index.d.ts @@ -10,14 +10,6 @@ declare namespace ReactIntl { - interface Values { - [key: string]: string | JSX.Element; - } - - interface HTMLValues { - [key: string]: string; - } - interface Locale { locale: string; fields?: { [key: string]: string }, @@ -74,8 +66,8 @@ 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?: Values) => string; - formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: HTMLValues) => string; + formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; + formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; locale: string; formats: any; messages: { [id: string]: string }; @@ -143,7 +135,7 @@ declare namespace ReactIntl { } export interface Props extends MessageDescriptor { - values?: Values; + values?: {[key: string]: string | JSX.Element}; tagName?: string; } }