Solución
solution.tsTypeScript
async function getUser(id: number): Promise<{ id: number; name: string }> {
const users: Record<number, { id: number; name: string }> = {
1: { id: 1, name: "Alice" },
2: { id: 2, name: "Bob" },
};
return Promise.resolve(users[id] ?? { id, name: "Unknown" });
}
async function getOrders(userId: number): Promise<{ id: number; amount: number }[]> {
const orders: Record<number, { id: number; amount: number }[]> = {
1: [{ id: 101, amount: 100 }, { id: 102, amount: 50 }],
2: [{ id: 201, amount: 200 }],
};
return Promise.resolve(orders[userId] ?? []);
}
async function getUserSummary(id: number): Promise<{ userName: string; totalAmount: number }> {
const { name } = await getUser(id)
const orders = await getOrders(id)
const total = orders.reduce((acum, {amount}) => acum + amount, 0)
return { userName: name, totalAmount: total };
}
export { getUserSummary };0respuestas