Apisauce
Axios + standardized errors + request/response transforms
...The promise is always resolved with a response object. Even if there was a problem with the request! This is one of the goals of this library. It ensures sane calling code without having to handle .catch and has 2 separate flows.