Skip to content

Commit 35fc403

Browse files
chore(extensions): fix sonarqube issue 'The return value of reduce must be used.'
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
1 parent 2fd75ad commit 35fc403

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

workspaces/extensions/e2e-tests/utils/translations.ts

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,35 +26,37 @@ import extensionsTranslationJa from '../../plugins/extensions/src/alpha/translat
2626

2727
export type ExtensionsMessages = typeof extensionsMessages;
2828

29-
function transform(messages: typeof extensionsTranslationDe.messages) {
30-
const result = Object.keys(messages).reduce((res, key) => {
29+
function transformFlatMessagesIntoTree(
30+
flatMessages: typeof extensionsTranslationDe.messages,
31+
) {
32+
const messages = {} as Record<string, any>;
33+
for (const key of Object.keys(flatMessages)) {
3134
const path = key.split('.');
32-
const lastIndex = path.length - 1;
33-
path.reduce((acc, currentPath, i) => {
34-
acc[currentPath] =
35-
lastIndex === i ? messages[key] : acc[currentPath] || {};
36-
return acc[currentPath];
37-
}, res);
38-
return res;
39-
}, {});
40-
41-
return result as ExtensionsMessages;
35+
let current = messages;
36+
for (let i = 0; i < path.length - 1; i++) {
37+
current[path[i]] = current[path[i]] || {};
38+
current = current[path[i]] as Record<string, any>;
39+
}
40+
current[path[path.length - 1]] =
41+
flatMessages[key as keyof typeof flatMessages];
42+
}
43+
return messages as ExtensionsMessages;
4244
}
4345

4446
export function getTranslations(locale: string) {
4547
switch (locale) {
4648
case 'en':
4749
return extensionsMessages;
4850
case 'de':
49-
return transform(extensionsTranslationDe.messages);
51+
return transformFlatMessagesIntoTree(extensionsTranslationDe.messages);
5052
case 'es':
51-
return transform(extensionsTranslationEs.messages);
53+
return transformFlatMessagesIntoTree(extensionsTranslationEs.messages);
5254
case 'fr':
53-
return transform(extensionsTranslationFr.messages);
55+
return transformFlatMessagesIntoTree(extensionsTranslationFr.messages);
5456
case 'it':
55-
return transform(extensionsTranslationIt.messages);
57+
return transformFlatMessagesIntoTree(extensionsTranslationIt.messages);
5658
case 'ja':
57-
return transform(extensionsTranslationJa.messages);
59+
return transformFlatMessagesIntoTree(extensionsTranslationJa.messages);
5860
default:
5961
return extensionsMessages;
6062
}

0 commit comments

Comments
 (0)