Avatar ·

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.