Loona is a state management library built on top of Apollo Angular. It brings the simplicity of managing remote data with Apollo, to your local state. Instead of maintaining a second store for your local data with tools like Redux, MobX or NGRX, use Loona to keep data in just one space and make it a single source of truth.
With Loona you get all the benefits of Apollo, like caching, offline persistence and more. On top of that you gain all the other benefits like stream of actions, and better separation between mutation and store updates.
Loona can be described by a few core concepts. The first two of these are related to GraphQL:
- Queries - ask for what you need.
- Mutations - a way to modify your remote and local data.
- Store - a single source of truth for all your data.
It also uses a concept of:
- Actions - declarative way to call a mutation or trigger a different action
- Updates - modify the store after a mutation happens
By having it all, Loona helps you to keep every piece of your data's flow separated.
We prepared a dedicated page for each of the concepts: