Sentencia de mapa anidado de RxJS Refactor

Tengo un servicio que usa@angular/http para cargar datos de una API. Quiero crear una proyección de los datos recuperados para miComponents utilizando estos datos.

Por eso escribí el siguiente código:

getById(id: string) {
  return this.http
    .get(`https://my-api.io/${id}`)
    .map(response => response.json())
    .map(contracts =>
      contracts.map(contract =>        # <- Nested map
        new Contract(
          contract['id'],
          contract['description']
        )
      )
    );
}

En el6to línea tengo un anidadomap-Declaración que reduce la legibilidad de mi código.

Pregunta

¿Puedo hacerlo mejor? ¿Hay un operador en RxJS que pueda usar en lugar de crear este tipo de anidamiento?

¡Gracias por adelantado!

Respuestas a la pregunta(3)

Su respuesta a la pregunta