Hyper Fetch 5.0: фреймворк для получения данных
Hyper Fetch – относительно новый фреймворк для получения данных. Он включает в себя логику для выполнения запросов, кэширования, создания очередей и offline-first режима. Основные особенности:
- написан на TypeScript.
- есть мапперы запросов/ответов, где можно сделать валидацию.
- поддержка дедупликации запросов, создание очереди запросов, создание интерцепторов, отмена запросов.
- поддержка кастомных адаптеров, включая Firebase и Graphql.
- есть отдельный модуль для работы с сокетами.
- встроенная возможность создания моков.
- есть поддержка React.
Примеры создания запросов:
export const getUser = builder.createRequest<UserModel>()({
endpoint: "/api/user/:userId",
cache: true,
cacheTime: DateInterval.second * 10
});
export const postFile = builder
.createRequest<{ response: string }, { file: File }>()({
endpoint: "/api/files",
method: "POST",
queued: true,
retry: 0
})
.setDataMapper((data) => {
try {
const formData = new FormData();
formData.append("file", data.file);
return formData;
} catch (err) {
return data;
}
});
https://hyperfetch.bettertyped.com/