Набор инструментов с открытым исходным кодом для OpenAPI/Swagger: интерактивная справка по API, API-клиент с приоритетом работы офлайн и интеграции со многими веб-фреймворками.
L-Blondy/up-fetch
Конструктор TypeScript-клиента для fetch с валидацией по схемам, типизированными ответами, повторами запросов, таймаутами и отслеживанием прогресса.
- Звёзды
- 1,409
- Форки
- 22
- Открытые issues
- 2
- Последний коммит
- 2 месяца назад
Что это?
upfetch — конструктор клиента для fetch, который оборачивает нативный API fetch. Вы создаёте экземпляр с параметрами по умолчанию, например baseUrl, headers, timeout и настройками повторов, а затем вызываете его как fetch. Параметры запросов и тела можно передавать в виде обычных объектов, а ответы в формате JSON разбираются автоматически.
Библиотека принимает любую схему, соответствующую спецификации Standard Schema, в том числе схемы из zod, valibot и arktype. Если передать схему, ответ проверяется и возвращается с выведенным из неё типом; при несовпадении выбрасывается ResponseValidationError. По умолчанию ошибки для ответов с неуспешным статусом выбрасываются как ResponseError; поведение reject и parseRejected можно настроить.
Также библиотека поддерживает повторы запросов с настраиваемыми количеством попыток, задержкой и условиями, таймауты для отдельных запросов, хуки жизненного цикла и колбэки для отслеживания прогресса загрузки и скачивания, а также потоковой передачи данных. Пакет опубликован в npm под именем up-fetch и работает в браузерах, Node.js, Bun, Deno, Cloudflare Workers и Vercel Edge Runtime.
Ключевые возможности
- 01Валидация по Standard Schema с помощью zod, valibot, arktype и других совместимых библиотек
- 02Обычные объекты для параметров запроса и тел запросов с автоматической сериализацией в JSON
- 03Повторы запросов с настраиваемым количеством попыток, задержкой и условиями
- 04Таймауты по умолчанию и для отдельных запросов
- 05Отслеживание прогресса загрузки и скачивания, а также колбэки потоковой передачи данных
- 06Хуки жизненного цикла для запросов, ответов, успешного выполнения, ошибок и повторов
Сценарии использования
- Создание типизированного API-клиента во frontend-приложении на TypeScript с runtime-валидацией ответов
- Добавление повторов запросов и таймаутов при обращении к ненадёжным сторонним API
- Отображение индикаторов прогресса загрузки или скачивания в веб-приложении
- Обработка потоковых ответов, например вывода AI-чата
Быстрый старт
- 1
Установите пакет из npm
npm i up-fetch - 2
Создайте экземпляр upfetch, оборачивающий нативный fetch
- 3
Выполните запрос с необязательной проверкой схемы
Что важно знать
- Для проверки схемы требуется отдельная библиотека, например zod или valibot.
Темы
Частые вопросы
- Что такое up-fetch?
- Конструктор TypeScript-клиента для fetch с валидацией по схемам, типизированными ответами, повторами запросов, таймаутами и отслеживанием прогресса. upfetch — конструктор клиента для fetch, который оборачивает нативный API fetch. Вы создаёте экземпляр с параметрами по умолчанию, например baseUrl, headers, timeout и настройками повторов, а затем вызываете его как fetch. Параметры запросов и тела можно передавать в виде обычных объектов, а ответы в формате JSON разбираются автоматически.
- up-fetch можно использовать бесплатно? Какая у него лицензия?
- up-fetch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- up-fetch всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в up-fetch — 1 сент. 2026 г..
- Для чего можно использовать up-fetch?
- Создание типизированного API-клиента во frontend-приложении на TypeScript с runtime-валидацией ответов Добавление повторов запросов и таймаутов при обращении к ненадёжным сторонним API Отображение индикаторов прогресса загрузки или скачивания в веб-приложении Обработка потоковых ответов, например вывода AI-чата
- Как установить up-fetch?
- Установите пакет из npm: npm i up-fetch Создайте экземпляр upfetch, оборачивающий нативный fetch Выполните запрос с необязательной проверкой схемы
- Где скачать up-fetch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/L-Blondy/up-fetch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытая экосистема для разработки API: отправка REST-, GraphQL-, WebSocket-, SSE-, Socket.IO- и MQTT-запросов через веб-приложение, десктопные приложения и CLI.
Кроссплатформенный open-source API-клиент для GraphQL, REST, WebSockets, SSE и gRPC с локальным хранением, Git и облачной синхронизацией.
Бесплатный self-hosted медиасервер с API для потоковой передачи фильмов, сериалов и музыки на устройства через приложения — открытая альтернатива Plex и Emby.
Подборка публичных и платных источников данных в реальном времени: финансы, транспорт, погода, новости, кибербезопасность и другие сферы.
Библиотека React Hooks для загрузки данных: сначала возвращает данные из кэша, а затем обновляет их в фоновом режиме.