0.2.1 • Published 9 years ago

sinux v0.2.1

Weekly downloads
28
License
MIT
Repository
github
Last release
9 years ago

Sinux

Sinux is a Facebook Flux architecture implementation inspired by signal-as3 and SignalMapCommand extension for Robotlegs. Sinux use co library

npm version npm downloads Join the chat at https://gitter.im/jbpin/sinux

Documentation

Visit the book, Sinux, a flux implementation based on signal to see the documentation and examples.

Philosophy behind Sinux

Read this article on Medium

Installation

Sinux is available on NPM

npm i sinux
yarn add sinux

Usage

Since version 0.2.0 Command objects are deprecated. Command are simple javascript function that can return a result or a function (see async below).

Using babel6 with es2015

import { Store } from sinux

const store = new Store({ initialState: true }, 'action','action2');

store.action.add( (state, ...args) => {...state, ...args} );

store.action({ foo:'bar' }).then( () => console.log( store.getState() ) );
// {initialState: true, foo: 'bar'}

Using ES3

var sinux = require('sinux');

var Store = sinux.Store;

var store = new Store({ initialState: true }, 'action','action2');

store.action.add( function (state) {
  // Array.prototype.slice.call(arguments,1)
  // ...
});

store.action({ foo:'bar' }).then(function () {
  console.log(store.getState())
});

Asynchronous command

// using generator function
store.action.add( (state, ...args) => {
  return function *(){
    let r = yield store.action2(...args)
    return r
  }()
});

// using Promise
store.action.add( (state, ...args) => {
  return new Promise((resolve, reject) => {
    setTimeout(()=> resolve(...args), 1000)
  })
})

Exemple using Sinux with React Native

Here is a simple todo app made with Sinux and React Native. todoStore.load show how to do asynchronous call View source

License

MIT

0.2.1

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago