Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

caseywebdev/pave

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  
Morty Proxy This is a proxified and sanitized view of the page, visit original site.