Paving the way to better state management.
Pave is a data layer inspired by Relay, GraphQL, Falcor and Om (next). Pave attempts to take the best pieces of each (subjectively) and expose a simple API that makes managing app state much easier.
-
Performance
The core of any data layer will have many hot paths and should run efficiently. -
Flexible Schema
There is no requirement that your data is strictly typed, but you can add constraints on inputs and outputs as you see fit. -
POJO
All data is represented as JSON-friendly Plain Ol' JavaScript Objects so there is no need to worry about how to serializeX
and how to deserializeY
. There are no classes in Pave. -
Multiple Remotes
Create a client side schema to use Pave with an existing REST API, implement a Pave schema on the server or mix and match. Allowing multiple remotes both on the client and server makes integrating Pave into an existing project manageable. -
Immutable
The cache accepts updates without mutating previous states. This makes history tracking trivial and prohibits unexpected mutations.
npm install pave