fluxd

v1.0.9
A fully featured ES6 implementation of Flux with API Adapters
Flux ES6

Flux'd

A work in progress ES6 Flux framework.

Examples

// ./actions/UserActions.js

import flux from 'fluxd';

class UserActions {
  constructor() {
    this.generateActions('createUser', 'updateUser', 'destroyUser');
  }
}

export default flux.createActions(UserActions);
// ./stores/UserStore.js

import {List} from 'immutable';
import UserActions from '../actions/UserActions';

const PAYLOAD = new Symbol('users payload');

class UserStore {
  constructor() {
    this.bindActions(UserActions);
    this[PAYLOAD] = List();
  }

  onCreateUser(user) {
    this[PAYLOAD] = this[PAYLOAD].concat([data]);
  }

  onUpdateUser(user) {
    var payload = this[PAYLOAD];
    var index = payload.findIndex(user => user.get('id') === user.id);
    this[PAYLOAD] = payload.setIn([index], user);
  }

  onDestroyUser(userId) {
    var payload = this[PAYLOAD];
    var index = payload.findIndex(user => user.id === userId);
    this[PAYLOAD] = payload.delete(index);
  }

  static getActive() {
    return this.getState().filter(user => user.active);
  }
}

export default flux.createStore(UserStore);
npm i fluxd

Metadata

  • ISC
  • Whatever
  • Christian de Botton
  • released 2/6/2015

Downloads

Maintainers