Solución

@fernandozamoranoo·hace 3dTypeScript
solution.tsTypeScript
interface Product {
  id: number;
  name: string;
}

async function mockFetch(url: string): Promise<unknown> {
  const db: Record<string, unknown> = {
    "/api/products/1": { id: 1, name: "Laptop" },
    "/api/products/2": { id: 2, name: "Mouse" },
    "/api/products/bad": { error: "not found" },
  };
  return Promise.resolve(db[url] ?? null);
}

async function fetchProduct(url: string): Promise<Product> {
  const data = await mockFetch(url) as any
  if (!data || typeof data.id !== "number" || typeof data.name !== "string") {
    throw new Error("Respuesta inválida")
  }
  return { id: data.id, name: data.name }
}

export { fetchProduct };
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.