Files
stash/ui/v2.5/src/utils/flattenMessages.ts
Infinite a43cae43c0 Prettier
2020-03-01 21:04:37 +01:00

20 lines
529 B
TypeScript

const flattenMessages = (nestedMessages: any, prefix = "") => {
if (nestedMessages === null) {
return {};
}
return Object.keys(nestedMessages).reduce((messages, key) => {
const value = nestedMessages[key];
const prefixedKey = prefix ? `${prefix}.${key}` : key;
if (typeof value === "string") {
Object.assign(messages, { [prefixedKey]: value });
} else {
Object.assign(messages, flattenMessages(value, prefixedKey));
}
return messages;
}, {});
};
export default flattenMessages;