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
|
||
|
}, {})
|
||
|
}
|