Skip to main content
Version: Current

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.


Cache

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

Response event flow

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