Задача

Типизировать код ниже. age необязателен, sex — только 'm' | 'w'.

Пример

const persons = [
    { name: 'Max Mustermann', sex: 'm', age: 25, occupation: 'Chimney sweep' },
    { name: 'Jane Doe', sex: 'w', age: 32, role: 'Administrator' },
    { name: 'Kate Müller', sex: 'w', occupation: 'Astronaut' },
    { name: 'Bruce Willis', sex: 'm', age: 64, role: 'World saver' },
];
 
function logPerson(person) {
    const additionalInformation = person.role ? person.role : person.occupation;
    console.log(` - ${person.name}, ${person.age}, ${additionalInformation}`);
}
 
function getPersonWithType(person) {
    return person.role ? { person, type: 'admin' } : { person, type: 'user' };
}

Решение