Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

262 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pave

Paving the way to better state management.

Why?

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.

Goals

  • 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 serialize X and how to deserialize Y. 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.

  • Small
    pave
    pave

    graphql
    pave

    falcor
    pave

    react-relay
    pave

    @apollo/client
    pave

Install

npm install pave

About

Paving the way to better state management.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages