stream-chat-react-native-core 5.32.0-beta.2 → 5.32.0
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/lib/commonjs/components/Channel/Channel.js +7 -1
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +18 -3
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +4 -17
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +9 -6
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageEditedTimestamp.js +4 -5
- package/lib/commonjs/components/Message/MessageSimple/MessageEditedTimestamp.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +8 -8
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTimestamp.js +21 -18
- package/lib/commonjs/components/Message/MessageSimple/MessageTimestamp.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +14 -12
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +4 -28
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +14 -8
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/StickyHeader.js +36 -0
- package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -0
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/hooks/useStreami18n.js +1 -1
- package/lib/commonjs/i18n/en.json +7 -0
- package/lib/commonjs/i18n/es.json +7 -0
- package/lib/commonjs/i18n/fr.json +7 -0
- package/lib/commonjs/i18n/he.json +7 -0
- package/lib/commonjs/i18n/hi.json +7 -0
- package/lib/commonjs/i18n/it.json +7 -0
- package/lib/commonjs/i18n/ja.json +7 -0
- package/lib/commonjs/i18n/ko.json +7 -0
- package/lib/commonjs/i18n/nl.json +7 -0
- package/lib/commonjs/i18n/pt-br.json +7 -0
- package/lib/commonjs/i18n/ru.json +7 -0
- package/lib/commonjs/i18n/tr.json +7 -0
- package/lib/commonjs/index.js +2 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/{Streami18n.js → i18n/Streami18n.js} +61 -68
- package/lib/commonjs/utils/i18n/Streami18n.js.map +1 -0
- package/lib/commonjs/utils/i18n/calendarFormats.js +104 -0
- package/lib/commonjs/utils/i18n/calendarFormats.js.map +1 -0
- package/lib/commonjs/utils/i18n/getDateString.js +47 -0
- package/lib/commonjs/utils/i18n/getDateString.js.map +1 -0
- package/lib/commonjs/utils/i18n/predefinedFormatters.js +40 -0
- package/lib/commonjs/utils/i18n/predefinedFormatters.js.map +1 -0
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +7 -1
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +18 -3
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +4 -17
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +9 -6
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageEditedTimestamp.js +4 -5
- package/lib/module/components/Message/MessageSimple/MessageEditedTimestamp.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +8 -8
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTimestamp.js +21 -18
- package/lib/module/components/Message/MessageSimple/MessageTimestamp.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +14 -12
- package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +4 -28
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +14 -8
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/StickyHeader.js +36 -0
- package/lib/module/components/MessageList/StickyHeader.js.map +1 -0
- package/lib/module/components/index.js +11 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/hooks/useStreami18n.js +1 -1
- package/lib/module/i18n/en.json +7 -0
- package/lib/module/i18n/es.json +7 -0
- package/lib/module/i18n/fr.json +7 -0
- package/lib/module/i18n/he.json +7 -0
- package/lib/module/i18n/hi.json +7 -0
- package/lib/module/i18n/it.json +7 -0
- package/lib/module/i18n/ja.json +7 -0
- package/lib/module/i18n/ko.json +7 -0
- package/lib/module/i18n/nl.json +7 -0
- package/lib/module/i18n/pt-br.json +7 -0
- package/lib/module/i18n/ru.json +7 -0
- package/lib/module/i18n/tr.json +7 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/{Streami18n.js → i18n/Streami18n.js} +61 -68
- package/lib/module/utils/i18n/Streami18n.js.map +1 -0
- package/lib/module/utils/i18n/calendarFormats.js +104 -0
- package/lib/module/utils/i18n/calendarFormats.js.map +1 -0
- package/lib/module/utils/i18n/getDateString.js +47 -0
- package/lib/module/utils/i18n/getDateString.js.map +1 -0
- package/lib/module/utils/i18n/predefinedFormatters.js +40 -0
- package/lib/module/utils/i18n/predefinedFormatters.js.map +1 -0
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageEditedTimestamp.d.ts +2 -2
- package/lib/typescript/components/Message/MessageSimple/MessageEditedTimestamp.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageTimestamp.d.ts +2 -13
- package/lib/typescript/components/Message/MessageSimple/MessageTimestamp.d.ts.map +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/components/MessageList/DateHeader.d.ts +1 -1
- package/lib/typescript/components/MessageList/DateHeader.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/InlineDateSeparator.d.ts +7 -1
- package/lib/typescript/components/MessageList/InlineDateSeparator.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -2
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +3 -0
- package/lib/typescript/components/MessageList/MessageSystem.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/StickyHeader.d.ts +18 -0
- package/lib/typescript/components/MessageList/StickyHeader.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +2 -3
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +6 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
- package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
- package/lib/typescript/hooks/useStreami18n.d.ts.map +1 -1
- package/lib/typescript/i18n/en.json +7 -0
- package/lib/typescript/i18n/es.json +7 -0
- package/lib/typescript/i18n/fr.json +7 -0
- package/lib/typescript/i18n/he.json +7 -0
- package/lib/typescript/i18n/hi.json +7 -0
- package/lib/typescript/i18n/it.json +7 -0
- package/lib/typescript/i18n/ja.json +7 -0
- package/lib/typescript/i18n/ko.json +7 -0
- package/lib/typescript/i18n/nl.json +7 -0
- package/lib/typescript/i18n/pt-br.json +7 -0
- package/lib/typescript/i18n/ru.json +7 -0
- package/lib/typescript/i18n/tr.json +7 -0
- package/lib/typescript/index.d.ts +3 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/{Streami18n.d.ts → i18n/Streami18n.d.ts} +16 -5
- package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -0
- package/lib/typescript/utils/i18n/calendarFormats.d.ts +14 -0
- package/lib/typescript/utils/i18n/calendarFormats.d.ts.map +1 -0
- package/lib/typescript/utils/i18n/getDateString.d.ts +16 -0
- package/lib/typescript/utils/i18n/getDateString.d.ts.map +1 -0
- package/lib/typescript/utils/i18n/predefinedFormatters.d.ts +13 -0
- package/lib/typescript/utils/i18n/predefinedFormatters.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/components/Attachment/__tests__/Giphy.test.js +1 -1
- package/src/components/Channel/Channel.tsx +6 -1
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +16 -2
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +7 -28
- package/src/components/Chat/Chat.tsx +1 -1
- package/src/components/Chat/__tests__/Chat.test.js +1 -1
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +13 -3
- package/src/components/Message/MessageSimple/MessageEditedTimestamp.tsx +10 -5
- package/src/components/Message/MessageSimple/MessageFooter.tsx +10 -7
- package/src/components/Message/MessageSimple/MessageTimestamp.tsx +20 -29
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +1 -1
- package/src/components/MessageList/DateHeader.tsx +1 -1
- package/src/components/MessageList/InlineDateSeparator.tsx +20 -15
- package/src/components/MessageList/MessageList.tsx +4 -31
- package/src/components/MessageList/MessageSystem.tsx +20 -8
- package/src/components/MessageList/StickyHeader.tsx +42 -0
- package/src/components/MessageList/__tests__/MessageSystem.test.js +8 -3
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +1 -1
- package/src/components/MessageList/__tests__/TypingIndicator.test.js +1 -1
- package/src/components/Thread/__tests__/Thread.test.js +1 -1
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1 -1
- package/src/components/index.ts +1 -0
- package/src/contexts/channelContext/ChannelContext.tsx +2 -1
- package/src/contexts/messagesContext/MessagesContext.tsx +6 -0
- package/src/contexts/overlayContext/OverlayContext.tsx +1 -1
- package/src/hooks/useStreami18n.ts +1 -1
- package/src/i18n/en.json +7 -0
- package/src/i18n/es.json +7 -0
- package/src/i18n/fr.json +7 -0
- package/src/i18n/he.json +7 -0
- package/src/i18n/hi.json +7 -0
- package/src/i18n/it.json +7 -0
- package/src/i18n/ja.json +7 -0
- package/src/i18n/ko.json +7 -0
- package/src/i18n/nl.json +7 -0
- package/src/i18n/pt-br.json +7 -0
- package/src/i18n/ru.json +7 -0
- package/src/i18n/tr.json +7 -0
- package/src/index.ts +4 -1
- package/src/utils/__tests__/Streami18n.test.js +23 -1
- package/src/utils/{Streami18n.ts → i18n/Streami18n.ts} +60 -71
- package/src/utils/i18n/calendarFormats.ts +110 -0
- package/src/utils/i18n/getDateString.ts +76 -0
- package/src/utils/i18n/predefinedFormatters.ts +63 -0
- package/src/version.json +1 -1
- package/lib/commonjs/utils/Streami18n.js.map +0 -1
- package/lib/commonjs/utils/getDateString.js +0 -31
- package/lib/commonjs/utils/getDateString.js.map +0 -1
- package/lib/module/utils/Streami18n.js.map +0 -1
- package/lib/module/utils/getDateString.js +0 -31
- package/lib/module/utils/getDateString.js.map +0 -1
- package/lib/typescript/utils/Streami18n.d.ts.map +0 -1
- package/lib/typescript/utils/getDateString.d.ts +0 -30
- package/lib/typescript/utils/getDateString.d.ts.map +0 -1
- package/src/utils/getDateString.ts +0 -67
package/src/i18n/pt-br.json
CHANGED
|
@@ -74,6 +74,13 @@
|
|
|
74
74
|
"Video": "Vídeo",
|
|
75
75
|
"You": "Você",
|
|
76
76
|
"You can't send messages in this channel": "Você não pode enviar mensagens neste canal",
|
|
77
|
+
"timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Ontem]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Amanhã]\",\"nextWeek\":\"dddd [às] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
|
|
78
|
+
"timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
79
|
+
"timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
80
|
+
"timestamp/MessageEditedTimestamp": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
81
|
+
"timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
82
|
+
"timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
|
|
83
|
+
"timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
77
84
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} e mais {{ nonSelfUserLength }} pessoa(s) estão digitando",
|
|
78
85
|
"{{ index }} of {{ photoLength }}": "{{ index }} de {{ photoLength }}",
|
|
79
86
|
"{{ replyCount }} Replies": "{{ replyCount }} Respostas",
|
package/src/i18n/ru.json
CHANGED
|
@@ -74,6 +74,13 @@
|
|
|
74
74
|
"Video": "видео",
|
|
75
75
|
"You": "Вы",
|
|
76
76
|
"You can't send messages in this channel": "Вы не можете отправлять сообщения в этот канал",
|
|
77
|
+
"timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Вчера]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Завтра]\",\"nextWeek\":\"dddd [в] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
|
|
78
|
+
"timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
79
|
+
"timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
80
|
+
"timestamp/MessageEditedTimestamp": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
81
|
+
"timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
82
|
+
"timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
|
|
83
|
+
"timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
77
84
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} и еще {{ nonSelfUserLength }} пишут",
|
|
78
85
|
"{{ index }} of {{ photoLength }}": "{{ index }} из {{ photoLength }}",
|
|
79
86
|
"{{ replyCount }} Replies": "{{ replyCount }} Ответов",
|
package/src/i18n/tr.json
CHANGED
|
@@ -74,6 +74,13 @@
|
|
|
74
74
|
"Video": "Video",
|
|
75
75
|
"You": "Sen",
|
|
76
76
|
"You can't send messages in this channel": "Bu konuşmaya mesaj gönderemezsiniz",
|
|
77
|
+
"timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Dün]\",\"lastWeek\":\"dddd\",\"nextDay\":\"[Yarın]\",\"nextWeek\":\"dddd [saat] LT\",\"sameDay\":\"LT\",\"sameElse\":\"L\"}) }}",
|
|
78
|
+
"timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
79
|
+
"timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
80
|
+
"timestamp/MessageEditedTimestamp": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
81
|
+
"timestamp/MessageSystem": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
82
|
+
"timestamp/MessageTimestamp": "{{ timestamp | timestampFormatter(format: LT) }}",
|
|
83
|
+
"timestamp/StickyHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
|
|
77
84
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ve {{ nonSelfUserLength }} kişi daha yazıyor",
|
|
78
85
|
"{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
|
|
79
86
|
"{{ replyCount }} Replies": "{{ replyCount }} Cevap",
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** i18next polyfill to handle intl format for pluralization. For more info see https://www.i18next.com/misc/json-format#i-18-next-json-v4 */
|
|
2
|
+
import 'intl-pluralrules';
|
|
3
|
+
|
|
1
4
|
export * from './components';
|
|
2
5
|
export * from './hooks';
|
|
3
6
|
export { registerNativeHandlers, NetInfo, iOS14RefreshGallerySelection } from './native';
|
|
@@ -9,7 +12,7 @@ export * from './icons';
|
|
|
9
12
|
export * from './types/types';
|
|
10
13
|
|
|
11
14
|
export * from './utils/patchMessageTextCommand';
|
|
12
|
-
export * from './utils/Streami18n';
|
|
15
|
+
export * from './utils/i18n/Streami18n';
|
|
13
16
|
export * from './utils/utils';
|
|
14
17
|
export * from './utils/StreamChatRN';
|
|
15
18
|
|
|
@@ -4,7 +4,7 @@ import localeData from 'dayjs/plugin/localeData';
|
|
|
4
4
|
|
|
5
5
|
import frTranslations from '../../i18n/fr.json';
|
|
6
6
|
import nlTranslations from '../../i18n/nl.json';
|
|
7
|
-
import { Streami18n } from '../Streami18n';
|
|
7
|
+
import { Streami18n } from '../i18n/Streami18n';
|
|
8
8
|
|
|
9
9
|
Dayjs.extend(localeData);
|
|
10
10
|
|
|
@@ -183,3 +183,25 @@ describe('setLanguage - switch to french', () => {
|
|
|
183
183
|
}
|
|
184
184
|
});
|
|
185
185
|
});
|
|
186
|
+
|
|
187
|
+
describe('formatters property', () => {
|
|
188
|
+
it('contains the default timestampFormatter', () => {
|
|
189
|
+
expect(new Streami18n().formatters.timestampFormatter).toBeDefined();
|
|
190
|
+
});
|
|
191
|
+
it('allows to override the default timestampFormatter', async () => {
|
|
192
|
+
const i18n = new Streami18n({
|
|
193
|
+
formatters: { timestampFormatter: () => () => 'custom' },
|
|
194
|
+
translationsForLanguage: { abc: '{{ value | timestampFormatter }}' },
|
|
195
|
+
});
|
|
196
|
+
await i18n.init();
|
|
197
|
+
expect(i18n.t('abc')).toBe('custom');
|
|
198
|
+
});
|
|
199
|
+
it('allows to add new custom formatter', async () => {
|
|
200
|
+
const i18n = new Streami18n({
|
|
201
|
+
formatters: { customFormatter: () => () => 'custom' },
|
|
202
|
+
translationsForLanguage: { abc: '{{ value | customFormatter }}' },
|
|
203
|
+
});
|
|
204
|
+
await i18n.init();
|
|
205
|
+
expect(i18n.t('abc')).toBe('custom');
|
|
206
|
+
});
|
|
207
|
+
});
|
|
@@ -8,19 +8,26 @@ import i18n, { FallbackLng, TFunction } from 'i18next';
|
|
|
8
8
|
|
|
9
9
|
import type moment from 'moment';
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
11
|
+
import { calendarFormats } from './calendarFormats';
|
|
12
|
+
import {
|
|
13
|
+
CustomFormatters,
|
|
14
|
+
PredefinedFormatters,
|
|
15
|
+
predefinedFormatters,
|
|
16
|
+
} from './predefinedFormatters';
|
|
17
|
+
|
|
18
|
+
import type { TDateTimeParser } from '../../contexts/translationContext/TranslationContext';
|
|
19
|
+
import enTranslations from '../../i18n/en.json';
|
|
20
|
+
import esTranslations from '../../i18n/es.json';
|
|
21
|
+
import frTranslations from '../../i18n/fr.json';
|
|
22
|
+
import heTranslations from '../../i18n/he.json';
|
|
23
|
+
import hiTranslations from '../../i18n/hi.json';
|
|
24
|
+
import itTranslations from '../../i18n/it.json';
|
|
25
|
+
import jaTranslations from '../../i18n/ja.json';
|
|
26
|
+
import koTranslations from '../../i18n/ko.json';
|
|
27
|
+
import nlTranslations from '../../i18n/nl.json';
|
|
28
|
+
import ptBRTranslations from '../../i18n/pt-br.json';
|
|
29
|
+
import ruTranslations from '../../i18n/ru.json';
|
|
30
|
+
import trTranslations from '../../i18n/tr.json';
|
|
24
31
|
|
|
25
32
|
import 'dayjs/locale/es';
|
|
26
33
|
import 'dayjs/locale/fr';
|
|
@@ -41,7 +48,7 @@ import 'dayjs/locale/tr';
|
|
|
41
48
|
*/
|
|
42
49
|
import 'dayjs/locale/en';
|
|
43
50
|
|
|
44
|
-
import type { DefaultStreamChatGenerics } from '
|
|
51
|
+
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
45
52
|
|
|
46
53
|
const defaultNS = 'translation';
|
|
47
54
|
const defaultLng = 'en';
|
|
@@ -49,6 +56,7 @@ const defaultLng = 'en';
|
|
|
49
56
|
Dayjs.extend(updateLocale);
|
|
50
57
|
|
|
51
58
|
Dayjs.updateLocale('en', {
|
|
59
|
+
calendar: calendarFormats.en,
|
|
52
60
|
format: {
|
|
53
61
|
L: 'DD/MM/YYYY',
|
|
54
62
|
LL: 'D MMMM YYYY',
|
|
@@ -59,37 +67,18 @@ Dayjs.updateLocale('en', {
|
|
|
59
67
|
},
|
|
60
68
|
});
|
|
61
69
|
|
|
62
|
-
Dayjs.updateLocale('
|
|
63
|
-
calendar:
|
|
64
|
-
lastDay: '[gisteren om] LT',
|
|
65
|
-
lastWeek: '[afgelopen] dddd [om] LT',
|
|
66
|
-
nextDay: '[morgen om] LT',
|
|
67
|
-
nextWeek: 'dddd [om] LT',
|
|
68
|
-
sameDay: '[vandaag om] LT',
|
|
69
|
-
sameElse: 'L',
|
|
70
|
-
},
|
|
70
|
+
Dayjs.updateLocale('es', {
|
|
71
|
+
calendar: calendarFormats.es,
|
|
71
72
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
nextDay: '[Domani alle] LT',
|
|
78
|
-
nextWeek: 'dddd [alle] LT',
|
|
79
|
-
sameDay: '[Oggi alle] LT',
|
|
80
|
-
sameElse: 'L',
|
|
81
|
-
},
|
|
73
|
+
Dayjs.updateLocale('fr', {
|
|
74
|
+
calendar: calendarFormats.fr,
|
|
75
|
+
});
|
|
76
|
+
Dayjs.updateLocale('he', {
|
|
77
|
+
calendar: calendarFormats.he,
|
|
82
78
|
});
|
|
83
79
|
|
|
84
80
|
Dayjs.updateLocale('hi', {
|
|
85
|
-
calendar:
|
|
86
|
-
lastDay: '[कल] LT',
|
|
87
|
-
lastWeek: '[पिछले] dddd, LT',
|
|
88
|
-
nextDay: '[कल] LT',
|
|
89
|
-
nextWeek: 'dddd, LT',
|
|
90
|
-
sameDay: '[आज] LT',
|
|
91
|
-
sameElse: 'L',
|
|
92
|
-
},
|
|
81
|
+
calendar: calendarFormats.hi,
|
|
93
82
|
|
|
94
83
|
/**
|
|
95
84
|
* Hindi notation for meridiems are quite fuzzy in practice. While there exists
|
|
@@ -116,35 +105,26 @@ Dayjs.updateLocale('hi', {
|
|
|
116
105
|
|
|
117
106
|
meridiemParse: /रात|सुबह|दोपहर|शाम/,
|
|
118
107
|
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
calendar: {
|
|
122
|
-
lastDay: '[Hier à] LT',
|
|
123
|
-
lastWeek: 'dddd [dernier à] LT',
|
|
124
|
-
nextDay: '[Demain à] LT',
|
|
125
|
-
nextWeek: 'dddd [à] LT',
|
|
126
|
-
sameDay: '[Aujourd’hui à] LT',
|
|
127
|
-
sameElse: 'L',
|
|
128
|
-
},
|
|
108
|
+
Dayjs.updateLocale('it', {
|
|
109
|
+
calendar: calendarFormats.it,
|
|
129
110
|
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
111
|
+
Dayjs.updateLocale('ja', {
|
|
112
|
+
calendar: calendarFormats.ja,
|
|
113
|
+
});
|
|
114
|
+
Dayjs.updateLocale('ko', {
|
|
115
|
+
calendar: calendarFormats.ko,
|
|
116
|
+
});
|
|
117
|
+
Dayjs.updateLocale('nl', {
|
|
118
|
+
calendar: calendarFormats.nl,
|
|
119
|
+
});
|
|
120
|
+
Dayjs.updateLocale('pt-br', {
|
|
121
|
+
calendar: calendarFormats['pt-br'],
|
|
140
122
|
});
|
|
141
|
-
|
|
142
123
|
Dayjs.updateLocale('ru', {
|
|
143
|
-
calendar:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
},
|
|
124
|
+
calendar: calendarFormats.ru,
|
|
125
|
+
});
|
|
126
|
+
Dayjs.updateLocale('tr', {
|
|
127
|
+
calendar: calendarFormats.tr,
|
|
148
128
|
});
|
|
149
129
|
|
|
150
130
|
const en_locale = {
|
|
@@ -171,11 +151,12 @@ const en_locale = {
|
|
|
171
151
|
const isDayJs = (dateTimeParser: typeof Dayjs | typeof moment): dateTimeParser is typeof Dayjs =>
|
|
172
152
|
(dateTimeParser as typeof Dayjs).extend !== undefined;
|
|
173
153
|
|
|
174
|
-
type
|
|
154
|
+
type Streami18nOptions = {
|
|
175
155
|
DateTimeParser?: typeof Dayjs | typeof moment;
|
|
176
156
|
dayjsLocaleConfigForLanguage?: Partial<ILocale>;
|
|
177
157
|
debug?: boolean;
|
|
178
158
|
disableDateTimeTranslations?: boolean;
|
|
159
|
+
formatters?: Partial<PredefinedFormatters> & CustomFormatters;
|
|
179
160
|
language?: string;
|
|
180
161
|
logger?: (msg?: string) => void;
|
|
181
162
|
translationsForLanguage?: Partial<typeof enTranslations>;
|
|
@@ -184,7 +165,7 @@ type Options = {
|
|
|
184
165
|
type I18NextConfig = {
|
|
185
166
|
debug: boolean;
|
|
186
167
|
fallbackLng: false | FallbackLng;
|
|
187
|
-
interpolation: { escapeValue: boolean };
|
|
168
|
+
interpolation: { escapeValue: boolean; formatSeparator: string };
|
|
188
169
|
keySeparator: false | string;
|
|
189
170
|
lng: string;
|
|
190
171
|
nsSeparator: false | string;
|
|
@@ -405,6 +386,7 @@ export class Streami18n {
|
|
|
405
386
|
logger: (msg?: string) => void;
|
|
406
387
|
currentLanguage: string;
|
|
407
388
|
DateTimeParser: typeof Dayjs | typeof moment;
|
|
389
|
+
formatters: PredefinedFormatters & CustomFormatters = predefinedFormatters;
|
|
408
390
|
isCustomDateTimeParser: boolean;
|
|
409
391
|
i18nextConfig: I18NextConfig;
|
|
410
392
|
|
|
@@ -434,7 +416,7 @@ export class Streami18n {
|
|
|
434
416
|
*
|
|
435
417
|
* @param {*} options
|
|
436
418
|
*/
|
|
437
|
-
constructor(options:
|
|
419
|
+
constructor(options: Streami18nOptions = {}, i18nextConfig: Partial<I18NextConfig> = {}) {
|
|
438
420
|
const finalOptions = {
|
|
439
421
|
...defaultStreami18nOptions,
|
|
440
422
|
...options,
|
|
@@ -445,6 +427,7 @@ export class Streami18n {
|
|
|
445
427
|
|
|
446
428
|
this.currentLanguage = finalOptions.language;
|
|
447
429
|
this.DateTimeParser = finalOptions.DateTimeParser;
|
|
430
|
+
this.formatters = { ...predefinedFormatters, ...options?.formatters };
|
|
448
431
|
|
|
449
432
|
try {
|
|
450
433
|
/**
|
|
@@ -491,7 +474,7 @@ export class Streami18n {
|
|
|
491
474
|
this.i18nextConfig = {
|
|
492
475
|
debug: finalOptions.debug,
|
|
493
476
|
fallbackLng: false,
|
|
494
|
-
interpolation: { escapeValue: false },
|
|
477
|
+
interpolation: { escapeValue: false, formatSeparator: '|' },
|
|
495
478
|
keySeparator: false,
|
|
496
479
|
lng: this.currentLanguage,
|
|
497
480
|
nsSeparator: false,
|
|
@@ -556,6 +539,12 @@ export class Streami18n {
|
|
|
556
539
|
this.onTFunctionOverrideListeners.forEach((listener) => listener(this.t));
|
|
557
540
|
}
|
|
558
541
|
this.initialized = true;
|
|
542
|
+
if (this.formatters) {
|
|
543
|
+
Object.entries(this.formatters).forEach(([name, formatterFactory]) => {
|
|
544
|
+
if (!formatterFactory) return;
|
|
545
|
+
this.i18nInstance.services.formatter?.add(name, formatterFactory(this));
|
|
546
|
+
});
|
|
547
|
+
}
|
|
559
548
|
} catch (error) {
|
|
560
549
|
this.logger(`Something went wrong with init: ${JSON.stringify(error)}`);
|
|
561
550
|
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
type CalendarFormats = {
|
|
2
|
+
lastDay: string;
|
|
3
|
+
lastWeek: string;
|
|
4
|
+
nextDay: string;
|
|
5
|
+
nextWeek: string;
|
|
6
|
+
sameDay: string;
|
|
7
|
+
sameElse: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Calendar formats for different languages.
|
|
12
|
+
*/
|
|
13
|
+
export const calendarFormats: Record<string, CalendarFormats> = {
|
|
14
|
+
en: {
|
|
15
|
+
lastDay: '[Yesterday]',
|
|
16
|
+
lastWeek: 'dddd',
|
|
17
|
+
nextDay: '[Tomorrow]',
|
|
18
|
+
nextWeek: 'dddd [at] LT',
|
|
19
|
+
sameDay: '[Today]',
|
|
20
|
+
sameElse: 'L',
|
|
21
|
+
},
|
|
22
|
+
es: {
|
|
23
|
+
lastDay: '[Ayer]',
|
|
24
|
+
lastWeek: 'dddd',
|
|
25
|
+
nextDay: '[Mañana]',
|
|
26
|
+
nextWeek: 'dddd [a las] LT',
|
|
27
|
+
sameDay: '[Hoy]',
|
|
28
|
+
sameElse: 'L',
|
|
29
|
+
},
|
|
30
|
+
fr: {
|
|
31
|
+
lastDay: '[Hier]',
|
|
32
|
+
lastWeek: 'dddd',
|
|
33
|
+
nextDay: '[Demain]',
|
|
34
|
+
nextWeek: 'dddd [à] LT',
|
|
35
|
+
sameDay: "[Aujourd'hui]",
|
|
36
|
+
sameElse: 'L',
|
|
37
|
+
},
|
|
38
|
+
he: {
|
|
39
|
+
lastDay: '[אתמול]',
|
|
40
|
+
lastWeek: 'dddd',
|
|
41
|
+
nextDay: '[מחר]',
|
|
42
|
+
nextWeek: 'dddd [בשעה] LT',
|
|
43
|
+
sameDay: '[היום]',
|
|
44
|
+
sameElse: 'L',
|
|
45
|
+
},
|
|
46
|
+
hi: {
|
|
47
|
+
lastDay: '[कल]',
|
|
48
|
+
lastWeek: 'dddd',
|
|
49
|
+
nextDay: '[कल]',
|
|
50
|
+
nextWeek: 'dddd [को] LT',
|
|
51
|
+
sameDay: '[आज]',
|
|
52
|
+
sameElse: 'L',
|
|
53
|
+
},
|
|
54
|
+
it: {
|
|
55
|
+
lastDay: '[Ieri]',
|
|
56
|
+
lastWeek: 'dddd',
|
|
57
|
+
nextDay: '[Domani]',
|
|
58
|
+
nextWeek: 'dddd [alle] LT',
|
|
59
|
+
sameDay: '[Oggi]',
|
|
60
|
+
sameElse: 'L',
|
|
61
|
+
},
|
|
62
|
+
ja: {
|
|
63
|
+
lastDay: '[昨日]',
|
|
64
|
+
lastWeek: 'dddd',
|
|
65
|
+
nextDay: '[明日]',
|
|
66
|
+
nextWeek: 'dddd [の] LT',
|
|
67
|
+
sameDay: '[今日]',
|
|
68
|
+
sameElse: 'L',
|
|
69
|
+
},
|
|
70
|
+
ko: {
|
|
71
|
+
lastDay: '[어제]',
|
|
72
|
+
lastWeek: 'dddd',
|
|
73
|
+
nextDay: '[내일]',
|
|
74
|
+
nextWeek: 'dddd [LT에]',
|
|
75
|
+
sameDay: '[오늘]',
|
|
76
|
+
sameElse: 'L',
|
|
77
|
+
},
|
|
78
|
+
nl: {
|
|
79
|
+
lastDay: '[Gisteren]',
|
|
80
|
+
lastWeek: 'dddd',
|
|
81
|
+
nextDay: '[Morgen]',
|
|
82
|
+
nextWeek: 'dddd [om] LT',
|
|
83
|
+
sameDay: '[Vandaag]',
|
|
84
|
+
sameElse: 'L',
|
|
85
|
+
},
|
|
86
|
+
'pt-br': {
|
|
87
|
+
lastDay: '[Ontem]',
|
|
88
|
+
lastWeek: 'dddd',
|
|
89
|
+
nextDay: '[Amanhã]',
|
|
90
|
+
nextWeek: 'dddd [às] LT',
|
|
91
|
+
sameDay: '[Hoje]',
|
|
92
|
+
sameElse: 'L',
|
|
93
|
+
},
|
|
94
|
+
ru: {
|
|
95
|
+
lastDay: '[Вчера]',
|
|
96
|
+
lastWeek: 'dddd',
|
|
97
|
+
nextDay: '[Завтра]',
|
|
98
|
+
nextWeek: 'dddd [в] LT',
|
|
99
|
+
sameDay: '[Сегодня]',
|
|
100
|
+
sameElse: 'L', // L is the localized date format
|
|
101
|
+
},
|
|
102
|
+
tr: {
|
|
103
|
+
lastDay: '[Dün]',
|
|
104
|
+
lastWeek: 'dddd',
|
|
105
|
+
nextDay: '[Yarın]',
|
|
106
|
+
nextWeek: 'dddd [saat] LT',
|
|
107
|
+
sameDay: '[Bugün]',
|
|
108
|
+
sameElse: 'L',
|
|
109
|
+
},
|
|
110
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { TimestampFormatterOptions } from './predefinedFormatters';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
isDayOrMoment,
|
|
5
|
+
TranslatorFunctions,
|
|
6
|
+
} from '../../contexts/translationContext/TranslationContext';
|
|
7
|
+
|
|
8
|
+
type DateFormatterOptions = TimestampFormatterOptions &
|
|
9
|
+
Partial<TranslatorFunctions> & {
|
|
10
|
+
/**
|
|
11
|
+
* The timestamp to be formatted.
|
|
12
|
+
*/
|
|
13
|
+
date?: string | Date;
|
|
14
|
+
/*
|
|
15
|
+
* Lookup key in the language corresponding translations sheet to perform date formatting
|
|
16
|
+
*/
|
|
17
|
+
timestampTranslationKey?: string;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const noParsingFunctionWarning =
|
|
21
|
+
'MessageTimestamp was called but there is no datetime parsing function available';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Utility function to format the date string.
|
|
25
|
+
*/
|
|
26
|
+
export function getDateString({
|
|
27
|
+
calendar,
|
|
28
|
+
calendarFormats,
|
|
29
|
+
date,
|
|
30
|
+
format,
|
|
31
|
+
t,
|
|
32
|
+
tDateTimeParser,
|
|
33
|
+
timestampTranslationKey,
|
|
34
|
+
}: DateFormatterOptions): string | number | undefined {
|
|
35
|
+
if (!date || (typeof date === 'string' && !Date.parse(date))) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!tDateTimeParser) {
|
|
40
|
+
console.log(noParsingFunctionWarning);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (t && timestampTranslationKey) {
|
|
45
|
+
const options: TimestampFormatterOptions = {};
|
|
46
|
+
if (typeof calendar !== 'undefined' && calendar !== null) {
|
|
47
|
+
options.calendar = calendar;
|
|
48
|
+
}
|
|
49
|
+
if (typeof calendarFormats !== 'undefined' && calendarFormats !== null) {
|
|
50
|
+
options.calendarFormats = calendarFormats;
|
|
51
|
+
}
|
|
52
|
+
if (typeof format !== 'undefined' && format !== null) {
|
|
53
|
+
options.format = format;
|
|
54
|
+
}
|
|
55
|
+
const translatedTimestamp = t(timestampTranslationKey, {
|
|
56
|
+
...options,
|
|
57
|
+
timestamp: new Date(date),
|
|
58
|
+
});
|
|
59
|
+
const translationKeyFound = timestampTranslationKey !== translatedTimestamp;
|
|
60
|
+
if (translationKeyFound) return translatedTimestamp;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const parsedTime = tDateTimeParser(date);
|
|
64
|
+
|
|
65
|
+
if (isDayOrMoment(parsedTime)) {
|
|
66
|
+
/**
|
|
67
|
+
* parsedTime.calendar is guaranteed on the type but is only
|
|
68
|
+
* available when a user calls dayjs.extend(calendar)
|
|
69
|
+
*/
|
|
70
|
+
return calendar && parsedTime.calendar
|
|
71
|
+
? parsedTime.calendar(undefined, calendarFormats)
|
|
72
|
+
: parsedTime.format(format);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return new Date(date).toDateString();
|
|
76
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { getDateString } from './getDateString';
|
|
2
|
+
import { Streami18n } from './Streami18n';
|
|
3
|
+
|
|
4
|
+
export type TimestampFormatterOptions = {
|
|
5
|
+
/* If true, call the `Day.js` calendar function to get the date string to display (e.g. "Yesterday at 3:58 PM"). */
|
|
6
|
+
calendar?: boolean | null;
|
|
7
|
+
/* Object specifying date display formats for dates formatted with calendar extension. Active only if calendar prop enabled. */
|
|
8
|
+
calendarFormats?: Record<string, string>;
|
|
9
|
+
/* Overrides the default timestamp format if calendar is disabled. */
|
|
10
|
+
format?: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type FormatterFactory<V> = (
|
|
14
|
+
streamI18n: Streami18n,
|
|
15
|
+
) => (value: V, lng: string | undefined, options: Record<string, unknown>) => string;
|
|
16
|
+
|
|
17
|
+
// Here is any used, because we do not want to enforce any specific rules and
|
|
18
|
+
// want to leave the type declaration to the integrator
|
|
19
|
+
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
20
|
+
export type CustomFormatters = Record<string, FormatterFactory<any>>;
|
|
21
|
+
|
|
22
|
+
export type PredefinedFormatters = {
|
|
23
|
+
timestampFormatter: FormatterFactory<string | Date>;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const predefinedFormatters: PredefinedFormatters = {
|
|
27
|
+
timestampFormatter:
|
|
28
|
+
(streamI18n) =>
|
|
29
|
+
(
|
|
30
|
+
value,
|
|
31
|
+
_,
|
|
32
|
+
{
|
|
33
|
+
calendarFormats,
|
|
34
|
+
...options
|
|
35
|
+
}: Pick<TimestampFormatterOptions, 'calendar' | 'format'> & {
|
|
36
|
+
calendarFormats?: Record<string, string> | string;
|
|
37
|
+
},
|
|
38
|
+
) => {
|
|
39
|
+
let parsedCalendarFormats;
|
|
40
|
+
try {
|
|
41
|
+
if (!options.calendar) {
|
|
42
|
+
parsedCalendarFormats = {};
|
|
43
|
+
} else if (typeof calendarFormats === 'string') {
|
|
44
|
+
parsedCalendarFormats = JSON.parse(calendarFormats);
|
|
45
|
+
} else if (typeof calendarFormats === 'object') {
|
|
46
|
+
parsedCalendarFormats = calendarFormats;
|
|
47
|
+
}
|
|
48
|
+
} catch (e) {
|
|
49
|
+
console.error('[TIMESTAMP FORMATTER]', e);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const result = getDateString({
|
|
53
|
+
...options,
|
|
54
|
+
calendarFormats: parsedCalendarFormats,
|
|
55
|
+
date: value,
|
|
56
|
+
tDateTimeParser: streamI18n.tDateTimeParser,
|
|
57
|
+
});
|
|
58
|
+
if (!result || typeof result === 'number') {
|
|
59
|
+
return JSON.stringify(value);
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
},
|
|
63
|
+
};
|
package/src/version.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_dayjs","_interopRequireDefault","require","_calendar","_localeData","_localizedFormat","_relativeTime","_updateLocale","_i18next","_en2","_es2","_fr2","_he2","_hi2","_it2","_ja2","_ko2","_nl2","_ptBr","_ru2","_tr2","defaultNS","defaultLng","Dayjs","extend","updateLocale","format","L","LL","LLL","LLLL","LT","LTS","calendar","lastDay","lastWeek","nextDay","nextWeek","sameDay","sameElse","meridiem","hour","meridiemHour","meridiemParse","en_locale","formats","months","relativeTime","weekdays","isDayJs","dateTimeParser","undefined","defaultStreami18nOptions","DateTimeParser","dayjsLocaleConfigForLanguage","debug","disableDateTimeTranslations","language","logger","msg","console","warn","Streami18n","_this","options","arguments","length","i18nextConfig","_classCallCheck2","i18nInstance","i18n","createInstance","initialized","onLanguageChangeListeners","onTFunctionOverrideListeners","t","key","translations","en","_defineProperty2","enTranslations","es","esTranslations","fr","frTranslations","he","heTranslations","hi","hiTranslations","it","itTranslations","ja","jaTranslations","ko","koTranslations","nl","nlTranslations","ptBRTranslations","ru","ruTranslations","tr","trTranslations","dayjsLocales","localeExists","isCustomDateTimeParser","Object","keys","Ls","indexOf","validateCurrentLanguage","availableLanguages","currentLanguage","concat","getAvailableLanguages","geti18Instance","getTranslations","finalOptions","assign","LocalizedFormat","localeData","error","Error","JSON","stringify","translationsForLanguage","fallbackLng","interpolation","escapeValue","keySeparator","lng","nsSeparator","parseMissingKeyHandler","addOrUpdateLocale","tDateTimeParser","timestamp","locale","_createClass2","value","_init","_asyncToGenerator2","_regenerator","mark","_callee","_this2","wrap","_callee$","_context","prev","next","init","resources","sent","queuedTFunctionOverride","forEach","listener","t0","waitForInitializing","stop","apply","_getTranslators","_callee2","initPromise","_callee2$","_context2","abrupt","getTranslators","registerTranslation","translation","customDayjsLocale","addResources","config","name","_setLanguage","_callee3","_t","_callee3$","_context3","changeLanguage","setLanguage","_x","addOnLanguageChangeListener","callback","_this3","push","unsubscribe","filter","addOnTFunctionOverrideListener","_this4","overrideTFunction","tFunction","exports"],"sourceRoot":"../../../src","sources":["utils/Streami18n.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", {
|
|
2
|
-
value: true
|
|
3
|
-
});
|
|
4
|
-
exports.getDateString = getDateString;
|
|
5
|
-
exports.noParsingFunctionWarning = void 0;
|
|
6
|
-
var _TranslationContext = require("../contexts/translationContext/TranslationContext");
|
|
7
|
-
var noParsingFunctionWarning = 'MessageTimestamp was called but there is no datetime parsing function available';
|
|
8
|
-
exports.noParsingFunctionWarning = noParsingFunctionWarning;
|
|
9
|
-
function getDateString(_ref) {
|
|
10
|
-
var calendar = _ref.calendar,
|
|
11
|
-
date = _ref.date,
|
|
12
|
-
format = _ref.format,
|
|
13
|
-
formatDate = _ref.formatDate,
|
|
14
|
-
tDateTimeParser = _ref.tDateTimeParser;
|
|
15
|
-
if (!date || typeof date === 'string' && !Date.parse(date)) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (typeof formatDate === 'function') {
|
|
19
|
-
return formatDate(new Date(date));
|
|
20
|
-
}
|
|
21
|
-
if (!tDateTimeParser) {
|
|
22
|
-
console.log(noParsingFunctionWarning);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
var parsedTime = tDateTimeParser(date);
|
|
26
|
-
if ((0, _TranslationContext.isDayOrMoment)(parsedTime)) {
|
|
27
|
-
return calendar && parsedTime.calendar ? parsedTime.calendar() : parsedTime.format(format);
|
|
28
|
-
}
|
|
29
|
-
return new Date(date).toDateString();
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=getDateString.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_TranslationContext","require","noParsingFunctionWarning","exports","getDateString","_ref","calendar","date","format","formatDate","tDateTimeParser","Date","parse","console","log","parsedTime","isDayOrMoment","toDateString"],"sourceRoot":"../../../src","sources":["utils/getDateString.ts"],"mappings":";;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AA6BO,IAAMC,wBAAwB,GACnC,iFAAiF;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA;AAK7E,SAASE,aAAaA,CAAAC,IAAA,EAMyB;EAAA,IALpDC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IACVC,eAAe,GAAAL,IAAA,CAAfK,eAAe;EAEf,IAAI,CAACH,IAAI,IAAK,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAACI,IAAI,CAACC,KAAK,CAACL,IAAI,CAAE,EAAE;IAC5D;EACF;EAEA,IAAI,OAAOE,UAAU,KAAK,UAAU,EAAE;IACpC,OAAOA,UAAU,CAAC,IAAIE,IAAI,CAACJ,IAAI,CAAC,CAAC;EACnC;EAEA,IAAI,CAACG,eAAe,EAAE;IACpBG,OAAO,CAACC,GAAG,CAACZ,wBAAwB,CAAC;IACrC;EACF;EAEA,IAAMa,UAAU,GAAGL,eAAe,CAACH,IAAI,CAAC;EAExC,IAAI,IAAAS,iCAAa,EAACD,UAAU,CAAC,EAAE;IAK7B,OAAOT,QAAQ,IAAIS,UAAU,CAACT,QAAQ,GAAGS,UAAU,CAACT,QAAQ,CAAC,CAAC,GAAGS,UAAU,CAACP,MAAM,CAACA,MAAM,CAAC;EAC5F;EAEA,OAAO,IAAIG,IAAI,CAACJ,IAAI,CAAC,CAACU,YAAY,CAAC,CAAC;AACtC","ignoreList":[]}
|