Version: 3.8.x
Обзор
Мотивация
Эта библиотека была написана, чтобы упростить жизнь с помощью простого API window.fetch, а не писать из проекта в проект обработки ошибок и валидации ответов. В общем случае нам обычно нужно получить структурированный ответ от бэкэнда и обработать возможные ошибки некорректных данных и статусов - эта библиотека помогает в этом!
Для запросов RestRequest должны в ответе бэкенда присутствовать определенные поля, но для PureRestRequest поля могут быть произвольными. JSONRPCRequest построен по стандарту JSON-RPC без дополнений.
Киллер-фича этой библиотеки - валидация ответов с помощью схем и выбор только нужных полей ответа если нам не нужен полный объект ответа.
Полный список возможностей
- Написана на Typescript
 - предоставляет валидации ответов
 - Изоморфность запросов (nodejs 8+ и ie11+ браузеры)
 - Выходные файлы библиотеки не собранные - вам нужно собрать их самостоятельно с помощью инструмента сборки (webpack, rollup, итд)
 - Возможность перевода запрсов в соответствие с i18n
 - Удобное логгирование запросов в браузерную консоль
 - Единый интерфейс для всех типов запросов
 - Сериализация query параметры
 - Таймауты запросов
 - Удобная обработка ошибок (вам больше не нужно использовать try/catch)
 - Возможность отмены запросов
 - Возможность обрабатывать прогресс ответа
 - Возможность выбора необходимых полей в ответе
 - Возможность повторять запросы в случае их ошибки
 - Возможность перехвата ошибочного запроса и получение всей мета информации по нему для дальнейшей обработки пользователем или отправки в сторонний сервис логгирования
 
Обратите внимание
Тело запроса будет сериализовано в JSON если данные тела не в формате FormData
Если нужна поддержка ie11 - установите пакеты ниже и подключите их в ваш проект
import "abortcontroller-polyfill/dist/polyfill-patch-fetch";
import "whatwg-fetch";