mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-29 11:26:29 +08:00
16 lines
500 B
JavaScript
16 lines
500 B
JavaScript
// with this utility function we can write nested locales like an json object
|
|
export function flattenMessages(nestedMessages, prefix = "") {
|
|
return Object.keys(nestedMessages).reduce((messages, key) => {
|
|
const value = nestedMessages[key];
|
|
const prefixedKey = prefix ? `${prefix}.${key}` : key;
|
|
|
|
if (typeof value === "string") {
|
|
messages[prefixedKey] = value;
|
|
} else {
|
|
Object.assign(messages, flattenMessages(value, prefixedKey));
|
|
}
|
|
|
|
return messages;
|
|
}, {});
|
|
}
|