15 lines
467 B
TypeScript
15 lines
467 B
TypeScript
export function flattenMessages(nestedMessages: { [key: string]: any }, prefix = ''): { [key: string]: string } {
|
|
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
|
|
}, {})
|
|
}
|