Solución
solution.tsTypeScript
interface ApiResponse<T> {
data: T;
status: number;
message?: string;
}
// Define aquí tus tres interfaces de entidad (User, Product, Order o similares)
type Data = { id: number; name: string;}
interface User {
data: Data;
status: number;
}
interface Product extends User {
data: Data & { price: number; };
status: number;
}
interface Order {
id: Pick<Data, 'id'> & { total: number; }
status: number;
}
export function createApiResponse<T>(data: T, status: number): ApiResponse<T> {
// Construye y retorna un objeto ApiResponse con los datos recibidos
return { data, status };
}0respuestas