Skip to main content
Version: 3.x.x

Core Package Overview

Hyper Fetch is an ambitious approach to standardizing data exchange. This is an extremely difficult but important task that we have faced. Achieving this goal will elevate the capabilities of all of us to a whole new level. We do not want to change your approach but to become a neutral standard where you compose your sub-components according to your needs and the clear rules we provide.

Package goal

  • Providing neutral standard for data exchange
  • Architecture to support composing our logic with existing adapters like axios
  • Possibility to attach own adapter addapters with ease and flexibility
  • Requests as data handlers with possibility to save it's state to json
  • Allow to queue requests to server
  • Possibility to easily receive request download/upload progress with additional data
  • Provide data to sub-systems with keys or requestId to ensure the proper data flow
  • Give the meaningfull interfaces and types to every part of data exchange
  • Tracking of the whole lifecycle of requests with possibility to stop, start and pause
  • Easy request cancellation
  • Persistent request callbacks with Effect binded by effectKeys

Full Flow

We try to provide the deepest possible knowledge about the architecture of our library; feel free to write any adapters, plugins, or additions. The flow of a request through the Hyper Fetch system is presented below. The steps from the moment of adding a request to the dispatcher to passing data to the component are included.

Request_Lifecycle
create request
use of send() method
Check online status
pick request from queue and send to adapter
Save Data
Emit Data
Emit Event
Emit Event
Emit Event
Emit Event
Emit Event
Events
Events
Request_Start
Upload
Response Start
Download
Response
App Manager
Request Manager
Request
Dispatcher
Http Adapter
Client
Cache
Component

Cache

The cache saves data under cacheKey values, which allows us to easily use it.

GET_/users?page=1
GET_/users/1
GET_/users
unique key
Cache Storage
Cache Key #1
Cache Key #2
Cache Key #3
Cache Key ...

Response event flow

The diagram below shows how mutation is propagated in our system.

data mutation
mutation
emit new data
new Data #3
Cache Storage
Cache Listeners
Data#1
Data#2
Data#3