Skip to content

An opinionated way of handling application state in react

Notifications You must be signed in to change notification settings

aitoroses/Tessel

Repository files navigation

Build Status

Tessel

Mix functional reactive programming with immutable cursors for handling application state.

Implements a history API

Implements Flux based architecture

Inpspired by Meteors reactivity and om's cursors, Tessel helps you writting stateless components in react providing a wrapper over Meteors tracker and a library like cortex called freezer that provides an immutable tree data structure that is always updated from the root, even if the modification is triggered by one of the leaves, making easier to think in a reactive way.. It keeps simple how you should update your apps state and how you should react to changes in your applications.

Making use of tracker we can create computations that will get invalidated when the tree has changed on the root. Invalidated computations will run again reactively.

Tessel is inspired by fynx idea of lightweigth Flux architecture.

╔═════════════════╗     ╔════════╗   ┌────────────┐
║ View Components ║<────╢ Tessel ║   │ Server API │
╚═══╤════╤════════╝     ╚════════╝   └────────────┘
    │    │                   ^                ^
    │    └────────────────┐  └────────────┐   │
    v                     v               │   │
╔═════════════════╗   ╔═════════╗     ┌───┴───┴───┐
║ Pure Components ║   ║ Actions ║<═══>│ Listeners │
╚═════════════════╝   ╚═════════╝     └───────────┘

Installation

Tessel is available as an NPM package

npm install tessel

Documentation

See the 'docs' folder.

Liscense

Tessel is governed under the MIT License.

About

An opinionated way of handling application state in react

Resources

Stars

Watchers

Forks

Packages

No packages published