Cómo obtener el tipo de valor de retorno de una función en TypeScript
¡Hola a todos! Acabo de empezar a aprender TypeScript y me encontré con un problema. Tengo una función que devuelve un objeto complejo, y necesito usar ese mismo tipo en otro lugar, pero no quiero duplicar la descripción de la interfaz.
Aquí hay un ejemplo:
```typescript
function createUser(name: string, age: number) {
return {
id: Math.random().toString(36),
name: name,
age: age,
createdAt: new Date(),
isActive: true,
permissions: ['read', 'write']
};
}
// ¿Cómo obtengo el tipo de lo que devuelve createUser?
// Quiero hacer algo como:
// type User = ReturnType; // ¡Esto no funciona!
```
He intentado usar `typeof`, pero devuelve el tipo de la función en sí, no su valor de retorno. ¿Quizás hay algún mecanismo incorporado en TypeScript para esto? Vi en algún lado una mención de `ReturnType`, pero no entiendo cómo aplicarlo correctamente.
Por favor, indíquenme cómo obtener correctamente el tipo de valor de retorno para usarlo después.