0dias seguidos0XP

Cliente HTTP tipado

Avançado+35 XP

Crie async function getJson<T>(url: string, http: Http): Promise<T>:

  • chama http(url), que devolve algo como fetch: { ok, status, json() }
  • se ok for falso, lança new ErroHttp(status) (classe que você vai criar estendendo Error, com a propriedade status e mensagem "HTTP 404")
  • senão retorna o JSON tipado como T

Depois nomesDosRepos(usuario, http) busca /users/<usuario>/repos (lista de { name: string; stargazers_count: number }) e retorna os nomes ordenados por estrelas (desc).

Como resolver
  1. Escreva sua solução no editor.
  2. Executar mostra a saída no terminal, para você experimentar.
  3. Testar confere a solução. Passou em tudo? Exercício concluído!
index.ts · carregando TypeScript…
Carregando editor…
digite "ajuda" para ver os comandos
dev@devjr:~/ts-fetch-tipado$