Skip to content

Commit e5e9650

Browse files
chore(bulk-import): fix sonarqube issue 'The return value of reduce must be used.' (#3617)
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
1 parent be5cf49 commit e5e9650

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

workspaces/bulk-import/e2e-tests/utils/translations.ts

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

2727
export type BulkImportMessages = typeof bulkImportMessages;
2828

29-
function transform(messages: typeof bulkImportTranslationDe.messages) {
30-
const result = Object.keys(messages).reduce((res, key) => {
29+
function transformFlatMessagesIntoTree(
30+
flatMessages: typeof bulkImportTranslationDe.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 BulkImportMessages;
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 BulkImportMessages;
4244
}
4345

4446
export function getTranslations(locale: string): BulkImportMessages {
4547
switch (locale) {
4648
case 'en':
4749
return bulkImportMessages;
4850
case 'de':
49-
return transform(bulkImportTranslationDe.messages);
51+
return transformFlatMessagesIntoTree(bulkImportTranslationDe.messages);
5052
case 'es':
51-
return transform(bulkImportTranslationEs.messages);
53+
return transformFlatMessagesIntoTree(bulkImportTranslationEs.messages);
5254
case 'fr':
53-
return transform(bulkImportTranslationFr.messages);
55+
return transformFlatMessagesIntoTree(bulkImportTranslationFr.messages);
5456
case 'it':
55-
return transform(bulkImportTranslationIt.messages);
57+
return transformFlatMessagesIntoTree(bulkImportTranslationIt.messages);
5658
case 'ja':
57-
return transform(bulkImportTranslationJa.messages);
59+
return transformFlatMessagesIntoTree(bulkImportTranslationJa.messages);
5860
default:
5961
return bulkImportMessages;
6062
}

0 commit comments

Comments
 (0)